This commit is contained in:
aaron 2025-04-20 15:32:21 +08:00
parent bab349004e
commit 5c095c0930
3 changed files with 40 additions and 7 deletions

View File

@ -1319,12 +1319,6 @@ async def deliveryman_complete_order(
OrderStatus.COMPLETED
)
qcloud = QCloudManager()
background_tasks.add_task(
qcloud.send_sms_order_complete,
order.address_customer_phone
)
# 发送模板消息
if order.userid:
order_user = db.query(UserDB).filter(
@ -1348,6 +1342,12 @@ async def deliveryman_complete_order(
data=data,
orderid=order.orderid
)
else:
qcloud = QCloudManager()
background_tasks.add_task(
qcloud.send_sms_order_complete,
order.address_customer_phone
)
return success_response(
message="订单已完成" if order.final_amount == 0 else "请继续支付",
@ -1435,6 +1435,12 @@ async def deliveryman_receive_order(
data=data,
orderid=order.orderid
)
else:
qcloud = QCloudManager()
background_tasks.add_task(
qcloud.send_sms_order_receive,
order.address_customer_phone
)
return success_response(
message="接单成功",

View File

@ -63,7 +63,8 @@ class Settings(BaseSettings):
SMS_SIGN_NAME: str = "成都爱嘉辰科技"
SMS_TEMPLATE_ID: str = "2353143" # 验证码短信模板ID
SMS_TEMPLATE_ID_ADDITIONAL_FEE: str = "2375181" # 加价短信模板ID
SMS_TEMPLATE_ID_ORDER_COMPLETE: str = "2382882" # 订单完成短信模板ID
SMS_TEMPLATE_ID_ORDER_COMPLETE: str = "2410806" # 订单完成短信模板ID
SMS_TEMPLATE_ID_ORDER_RECEIVE: str = "2410809" # 订单接单短信模板ID
# 腾讯云 COS 配置
COS_REGION: str = "ap-chengdu"

View File

@ -108,6 +108,32 @@ class QCloudManager:
except TencentCloudSDKException as e:
raise Exception(f"发送短信失败: {str(e)}")
async def send_sms_order_receive(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_RECEIVE
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_order_complete(self, phone: str) -> tuple[str, str]:
"""
发送订单完成短信