1.回调接口查询或更新订单时,添加产品id的判断,避免更新其他业务订单;

This commit is contained in:
chenlin 2025-09-08 18:04:24 +08:00
parent 75887289f0
commit b5515cb352

View File

@ -306,7 +306,9 @@ func (e MiGuDeployService) MusicFeedback(c *gin.Context) {
if 1 == 1 { // 更新订单表的退订信息
var lastOrder models.MgOrder
e.Orm.Model(&models.MgOrder{}).Where("phone_number = ?", req.MSISDN).
e.Orm.Model(&models.MgOrder{}).
Where("product_id = ?", models.MusicProductID).
Where("phone_number = ?", req.MSISDN).
Order("subscribe_time DESC").First(&lastOrder)
if lastOrder.IsOneHourCancel != 1 { // 非1小时退订才更新否则不用更新
@ -321,7 +323,9 @@ func (e MiGuDeployService) MusicFeedback(c *gin.Context) {
}
// 更新订单状态
err = database.Db.Table("mg_order").Where("phone_number = ?", req.MSISDN).Updates(map[string]interface{}{
err = database.Db.Table("mg_order").
Where("product_id = ? and phone_number = ?", models.MusicProductID,
req.MSISDN).Updates(map[string]interface{}{
"state": models.UnsubscribeOK,
"is_one_hour_cancel": cancelFlag,
"unsubscribe_time": unsubTime,
@ -336,7 +340,9 @@ func (e MiGuDeployService) MusicFeedback(c *gin.Context) {
if 2 == 2 { // 更新订单log表的退订信息
var lastOrderLog models.MgOrderLog
e.Orm.Model(&models.MgOrderLog{}).Where("phone_number = ?", req.MSISDN).
e.Orm.Model(&models.MgOrderLog{}).
Where("product_id = ?", models.MusicProductID).
Where("phone_number = ?", req.MSISDN).
Order("subscribe_time DESC").First(&lastOrderLog)
if lastOrderLog.IsOneHourCancel != 1 { // 非1小时退订才更新否则不用更新
@ -351,7 +357,8 @@ func (e MiGuDeployService) MusicFeedback(c *gin.Context) {
}
// 更新订单状态
err = database.Db.Table("mg_order_log").Where("phone_number = ?", req.MSISDN).Updates(map[string]interface{}{
err = database.Db.Table("mg_order_log").Where("product_id = ? and phone_number = ?",
models.MusicProductID, req.MSISDN).Updates(map[string]interface{}{
"state": models.UnsubscribeOK,
"is_one_hour_cancel": cancelFlagLog,
"unsubscribe_time": unsubTimeLog,
@ -366,7 +373,9 @@ func (e MiGuDeployService) MusicFeedback(c *gin.Context) {
} else {
var lastOrder models.MgOrderLog
err = e.Orm.Model(&models.MgOrderLog{}).Where("phone_number = ?", req.MSISDN).
err = e.Orm.Model(&models.MgOrderLog{}).
Where("product_id = ?", models.MusicProductID).
Where("phone_number = ?", req.MSISDN).
Order("subscribe_time DESC").First(&lastOrder).Error
if err != nil && err != gorm.ErrRecordNotFound {
logger.Info("query mg_order_log err:", err)
@ -502,7 +511,9 @@ func (e MiGuDeployService) AIMusicFeedback(c *gin.Context) {
if req.ResCode == 1 { // 成功消息
var lastOrder models.MgOrder
result := e.Orm.Model(&models.MgOrder{}).Where("phone_number = ?", req.PhoneNumber).
result := e.Orm.Model(&models.MgOrder{}).
Where("product_id = ?", models.MusicProductID).
Where("phone_number = ?", req.PhoneNumber).
Order("subscribe_time DESC").First(&lastOrder)
if errors.Is(result.Error, gorm.ErrRecordNotFound) {