from flask import Flask, request, redirect, abort, session from utils import * import os, _thread, urllib import logging from logging.handlers import TimedRotatingFileHandler app = Flask(__name__) app.config['SECRET_KEY'] = os.urandom(24) def setup_logging(): """配置日志系统,按天分割日志文件""" # 创建日志目录 log_dir = "logs" os.makedirs(log_dir, exist_ok=True) # 设置日志格式 log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' formatter = logging.Formatter(log_format) # 创建按天轮转的文件处理器 file_handler = TimedRotatingFileHandler( filename=os.path.join(log_dir, 'lyapp.log'), when='midnight', # 每天午夜轮转 interval=1, # 每天一个文件 backupCount=30, # 保留30天的日志 encoding='utf-8' ) file_handler.setFormatter(formatter) file_handler.setLevel(logging.INFO) # 创建控制台处理器 console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) console_handler.setLevel(logging.DEBUG) # 获取根logger并配置 logger = logging.getLogger() logger.setLevel(logging.DEBUG) logger.addHandler(file_handler) logger.addHandler(console_handler) # 初始化日志配置 setup_logging() # 获取当前模块的 logger logger = logging.getLogger(__name__) logger.info(f"LYPayApp started") # 会输出到文件和控制台 @app.route('/queryUserId', methods=['GET']) def queryUserId(): # 获取支付明细 try: code = request.args.get('code') data = query_wx_userid(code) if len(data) <= 11: res = query_wx_fj_info(data) data = res print(f'http://web.jiyuankeshang.com/?user={data}') return redirect(f'http://web.jiyuankeshang.com/?user={data}') except Exception as e: return {} @app.route('/queryUser', methods=['GET']) def queryUserApi(): # 获取支付明细 try: id = request.args.get('user') data = queryUser(id) return data except Exception as e: return {} @app.route('/getPaymentDetails', methods=['GET']) def getPaymentDetails(): try: id = request.args.get('user','') id = id.replace(" ", "") if not id: return {} data = query_pay_details(id) return data except Exception as e: logger.error(f"getPaymentDetails",e) return {} @app.route('/test', methods=['POST']) def test(): # 新增未收付明细 {"pay_amount": 20000, "id": "18515367096"} try: data = request.data.decode("utf-8") print(data) return {} except Exception as e: logger.error(f"addUnPayment",e) return {} @app.route('/addUnPayment', methods=['POST']) def addUnPayment(): # 新增未收付明细 {"pay_amount": 20000, "id": "18515367096"} try: data = request.data.decode("utf-8") data = data.replace("null", "None") data = eval(data) data = data['data'] if data['mode_type'] == "联合运营" and data['lydunjiao'] != "趸交": logger.info(f"开始========", data) data1 = {"pay_amount": 0, "id": "未收付","jg": data['jg'], "name": data['name'], "form_code": data['form_code']} print(data1) _thread.start_new_thread(add_payment, ({"pay_amount": 0, "id": "未收付", "jg": data['sijisuozaigongsi'], "name": data['company_jc'], "form_code": data['yewubiaodanbianma']}, 1)) return {data} else: return {} except Exception as e: logger.error(f"addUnPayment",e) return {} @app.route('/addPayment', methods=['POST']) def addPayment(): # 新增充值明细 {"pay_amount": 20000, "id": "18515367096"} try: data = request.data.decode("utf-8") print(data) data = data.replace("null", "None") data = eval(data) data = data['data'] if data['mode_type'] != "联合运营" or data['type'] != "转入" or data['zhtype'] != "预收款": return {} if not data['charge_amount']: data['charge_amount'] = 0 if data['zxform_code'] == "": _thread.start_new_thread(add_payment, ({"pay_amount": data['charge_amount'], "id": data['id_card'], "jg": data['jg'], "name": data['name'], "form_code": data['form_code'], "is_zx": 0}, 1)) else: form_code = [] form_code = data['zxform_code'].split(',') _thread.start_new_thread(add_payment, ({"pay_amount": data['charge_amount'], "id": data['id_card'], "jg": data['jg'], "name": data['name'], "form_code": form_code, "is_zx": 1}, 1)) return {} except Exception as e: logger.error(f"addPayment",e, data) return {} if __name__ == '__main__': app.run(host="0.0.0.0", port=3009, processes=True)