增加商家订单的模板消息发送
This commit is contained in:
parent
d2edbceb5b
commit
a99e3a254c
@ -33,10 +33,13 @@ from app.models.merchant_order import MerchantOrderVerify
|
|||||||
from app.core.point_manager import PointManager, PointRecordType
|
from app.core.point_manager import PointManager, PointRecordType
|
||||||
from app.models.merchant_product import DeliveryType, DeliveryTimeType
|
from app.models.merchant_product import DeliveryType, DeliveryTimeType
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
from fastapi import BackgroundTasks
|
||||||
|
from app.core.mpmessage import sent_merchant_order_status_change_message
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@router.post("", response_model=ResponseModel)
|
@router.post("", response_model=ResponseModel)
|
||||||
async def create_merchant_order(
|
async def create_merchant_order(
|
||||||
|
background_tasks: BackgroundTasks,
|
||||||
order: MerchantOrderCreate,
|
order: MerchantOrderCreate,
|
||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
current_user: UserDB = Depends(get_current_user)
|
current_user: UserDB = Depends(get_current_user)
|
||||||
@ -90,6 +93,25 @@ async def create_merchant_order(
|
|||||||
db.add(db_order)
|
db.add(db_order)
|
||||||
db.commit()
|
db.commit()
|
||||||
db.refresh(db_order)
|
db.refresh(db_order)
|
||||||
|
|
||||||
|
# 发送商家订单创建成功消息
|
||||||
|
if current_user.mp_openid:
|
||||||
|
data={
|
||||||
|
"character_string1": order_id,
|
||||||
|
"thing2": product.name,
|
||||||
|
"amount3": pay_amount,
|
||||||
|
"time13": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
|
}
|
||||||
|
|
||||||
|
background_tasks.add_task(
|
||||||
|
sent_merchant_order_status_change_message,
|
||||||
|
openid=current_user.mp_openid,
|
||||||
|
template_id=settings.MERCHANT_ORDER_CREATED_TEMPLATE_ID,
|
||||||
|
data=data,
|
||||||
|
orderid=order_id
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
return success_response(data=MerchantOrderInfo.model_validate(db_order))
|
return success_response(data=MerchantOrderInfo.model_validate(db_order))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
db.rollback()
|
db.rollback()
|
||||||
|
|||||||
@ -106,6 +106,10 @@ class Settings(BaseSettings):
|
|||||||
# 加价请求
|
# 加价请求
|
||||||
ADDITIONAL_FEE_REQUEST_TEMPLATE_ID: str = "oGOuil8q1vSXiIyzJ14ExSOSptVgE4A-b7WSmmGqiRw"
|
ADDITIONAL_FEE_REQUEST_TEMPLATE_ID: str = "oGOuil8q1vSXiIyzJ14ExSOSptVgE4A-b7WSmmGqiRw"
|
||||||
|
|
||||||
|
|
||||||
|
# 商家订单创建成功
|
||||||
|
MERCHANT_ORDER_CREATED_TEMPLATE_ID: str = "tyB7fncVCdEyNNCm-XUUWQgDmGnnGT_WORPbHsc_89k"
|
||||||
|
|
||||||
# 反馈需求企业微信
|
# 反馈需求企业微信
|
||||||
FEEDBACK_NEED_WECOM_BOT_WEBHOOK_URL: str = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ccd6e8d4-4c8a-45b4-9b6b-dd4cae563176"
|
FEEDBACK_NEED_WECOM_BOT_WEBHOOK_URL: str = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ccd6e8d4-4c8a-45b4-9b6b-dd4cae563176"
|
||||||
# 商家投诉企业微信
|
# 商家投诉企业微信
|
||||||
|
|||||||
@ -19,3 +19,19 @@ async def sent_order_status_change_message(openid: str, orderid: str, template_i
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.exception(f"发送模板消息失败: {str(e)}")
|
logging.exception(f"发送模板消息失败: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
|
# 发送商家订单状态改变消息
|
||||||
|
async def sent_merchant_order_status_change_message(openid: str, orderid: str, template_id: str, data: dict):
|
||||||
|
try:
|
||||||
|
await mp_client.send_template_message(
|
||||||
|
openid=openid,
|
||||||
|
template_id=template_id,
|
||||||
|
data=data,
|
||||||
|
miniprogram={
|
||||||
|
"appid": settings.WECHAT_APPID,
|
||||||
|
"pagepath": f"/pages/merchant_order/detail/index?id={orderid}"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
logging.exception(f"发送模板消息失败: {str(e)}")
|
||||||
BIN
jobs.sqlite
BIN
jobs.sqlite
Binary file not shown.
Loading…
Reference in New Issue
Block a user