From 2194e9ed58c29dcac13f6e277ecd49b709fa3a6e Mon Sep 17 00:00:00 2001 From: aaron <> Date: Fri, 4 Apr 2025 10:29:22 +0800 Subject: [PATCH] update --- app/api/endpoints/order.py | 23 ++++++++++++----------- app/api/endpoints/wechat.py | 12 ++++++++++++ jobs.sqlite | Bin 24576 -> 24576 bytes 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index 3fa45f7..75bbc2e 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -245,7 +245,7 @@ async def pre_order( return success_response(data=price_info) except Exception as e: logging.exception(f"预下单失败: {str(e)}") - return error_response(code=500, message=f"预下单失败: {str(e)}") + return error_response(code=400, message=f"预下单失败: {str(e)}") @router.post("", response_model=ResponseModel) async def create_order( @@ -401,16 +401,6 @@ async def create_order( ShippingOrderPackageDB.orderid == orderid ).all() - # 发送企业微信消息 - wecom_bot = WecomBot() - order_info = OrderInfo.model_validate(db_order) - background_tasks.add_task( - wecom_bot.send_order_notification, - db, - order_info, - OrderStatus.CREATED - ) - #发送订单创建成功的公众号消息 if current_user.mp_openid: data={ @@ -428,6 +418,17 @@ async def create_order( data=data, orderid=db_order.orderid ) + + # 发送企业微信消息 + if db_order.status == OrderStatus.CREATED: + wecom_bot = WecomBot() + order_info = OrderInfo.model_validate(db_order) + background_tasks.add_task( + wecom_bot.send_order_notification, + db, + order_info, + OrderStatus.CREATED + ) # 添加到新订单队列 if db_order.address_community_id: diff --git a/app/api/endpoints/wechat.py b/app/api/endpoints/wechat.py index 6455fc7..17f1db5 100644 --- a/app/api/endpoints/wechat.py +++ b/app/api/endpoints/wechat.py @@ -27,6 +27,8 @@ from app.core.security import get_password_hash from app.models.order_additional_fee import OrderAdditionalFeeDB, AdditionalFeeResult from app.api.endpoints.order import calculate_delivery_share from app.models.wechat_payment import WechatPaymentRecordDB +from app.core.wecombot import WecomBot +from app.models.order import OrderInfo router = APIRouter() @@ -241,6 +243,16 @@ async def payment_notify( else: order.status = OrderStatus.CREATED # 支付成功后状态为已创建 + # 发送企业微信消息 + if order.status == OrderStatus.CREATED: + wecom_bot = WecomBot() + order_info = OrderInfo.model_validate(order) + wecom_bot.send_order_notification( + db, + order_info, + OrderStatus.CREATED + ) + order.pay_status = True order.completed_time = datetime.now() order.transaction_id = transaction_id diff --git a/jobs.sqlite b/jobs.sqlite index 301925deef7ee75a24aae1ef3e1cd968da18ae9f..4805687fff46da954428d72cb2c2781d8cb858a8 100644 GIT binary patch delta 82 zcmZoTz}Rqrae_3X_e2?IM(>RY`9jPeSRyvty2~n_W@`MszyBO}XZW$|7X_IKMm8d#?~ jO?Gsb*?d`AmIWyOQJzVG2Pn?W!OX$}4Co>2h+q9Yvq