| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- from flask import Flask, request, jsonify
- import mysql.connector
- import logging
- from logging.handlers import TimedRotatingFileHandler
- detail_logger = logging.getLogger('detailLogger')
- detail_logger.setLevel(logging.DEBUG) # 设置日志级别
- # 创建一个handler,用于写入文件,并根据时间自动轮换日志文件
- detail_handler = TimedRotatingFileHandler('详细日志log/详细日志.log', when='midnight', interval=1, backupCount=30,encoding='utf-8')
- detail_handler.setFormatter(logging.Formatter('%(asctime)s - %(message)s'))
- # 添加handler到logger
- detail_logger.addHandler(detail_handler)
- app = Flask(__name__)
- @app.route('/get', methods=['GET'])
- def get_message():
- phone_no = request.args.get('phone_no')
- passwd = request.args.get('passwd')
- detail_logger.debug(f"入参phone_no:{phone_no},passwd:{passwd}")
- # 1. 验证密码
- if passwd != 'BUFFPASSWD':
- detail_logger.debug(f'"code": "401"')
- return jsonify({"code": "401"}), 401
-
- # 2. 连接MySQL数据库
- try:
- connection = mysql.connector.connect(
- host='121.40.50.77',
- user='root',
- password='Root@123456',
- database='sendmsg',
- charset='utf8mb4'
- )
- cursor = connection.cursor()
-
- # 3. 执行查询
- query = ("SELECT msg, recv_phone_no FROM t_sendmsg WHERE deal_flag = '0' AND send_phone_no = %s LIMIT 1")
- cursor.execute(query, (phone_no,))
-
- # 4. 获取查询结果
- result = cursor.fetchone()
-
- if result:
- msg, recv_phone_no = result
- detail_logger.debug(f'出参:"code": "OK","msg": {msg}, "recv_phone_no": {recv_phone_no}')
- return jsonify({"code": "OK","msg": msg, "recv_phone_no": recv_phone_no})
- else:
- detail_logger.debug(f'"code": "404"')
- return jsonify({"code": "404"})
-
- except mysql.connector.Error as err:
- detail_logger.debug(err)
- detail_logger.debug(f'"code": "500"')
- return jsonify({"code": "500"}), 500
-
- finally:
- if connection.is_connected():
- cursor.close()
- connection.close()
- @app.route('/update', methods=['get'])
- def update_message():
- phone_no = request.args.get('phone_no')
- msg = request.args.get('msg')
- recv_phone_no = request.args.get('recv_phone_no')
- passwd = request.args.get('passwd')
- detail_logger.debug(f"入参 passwd:{passwd}, phone_no:{phone_no}, msg: {msg}, recv_phone_no: {recv_phone_no}")
- if passwd != 'BUFFPASSWD':
- detail_logger.debug(f'"code": "401"')
- return jsonify({"code": "401"}), 401
- # 验证参数
- if not phone_no or not msg or not recv_phone_no:
- detail_logger.debug(f'"code": "400"')
- return jsonify({"code": "400", "message": "Missing required parameters"}), 400
- # 2. 连接MySQL数据库
- try:
- connection = mysql.connector.connect(
- host='121.40.50.77',
- user='root',
- password='Root@123456',
- database='sendmsg',
- charset='utf8mb4'
- )
- cursor = connection.cursor()
- # 3. 执行更新
- update_query = ("UPDATE t_sendmsg SET deal_flag = '1' WHERE send_phone_no = %s AND msg = %s and recv_phone_no = %s")
- cursor.execute(update_query, (phone_no, msg,recv_phone_no))
- # 4. 提交事务
- connection.commit()
- if cursor.rowcount > 0:
- detail_logger.debug(f'出参:"code": "OK"')
- return jsonify({"code": "OK", "message": "Update successful"})
- else:
- detail_logger.debug(f'"code": "404"')
- return jsonify({"code": "404", "message": "No matching record found"}), 404
- except mysql.connector.Error as err:
- detail_logger.debug(err)
- detail_logger.debug(f'"code": "500"')
- return jsonify({"code": "500", "message": "Internal server error"}), 500
- finally:
- if connection.is_connected():
- cursor.close()
- connection.close()
- if __name__ == '__main__':
- app.run(debug=True, port=9900, host='0.0.0.0')
|