Merge branch 'mark' of e.coding.net:rosydev/jx-callback into mark
This commit is contained in:
@@ -43,6 +43,8 @@ const (
|
|||||||
StoreRangeBadRadius = 1.0 //千米
|
StoreRangeBadRadius = 1.0 //千米
|
||||||
SaleSkuPriceRatio = 90 //千米
|
SaleSkuPriceRatio = 90 //千米
|
||||||
SaleSkuCheckRange = 5.0 //千米
|
SaleSkuCheckRange = 5.0 //千米
|
||||||
|
|
||||||
|
WeekNum = 5 //得到门店近期周的数量
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -710,23 +712,23 @@ func Time2Week(t time.Time) int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func SplitToSingleWeekDataList(storeScoreList []*model.StoreScoreEx) (weekDataList [][]*model.StoreScoreEx) {
|
func SplitToSingleWeekDataList(storeScoreList []*model.StoreScoreEx) (weekDataList [][]*model.StoreScoreEx) {
|
||||||
singelWeekData := []*model.StoreScoreEx{}
|
singleWeekData := []*model.StoreScoreEx{}
|
||||||
weekIndex := 0
|
weekIndex := 0
|
||||||
for _, value := range storeScoreList {
|
for _, value := range storeScoreList {
|
||||||
if weekIndex == 0 {
|
if weekIndex == 0 {
|
||||||
weekIndex = Time2Week(value.CreatedAt)
|
weekIndex = Time2Week(value.ScoreDate)
|
||||||
}
|
}
|
||||||
if weekIndex == Time2Week(value.CreatedAt) {
|
if weekIndex == Time2Week(value.ScoreDate) {
|
||||||
singelWeekData = append(singelWeekData, value)
|
singleWeekData = append(singleWeekData, value)
|
||||||
} else {
|
} else {
|
||||||
weekDataList = append(weekDataList, singelWeekData)
|
weekDataList = append(weekDataList, singleWeekData)
|
||||||
singelWeekData = []*model.StoreScoreEx{}
|
singleWeekData = []*model.StoreScoreEx{}
|
||||||
weekIndex = 0
|
weekIndex = 0
|
||||||
singelWeekData = append(singelWeekData, value)
|
singleWeekData = append(singleWeekData, value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(singelWeekData) > 0 {
|
if len(singleWeekData) > 0 {
|
||||||
weekDataList = append(weekDataList, singelWeekData)
|
weekDataList = append(weekDataList, singleWeekData)
|
||||||
}
|
}
|
||||||
|
|
||||||
return weekDataList
|
return weekDataList
|
||||||
@@ -745,9 +747,9 @@ func GetStoreScoreLevel(score int) int {
|
|||||||
return level
|
return level
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetWeeklyStoreScore(storeID, weekIndex int) (outWeeklyStoreScoreDataList []*model.WeeklyStoreScore, err error) {
|
func GetWeeklyStoreScore(storeID, weekIndexParam int) (outWeeklyStoreScoreDataList []*model.WeeklyStoreScore, err error) {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
storeScoreList, err := dao.GetLatestWeeklyStoreScoreList(db, storeID, 5)
|
storeScoreList, err := dao.GetLatestWeeklyStoreScoreList(db, storeID, WeekNum)
|
||||||
if err == nil && len(storeScoreList) > 0 {
|
if err == nil && len(storeScoreList) > 0 {
|
||||||
weeklyStoreScoreDataList := []*model.WeeklyStoreScore{}
|
weeklyStoreScoreDataList := []*model.WeeklyStoreScore{}
|
||||||
weekDataList := SplitToSingleWeekDataList(storeScoreList)
|
weekDataList := SplitToSingleWeekDataList(storeScoreList)
|
||||||
@@ -765,13 +767,13 @@ func GetWeeklyStoreScore(storeID, weekIndex int) (outWeeklyStoreScoreDataList []
|
|||||||
refutil.SetObjFieldByName(weeklyData, fieldName, destFieldValue+srcFieldValue)
|
refutil.SetObjFieldByName(weeklyData, fieldName, destFieldValue+srcFieldValue)
|
||||||
}
|
}
|
||||||
if weekDataCount == 1 {
|
if weekDataCount == 1 {
|
||||||
weeklyData.BeginTime = dayData.CreatedAt
|
weeklyData.BeginTime = dayData.ScoreDate
|
||||||
weeklyData.EndTime = dayData.CreatedAt
|
weeklyData.EndTime = dayData.ScoreDate
|
||||||
} else {
|
} else {
|
||||||
if dayIndex == 0 {
|
if dayIndex == 0 {
|
||||||
weeklyData.EndTime = dayData.CreatedAt
|
weeklyData.EndTime = dayData.ScoreDate
|
||||||
} else if dayIndex == weekDataCount-1 {
|
} else if dayIndex == weekDataCount-1 {
|
||||||
weeklyData.BeginTime = dayData.CreatedAt
|
weeklyData.BeginTime = dayData.ScoreDate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
weeklyData.StoreName = dayData.StoreName
|
weeklyData.StoreName = dayData.StoreName
|
||||||
@@ -787,10 +789,10 @@ func GetWeeklyStoreScore(storeID, weekIndex int) (outWeeklyStoreScoreDataList []
|
|||||||
}
|
}
|
||||||
weeklyData.Level = GetStoreScoreLevel(weeklyData.TotalScore)
|
weeklyData.Level = GetStoreScoreLevel(weeklyData.TotalScore)
|
||||||
}
|
}
|
||||||
if weekIndex == -1 {
|
if weekIndexParam == -1 {
|
||||||
outWeeklyStoreScoreDataList = weeklyStoreScoreDataList
|
outWeeklyStoreScoreDataList = weeklyStoreScoreDataList
|
||||||
} else {
|
} else {
|
||||||
outWeeklyStoreScoreDataList = []*model.WeeklyStoreScore{weeklyStoreScoreDataList[weekIndex]}
|
outWeeklyStoreScoreDataList = []*model.WeeklyStoreScore{weeklyStoreScoreDataList[weekIndexParam]}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user