zhangnaiwen 2 年之前
父節點
當前提交
23c3daf49c
共有 5 個文件被更改,包括 201 次插入201 次删除
  1. 3 0
      src/app/api/log.py
  2. 103 103
      src/app/api/organization.py
  3. 17 7
      src/app/api/role.py
  4. 65 90
      src/app/api/users.py
  5. 13 1
      src/app/configs/config.py

+ 3 - 0
src/app/api/log.py

@@ -28,6 +28,8 @@ log_list.add_argument(name='operation_status', type=int, location='args', requir
 class LogList(Resource):
 class LogList(Resource):
     method_decorators = [login_required]
     method_decorators = [login_required]
 
 
+    @ns.doc(id='log', description='日志列表')
+    @ns.expect(log_list)
     def get(self):
     def get(self):
         """获取日志列表"""
         """获取日志列表"""
         page_size = int(request.args.get('page_size', 20))
         page_size = int(request.args.get('page_size', 20))
@@ -63,6 +65,7 @@ class LogList(Resource):
 class LogExportApi(Resource):
 class LogExportApi(Resource):
     method_decorators = [login_required]
     method_decorators = [login_required]
 
 
+    @ns.doc(id='log_export', description='日志导出')
     def get(self):
     def get(self):
         """日志导出"""
         """日志导出"""
         with Session(engine) as session:
         with Session(engine) as session:

+ 103 - 103
src/app/api/organization.py

@@ -1,4 +1,5 @@
 import json
 import json
+import os
 
 
 from flask import request, jsonify
 from flask import request, jsonify
 from flask_restx import Resource, Namespace, reqparse
 from flask_restx import Resource, Namespace, reqparse
@@ -6,6 +7,7 @@ from sqlalchemy import select, insert, delete, update
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import Session
 from werkzeug.datastructures import FileStorage
 from werkzeug.datastructures import FileStorage
 
 
+from app.configs.config import COMPANY_LOGO_PATH, COMPANY_LOGO_URL
 from app.defines import StatesCode, Module, OperationType
 from app.defines import StatesCode, Module, OperationType
 from app.database import engine
 from app.database import engine
 from app.modle.organization import Company, Department
 from app.modle.organization import Company, Department
@@ -57,16 +59,31 @@ company_details.add_argument(name='on_guard_size', type=str, location='form', re
 delete_company = reqparse.RequestParser(bundle_errors=True)
 delete_company = reqparse.RequestParser(bundle_errors=True)
 delete_company.add_argument(name='company_id', type=int, location='form', required=False, help='公司id')
 delete_company.add_argument(name='company_id', type=int, location='form', required=False, help='公司id')
 
 
+get_company_details = reqparse.RequestParser(bundle_errors=True)
+get_company_details.add_argument(name='company_id', type=int, location='args', required=False, help='公司id')
+
 
 
 @ns.route('/company')
 @ns.route('/company')
 class CompanyApi(Resource):
 class CompanyApi(Resource):
     method_decorators = [login_required]
     method_decorators = [login_required]
 
 
-    @ns.doc(id='get_company', description='搜索公司')
-    @ns.expect()
+    @ns.doc(id='get_company_details', description='获取公司详情')
+    @ns.expect(get_company_details)
     def get(self):
     def get(self):
-        """搜索公司"""
-        return {"code": StatesCode.SUCCESS, "message": "成功", "data": '查询'}
+        """获取公司详情"""
+
+        company_id = request.args.get('company_id')
+
+        if company_id is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司id不能为空")
+
+        with Session(engine) as session:
+            stmt = select(Company).where(Company.id == company_id)
+            results = session.execute(stmt).scalars().all()
+
+        save_log(request, Module.ORGANIZATION, OperationType.INQUIRE, StatesCode.SUCCESS)
+
+        return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
 
 
     @ns.doc(id='add_company', description='添加公司')
     @ns.doc(id='add_company', description='添加公司')
     @ns.expect(company_details)
     @ns.expect(company_details)
@@ -75,8 +92,6 @@ class CompanyApi(Resource):
 
 
         company_name = request.form.get('company_name')
         company_name = request.form.get('company_name')
         logo = request.files.get('logo')
         logo = request.files.get('logo')
-        if logo:
-            logo = logo.read()
         abbreviation = request.form.get('abbreviation')
         abbreviation = request.form.get('abbreviation')
         code = request.form.get('code')
         code = request.form.get('code')
         registered_address = request.form.get('registered_address')
         registered_address = request.form.get('registered_address')
@@ -89,6 +104,13 @@ class CompanyApi(Resource):
         if company_name is None:
         if company_name is None:
             return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司名不能为空")
             return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司名不能为空")
 
 
+        # 公司商标存储(url),
+        if logo:
+            logo.save(os.path.join(COMPANY_LOGO_PATH, logo.filename))
+            logo_url = COMPANY_LOGO_URL + logo.filename
+        else:
+            logo_url = None
+
         with Session(engine) as session:
         with Session(engine) as session:
             # 判断公司是否存在
             # 判断公司是否存在
             stmt = select(Company).where(Company.company_name == company_name)
             stmt = select(Company).where(Company.company_name == company_name)
@@ -99,7 +121,7 @@ class CompanyApi(Resource):
             # 添加公司
             # 添加公司
             stmt = insert(Company).values(
             stmt = insert(Company).values(
                 company_name=company_name,
                 company_name=company_name,
-                logo=logo,
+                logo=logo_url if logo_url else None,
                 abbreviation=abbreviation,
                 abbreviation=abbreviation,
                 code=code,
                 code=code,
                 registered_address=registered_address,
                 registered_address=registered_address,
@@ -117,52 +139,6 @@ class CompanyApi(Resource):
 
 
         return jsonify(code=StatesCode.SUCCESS, message='添加成功')
         return jsonify(code=StatesCode.SUCCESS, message='添加成功')
 
 
-    @ns.doc(id='delete_company', description='删除公司')
-    @ns.expect(delete_company)
-    def delete(self):
-        """删除公司"""
-        company_id = request.form.get('company_id')
-
-        if company_id is None:
-            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司id不能为空")
-
-        with Session(engine) as session:
-            stmt = select(Company).where(Company.id == company_id)
-
-            session.delete(session.execute(stmt).scalars().first())
-            session.commit()
-
-        save_log(request, Module.ORGANIZATION, OperationType.DELETE, StatesCode.SUCCESS)
-
-        return jsonify(code=StatesCode.SUCCESS, message="删除成功")
-
-
-get_company_details = reqparse.RequestParser(bundle_errors=True)
-get_company_details.add_argument(name='company_id', type=int, location='args', required=False, help='公司id')
-
-
-@ns.route('/company_details')
-class CompanyDetailsApi(Resource):
-    method_decorators = [login_required]
-
-    @ns.doc(id='get_company_details', description='获取公司详情')
-    @ns.expect(get_company_details)
-    def get(self):
-        """获取公司详情"""
-
-        company_id = request.args.get('company_id')
-
-        if company_id is None:
-            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司id不能为空")
-
-        with Session(engine) as session:
-            stmt = select(Company).where(Company.id == company_id)
-            results = session.execute(stmt).scalars().all()
-
-        save_log(request, Module.ORGANIZATION, OperationType.INQUIRE, StatesCode.SUCCESS)
-
-        return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
-
     @ns.doc(id='update_company_details', description='修改公司详情')
     @ns.doc(id='update_company_details', description='修改公司详情')
     @ns.expect(company_details)
     @ns.expect(company_details)
     def put(self):
     def put(self):
@@ -170,8 +146,6 @@ class CompanyDetailsApi(Resource):
         company_id = request.form.get('company_id')
         company_id = request.form.get('company_id')
         company_name = request.form.get('company_name')
         company_name = request.form.get('company_name')
         logo = request.files.get('logo')
         logo = request.files.get('logo')
-        if logo:
-            logo = logo.read()
         abbreviation = request.form.get('abbreviation')
         abbreviation = request.form.get('abbreviation')
         code = request.form.get('code')
         code = request.form.get('code')
         registered_address = request.form.get('registered_address')
         registered_address = request.form.get('registered_address')
@@ -184,10 +158,17 @@ class CompanyDetailsApi(Resource):
         if company_name is None:
         if company_name is None:
             return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司名不能为空")
             return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司名不能为空")
 
 
+        # 公司商标存储(url),
+        if logo:
+            logo.save(os.path.join(COMPANY_LOGO_PATH, logo.filename))
+            logo_url = COMPANY_LOGO_URL + logo.filename
+        else:
+            logo_url = None
+
         with Session(engine) as session:
         with Session(engine) as session:
             stmt = update(Company).where(Company.id == company_id).values(
             stmt = update(Company).where(Company.id == company_id).values(
                 company_name=company_name,
                 company_name=company_name,
-                logo=logo,
+                logo=logo_url if logo_url else None,
                 abbreviation=abbreviation,
                 abbreviation=abbreviation,
                 code=code,
                 code=code,
                 registered_address=registered_address,
                 registered_address=registered_address,
@@ -204,6 +185,25 @@ class CompanyDetailsApi(Resource):
 
 
         return jsonify(code=StatesCode.SUCCESS, message='修改成功')
         return jsonify(code=StatesCode.SUCCESS, message='修改成功')
 
 
+    @ns.doc(id='delete_company', description='删除公司')
+    @ns.expect(company_details)
+    def delete(self):
+        """删除公司"""
+        company_id = request.form.get('company_id')
+
+        if company_id is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="公司id不能为空")
+
+        with Session(engine) as session:
+            stmt = select(Company).where(Company.id == company_id)
+
+            session.delete(session.execute(stmt).scalars().first())
+            session.commit()
+
+        save_log(request, Module.ORGANIZATION, OperationType.DELETE, StatesCode.SUCCESS)
+
+        return jsonify(code=StatesCode.SUCCESS, message="删除成功")
+
 
 
 department_details = reqparse.RequestParser(bundle_errors=True)
 department_details = reqparse.RequestParser(bundle_errors=True)
 department_details.add_argument(name='department_id', type=str, location='form', required=False, help='部门id')
 department_details.add_argument(name='department_id', type=str, location='form', required=False, help='部门id')
@@ -219,8 +219,8 @@ department_details.add_argument(name='thirdparty_staff', type=str, location='for
 department_details.add_argument(name='censure', type=str, location='form', required=False, help='职责')
 department_details.add_argument(name='censure', type=str, location='form', required=False, help='职责')
 
 
 
 
-@ns.route('/department')
-class DepartmentApi(Resource):
+@ns.route('/department_list')
+class DepartmentListApi(Resource):
     method_decorators = [login_required]
     method_decorators = [login_required]
 
 
     @ns.doc(id='department_list', description='获取公司下部门列表')
     @ns.doc(id='department_list', description='获取公司下部门列表')
@@ -245,6 +245,33 @@ class DepartmentApi(Resource):
 
 
         return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
         return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
 
 
+
+get_department = reqparse.RequestParser(bundle_errors=True)
+get_department.add_argument(name='department_id', type=str, location='args', required=False, help='部门id')
+
+
+@ns.route('/department')
+class DepartmentApi(Resource):
+    method_decorators = [login_required]
+
+    @ns.doc(id='get_department_details', description='获取部门详情')
+    @ns.expect(get_department)
+    def get(self):
+        """获取部门详情"""
+
+        department_id = request.args.get('department_id')
+
+        if department_id is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="部门id不能为空")
+
+        with Session(engine) as session:
+            stmt = select(Department).where(Department.id == department_id)
+            results = session.execute(stmt).scalars().all()
+
+        save_log(request, Module.ORGANIZATION, OperationType.INQUIRE, StatesCode.SUCCESS)
+
+        return jsonify(code=StatesCode.SUCCESS, message="成功", data=to_dict(results))
+
     @ns.doc(id='add_department', description='添加部门')
     @ns.doc(id='add_department', description='添加部门')
     @ns.expect(department_details)
     @ns.expect(department_details)
     def post(self):
     def post(self):
@@ -284,51 +311,6 @@ class DepartmentApi(Resource):
 
 
         return {"code": StatesCode.SUCCESS, "message": "成功"}
         return {"code": StatesCode.SUCCESS, "message": "成功"}
 
 
-    @ns.doc(id='delete_company_details', description='删除部门')
-    @ns.expect(department_details)
-    def delete(self):
-        """删除部门"""
-        department_id = request.form.get('department_id')
-
-        if department_id is None:
-            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="部门id不能为空")
-
-        with Session(engine) as session:
-            stmt = delete(Department).where(Department.id == department_id)
-            session.execute(stmt)
-            session.commit()
-
-        save_log(request, Module.ORGANIZATION, OperationType.DELETE, StatesCode.SUCCESS)
-
-        return {"code": StatesCode.SUCCESS, "message": "成功", "data": '删除部门'}
-
-
-get_department = reqparse.RequestParser(bundle_errors=True)
-get_department.add_argument(name='department_id', type=str, location='args', required=False, help='部门id')
-
-
-@ns.route('/department_details')
-class DepartmentDetailsApi(Resource):
-    method_decorators = [login_required]
-
-    @ns.doc(id='get_department_details', description='获取部门详情')
-    @ns.expect(get_department)
-    def get(self):
-        """获取部门详情"""
-
-        department_id = request.args.get('department_id')
-
-        if department_id is None:
-            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="部门id不能为空")
-
-        with Session(engine) as session:
-            stmt = select(Department).where(Department.id == department_id)
-            results = session.execute(stmt).scalars().all()
-
-        save_log(request, Module.ORGANIZATION, OperationType.INQUIRE, StatesCode.SUCCESS)
-
-        return jsonify(code=StatesCode.SUCCESS, message="成功", data=to_dict(results))
-
     @ns.doc(id='update_company_details', description='修改部门详情')
     @ns.doc(id='update_company_details', description='修改部门详情')
     @ns.expect(department_details)
     @ns.expect(department_details)
     def put(self):
     def put(self):
@@ -370,6 +352,24 @@ class DepartmentDetailsApi(Resource):
 
 
         return jsonify(code=StatesCode.SUCCESS, message="成功")
         return jsonify(code=StatesCode.SUCCESS, message="成功")
 
 
+    @ns.doc(id='delete_company_details', description='删除部门')
+    @ns.expect(department_details)
+    def delete(self):
+        """删除部门"""
+        department_id = request.form.get('department_id')
+
+        if department_id is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="部门id不能为空")
+
+        with Session(engine) as session:
+            stmt = delete(Department).where(Department.id == department_id)
+            session.execute(stmt)
+            session.commit()
+
+        save_log(request, Module.ORGANIZATION, OperationType.DELETE, StatesCode.SUCCESS)
+
+        return {"code": StatesCode.SUCCESS, "message": "成功", "data": '删除部门'}
+
 
 
 batch_delete_company = reqparse.RequestParser(bundle_errors=True)
 batch_delete_company = reqparse.RequestParser(bundle_errors=True)
 batch_delete_company.add_argument(name='company_ids', type=list, location='form', required=False, help='公司ids')
 batch_delete_company.add_argument(name='company_ids', type=list, location='form', required=False, help='公司ids')

+ 17 - 7
src/app/api/role.py

@@ -47,20 +47,30 @@ role.add_argument(name='role_name', type=str, location='form', required=False, h
 role.add_argument(name='role_describe', type=str, location='form', required=False, help='角色描述')
 role.add_argument(name='role_describe', type=str, location='form', required=False, help='角色描述')
 role.add_argument(name='role_permission', type=str, location='form', required=False, help='角色权限')
 role.add_argument(name='role_permission', type=str, location='form', required=False, help='角色权限')
 
 
+role_id = reqparse.RequestParser(bundle_errors=True)
+role_id.add_argument(name='role_id', type=int, location='args', required=False, help='角色id')
+
 
 
 @ns.route('/role')
 @ns.route('/role')
 class RoleApi(Resource):
 class RoleApi(Resource):
     method_decorators = [login_required]
     method_decorators = [login_required]
 
 
-    @ns.doc(id='get_role', description='搜索角色')
-    @ns.expect()
+    @ns.doc(id='get_role', description='获取角色')
+    @ns.expect(role_id)
     def get(self):
     def get(self):
-        """搜索角色"""
-        data = {
-            "name": "决策组",
+        """获取角色"""
+        role_id = request.args.get('role_id')
+
+        if role_id is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="角色id不能为空")
+
+        with Session(engine) as session:
+            stmt = select(Role).where(Role.id == role_id)
+            results = session.execute(stmt).scalars().all()
+
+        save_log(request, Module.ROLE, OperationType.INQUIRE, StatesCode.SUCCESS)
 
 
-        }
-        return {"code": StatesCode.SUCCESS, "message": "成功", "data": data}
+        return {"code": StatesCode.SUCCESS, "message": "成功", "data": to_dict(results)}
 
 
     @ns.doc(id='add_role', description='添加角色')
     @ns.doc(id='add_role', description='添加角色')
     @ns.expect(role)
     @ns.expect(role)

+ 65 - 90
src/app/api/users.py

@@ -61,24 +61,31 @@ add_user.add_argument(name='on_job_status', type=str, required=False, location='
 add_user.add_argument(name='duty', type=str, required=False, location='form', help='职务')
 add_user.add_argument(name='duty', type=str, required=False, location='form', help='职务')
 add_user.add_argument(name='nationality', type=str, required=False, location='form', help='国籍')
 add_user.add_argument(name='nationality', type=str, required=False, location='form', help='国籍')
 
 
-users_status = reqparse.RequestParser(bundle_errors=True)
-users_status.add_argument(name='id', type=int, required=True, location='form', help='用户id')
-users_status.add_argument(name='status', type=int, required=True, location='form', help='用户状态')
 
 
-del_users = reqparse.RequestParser(bundle_errors=True)
-del_users.add_argument(name='id', type=int, required=True, location='form', help='用户id')
+user_details = reqparse.RequestParser(bundle_errors=True)
+user_details.add_argument(name='id', type=int, required=True, location='args', help='用户id')
 
 
 
 
 @ns.route('/user')
 @ns.route('/user')
 class UsersApi(Resource):
 class UsersApi(Resource):
-    # method_decorators = [login_required]
+    method_decorators = [login_required]
 
 
-    @ns.doc(id='query_users', description='搜索用户')
-    @ns.expect()
+    @ns.doc(id='get_users_details', description='获取用户详情')
+    @ns.expect(user_details)
     def get(self):
     def get(self):
-        """搜索用户"""
-        data = []
-        return {"code": StatesCode.SUCCESS, "message": "成功", "data": data}
+        """获取用户详情"""
+        user_id = request.args.get('id')
+
+        if user_id is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="用户id不能为空")
+
+        with Session(engine) as session:
+            stmt = select(User).where(User.id == user_id)
+            results = session.execute(stmt).scalars().all()
+
+        save_log(request, Module.USER, OperationType.INQUIRE, StatesCode.SUCCESS)
+
+        return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
 
 
     @ns.doc(id='add_users', description='添加用户')
     @ns.doc(id='add_users', description='添加用户')
     @ns.expect(add_user)
     @ns.expect(add_user)
@@ -135,85 +142,6 @@ class UsersApi(Resource):
 
 
         return jsonify(code=StatesCode.SUCCESS, message="添加用户成功")
         return jsonify(code=StatesCode.SUCCESS, message="添加用户成功")
 
 
-    @ns.doc(id='modify_users_status', description='修改用户状态,激活、禁用')
-    @ns.expect(users_status)
-    def put(self):
-        """修改用户状态,激活、禁用"""
-        user_id = int(request.form.get('id'))
-        account_status = int(request.form.get('status'))
-
-        if user_id is None or account_status is None:
-            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="用户id或用户状态不能为空")
-
-        with Session(engine) as session:
-            stmt = update(User).where(User.id == user_id).values(account_status=account_status)
-            session.execute(stmt)
-            session.commit()
-
-        save_log(request, Module.USER, OperationType.UPDATE, StatesCode.SUCCESS)
-
-        return jsonify(code=StatesCode.SUCCESS, message="修改用户状态成功")
-
-    @ns.doc(id='delete_users', description='删除用户')
-    @ns.expect(del_users)
-    def delete(self):
-        """删除用户"""
-        user_id = request.form.get('id')
-
-        if user_id is None:
-            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="用户id不能为空")
-
-        with Session(engine) as session:
-            stmt = delete(User).where(User.id == user_id)
-            session.execute(stmt)
-            session.commit()
-
-        save_log(request, Module.USER, OperationType.DELETE, StatesCode.SUCCESS)
-
-        return jsonify(code=StatesCode.SUCCESS, message="删除成功")
-
-
-user_details = reqparse.RequestParser(bundle_errors=True)
-user_details.add_argument(name='id', type=int, required=True, location='args', help='用户id')
-
-
-# user_details_update = reqparse.RequestParser(bundle_errors=True)
-# user_details_update.add_argument(name='username', type=str, required=False, location='form', help='用户名')
-# user_details_update.add_argument(name='password', type=str, required=False, location='form', help='密码')
-# user_details_update.add_argument(name='photograph', type=str, required=False, location='form', help='照片')
-# user_details_update.add_argument(name='name', type=str, required=False, location='form', help='姓名')
-# user_details_update.add_argument(name='phone', type=str, required=False, location='form', help='电话')
-# user_details_update.add_argument(name='email', type=str, required=False, location='form', help='邮箱')
-# user_details_update.add_argument(name='company', type=str, required=False, location='form', help='公司')
-# user_details_update.add_argument(name='department', type=str, required=False, location='form', help='部门')
-# user_details_update.add_argument(name='role', type=str, required=False, location='form', help='角色')
-# user_details_update.add_argument(name='permission', type=str, required=False, location='form', help='权限')
-# user_details_update.add_argument(name='on_job_status', type=str, required=False, location='form', help='在职状态')
-# user_details_update.add_argument(name='duty', type=str, required=False, location='form', help='职务')
-# user_details_update.add_argument(name='nationality', type=str, required=False, location='form', help='国籍')
-
-
-@ns.route('/user_details')
-class GetUsersApi(Resource):
-    method_decorators = [login_required]
-
-    @ns.doc(id='get_users_details', description='获取用户详情')
-    @ns.expect(user_details)
-    def get(self):
-        """获取用户详情"""
-        user_id = request.args.get('id')
-
-        if user_id is None:
-            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="用户id不能为空")
-
-        with Session(engine) as session:
-            stmt = select(User).where(User.id == user_id)
-            results = session.execute(stmt).scalars().all()
-
-        save_log(request, Module.USER, OperationType.INQUIRE, StatesCode.SUCCESS)
-
-        return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
-
     @ns.doc(id='update_users_details', description='更新用户详情')
     @ns.doc(id='update_users_details', description='更新用户详情')
     @ns.expect(add_user)
     @ns.expect(add_user)
     def put(self):
     def put(self):
@@ -257,6 +185,53 @@ class GetUsersApi(Resource):
 
 
         return jsonify(code=StatesCode.SUCCESS, message='修改成功')
         return jsonify(code=StatesCode.SUCCESS, message='修改成功')
 
 
+    @ns.doc(id='delete_users', description='删除用户')
+    @ns.expect(add_user)
+    def delete(self):
+        """删除用户"""
+        user_id = request.form.get('id')
+
+        if user_id is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="用户id不能为空")
+
+        with Session(engine) as session:
+            stmt = delete(User).where(User.id == user_id)
+            session.execute(stmt)
+            session.commit()
+
+        save_log(request, Module.USER, OperationType.DELETE, StatesCode.SUCCESS)
+
+        return jsonify(code=StatesCode.SUCCESS, message="删除成功")
+
+
+users_status = reqparse.RequestParser(bundle_errors=True)
+users_status.add_argument(name='id', type=int, required=True, location='form', help='用户id')
+users_status.add_argument(name='status', type=int, required=True, location='form', help='用户状态')
+
+
+@ns.route('/user_status')
+class GetUsersApi(Resource):
+    method_decorators = [login_required]
+
+    @ns.doc(id='modify_users_status', description='修改用户状态,激活、禁用')
+    @ns.expect(users_status)
+    def put(self):
+        """修改用户状态,激活、禁用"""
+        user_id = int(request.form.get('id'))
+        account_status = int(request.form.get('status'))
+
+        if user_id is None or account_status is None:
+            return jsonify(code=StatesCode.UNKNOWN_ERROR, message="用户id或用户状态不能为空")
+
+        with Session(engine) as session:
+            stmt = update(User).where(User.id == user_id).values(account_status=account_status)
+            session.execute(stmt)
+            session.commit()
+
+        save_log(request, Module.USER, OperationType.UPDATE, StatesCode.SUCCESS)
+
+        return jsonify(code=StatesCode.SUCCESS, message="修改用户状态成功")
+
 
 
 batch_delete_user = reqparse.RequestParser(bundle_errors=True)
 batch_delete_user = reqparse.RequestParser(bundle_errors=True)
 batch_delete_user.add_argument(name='users_id', type=str, required=True, location='form', help='用户id列表')
 batch_delete_user.add_argument(name='users_id', type=str, required=True, location='form', help='用户id列表')

+ 13 - 1
src/app/configs/config.py

@@ -1,2 +1,14 @@
-JWT_SECRET = ''
+JWT_SECRET = 'SKYversation0816'
 JWT_EXPIRY = 3600
 JWT_EXPIRY = 3600
+
+# 公司商标存储地址
+COMPANY_LOGO_PATH = "/Users/mac/data/company_logo"
+COMPANY_LOGO_URL = 'http://127.0.0.1/company_logo/'
+
+# 报表存储地址
+STATEMENT_FILE_PATH = '/Users/mac/data/statement'
+STATEMENT_FILE_URL = 'http://127.0.0.1/statement/'
+# 报告存储地址
+
+
+# 公司图片存醋地址