diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 81c7d40a9..2c62b8009 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -2162,52 +2162,59 @@ func RefreshJdAfsOrderTotalShopMoney() { } } -func DelOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, skuID int) (num int64, err error) { +func DelOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, id int) (num int64, err error) { var ( db = dao.GetDB() shopPrice, earningPrice int64 - orderSku = &model.OrderSku{} + orderSkus []*model.OrderSku ) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID) if order.EarningType != model.EarningTypeQuote { return 0, fmt.Errorf("目前只支持报价订单有此操作!") } sql := ` - SELECT * FROM order_sku WHERE vendor_order_id = ? ORDER BY id LIMIT 1 + SELECT * FROM order_sku WHERE vendor_order_id = ? ORDER BY id ` sqlParams := []interface{}{vendorOrderID} - dao.GetRow(db, &orderSku, sql, sqlParams) - if orderSku.SkuID == 0 { - if orderSku.JxSkuID == skuID { - return 0, fmt.Errorf("不允许删第一个商品!") - } - } else { - if orderSku.SkuID == skuID { - return 0, fmt.Errorf("不允许删第一个商品!") - } + dao.GetRows(db, &orderSkus, sql, sqlParams) + if len(orderSkus) < 5 { + return 0, fmt.Errorf("商品数小于5,不允许删除!") + } + if orderSkus[0].ID == int64(id) { + //if orderSkus[0].JxSkuID == skuID { + return 0, fmt.Errorf("不允许删第一个商品!") + //} + //} else { + // if orderSkus[0].SkuID == skuID { + // return 0, fmt.Errorf("不允许删第一个商品!") + // } + //} } for _, v := range order.Skus { - if v.SkuID == 0 { - if v.JxSkuID == skuID { - sql := ` + if v.ID == int64(id) { + sql := ` DELETE FROM order_sku WHERE id = ? ` - sqlParams := []interface{}{v.ID} - dao.ExecuteSQL(db, sql, sqlParams) - shopPrice = v.ShopPrice * int64(v.Count) - earningPrice = v.EarningPrice * int64(v.Count) - } - } else { - if v.SkuID == skuID { - sql := ` - DELETE FROM order_sku WHERE id = ? - ` - sqlParams := []interface{}{v.ID} - dao.ExecuteSQL(db, sql, sqlParams) - shopPrice = v.ShopPrice * int64(v.Count) - earningPrice = v.EarningPrice * int64(v.Count) - } + sqlParams := []interface{}{v.ID} + dao.ExecuteSQL(db, sql, sqlParams) + shopPrice = v.ShopPrice * int64(v.Count) + earningPrice = v.EarningPrice * int64(v.Count) } + //if v.SkuID == 0 { + // if v.JxSkuID == skuID { + + // } + //} else { + // if v.SkuID == skuID { + // sql := ` + // DELETE FROM order_sku WHERE id = ? + // ` + // sqlParams := []interface{}{v.ID} + // dao.ExecuteSQL(db, sql, sqlParams) + // shopPrice = v.ShopPrice * int64(v.Count) + // earningPrice = v.EarningPrice * int64(v.Count) + // } + //} } order.ShopPrice -= shopPrice order.EarningPrice -= earningPrice diff --git a/business/model/order.go b/business/model/order.go index 32fefae5f..26f5cfb0c 100644 --- a/business/model/order.go +++ b/business/model/order.go @@ -182,7 +182,7 @@ func (o *GoodsOrderOriginal) TableUnique() [][]string { } type OrderSku struct { - ID int64 `orm:"column(id)" json:"-"` + ID int64 `orm:"column(id)" json:"id"` VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"` VendorID int `orm:"column(vendor_id)" json:"vendorID"` StoreSubID int `orm:"column(store_sub_id)" json:"storeSubID"` // EarningActID,当前这个字段被当成结算活动ID用 diff --git a/controllers/jx_order.go b/controllers/jx_order.go index d3a65df58..5158a619b 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -1236,13 +1236,13 @@ func (c *OrderController) RefreshOrderSkuInfo() { // @Param token header string true "认证token" // @Param vendorOrderID formData string true "订单ID" // @Param vendorID formData int true "平台ID" -// @Param skuID formData int true "商品ID" +// @Param ID formData int true "id" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /DelOrderSkuInfo [post] func (c *OrderController) DelOrderSkuInfo() { c.callDelOrderSkuInfo(func(params *tOrderDelOrderSkuInfoParams) (retVal interface{}, errCode string, err error) { - retVal, err = orderman.DelOrderSkuInfo(params.Ctx, params.VendorOrderID, params.VendorID, params.SkuID) + retVal, err = orderman.DelOrderSkuInfo(params.Ctx, params.VendorOrderID, params.VendorID, params.ID) return retVal, "", err }) }