From a12ed5d9347069fbaea4e121518b4408c76926e5 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Wed, 26 Mar 2025 13:23:07 +0800 Subject: [PATCH] update --- app/api/endpoints/order.py | 17 ++++++++++------- app/core/qcloud.py | 26 ++++++++++++++++++++++++++ app/core/wecombot.py | 4 ++-- jobs.sqlite | Bin 24576 -> 24576 bytes 4 files changed, 38 insertions(+), 9 deletions(-) diff --git a/app/api/endpoints/order.py b/app/api/endpoints/order.py index 301765b..39e7740 100644 --- a/app/api/endpoints/order.py +++ b/app/api/endpoints/order.py @@ -415,10 +415,11 @@ async def create_order( # 发送企业微信消息 wecom_bot = WecomBot() + order_info = OrderInfo.model_validate(db_order) background_tasks.add_task( wecom_bot.send_order_notification, db, - db_order, + order_info, OrderStatus.CREATED ) @@ -916,10 +917,11 @@ async def cancel_order( # 发送企业微信消息 wecom_bot = WecomBot() + order_info = OrderInfo.model_validate(order) background_tasks.add_task( wecom_bot.send_order_notification, db, - order, + order_info, OrderStatus.CANCELLED ) @@ -1169,11 +1171,11 @@ async def deliveryman_cancel_order( # 发送企业微信消息 wecom_bot = WecomBot() - + order_info = OrderInfo.model_validate(order) background_tasks.add_task( wecom_bot.send_order_notification, db, - order, + order_info, OrderStatus.CANCELLED ) @@ -1278,10 +1280,11 @@ async def deliveryman_complete_order( # 发送企业微信消息 wecom_bot = WecomBot() + order_info = OrderInfo.model_validate(order) background_tasks.add_task( wecom_bot.send_order_notification, db, - order, + order_info, OrderStatus.COMPLETED ) @@ -1370,11 +1373,11 @@ async def deliveryman_receive_order( # 发送企业微信消息 wecom_bot = WecomBot() - + order_info = OrderInfo.model_validate(order) background_tasks.add_task( wecom_bot.send_order_notification, db, - order, + order_info, OrderStatus.RECEIVED ) diff --git a/app/core/qcloud.py b/app/core/qcloud.py index b56e3d5..d52910a 100644 --- a/app/core/qcloud.py +++ b/app/core/qcloud.py @@ -108,6 +108,32 @@ class QCloudManager: except TencentCloudSDKException as e: raise Exception(f"发送短信失败: {str(e)}") + async def send_sms_order_complete(self, phone: str) -> tuple[str, str]: + """ + 发送订单完成短信 + """ + try: + self._init_sms_client() + + # 构建请求 + req = sms_models.SendSmsRequest() + req.SmsSdkAppId = settings.SMS_SDK_APP_ID + req.SignName = settings.SMS_SIGN_NAME + req.TemplateId = settings.SMS_TEMPLATE_ID_ORDER_COMPLETE + req.PhoneNumberSet = [f"+86{phone}"] + + # 发送短信 + response = self.sms_client.SendSms(req) + + # 检查发送结果 + if response.SendStatusSet[0].Code != "Ok": + raise Exception(response.SendStatusSet[0].Message) + + return response.RequestId + + except TencentCloudSDKException as e: + raise Exception(f"发送订单完成短信失败: {str(e)}") + async def send_sms_code_additional_fee(self, phone: str) -> tuple[str, str]: """ 发送加价短信验证码 diff --git a/app/core/wecombot.py b/app/core/wecombot.py index 5ea213f..bb9eb33 100644 --- a/app/core/wecombot.py +++ b/app/core/wecombot.py @@ -4,7 +4,7 @@ from typing import List, Dict, Union, Optional from datetime import datetime from app.core.utils import CommonUtils from app.models.order import OrderStatus -from app.models.order import ShippingOrderDB +from app.models.order import OrderInfo import aiohttp from app.models.community import CommunityDB from app.models.merchant_complaint import MerchantComplaintDB @@ -195,7 +195,7 @@ class WecomBot: logging.exception(f"发送企业微信消息失败: {str(e)}") raise e - async def send_order_notification(self,db: Session, shipping_order: ShippingOrderDB, notify_type: OrderStatus = OrderStatus.CREATED) -> bool: + async def send_order_notification(self,db: Session, shipping_order: OrderInfo, notify_type: OrderStatus = OrderStatus.CREATED) -> bool: """ 发送订单通知 diff --git a/jobs.sqlite b/jobs.sqlite index cf0a24adf8a73428ca63a9a843418233f8f35698..0d34d9c57a42449b9d6565f8d2213f4a1a0bb640 100644 GIT binary patch delta 19 bcmZoTz}Rqrae_4C#fdV`j2Aa1EQkjHOs5CZ delta 19 bcmZoTz}Rqrae_4C;fXTNjE6TSEQkjHOVtOq