diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index cc5eff144..38346ffe6 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -2164,3 +2164,41 @@ func RefreshJdAfsOrderTotalShopMoney() { dao.UpdateEntity(db, v, "AfsTotalShopMoney") } } + +func DelOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, skuID int) (num int64, err error) { + var ( + db = dao.GetDB() + shopPrice, earningPrice int64 + ) + order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID) + if order.EarningType != model.EarningTypeQuote { + return 0, fmt.Errorf("目前只支持报价订单有此操作!") + } + for _, v := range order.Skus { + if v.SkuID == 0 { + if v.JxSkuID == skuID { + sql := ` + DELETE FROM order_sku WHERE id = ? + ` + sqlParams := []interface{}{v.ID} + dao.ExecuteSQL(db, sql, sqlParams) + shopPrice = v.ShopPrice + earningPrice = v.EarningPrice + } + } else { + if v.SkuID == skuID { + sql := ` + DELETE FROM order_sku WHERE id = ? + ` + sqlParams := []interface{}{v.ID} + dao.ExecuteSQL(db, sql, sqlParams) + shopPrice = v.ShopPrice + earningPrice = v.EarningPrice + } + } + } + order.ShopPrice -= shopPrice + order.EarningPrice -= earningPrice + num, err = dao.UpdateEntity(db, order, "ShopPrice", "EarningPrice") + return num, err +} diff --git a/controllers/jx_order.go b/controllers/jx_order.go index 7a92ae73e..4c509084f 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -1226,3 +1226,19 @@ func (c *OrderController) RefreshOrderSkuInfo() { return retVal, "", err }) } + +// @Title 删除报价订单的订单商品 +// @Description 删除报价订单的订单商品 +// @Param token header string true "认证token" +// @Param vendorOrderID formData string true "订单ID" +// @Param vendorID formData int true "平台ID" +// @Param skuID 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) + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 1492f3abd..8d2914fb2 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1458,6 +1458,15 @@ func init() { Filters: nil, Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], + web.ControllerComments{ + Method: "DelOrderSkuInfo", + Router: `/DelOrderSkuInfo`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"], web.ControllerComments{ Method: "RefreshOrdersPriceInfo",