修改门店评分相关
This commit is contained in:
@@ -497,6 +497,24 @@ func ScheduleScoreStore() {
|
|||||||
}, scoreStoreTimeList)
|
}, 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) {
|
func SplitToSingelWeekDataList(storeScoreList []*model.StoreScore) (weekDataList [][]*model.StoreScore) {
|
||||||
singelWeekData := []*model.StoreScore{}
|
singelWeekData := []*model.StoreScore{}
|
||||||
count := 0
|
count := 0
|
||||||
@@ -525,6 +543,7 @@ func GetWeeklyStoreScore(storeID, weekIndex int) (outWeeklyStoreScoreDataList []
|
|||||||
weeklyData.ItemTotalScore = ItemTotalScore
|
weeklyData.ItemTotalScore = ItemTotalScore
|
||||||
weeklyData.StoreID = storeID
|
weeklyData.StoreID = storeID
|
||||||
weeklyStoreScoreDataList = append(weeklyStoreScoreDataList, weeklyData)
|
weeklyStoreScoreDataList = append(weeklyStoreScoreDataList, weeklyData)
|
||||||
|
weekDataListCount := len(weekDataList)
|
||||||
for dayIndex, dayData := range weekDataList {
|
for dayIndex, dayData := range weekDataList {
|
||||||
for _, fieldName := range storeScoreFieldName {
|
for _, fieldName := range storeScoreFieldName {
|
||||||
srcFieldValue := refutil.GetObjFieldByName(dayData, fieldName).(int)
|
srcFieldValue := refutil.GetObjFieldByName(dayData, fieldName).(int)
|
||||||
@@ -533,20 +552,21 @@ func GetWeeklyStoreScore(storeID, weekIndex int) (outWeeklyStoreScoreDataList []
|
|||||||
}
|
}
|
||||||
if dayIndex == 0 {
|
if dayIndex == 0 {
|
||||||
weeklyData.EndTime = dayData.CreatedAt
|
weeklyData.EndTime = dayData.CreatedAt
|
||||||
} else if dayIndex == WeekDayCount-1 {
|
} else if dayIndex == weekDataListCount-1 {
|
||||||
weeklyData.BeginTime = dayData.CreatedAt
|
weeklyData.BeginTime = dayData.CreatedAt
|
||||||
}
|
}
|
||||||
weeklyData.StoreName = dayData.StoreName
|
weeklyData.StoreName = dayData.StoreName
|
||||||
}
|
}
|
||||||
for _, fieldName := range storeScoreFieldName {
|
for _, fieldName := range storeScoreFieldName {
|
||||||
destFieldValueR := refutil.GetObjFieldByName(weeklyData, fieldName).(int)
|
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 {
|
for _, fieldName := range storeScoreFieldName {
|
||||||
srcFieldValue := refutil.GetObjFieldByName(weeklyData, fieldName).(int)
|
srcFieldValue := refutil.GetObjFieldByName(weeklyData, fieldName).(int)
|
||||||
destFieldValueR := refutil.GetObjFieldByName(weeklyData, "TotalScore").(int)
|
destFieldValueR := refutil.GetObjFieldByName(weeklyData, "TotalScore").(int)
|
||||||
refutil.SetObjFieldByName(weeklyData, "TotalScore", destFieldValueR+srcFieldValue)
|
refutil.SetObjFieldByName(weeklyData, "TotalScore", destFieldValueR+srcFieldValue)
|
||||||
}
|
}
|
||||||
|
weeklyData.Level = 0
|
||||||
}
|
}
|
||||||
if weekIndex == -1 {
|
if weekIndex == -1 {
|
||||||
outWeeklyStoreScoreDataList = weeklyStoreScoreDataList
|
outWeeklyStoreScoreDataList = weeklyStoreScoreDataList
|
||||||
|
|||||||
@@ -26,4 +26,5 @@ type WeeklyStoreScore struct {
|
|||||||
EndTime time.Time `json:"endTime"`
|
EndTime time.Time `json:"endTime"`
|
||||||
TotalScore int `json:"totalScore"`
|
TotalScore int `json:"totalScore"`
|
||||||
ItemTotalScore int `json:"itemTotalScore"`
|
ItemTotalScore int `json:"itemTotalScore"`
|
||||||
|
Level int `json:"level"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package controllers
|
|||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
"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"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
|
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
@@ -422,3 +423,36 @@ func (c *StoreController) SyncStoresQualify() {
|
|||||||
return retVal, "", err
|
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
|
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,
|
Filters: nil,
|
||||||
Params: 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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "SyncStoresQualify",
|
Method: "SyncStoresQualify",
|
||||||
@@ -1647,15 +1665,6 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: 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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "PrintMsg",
|
Method: "PrintMsg",
|
||||||
@@ -1683,15 +1692,6 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: 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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TempOpController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "TestIt",
|
Method: "TestIt",
|
||||||
|
|||||||
Reference in New Issue
Block a user