aa
This commit is contained in:
@@ -5275,3 +5275,63 @@ func DeleteActStoreSkuBind(ctx *jxcontext.Context, db *dao.DaoDB, actID int, act
|
||||
dao.Commit(db)
|
||||
return originSyncStatus, err
|
||||
}
|
||||
|
||||
func GetVendorStoreSkus(ctx *jxcontext.Context, storeID, vendorID int) (err error) {
|
||||
type SpecialtyStoreSkus struct {
|
||||
Upc int `json:"商品upc码"`
|
||||
SkuName string `json:"商品名"`
|
||||
Unit int `json:"单位"`
|
||||
Weight float64 `json:"重量(g)"`
|
||||
Price float64 `json:"售价"`
|
||||
}
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
specialtyStoreSkus []*SpecialtyStoreSkus
|
||||
excelTitle = []string{
|
||||
"商品upc码",
|
||||
"商品名",
|
||||
"单位",
|
||||
"重量(g)",
|
||||
"售价",
|
||||
}
|
||||
sheetList []*excel.Obj2ExcelSheetConfig
|
||||
downloadURL, fileName string
|
||||
)
|
||||
storeDetail, err := dao.GetStoreDetail(db, storeID, vendorID, "")
|
||||
if err != nil || storeDetail == nil {
|
||||
return err
|
||||
}
|
||||
if partner.IsMultiStore(vendorID) {
|
||||
// handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler)
|
||||
// skuBareInfoList, _ := handler.GetStoreSkusBareInfo(ctx, storeDetail.VendorOrgCode, nil, storeID, storeDetail.VendorStoreID, nil)
|
||||
return fmt.Errorf("暂不支持京东!")
|
||||
} else {
|
||||
handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
||||
skuList, _ := handler.GetStoreSkusFullInfo(ctx, nil, storeID, storeDetail.VendorStoreID, nil)
|
||||
for _, sku := range skuList {
|
||||
if sku.SkuList[0].IsSpecialty == model.YES {
|
||||
specialtyStoreSku := &SpecialtyStoreSkus{}
|
||||
specialtyStoreSkus = append(specialtyStoreSkus, specialtyStoreSku)
|
||||
}
|
||||
}
|
||||
}
|
||||
excelConf := &excel.Obj2ExcelSheetConfig{
|
||||
Title: "sheet1",
|
||||
Data: specialtyStoreSkus,
|
||||
CaptionList: excelTitle,
|
||||
}
|
||||
sheetList = append(sheetList, excelConf)
|
||||
if excelConf != nil {
|
||||
downloadURL, fileName, err = jxutils.UploadExeclAndPushMsg(sheetList, "平台门店标品")
|
||||
} else {
|
||||
baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess is nil!")
|
||||
}
|
||||
if err != nil {
|
||||
baseapi.SugarLogger.Errorf("WriteToExcel:upload %s , %s failed error:%v", fileName, err)
|
||||
} else {
|
||||
noticeMsg := fmt.Sprintf("[详情点我]%s/billshow/?normal=true&path=%s \n", globals.BackstageHost, downloadURL)
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, ctx.GetUserID(), "异步任务完成", noticeMsg)
|
||||
baseapi.SugarLogger.Debug("WriteToExcel: dataSuccess downloadURL: [%v]", downloadURL)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -397,7 +397,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) {
|
||||
db = dao.GetDB()
|
||||
vendorIDs = []int{model.VendorIDJD, model.VendorIDMTWM, model.VendorIDEBAI}
|
||||
dayTimeBegin, dayTimeEnd = utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "00:00:00"), utils.Str2Time(utils.Time2Str(utils.Time2Date(time.Now())) + "23:59:59")
|
||||
// coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59
|
||||
coverAreaFlag = time.Now().Hour() == 9 && time.Now().Minute() > 50 && time.Now().Minute() < 59
|
||||
)
|
||||
task := tasksch.NewParallelTask("RefreshStoreManageState", tasksch.NewParallelConfig().SetParallelCount(3).SetIsContinueWhenError(true), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
@@ -417,14 +417,14 @@ func RefreshStoreManageState(ctx *jxcontext.Context) {
|
||||
dao.WrapAddIDCULEntity(storeManage, ctx.GetUserName())
|
||||
handler := partner.GetPurchasePlatformFromVendorID(vendorID)
|
||||
store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID)
|
||||
// if coverAreaFlag {
|
||||
if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon {
|
||||
storeManage.CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(1000)
|
||||
} else {
|
||||
storeManage.CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID)
|
||||
if coverAreaFlag {
|
||||
if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon {
|
||||
storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", math.Pi*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000)*utils.Str2Float64WithDefault(store.DeliveryRange, 0)/float64(1000)))
|
||||
} else {
|
||||
storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID)))
|
||||
}
|
||||
}
|
||||
// }
|
||||
storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea))
|
||||
// storeManage.CoverArea = utils.Str2Float64(fmt.Sprintf("%.2f", storeManage.CoverArea))
|
||||
//营业状态
|
||||
storeManage.VendorStatus = store.Status
|
||||
//营业时长
|
||||
@@ -472,7 +472,7 @@ func RefreshStoreManageState(ctx *jxcontext.Context) {
|
||||
task.GetID()
|
||||
}
|
||||
|
||||
func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID, sortType, offset, pageSize int) (pageInfo *model.PagedInfo, err error) {
|
||||
func GetStoreManageState(ctx *jxcontext.Context, storeIDs, brandIDs []int, vendorID, sortType, offset, pageSize int) (pageInfo *model.PagedInfo, err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
@@ -498,7 +498,7 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID, sortT
|
||||
storeIDs = storeIDs2
|
||||
}
|
||||
}
|
||||
return dao.GetStoreManageState(db, storeIDs, vendorID, sortType, offset, pageSize)
|
||||
return dao.GetStoreManageState(db, storeIDs, brandIDs, vendorID, sortType, offset, pageSize)
|
||||
}
|
||||
|
||||
func CalculateCoverArea(coordinate []string, vendorID int) (area float64) {
|
||||
|
||||
Reference in New Issue
Block a user