From 77685f8676a3b98b2e709bb82c6587f17988b4ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Mon, 9 Oct 2023 17:37:55 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/store.go | 36 ++++++++++++++++++++++------------- controllers/cms_store.go | 9 +++++++-- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index b1700be01..fa72d6120 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -4742,24 +4742,34 @@ func RefreshStoreBind(ctx *jxcontext.Context) (err error) { return err } -func UpdateVendorStoreBussinessStatus(ctx *jxcontext.Context, storeID, vendorID, status int) (err error) { +func UpdateVendorStoreBussinessStatus(ctx *jxcontext.Context, storeID int, vendorID []int, status int) (err error) { var ( db = dao.GetDB() ) - storeDetail, err := dao.GetStoreDetail(db, storeID, vendorID, "") - if err != nil { - return err - } - handler := partner.GetPurchasePlatformFromVendorID(vendorID) - if err = handler.UpdateStoreLineStatus(ctx, storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID, status); err == nil { - if storeMaps, _ := dao.GetStoresMapList(db, []int{vendorID}, []int{storeID}, nil, model.StoreStatusAll, - model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 { - storeMaps[0].IsOnline = status - storeMaps[0].Status = status - dao.UpdateEntity(db, storeMaps[0], "IsOnline", "Status") + + errList := make([]string, 0, 0) + for _, v := range vendorID { + storeDetail, err := dao.GetStoreDetail(db, storeID, v, "") + if err != nil { + return err + } + handler := partner.GetPurchasePlatformFromVendorID(v) + if err = handler.UpdateStoreLineStatus(ctx, storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID, status); err == nil { + if storeMaps, _ := dao.GetStoresMapList(db, []int{v}, []int{storeID}, nil, model.StoreStatusAll, + model.StoreIsSyncAll, "", "", ""); len(storeMaps) > 0 { + storeMaps[0].IsOnline = status + storeMaps[0].Status = status + dao.UpdateEntity(db, storeMaps[0], "IsOnline", "Status") + } + } else { + errList = append(errList, fmt.Sprintf("平台[%d],门店id[%d],错误:%s", v, storeID, err.Error())) } } - return err + + if len(errList) == model.NO { + return nil + } + return fmt.Errorf(strings.Join(errList, ",")) } type JdPage struct { diff --git a/controllers/cms_store.go b/controllers/cms_store.go index e6c06538f..069d4ff48 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1169,14 +1169,19 @@ func (c *StoreController) GetStoreAcctBalance() { // @Description 直接修改平台门店上下线 // @Param token header string true "认证token" // @Param storeID formData int true "门店ID" -// @Param vendorID formData int true "平台ID" +// @Param vendorIDs query string true "订单所属厂商列表[1,2,3],缺省不限制" // @Param status formData int true "状态,-1 下线,1上线" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /UpdateVendorStoreBussinessStatus [post] func (c *StoreController) UpdateVendorStoreBussinessStatus() { c.callUpdateVendorStoreBussinessStatus(func(params *tStoreUpdateVendorStoreBussinessStatusParams) (retVal interface{}, errCode string, err error) { - err = cms.UpdateVendorStoreBussinessStatus(params.Ctx, params.StoreID, params.VendorID, params.Status) + var vendorIDList []int + if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDList); err != nil { + return retVal, "", err + } + + err = cms.UpdateVendorStoreBussinessStatus(params.Ctx, params.StoreID, vendorIDList, params.Status) return retVal, "", err }) }