This commit is contained in:
苏尹岚
2021-03-10 18:24:25 +08:00
parent 3df18ef931
commit c7737f1686

View File

@@ -447,79 +447,83 @@ func GetStoreManageState(ctx *jxcontext.Context, storeIDs []int, vendorID int, f
index2 = len(storeIDs) - 1 index2 = len(storeIDs) - 1
} }
storeIDsPage = storeIDs[offset*pageSize : index2] storeIDsPage = storeIDs[offset*pageSize : index2]
for _, v := range storeIDsPage { task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx,
// task := tasksch.NewParallelTask("GetStoreManageState", tasksch.NewParallelConfig().SetParallelCount(20).SetIsContinueWhenError(true), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { v := batchItemList[0].(int)
// v := batchItemList[0].(int) storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "")
storeDetail, _ := dao.GetStoreDetail(db, v, vendorID, "") if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" {
if storeDetail == nil || storeDetail.VendorStoreID == "" || storeDetail.VendorOrgCode == "" { return retVal, err
continue }
} result := &GetStoreManageStateResult{
result := &GetStoreManageStateResult{ StoreID: v,
StoreID: v, StoreName: storeDetail.Name,
StoreName: storeDetail.Name, MarketScale: storeDetail.MarketScale,
MarketScale: storeDetail.MarketScale, CoverArea: storeDetail.CoverArea,
CoverArea: storeDetail.CoverArea, }
} fmt.Println("11111111111111111111111111")
//覆盖范围 //覆盖范围
if result.CoverArea == 0 { if result.CoverArea == 0 {
handler := partner.GetPurchasePlatformFromVendorID(vendorID) handler := partner.GetPurchasePlatformFromVendorID(vendorID)
if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil { if store, err := handler.ReadStore(ctx, storeDetail.VendorOrgCode, storeDetail.VendorStoreID); err == nil {
if storeMapMaps[v] != nil { if storeMapMaps[v] != nil {
if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon { if vendorID == model.VendorIDJD && store.DeliveryRangeType != model.DeliveryRangeTypePolygon {
storeMapMaps[v].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000) storeMapMaps[v].CoverArea = math.Pi * utils.Str2Float64WithDefault(store.DeliveryRange, 0) * utils.Str2Float64WithDefault(store.DeliveryRange, 0) / float64(10000)
} else { } else {
storeMapMaps[v].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID) storeMapMaps[v].CoverArea = CalculateCoverArea(strings.Split(store.DeliveryRange, ";"), vendorID)
}
dao.UpdateEntity(db, storeMapMaps[v], "CoverArea")
result.CoverArea = storeMapMaps[v].CoverArea
} }
dao.UpdateEntity(db, storeMapMaps[v], "CoverArea")
result.CoverArea = storeMapMaps[v].CoverArea
} }
} }
} fmt.Println("22222222222222222222222222222222222")
//营业时长 //营业时长
optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours() optime := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())).Hours()
if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 { if storeDetail.CloseTime2 != 0 && storeDetail.OpenTime2 != 0 {
optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours() optime += jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now()).Sub(jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())).Hours()
}
result.OpenTime = optime * float64(dayCount)
//商品数
highSkuCount := 0
storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal)
for _, v := range storeSkus {
if v.UnitPrice > v.MidUnitPrice {
highSkuCount++
} }
} result.OpenTime = optime * float64(dayCount)
result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount fmt.Println("33333333333333333333333333333333333")
//活动丰富度 //商品数
handler := partner.GetPurchasePlatformFromVendorID(vendorID) highSkuCount := 0
ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID) storeSkus, _ := dao.GetStoresSkusForManageState(db, v, model.StoreSkuBindStatusNormal)
result.ActAmple = ample for _, v := range storeSkus {
//订单 if v.UnitPrice > v.MidUnitPrice {
refuseOrderCount := 0 highSkuCount++
orderList, _ := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT) }
for _, v := range orderList {
if v.BindID == 0 {
refuseOrderCount++
} }
} result.SkuCount, result.HighSkuCount = len(storeSkus), highSkuCount
result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount fmt.Println("444444444444444444444444444444444")
//评分(美团) //活动丰富度
if vendorID == model.VendorIDMTWM { handler := partner.GetPurchasePlatformFromVendorID(vendorID)
mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API) ample, _ := handler.GetActAmple(ctx, storeDetail.VendorStoreID, storeDetail.VendorStoreID)
if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil { result.ActAmple = ample
result.StoreScore = scoreResult.AvgPoiScore fmt.Println("55555555555555555555555555555555555")
//订单
refuseOrderCount := 0
orderList, _ := dao.QueryOrdersForManageState(db, v, vendorID, model.OrderStatusCanceled, fromTimeT, toTimeT)
for _, v := range orderList {
if v.BindID == 0 {
refuseOrderCount++
}
} }
} result.NullOrderCount, result.RefuseOrderCount = len(orderList), refuseOrderCount
// retVal = []*GetStoreManageStateResult{result} fmt.Println("666666666666666666666666666666")
getStoreManageStateResult = append(getStoreManageStateResult, result) //评分(美团)
// return retVal, err if vendorID == model.VendorIDMTWM {
// }, storeIDsPage) mtapi := partner.CurAPIManager.GetAPI(model.VendorIDMTWM, storeDetail.VendorOrgCode).(*mtwmapi.API)
// tasksch.HandleTask(task, nil, true).Run() if scoreResult, err := mtapi.CommentScore(storeDetail.VendorStoreID); err == nil {
// result, _ := task.GetResult(0) result.StoreScore = scoreResult.AvgPoiScore
// for _, v := range result { }
// getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult)) }
// } retVal = []*GetStoreManageStateResult{result}
// getStoreManageStateResult = append(getStoreManageStateResult, result)
return retVal, err
}, storeIDsPage)
tasksch.HandleTask(task, nil, true).Run()
result, _ := task.GetResult(0)
for _, v := range result {
getStoreManageStateResult = append(getStoreManageStateResult, v.(*GetStoreManageStateResult))
} }
return &model.PagedInfo{ return &model.PagedInfo{
TotalCount: len(storeIDs), TotalCount: len(storeIDs),