diff --git a/business/model/store.go b/business/model/store.go index abb290bfb..94b1fedfd 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -1,6 +1,7 @@ package model import ( + "strings" "time" "git.rosy.net.cn/baseapi/utils" @@ -427,6 +428,22 @@ func (s *Store) SetOpTime(opTimeList []int16) { } } +// 抖音营业时间转本地营业时间,时间模式全部统一成本地 +func (s *Store) SetTiktokOpenTime(openTime string) { + openTimeList := strings.Split(openTime, " ") + for i := 0; i < len(openTimeList); i++ { + if i == 0 { + open := strings.Split(openTimeList[0], "-") + s.OpenTime1, s.CloseTime1 = utils.Str2Int16(strings.ReplaceAll(open[0], ":", "")), utils.Str2Int16(strings.ReplaceAll(open[1], ":", "")) + } + if i == 1 { + open := strings.Split(openTimeList[1], "-") + s.OpenTime2, s.CloseTime2 = utils.Str2Int16(strings.ReplaceAll(open[0], ":", "")), utils.Str2Int16(strings.ReplaceAll(open[1], ":", "")) + } + } + +} + type StoreSub struct { ModelIDCULD diff --git a/business/partner/purchase/tiktok_store/mtwm.go b/business/partner/purchase/tiktok_store/mtwm.go index d6f920b9d..11ce8a4d1 100644 --- a/business/partner/purchase/tiktok_store/mtwm.go +++ b/business/partner/purchase/tiktok_store/mtwm.go @@ -142,15 +142,14 @@ func openTimeJX2Mtwm(opTimeList []int16) string { return strings.Join(strPairs, ",") } -func bizStatusMtwm2JX(openLevel, online int) int { - if online != mtwmapi.PoiStatusOnline { - return model.StoreStatusDisabled - } else { - if openLevel == mtwmapi.PoiOpenLevelHaveRest { - return model.StoreStatusClosed - } +func bizStatusTiktok2JX(status int64) int { + switch status { + case tiktok_api.StoreStateNormalBusiness: + return model.StoreStatusOpened + case tiktok_api.StoreStateSuspendBusiness: + return model.StoreStatusClosed } - return model.StoreStatusOpened + return model.StoreStatusDisabled } func bizStatusJX2Mtwm(status int) (openLevel, online int) { diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index bafc278ac..2c12a8ff7 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -18,13 +18,16 @@ import ( "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils/errlist" + "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler" "git.rosy.net.cn/jx-callback/business/jxstore/event" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/api" ) func splicingTimeToDoudian(openTime1, closeTime1, openTime2, closeTime2 int16) (timeList string) { @@ -426,6 +429,65 @@ func (P *PurchaseHandler) UpdateStoreLineStatus(ctx *jxcontext.Context, vendorOr return err } func (P *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorStoreName string) (store *dao.StoreDetail, err error) { + vendorStore, err := getAPI(vendorOrgCode, 0, "").GetStoreDetail(&shop_getStoreDetail_request.ShopGetStoreDetailParam{StoreId: utils.Str2Int64(vendorStoreID)}) + if err != nil { + return nil, err + } + + // globals.SugarLogger.Debug(utils.Format4Output(result, false)) + retVal := &dao.StoreDetail{ + Store: model.Store{ + Address: vendorStore.StoreDetail.Store.Address, + Tel1: vendorStore.StoreDetail.Store.Contact, + }, + } + retVal.OriginalName = vendorStore.StoreDetail.Store.Name + _, retVal.Name = jxutils.SplitStoreName(retVal.OriginalName, partner.StoreNameSeparator, globals.StoreNameTiktok) + + retVal.SetTiktokOpenTime(vendorStore.StoreDetail.Store.OpenTime.DayMap[1]) + retVal.Status = bizStatusTiktok2JX(vendorStore.StoreDetail.Store.State) + + //tel2 := result.StandbyTel + //if tel2 != "" && tel2 != retVal.Tel1 { + // retVal.Tel2 = tel2 + //} + + retVal.Lng = utils.Str2Int(vendorStore.StoreDetail.Store.Longitude) + retVal.Lat = utils.Str2Int(vendorStore.StoreDetail.Store.Latitude) + + lng := jxutils.IntCoordinate2Standard(retVal.Lng) + lat := jxutils.IntCoordinate2Standard(retVal.Lat) + db := dao.GetDB() + retVal.DistrictCode = api.AutonaviAPI.GetCoordinateDistrictCode(lng, lat) + city, err := dao.GetPlaceByCode(db, utils.Str2Int(vendorStore.StoreDetail.Store.CityCode)) + retVal.CityName = city.Name + retVal.CityCode = utils.Str2Int(vendorStore.StoreDetail.Store.CityCode) + + poiCode := vendorStore.StoreDetail.Store.PoiId + retVal.VendorStoreID = vendorStoreID + retVal.ID = int(utils.Str2Int64WithDefault(utils.Int64ToStr(poiCode), 0)) + retVal.DeliveryRangeType = model.DeliveryRangeTypeRadius + retVal.DeliveryRange = "3000" + retVal.DeliveryType = scheduler.StoreDeliveryTypeByStore + //retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon + //var deliveryRangeInfo []map[string]interface{} + //deliveryRangeInfo, err = getAPIWithoutToken(vendorOrgCode).ShippingFetch(poiCode) + //if err != nil { + // deliveryRangeInfo, err = getAPIWithoutToken(vendorOrgCode).ShippingList(poiCode) + //} + //if err == nil { + // if len(deliveryRangeInfo) > 0 { + // retVal.DeliveryRange = rangeMtwm2JX(deliveryRangeInfo[0]["area"].(string)) + // logisticsCode := utils.Interface2String(deliveryRangeInfo[0]["logistics_code"]) + // if logisticsCode == "" || logisticsCode == mtwmapi.PeiSongTypeSelf { + // retVal.DeliveryType = scheduler.StoreDeliveryTypeByStore + // } else { + // retVal.DeliveryType = scheduler.StoreDeliveryTypeByPlatform + // } + // } + //} + return retVal, nil + return nil, err } diff --git a/conf/app.conf b/conf/app.conf index f1c69f9a0..9736a3203 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -142,6 +142,7 @@ storeName = "京西菜市" storeNameMtwm = "京西菜市" storeNameEbai = "饿鲜达" storeNameEbai2 = "好菜鲜生" +storeNameTiktok = "抖音小时购" smsSignName = "京西菜市" smsMobileVerifyTemplate = "SMS_175583158" diff --git a/globals/globals.go b/globals/globals.go index bbe8ead96..d8cae26e0 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -42,10 +42,11 @@ var ( GetPushTokenURL string GetWeimobTokenURL string - StoreName string - StoreNameMtwm string - StoreNameEbai string - StoreNameEbai2 string + StoreName string + StoreNameMtwm string + StoreNameTiktok string + StoreNameEbai string + StoreNameEbai2 string SMSSignName string SMSMobileVerifyTemplate string @@ -134,6 +135,7 @@ func Init() { StoreName = web.AppConfig.DefaultString("storeName", "") StoreNameMtwm = web.AppConfig.DefaultString("storeNameMtwm", "") + StoreNameTiktok = web.AppConfig.DefaultString("storeNameTiktok", "") StoreNameEbai = web.AppConfig.DefaultString("storeNameEbai", "") StoreNameEbai2 = web.AppConfig.DefaultString("storeNameEbai2", "")