From eb71787c70df7cd7d7c4286789a4349d137ad95f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 5 Jun 2020 09:48:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E7=94=A8=E8=A1=A5=E6=94=B9=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 28 +++++++++++++++++++++++++-- business/jxstore/cms/store_sku.go | 12 ++++++++++++ business/jxstore/tempop/tempop.go | 6 ++++-- controllers/cms_store_sku.go | 21 ++++++++++++++++++++ routers/commentsRouter_controllers.go | 9 +++++++++ 5 files changed, 72 insertions(+), 4 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 3ea7c1fbb..deca4febc 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -1181,9 +1181,33 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) } func SendJdwlForJdsOrder(ctx *jxcontext.Context, vendorOrderID string) (err error) { + db := dao.GetDB() order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJDShop) + if order == nil || err != nil { + return fmt.Errorf("目前只支持京狗订单创建!") + } + if order.Status >= model.OrderStatusDelivering { + return fmt.Errorf("订单当前状态不支持创建!") + } + waybill := &model.Waybill{} + waybills, err := dao.GetWaybills(db, vendorOrderID) + if err != nil { + return err + } + if len(waybills) > 0 { + for _, v := range waybills { + if v.Status != model.WaybillStatusCanceled { + waybill = v + } + } + handler := partner.DeliveryPlatformHandlers[waybill.WaybillVendorID] + err = handler.Handler.CancelWaybill(waybill, 0, "订单已发送其他物流") + if err != nil { + return err + } + } handler := partner.DeliveryPlatformHandlers[model.VendorIDJDWL] - waybill, err := handler.Handler.CreateWaybill(order, 0) - jdshop.CurPurchaseHandler.OrderTransfer(ctx, vendorOrderID, waybill.VendorWaybillID, false) + waybill2, err := handler.Handler.CreateWaybill(order, 0) + jdshop.CurPurchaseHandler.OrderExport(ctx, vendorOrderID, waybill2.VendorWaybillID, false) return err } diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 58c271b01..5346350c2 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -863,6 +863,18 @@ func UpdateStoresSkus(ctx *jxcontext.Context, causeFlag int, storeIDs []int, sku return hint, err } +func UpdateStoresSkusWithoutSync(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*StoreSkuBindInfo) (err error) { + db := dao.GetDB() + if len(storeIDs) == 0 { + stores, _ := dao.GetStoreList(db, nil, nil, nil, nil, "") + for _, v := range stores { + storeIDs = append(storeIDs, v.ID) + } + } + updateStoresSkusWithoutSync(ctx, db, storeIDs, skuBindInfos, false) + return err +} + func UpdateStoresSkusByBind(ctx *jxcontext.Context, parentTask tasksch.ITask, skuBindInfos []*StoreSkuBindInfo, isAsync, isContinueWhenError, isFos bool) (hint string, err error) { // if len(skuBindInfos) > maxStoreNameBind { // return "", fmt.Errorf("门店商品信息大于%d", maxStoreNameBind) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 76473e3bb..b85d98af9 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1630,6 +1630,7 @@ func RefreshJXPriceChange(ctx *jxcontext.Context, storeID int) (hint string, err SELECT * FROM store WHERE deleted_at = ? AND status <> ? + AND id <> 100118 AND id <> 100274 AND id <> 100205 ` sqlParams := []interface{}{utils.DefaultTimeValue, model.StoreStatusDisabled} if storeID != 0 { @@ -1668,13 +1669,14 @@ func RefreshJXPriceChange(ctx *jxcontext.Context, storeID int) (hint string, err for _, v := range storeSkus { skuAndName, _ := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil) skuBindInfo := &cms.StoreSkuBindInfo{ - StoreID: store.ID, + // StoreID: store.ID, NameID: skuAndName[0].NameID, UnitPrice: v.UnitPrice * store.PayPercentage / 100, } skuBindInfos = append(skuBindInfos, skuBindInfo) } - cms.UpdateStoresSkusByBind(ctx, task, skuBindInfos, isAsync, isContinueWhenError, false) + // cms.UpdateStoresSkusByBind(ctx, task, skuBindInfos, isAsync, isContinueWhenError, false) + cms.UpdateStoresSkusWithoutSync(ctx, []int{store.ID}, skuBindInfos) store.PayPercentage = 100 dao.UpdateEntity(db, store, "PayPercentage") return retVal, err diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index a25d83f72..fa1794177 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -233,6 +233,27 @@ func (c *StoreSkuController) UpdateStoresSkus() { }) } +// @Title 批量修改多商家商品绑定(不同步) +// @Description 批量修改多商家商品绑定(不同步) +// @Param token header string true "认证token" +// @Param storeIDs formData string true "门店ID列表" +// @Param payload formData string true "json数据,StoreSkuBindInfo对象数组" +// @Param isRefreshHigh formData bool true "是否只刷门店价高于给的价" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdateStoresSkusWithoutSync [put] +func (c *StoreSkuController) UpdateStoresSkusWithoutSync() { + c.callUpdateStoresSkusWithoutSync(func(params *tStoreSkuUpdateStoresSkusWithoutSyncParams) (retVal interface{}, errCode string, err error) { + var storeIDs []int + var skuBindInfos []*cms.StoreSkuBindInfo + if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.Payload, &skuBindInfos); err != nil { + return retVal, "", err + } + err = cms.UpdateStoresSkusWithoutSync(params.Ctx, storeIDs, skuBindInfos) + return retVal, "", err + }) +} + // @Title 按门店商品维度批量修改多商家商品绑定 // @Description 按门店商品维度批量修改多商家商品绑定 // @Param token header string true "认证token" diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 4cf9a19d1..a94561d7f 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2205,6 +2205,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"], + beego.ControllerComments{ + Method: "UpdateStoresSkusWithoutSync", + Router: `/UpdateStoresSkusWithoutSync`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SyncController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SyncController"], beego.ControllerComments{ Method: "AddCreateFlagForJxStoreSku",