163 lines
5.2 KiB
Python
163 lines
5.2 KiB
Python
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)
|