增加模板消息推送

This commit is contained in:
aaron 2025-03-08 13:27:51 +08:00
parent 364c6900d3
commit 4550a10489
3 changed files with 22 additions and 0 deletions

View File

@ -17,11 +17,14 @@ from datetime import datetime
import aiohttp
from app.core.config import settings
from app.core.qcloud import qcloud_manager
from fastapi import BackgroundTasks
from app.core.mpmessage import sent_order_status_change_message
router = APIRouter()
@router.post("", response_model=ResponseModel)
async def create_additional_fee_request(
background_tasks: BackgroundTasks,
fee_request: OrderAdditionalFeeCreate,
db: Session = Depends(get_db),
deliveryman: UserDB = Depends(get_deliveryman_user)
@ -65,9 +68,25 @@ async def create_additional_fee_request(
db.commit()
db.refresh(db_fee_request)
# 发送通知给用户
user = db.query(UserDB).filter(UserDB.userid == order.userid).first()
if user:
await qcloud_manager.send_sms_code_additional_fee(user.phone)
if user.mp_openid:
#发送模板消息
data={
"character_string1": fee_request.orderid,
"thing2": deliveryman.nickname,
"time3": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
}
background_tasks.add_task(
sent_order_status_change_message,
openid=user.mp_openid,
template_id=settings.ADDITIONAL_FEE_REQUEST_TEMPLATE_ID,
data=data,
orderid=fee_request.orderid
)
return success_response(data=OrderAdditionalFeeInfo.model_validate(db_fee_request))
except Exception as e:

View File

@ -99,6 +99,8 @@ class Settings(BaseSettings):
DELIVERY_ORDER_COMPLETED_TEMPLATE_ID: str = "eR7UlBRWRXEuQdVNNU6AB0MkkRwMKyUspBLyK7bFYyI"
#配送订单取消
DELIVERY_ORDER_CANCELLED_TEMPLATE_ID: str = "iGR0rPtOFC_u8Xj5-R730zoDD_4Kbswkf_jSTnSSd6E"
# 加价请求
ADDITIONAL_FEE_REQUEST_TEMPLATE_ID: str = "oGOuil8q1vSXiIyzJ14ExSOSptVgE4A-b7WSmmGqiRw"
# 反馈需求企业微信
FEEDBACK_NEED_WECOM_BOT_WEBHOOK_URL: str = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ccd6e8d4-4c8a-45b4-9b6b-dd4cae563176"

View File

@ -74,6 +74,7 @@ class QwenClient:
try:
output = response.output
print(f"千问output: {output}")
if output:
choices = output.get('choices', [])
if choices and len(choices) > 0: