diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 8d61a7c2c..03151e971 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1854,7 +1854,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor // dao.UpdateEntity(db, storeDetail, "Address") // // 添加同步 valid["address"] = payload["address"].(string) - //syncStatus |= model.SyncFlagStoreName + syncStatus |= model.SyncFlagStoreName address = payload["address"].(string) } diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 8a568f8dd..0e9c26711 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -6692,23 +6692,11 @@ func BatchSetRestockingPrice(ctx *jxcontext.Context, preData map[string][]mtwmap } // BatchSetMTBoxPrice 批量修改美团包装费为0 -//func BatchSetMTBoxPrice(jxStoreId []int) error { -// var db = dao.GetDB() -// for _, v := range jxStoreId { -// storeDetail, err := dao.GetStoreDetail(db, v, model.VendorIDMTWM, "") -// if err != nil { -// return err -// } -// -// storeSkuList, err := dao.GetStoresSkusInfo(db, []int{v}, nil) -// if err != nil { -// return err -// } -// -// } -// -// utils.CallFuncAsync(func() { -// -// }) -// return nil -//} +func BatchSetMTBoxPrice(ctx *jxcontext.Context, jxStoreId []int) error { + var db = dao.GetDB() + for _, v := range jxStoreId { + mtwm.UpdateBoxPrice(ctx, db, v) + } + + return nil +} diff --git a/business/partner/purchase/mtwm/order.go b/business/partner/purchase/mtwm/order.go index 994752818..02f6b66db 100644 --- a/business/partner/purchase/mtwm/order.go +++ b/business/partner/purchase/mtwm/order.go @@ -632,7 +632,7 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName riderInfo.ThirdCarrierOrderId = order.VendorOrderID } else { for _, v := range waybills { - if v.Status >= model.OrderStatusDelivering && v.Status <= model.OrderStatusFinished { + if v.Status != model.OrderStatusCanceled && v.Status != model.OrderStatusFinished && v.Status != model.OrderStatusEndEnd { riderInfo.CourierName = v.CourierName riderInfo.CourierPhone = v.CourierMobile riderInfo.ThirdCarrierOrderId = v.VendorWaybillID diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 399e348d2..28c40eb92 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -3,6 +3,7 @@ package mtwm import ( "encoding/json" "fmt" + "math" "regexp" "strings" @@ -437,6 +438,9 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI // boxPirce = storeSku.LadderBoxPrice //} //skus[0]["ladder_box_price"] = jxutils.IntPrice2Standard(int64(boxPirce)) + + skus[0]["ladder_box_num"] = 0 + skus[0]["ladder_box_price"] = 0 if foodData["tag_id"] != nil { skus[0]["weight"] = storeSku.Weight // weight字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用 } @@ -895,3 +899,45 @@ func (p *PurchaseHandler) UpdateStoreSkusSpecTag(ctx *jxcontext.Context, vendorO func (p *PurchaseHandler) GetSkuCategoryIdByName(vendorOrgCode, skuName string) (vendorCategoryId string, err error) { return "", err } + +func UpdateBoxPrice(ctx *jxcontext.Context, db *dao.DaoDB, storeId int) error { + storeDetail, err := dao.GetStoreDetail(db, storeId, model.VendorIDMTWM, "") + if err != nil { + return err + } + + storeSkuList, err := dao.GetStoresSkusInfo(db, []int{storeId}, nil) + if err != nil { + return err + } + + api := getAPI(storeDetail.VendorOrgCode, storeId, storeDetail.VendorStoreID) + foodDataList := make([]map[string]interface{}, 0) + for _, v := range storeSkuList { + if v.MtwmID != model.NO { + continue + } + + foodDataList = append(foodDataList, map[string]interface{}{ + "app_spu_code": utils.Int2Str(v.SkuID), + "skus": []map[string]interface{}{ + { + "sku_id": utils.Int2Str(v.SkuID), + "ladder_box_num": "0", + "ladder_box_price": "0", + }, + }, + }) + } + + count := utils.Float64TwoInt(math.Ceil(float64(len(foodDataList)) / float64(50))) + for i := 1; i <= count; i++ { + if i == count { + _, _ = api.RetailBatchInitData(ctx.GetTrackInfo(), storeDetail.VendorStoreID, foodDataList[(i-1)*50:]) + } else { + _, _ = api.RetailBatchInitData(ctx.GetTrackInfo(), storeDetail.VendorStoreID, foodDataList[(i-1)*50:i*50]) + } + } + + return nil +} diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 95a3d1a46..76557cfec 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -885,6 +885,24 @@ func (c *SkuController) BatchSetRestockingPrice() { }) } +// @Title 批量设置美团商品打包费为零 +// @Description 批量设置美团商品打包费为零 +// @Param token header string true "认证token" +// @Param storeIds formData string true "门店id列表" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /BatchSetBoxPrice [post] +func (c *SkuController) BatchSetBoxPrice() { + c.callBatchSetBoxPrice(func(params *tSkuBatchSetBoxPriceParams) (retVal interface{}, errCode string, err error) { + var stores []int + if err = jxutils.Strings2Objs(params.StoreIds, &stores); err != nil { + return retVal, "", err + } + err = cms.BatchSetMTBoxPrice(params.Ctx, stores) + return retVal, "", err + }) +} + type CategoryList struct { DdId string `json:"dd_id"` Id int `json:"id"` diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index b9564d1a7..861c3647a 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -2025,6 +2025,16 @@ func init() { Filters: nil, Params: nil}) + // 修改门店美团包装费 + web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + web.ControllerComments{ + Method: "BatchSetBoxPrice", + Router: `/BatchSetBoxPrice`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + // 修改抖店分类商品 web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], web.ControllerComments{