|
|
@@ -333,3 +333,59 @@ func (s *ImageRecordService) CreateImageRecordStatistics(taskId int, imageRecord
|
|
|
Where("task_id = ?", taskId).
|
|
|
Updates(imageRecordStatistics)
|
|
|
}
|
|
|
+
|
|
|
+//获取图片统计列表
|
|
|
+func (s *ImageRecordService) GetImageRecordStatisticsList(record levelRequest.ImageRecordStatisticsRequest, info request.PageInfo, order string, desc bool) (dataList []levelMonitor.ImageRecordStatisticsResponse, total int64, err error) {
|
|
|
+ limit := info.PageSize
|
|
|
+ offset := info.PageSize * (info.Page - 1)
|
|
|
+ db := global.GVA_DB.Model(&levelMonitor.ImageRecordStatistics{})
|
|
|
+ startDate := time.Now().Format("2006-01-02")
|
|
|
+ endDate := time.Now().Format("2006-01-02")
|
|
|
+ if len(record.Date) == 2 {
|
|
|
+ startDate = record.Date[0]
|
|
|
+ endDate = record.Date[1]
|
|
|
+ }
|
|
|
+ db = db.Select("image_record_statistics.*, game_task.user, game_task.task_name")
|
|
|
+ db = db.Joins("left join game_task on image_record_statistics.task_id = game_task.task_id")
|
|
|
+ if record.User != "" {
|
|
|
+ db = db.Where("user", record.User)
|
|
|
+ }
|
|
|
+ //筛选日期
|
|
|
+ db = db.Where("create_date >= ? and create_date <= ?", startDate, endDate)
|
|
|
+ if record.TaskId != 0 {
|
|
|
+ db = db.Where("image_record_statistics.task_id = ?", record.TaskId)
|
|
|
+ }
|
|
|
+ err = db.Count(&total).Error
|
|
|
+ if err != nil {
|
|
|
+ return dataList, total, err
|
|
|
+ } else {
|
|
|
+ db = db.Limit(limit).Offset(offset)
|
|
|
+ if order != "" {
|
|
|
+ var OrderStr string
|
|
|
+ // 设置有效排序key 防止sql注入
|
|
|
+ // 感谢 Tom4t0 提交漏洞信息
|
|
|
+ orderMap := make(map[string]bool, 3)
|
|
|
+ orderMap["task_id"] = true
|
|
|
+ orderMap["create_date"] = true
|
|
|
+ orderMap["user"] = true
|
|
|
+ if orderMap[order] {
|
|
|
+ if desc {
|
|
|
+ OrderStr = order + " desc"
|
|
|
+ } else {
|
|
|
+ OrderStr = order
|
|
|
+ }
|
|
|
+ } else { // didn't matched any order key in `orderMap`
|
|
|
+ global.GVA_LOG.Error("获取失败!", zap.Error(err))
|
|
|
+ return dataList, total, err
|
|
|
+ }
|
|
|
+ err = db.Order(OrderStr).Find(&dataList).Error
|
|
|
+ } else {
|
|
|
+ err = db.Order("id desc").Find(&dataList).Error
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //遍历更改日期格式
|
|
|
+ for i, _ := range dataList {
|
|
|
+ dataList[i].CreateDate = dataList[i].CreateDate[:10]
|
|
|
+ }
|
|
|
+ return dataList, total, err
|
|
|
+}
|