修改门店评分相关
This commit is contained in:
@@ -497,6 +497,24 @@ func ScheduleScoreStore() {
|
||||
}, scoreStoreTimeList)
|
||||
}
|
||||
|
||||
func Time2Week(t time.Time) int {
|
||||
yearDay := t.YearDay()
|
||||
yearFirstDay := t.AddDate(0, 0, -yearDay+1)
|
||||
firstDayInWeek := int(yearFirstDay.Weekday())
|
||||
|
||||
firstWeekDays := 1
|
||||
if firstDayInWeek != 0 {
|
||||
firstWeekDays = 7 - firstDayInWeek + 1
|
||||
}
|
||||
var week int
|
||||
if yearDay <= firstWeekDays {
|
||||
week = 1
|
||||
} else {
|
||||
week = (yearDay-firstWeekDays)/7 + 2
|
||||
}
|
||||
return week
|
||||
}
|
||||
|
||||
func SplitToSingelWeekDataList(storeScoreList []*model.StoreScore) (weekDataList [][]*model.StoreScore) {
|
||||
singelWeekData := []*model.StoreScore{}
|
||||
count := 0
|
||||
@@ -525,6 +543,7 @@ func GetWeeklyStoreScore(storeID, weekIndex int) (outWeeklyStoreScoreDataList []
|
||||
weeklyData.ItemTotalScore = ItemTotalScore
|
||||
weeklyData.StoreID = storeID
|
||||
weeklyStoreScoreDataList = append(weeklyStoreScoreDataList, weeklyData)
|
||||
weekDataListCount := len(weekDataList)
|
||||
for dayIndex, dayData := range weekDataList {
|
||||
for _, fieldName := range storeScoreFieldName {
|
||||
srcFieldValue := refutil.GetObjFieldByName(dayData, fieldName).(int)
|
||||
@@ -533,20 +552,21 @@ func GetWeeklyStoreScore(storeID, weekIndex int) (outWeeklyStoreScoreDataList []
|
||||
}
|
||||
if dayIndex == 0 {
|
||||
weeklyData.EndTime = dayData.CreatedAt
|
||||
} else if dayIndex == WeekDayCount-1 {
|
||||
} else if dayIndex == weekDataListCount-1 {
|
||||
weeklyData.BeginTime = dayData.CreatedAt
|
||||
}
|
||||
weeklyData.StoreName = dayData.StoreName
|
||||
}
|
||||
for _, fieldName := range storeScoreFieldName {
|
||||
destFieldValueR := refutil.GetObjFieldByName(weeklyData, fieldName).(int)
|
||||
refutil.SetObjFieldByName(weeklyData, fieldName, int(math.Round(float64(destFieldValueR)/WeekDayCount)))
|
||||
refutil.SetObjFieldByName(weeklyData, fieldName, int(math.Round(float64(destFieldValueR)/float64(weekDataListCount))))
|
||||
}
|
||||
for _, fieldName := range storeScoreFieldName {
|
||||
srcFieldValue := refutil.GetObjFieldByName(weeklyData, fieldName).(int)
|
||||
destFieldValueR := refutil.GetObjFieldByName(weeklyData, "TotalScore").(int)
|
||||
refutil.SetObjFieldByName(weeklyData, "TotalScore", destFieldValueR+srcFieldValue)
|
||||
}
|
||||
weeklyData.Level = 0
|
||||
}
|
||||
if weekIndex == -1 {
|
||||
outWeeklyStoreScoreDataList = weeklyStoreScoreDataList
|
||||
|
||||
@@ -26,4 +26,5 @@ type WeeklyStoreScore struct {
|
||||
EndTime time.Time `json:"endTime"`
|
||||
TotalScore int `json:"totalScore"`
|
||||
ItemTotalScore int `json:"itemTotalScore"`
|
||||
Level int `json:"level"`
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package controllers
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/misc"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
@@ -422,3 +423,36 @@ func (c *StoreController) SyncStoresQualify() {
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 门店评分
|
||||
// @Description 门店评分
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeIDs formData string false "京西门店ID列表"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /ScoreStore [post]
|
||||
func (c *StoreController) ScoreStore() {
|
||||
c.callScoreStore(func(params *tStoreScoreStoreParams) (retVal interface{}, errCode string, err error) {
|
||||
var storeIDList []int
|
||||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil {
|
||||
misc.ScoreStore(params.Ctx, storeIDList)
|
||||
}
|
||||
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 得到门店周平均分数数据
|
||||
// @Description 得到门店周平均分数数据
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeID query int true "京西门店ID"
|
||||
// @Param weekIndex query int true "周索引(起始索引为0, -1为所有周数据)"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetWeeklyStoreScore [get]
|
||||
func (c *StoreController) GetWeeklyStoreScore() {
|
||||
c.callGetWeeklyStoreScore(func(params *tStoreGetWeeklyStoreScoreParams) (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = misc.GetWeeklyStoreScore(params.StoreID, params.WeekIndex)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -316,37 +316,3 @@ func (c *TempOpController) CheckSkuDiffBetweenJxAndVendor() {
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 门店评分
|
||||
// @Description 门店评分
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeIDs formData string false "京西门店ID列表"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /ScoreStore [post]
|
||||
func (c *TempOpController) ScoreStore() {
|
||||
c.callScoreStore(func(params *tTempopScoreStoreParams) (retVal interface{}, errCode string, err error) {
|
||||
var storeIDList []int
|
||||
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDList); err == nil {
|
||||
misc.ScoreStore(params.Ctx, storeIDList)
|
||||
}
|
||||
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 得到门店周平均分数数据
|
||||
// @Description 得到门店周平均分数数据
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeID query int true "京西门店ID"
|
||||
// @Param weekIndex query int true "周索引(起始索引为0, -1为所有周数据)"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetWeeklyStoreScore [get]
|
||||
func (c *TempOpController) GetWeeklyStoreScore() {
|
||||
c.callGetWeeklyStoreScore(func(params *tTempopGetWeeklyStoreScoreParams) (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = misc.GetWeeklyStoreScore(params.StoreID, params.WeekIndex)
|
||||
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1305,6 +1305,24 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetWeeklyStoreScore",
|
||||
Router: `/GetWeeklyStoreScore`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "ScoreStore",
|
||||
Router: `/ScoreStore`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
beego.ControllerComments{
|
||||
Method: "SyncStoresQualify",
|
||||
@@ -1647,15 +1665,6 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetWeeklyStoreScore",
|
||||
Router: `/GetWeeklyStoreScore`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
|
||||
beego.ControllerComments{
|
||||
Method: "PrintMsg",
|
||||
@@ -1683,15 +1692,6 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
|
||||
beego.ControllerComments{
|
||||
Method: "ScoreStore",
|
||||
Router: `/ScoreStore`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
|
||||
beego.ControllerComments{
|
||||
Method: "TestIt",
|
||||
|
||||
Reference in New Issue
Block a user