|
@@ -1,76 +1,68 @@
|
|
from flask import request, jsonify
|
|
from flask import request, jsonify
|
|
from flask_restx import Resource, Namespace, reqparse
|
|
from flask_restx import Resource, Namespace, reqparse
|
|
|
|
+from sqlalchemy import select
|
|
|
|
+from sqlalchemy.orm import Session
|
|
|
|
|
|
-from app.defines import StatesCode
|
|
|
|
|
|
+from app.database import engine
|
|
|
|
+from app.defines import StatesCode, Module, OperationType
|
|
|
|
+from app.configs.config import MESSAGR_TYPE
|
|
|
|
+from app.modle.message import Message
|
|
|
|
+from app.utils.save_log import save_log
|
|
|
|
+from app.utils.util import to_dict
|
|
|
|
|
|
ns = Namespace('message', description='消息管理接口')
|
|
ns = Namespace('message', description='消息管理接口')
|
|
|
|
|
|
|
|
|
|
-class MessageApi(Resource):
|
|
|
|
|
|
+@ns.route('/message_list')
|
|
|
|
+class MessageTypeApi(Resource):
|
|
|
|
+ @ns.doc(id='message_list', description='消息列表')
|
|
def get(self):
|
|
def get(self):
|
|
- """获取消息"""
|
|
|
|
- data = {
|
|
|
|
- 'name': '年度消息',
|
|
|
|
- 'superior': None,
|
|
|
|
- 'config': '钉钉',
|
|
|
|
- 'personnel': '全体',
|
|
|
|
- 'time': '2020-10-10',
|
|
|
|
- 'title': '标题',
|
|
|
|
- 'content': '内容',
|
|
|
|
- 'style': '样式'
|
|
|
|
- }
|
|
|
|
- return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
|
|
|
|
|
|
+ """获取消息列表"""
|
|
|
|
+ data = {}
|
|
|
|
+ for message in MESSAGR_TYPE:
|
|
|
|
+ with Session(engine) as session:
|
|
|
|
+ stmt = select(Message.id, Message.name).where(Message.type == message)
|
|
|
|
+
|
|
|
|
+ for row in session.execute(stmt):
|
|
|
|
+ if data.get(message):
|
|
|
|
+ data[message].append({"id": row.id, "name": row.name})
|
|
|
|
+ else:
|
|
|
|
+ data[message] = [{"id": row.id, "name": row.name}]
|
|
|
|
+
|
|
|
|
+ save_log(request, Module.MESSAGE, OperationType.INQUIRE, StatesCode.SUCCESS)
|
|
|
|
|
|
- def put(self):
|
|
|
|
- """修改消息"""
|
|
|
|
- data = {
|
|
|
|
- 'name': '年度消息',
|
|
|
|
- 'superior': None,
|
|
|
|
- 'config': '钉钉',
|
|
|
|
- 'personnel': '全体',
|
|
|
|
- 'time': '2020-10-10',
|
|
|
|
- 'title': '标题',
|
|
|
|
- 'content': '内容',
|
|
|
|
- 'style': '样式'
|
|
|
|
- }
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
|
|
|
|
|
|
- def delete(self):
|
|
|
|
- """删除消息"""
|
|
|
|
|
|
|
|
- return jsonify(code=StatesCode.SUCCESS, message='成功', data='')
|
|
|
|
|
|
+message_details = reqparse.RequestParser(bundle_errors=True)
|
|
|
|
+message_details.add_argument(name='message_id', type=int, location='args', required=False, help='消息id')
|
|
|
|
|
|
|
|
|
|
-class InformationApi(Resource):
|
|
|
|
|
|
+class MessageApi(Resource):
|
|
|
|
+
|
|
|
|
+ @ns.doc(id='message_details', description='获取消息详情')
|
|
|
|
+ @ns.expect(message_details)
|
|
def get(self):
|
|
def get(self):
|
|
- """获取信息"""
|
|
|
|
- data = {
|
|
|
|
- 'name': '年度消息',
|
|
|
|
- 'superior': None,
|
|
|
|
- 'config': '钉钉',
|
|
|
|
- 'personnel': '全体',
|
|
|
|
- 'time': '2020-10-10',
|
|
|
|
- 'title': '标题',
|
|
|
|
- 'content': '内容',
|
|
|
|
- 'style': '样式'
|
|
|
|
- }
|
|
|
|
- return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
|
|
|
|
|
|
+ """获取消息详情"""
|
|
|
|
|
|
- def put(self):
|
|
|
|
- """修改信息"""
|
|
|
|
- data = {
|
|
|
|
- 'name': '年度消息',
|
|
|
|
- 'superior': None,
|
|
|
|
- 'config': '钉钉',
|
|
|
|
- 'personnel': '全体',
|
|
|
|
- 'time': '2020-10-10',
|
|
|
|
- 'title': '标题',
|
|
|
|
- 'content': '内容',
|
|
|
|
- 'style': '样式'
|
|
|
|
- }
|
|
|
|
- return jsonify(code=StatesCode.SUCCESS, message='成功', data=data)
|
|
|
|
|
|
+ message_id = request.args.get('message_id')
|
|
|
|
+
|
|
|
|
+ if message_id is None:
|
|
|
|
+ return jsonify(code=StatesCode.UNKNOWN_ERROR, message='消息id不能为空')
|
|
|
|
+
|
|
|
|
+ with Session(engine) as session:
|
|
|
|
+ stmt = select(Message).where(Message.id == message_id)
|
|
|
|
+ results = session.execute(stmt).scalars().all()
|
|
|
|
+
|
|
|
|
+ save_log(request, Module.MESSAGE, OperationType.INQUIRE, StatesCode.SUCCESS)
|
|
|
|
|
|
- def delete(self):
|
|
|
|
- """删除信息"""
|
|
|
|
|
|
+ return jsonify(code=StatesCode.SUCCESS, message='成功', data=to_dict(results))
|
|
|
|
+
|
|
|
|
+ def post(self):
|
|
|
|
+ """新增消息"""
|
|
|
|
+ pass
|
|
|
|
+
|
|
|
|
+ def put(self):
|
|
|
|
+ """修改消息"""
|
|
|
|
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功', data='')
|
|
return jsonify(code=StatesCode.SUCCESS, message='成功', data='')
|