user_update.py 2.5 KB
from app.util.component.ApiTemplate import ApiTemplate
import time
from .models import *


class Api(ApiTemplate):
    api_name = "更新用户信息"

    def para_check(self):
        if not self.para.get("guid"):
            raise Exception("guid is null")
        return super().para_check()

    def process(self):
        res = {}
        res["result"] = False
        try:
            user_guid = int(self.para.get("guid"))
            obj_value = {"company": "company", "email": "email",
                         "position": "position", "phone": "phone", "password": "pwd"}

            userinfo = User.query.filter_by(id=user_guid)
            if not userinfo.one_or_none():
                res["msg"] = "数据不存在"
            else:
                for key in obj_value:
                    if self.para.__contains__(obj_value[key]):
                        value = self.para.get(obj_value[key])
                        value = value if value is "None" or value is "none" else None
                        userinfo.update({key: value})
                db.session.commit()
                res["result"] = True
                res["msg"] = "更新用户信息成功"
        except Exception as e:
            db.session.rollback()
            raise e
        return res

    api_doc = {
        "tags": ["认证接口"],
        "parameters": [
            {"name": "guid",
             "in": "formData",
             "type": "string",
             "description": "用户id",
             "required": "true"},
            {"name": "pwd",
             "in": "formData",
             "type": "string",
             "description": "密码",
             "required": ""},
            {"name": "company",
             "in": "formData",
             "type": "string",
             "description": "单位",
             "required": ""},
            {"name": "email",
             "in": "formData",
             "type": "string",
             "description": "邮件",
             "required": ""},
            {"name": "phone",
             "in": "formData",
             "type": "string",
             "description": "电话",
             "required": ""},
            {"name": "position",
             "in": "formData",
             "type": "string",
             "description": "职位",
             "required": ""},
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }