diff --git a/business/partner/delivery/tiktok_store/store.go b/business/partner/delivery/tiktok_store/store.go deleted file mode 100644 index ffb3f8e98..000000000 --- a/business/partner/delivery/tiktok_store/store.go +++ /dev/null @@ -1,56 +0,0 @@ -package tiktok_store - -import ( - warehouse_setFence_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_setFence/request" - "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" - "git.rosy.net.cn/baseapi/utils" - "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" - "git.rosy.net.cn/jx-callback/business/model" - "git.rosy.net.cn/jx-callback/business/model/dao" - "git.rosy.net.cn/jx-callback/globals" - "strings" - //"git.rosy.net.cn/jx-callback/globals/api" -) - -//更新抖店电子围栏 -func (c *DeliveryHandler) UpdateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (err error) { - var ( - db = dao.GetDB() - vertex []warehouse_setFence_request.VerticesItem - ) - if _, err := dao.GetStoresMapList(db, []int{model.VendorIDDD}, []int{storeDetail.Store.ID}, nil, model.StoreStatusAll, model.StoreIsSyncYes, "", "", ""); err != nil { - - } - - if globals.EnableStoreWrite { - param := &warehouse_setFence_request.WarehouseSetFenceParam{ - FenceInfo: &warehouse_setFence_request.FenceInfo{ - OutFenceId: utils.Int2Str(storeDetail.Store.ID), //外部id 为京西门店id - Shape: int32(storeDetail.DeliveryRangeType), - }, - } - if storeDetail.DeliveryRangeType == tiktok_api.ShapeCircular { - circular := &warehouse_setFence_request.Circular{ - Center: &warehouse_setFence_request.Center{ - Longitude: utils.Int2Float64(storeDetail.Lng), - Latitude: utils.Int2Float64(storeDetail.Lat), - }, - Radius: utils.Str2Float64(storeDetail.DeliveryRange), - } - param.FenceInfo.Circular = circular - } else if storeDetail.DeliveryRangeType == tiktok_api.ShapePolygon { - tempStr := strings.Split(storeDetail.DeliveryRange, ";") - for v := len(tempStr) - 1; v >= 0; v-- { - s2 := strings.Split(tempStr[v], ",") - vertices := warehouse_setFence_request.VerticesItem{ - Longitude: utils.Str2Float64(s2[0]), - Latitude: utils.Str2Float64(s2[1]), - } - vertex = append(vertex, vertices) - } - param.FenceInfo.Polygon.Vertices = vertex - } - //_, err = api.MtpsAPI.ShopUpdate(shopInfo) - } - return err -} diff --git a/business/partner/delivery/tiktok_store/waybill.go b/business/partner/delivery/tiktok_store/waybill.go index e96cde8d6..8b4b7885e 100644 --- a/business/partner/delivery/tiktok_store/waybill.go +++ b/business/partner/delivery/tiktok_store/waybill.go @@ -24,8 +24,7 @@ func init() { } func (c *DeliveryHandler) GetVendorID() int { - //TODO implement me - panic("implement me") + return model.VendorIDDD } func (c *DeliveryHandler) CreateStore(ctx *jxcontext.Context, storeDetail *dao.StoreDetail2) (vendorStoreID string, status int, err error) { diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index c06f64c06..55544cb9b 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -362,6 +362,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin storeInfo *dao.StoreDetail errList = errlist.New() timeStr = "" + tempFenceID string FreightTemplate = &model.FreightTemplate{} ) if db == nil { @@ -423,42 +424,45 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin errList.AddErr(fmt.Errorf("修改门店(%d) 信息失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err3)) } //电子围栏 - if bind, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID)); err != nil { + bind, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID)) + if err != nil { errList.AddErr(fmt.Errorf("获取门店(%d) 电子围栏失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err)) - } else { - if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) > 0 { - //默认更新第一个电子围栏 - outFenceID := bind[storeInfo.VendorStoreID][0].OutFenceIds[0] - if err = UpdateFenceByStore(storeInfo.VendorOrgCode, outFenceID, storeID); err != nil { - return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err)) - } - FreightTemplate.FenceID = outFenceID + } else if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) == 0 { + //检查是否以storeID创建过 + if bindFence, err := GetFence(storeInfo.VendorOrgCode, []string{utils.Int2Str(storeID)}); err == nil { + tempFenceID = bindFence[0].OutFenceId } else { if fenceID, err := CreateFenceByStore(storeInfo.VendorOrgCode, int64(storeID)); err != nil || len(fenceID) == 0 { //创建 globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err) errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err)) } else { - if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{utils.Int2Str(storeID)}); err != nil { - globals.SugarLogger.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err) - errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)) - } else { - FreightTemplate.FenceID = utils.Int2Str(storeID) - } + tempFenceID = fenceID } } - } - - //同步进数据库 - FreightTemplate.StoreID = storeID - FreightTemplate.VendorStoreID = storeInfo.VendorStoreID - if err = dao.CreateEntity(db, FreightTemplate); err != nil { - if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil { - globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1) - errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1)) - } else { - globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err) - errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err)) + if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{tempFenceID}); err != nil { + globals.SugarLogger.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, tempFenceID, err) + errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, tempFenceID, err)) } + } else if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) > 0 { + //默认更新第一个电子围栏 + outFenceID := bind[storeInfo.VendorStoreID][0].OutFenceIds[0] + if err = UpdateFenceByStore(storeInfo.VendorOrgCode, outFenceID, storeID); err != nil { + errList.AddErr(errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err))) + } + FreightTemplate.FenceID = outFenceID + } + } + //同步进数据库 + FreightTemplate.FenceID = tempFenceID + FreightTemplate.StoreID = storeID + FreightTemplate.VendorStoreID = storeInfo.VendorStoreID + if err = dao.CreateEntity(db, FreightTemplate); err != nil { + if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil { + globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1) + //errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1)) + } else { + globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err) + //errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err)) } } endErr := errList.GetErrListAsOne()