This commit is contained in:
wu hao 2021-04-02 01:27:37 +08:00
parent ed2bdd1dea
commit 8dcf85dee9

View File

@ -1,5 +1,4 @@
import asyncio import asyncio
import json
from fastapi import APIRouter, Request from fastapi import APIRouter, Request
@ -11,8 +10,6 @@ router = APIRouter()
@router.post("/point/") @router.post("/point/")
async def point(request: Request, items: DataModel): async def point(request: Request, items: DataModel):
# 还原字段名 和 组装数据
data_list = []
public_data = restore_field(items.public) public_data = restore_field(items.public)
rdb = request.app.state.redis rdb = request.app.state.redis
data_factory = request.app.state.data_factory data_factory = request.app.state.data_factory
@ -20,15 +17,12 @@ async def point(request: Request, items: DataModel):
for item in items.data: for item in items.data:
data = restore_field(item) data = restore_field(item)
sign = data.pop('sign') sign = data.pop('sign')
# 验签
if not check_sign(sign, public_data, data): if not check_sign(sign, public_data, data):
return {"code": -1, 'msg': '签名错误'} return {"code": -1, 'msg': '签名错误'}
data.update(public_data) single_data = public_data | data
data_list.append(data) await asyncio.gather(
*map(lambda o: asyncio.create_task(o(request, rdb, single_data)), data_factory.handler_link))
for item in data_list: msg = data_factory.format_data(single_data)
await asyncio.gather(*map(lambda o: asyncio.create_task(o(request, rdb, item)), data_factory.handler_link))
msg = data_factory.format_data(item)
output_factory.send(msg) output_factory.send(msg)
return {"code": 0, 'msg': 'ok'} return {"code": 0, 'msg': 'ok'}