This commit is contained in:
邹宗楠
2022-10-06 17:01:49 +08:00
parent f7d5acd442
commit 1b0fccd598
5 changed files with 93 additions and 12 deletions

View File

@@ -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

View File

@@ -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) {

View File

@@ -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
}