package order import ( "git.oa00.com/go/mysql" "github.com/gin-gonic/gin" "recook/internal/back" "recook/internal/model/order" "recook/tools" ) type deleteOrderParam struct { UserID uint `json:"userId"` OrderID uint `json:"orderId"` } func DeleteOrder(c *gin.Context) { var p deleteOrderParam err := tools.ParseParams(&p, c) if err != nil { back.Fail(c, err.Error()) return } var orderInfo order.Information mysql.Db.First(&orderInfo, p.OrderID) //dbc.DB.First(&orderInfo, p.OrderID) if orderInfo.Status != 2 && orderInfo.Status != 3 && orderInfo.Status != 5 { back.Fail(c, "订单不可删除") return } tx := mysql.Db.Begin() { if err = tx.Delete(&orderInfo).Error; err != nil { back.Err(c, err.Error()) tx.Rollback() return } if err = tx.Where("order_id = ?", orderInfo.ID).Delete(&order.Addr{}).Error; err != nil { back.Err(c, err.Error()) tx.Rollback() return } if err = tx.Where("order_id = ?", orderInfo.ID).Delete(&order.CouponDetail{}).Error; err != nil { back.Err(c, err.Error()) tx.Rollback() return } if err = tx.Where("order_id = ?", orderInfo.ID).Delete(&order.GoodsDetail{}).Error; err != nil { back.Err(c, err.Error()) tx.Rollback() return } } tx.Commit() back.Suc(c, "", nil) }