提交 372ebe577089cc47f4a97049902e4f8afa2cdb8f

作者 qianyingz
1 个父辈 437d3cc6

bug fixed# 用户表约束完整性修复;编辑用户失败

@@ -235,10 +235,10 @@ class DataManager(BlueprintApi): @@ -235,10 +235,10 @@ class DataManager(BlueprintApi):
235 @bp.route("/init", methods=["GET"]) 235 @bp.route("/init", methods=["GET"])
236 def init(): 236 def init():
237 try: 237 try:
238 - username = 'admin' 238 + displayname= username = 'admin'
239 password = SM3.encode('DMap@123') 239 password = SM3.encode('DMap@123')
240 if not User.query.filter_by(username=username).one_or_none(): 240 if not User.query.filter_by(username=username).one_or_none():
241 - user = User(username=username, password=password, role='admin', 241 + user = User(username=username, displayname=displayname,password=password, role='admin',
242 phone='', company='', position='', email='', 242 phone='', company='', position='', email='',
243 create_time=time.strftime( 243 create_time=time.strftime(
244 "%Y-%m-%d %H:%M:%S", time.localtime()), 244 "%Y-%m-%d %H:%M:%S", time.localtime()),
1 -from sqlalchemy import Column, Integer, Text, Time, ForeignKey, DateTime 1 +from sqlalchemy import Column, Integer, Text, Time, ForeignKey, DateTime
2 from app.models import db 2 from app.models import db
3 from authlib.integrations.sqla_oauth2 import ( 3 from authlib.integrations.sqla_oauth2 import (
4 OAuth2ClientMixin, 4 OAuth2ClientMixin,
@@ -6,7 +6,7 @@ from authlib.integrations.sqla_oauth2 import ( @@ -6,7 +6,7 @@ from authlib.integrations.sqla_oauth2 import (
6 OAuth2AuthorizationCodeMixin 6 OAuth2AuthorizationCodeMixin
7 ) 7 )
8 from sqlalchemy.orm import relationship 8 from sqlalchemy.orm import relationship
9 -from app.util.enum.AuthEnum import OriginEnum,UserStatusEnum 9 +from app.util.enum.AuthEnum import OriginEnum, UserStatusEnum
10 10
11 11
12 class User (db.Model): 12 class User (db.Model):
@@ -26,8 +26,9 @@ class User (db.Model): @@ -26,8 +26,9 @@ class User (db.Model):
26 role = Column(Text) 26 role = Column(Text)
27 displayname = Column(Text, nullable=False) # 昵称 27 displayname = Column(Text, nullable=False) # 昵称
28 # 用户来源,默认dmap平台用户 28 # 用户来源,默认dmap平台用户
29 - origin = Column(Text, default=OriginEnum.Dmap.name.lower())  
30 - status = Column(Integer, default=UserStatusEnum.Active) # 1:激活,2:冻结,0:注销 29 + origin = Column(Text, nullable=False, default=OriginEnum.Dmap.name.lower())
  30 + status = Column(Integer, nullable=False,
  31 + default=UserStatusEnum.Active) # 1:激活,2:冻结,0:注销
31 32
32 def __str__(self): 33 def __str__(self):
33 return self.username 34 return self.username
@@ -84,7 +85,7 @@ class OAuthLog(db.Model): @@ -84,7 +85,7 @@ class OAuthLog(db.Model):
84 id = Column(Integer, primary_key=True) 85 id = Column(Integer, primary_key=True)
85 user_id = Column(Text, nullable=False) 86 user_id = Column(Text, nullable=False)
86 username = Column(Text) # 用户输入账号 87 username = Column(Text) # 用户输入账号
87 - displayname=Column(Text) # 昵称 88 + displayname = Column(Text) # 别名
88 ip = Column(Text) 89 ip = Column(Text)
89 # 登录方式:password,三方登录 90 # 登录方式:password,三方登录
90 auth_type = Column(Text) 91 auth_type = Column(Text)
@@ -18,7 +18,7 @@ class Api(ApiTemplate): @@ -18,7 +18,7 @@ class Api(ApiTemplate):
18 try: 18 try:
19 user_guid = int(self.para.get("guid")) 19 user_guid = int(self.para.get("guid"))
20 obj_value = {"company": "company", "email": "email", 20 obj_value = {"company": "company", "email": "email",
21 - "position": "position", "phone": "phone"} 21 + "position": "position", "phone": "phone", "displayname": "displayname"}
22 22
23 userinfo = User.query.filter_by(id=user_guid) 23 userinfo = User.query.filter_by(id=user_guid)
24 if not userinfo.one_or_none(): 24 if not userinfo.one_or_none():
@@ -53,7 +53,7 @@ class Api(ApiTemplate): @@ -53,7 +53,7 @@ class Api(ApiTemplate):
53 # 更新用户基本信息 53 # 更新用户基本信息
54 for key in obj_value: 54 for key in obj_value:
55 if self.para.__contains__(obj_value[key]): 55 if self.para.__contains__(obj_value[key]):
56 - value = self.para.get(AESHelper.decode(obj_value[key])) 56 + value = AESHelper.decode(self.para.get(obj_value[key]))
57 value = "" if value == "None" or value == "none" else value 57 value = "" if value == "None" or value == "none" else value
58 userinfo.update({key: value}) 58 userinfo.update({key: value})
59 59
@@ -108,6 +108,11 @@ class Api(ApiTemplate): @@ -108,6 +108,11 @@ class Api(ApiTemplate):
108 "type": "string", 108 "type": "string",
109 "description": "职位", 109 "description": "职位",
110 "required": ""}, 110 "required": ""},
  111 + {"name": "displayname",
  112 + "in": "formData",
  113 + "type": "string",
  114 + "description": "别名",
  115 + "required": ""},
111 ], 116 ],
112 "responses": { 117 "responses": {
113 200: { 118 200: {
@@ -34,6 +34,6 @@ def compile(des): @@ -34,6 +34,6 @@ def compile(des):
34 shutil.copy(pyc_file,des_pyc_file) 34 shutil.copy(pyc_file,des_pyc_file)
35 35
36 if __name__ == '__main__': 36 if __name__ == '__main__':
37 - des="F:\Python\DMapManagerPublish" 37 + des="D:\DMapManagerPublish" #D:\DMapManagerPublish
38 compile(des) 38 compile(des)
39 39
注册登录 后发表评论