update、

This commit is contained in:
aaron 2025-03-17 00:00:20 +08:00
parent 99b3b67488
commit 86a11d5f67
4 changed files with 53 additions and 9 deletions

View File

@ -16,7 +16,7 @@ from app.core.response import success_response, error_response, ResponseModel
from typing import Optional, List
from datetime import datetime, time, timedelta
from app.core.coupon_manager import CouponManager
from app.core.wechat import WeChatClient
router = APIRouter()
@ -241,6 +241,26 @@ async def check_receive(
"message": message
})
@router.get("/{activity_id}/get_url_link", response_model=ResponseModel)
async def get_url_link(
activity_id: int,
db: Session = Depends(get_db),
current_user: UserDB = Depends(get_current_user)
):
"""获取URL链接"""
activity = db.query(CouponActivityDB).filter(
CouponActivityDB.id == activity_id
).first()
if not activity:
return error_response(code=404, message="活动不存在")
# 获取URL链接
client = WeChatClient()
url = await client.get_url_link("pages/my/promation/activities/index", f"id={activity_id}")
return success_response(data=url)
@router.put("/{activity_id}", response_model=ResponseModel)
async def update_coupon_activity(
activity_id: int,

View File

@ -225,15 +225,15 @@ async def pre_order(
return error_response(code=400, message=message)
# 检查是否有配送员在线
deliveryman_online = db.query(UserDB).filter(
UserDB.roles.contains(UserRole.DELIVERYMAN),
UserDB.community_id == request.community_id,
UserDB.is_delivering == True
).first()
# deliveryman_online = db.query(UserDB).filter(
# UserDB.roles.contains(UserRole.DELIVERYMAN),
# UserDB.community_id == request.community_id,
# UserDB.is_delivering == True
# ).first()
if deliveryman_online is None:
print(f"没有配送员在线, 无法下单")
return error_response(code=400, message="没有配送员在线, 无法下单")
# if deliveryman_online is None:
# print(f"没有配送员在线, 无法下单")
# return error_response(code=400, message="没有配送员在线, 无法下单")
# 检查是否有未支付的订单

View File

@ -445,3 +445,27 @@ class WeChatClient:
except Exception as e:
print(f"申请退款异常: {str(e)}")
raise Exception(f"申请退款失败: {str(e)}")
async def get_url_link(self, path: str, query: str) -> str:
url =f"https://api.weixin.qq.com/wxa/generate_urllink?access_token={await self.get_access_token()}"
params = {
"path": path,
"query": query,
"expire_type" :1,
"expire_interval" : 30
}
try:
async with aiohttp.ClientSession() as session:
async with session.post(url, json=params) as response:
result = await response.json()
print(f"获取URL链接结果: {result}")
return result.get("url_link")
except Exception as e:
print(f"获取URL链接失败: {str(e)}")
raise Exception(f"获取URL链接失败: {str(e)}")

Binary file not shown.