image_record.go 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package levelMonitor
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "go.uber.org/zap"
  6. "log-server/global"
  7. "log-server/model/common/response"
  8. "log-server/model/levelMonitor"
  9. "log-server/model/levelMonitor/request"
  10. "log-server/utils"
  11. )
  12. type ImageRecordApi struct {
  13. }
  14. //创建图片记录
  15. func (a *ImageRecordApi) CreateImageRecord(c *gin.Context) {
  16. var record levelMonitor.ImageRecord
  17. _ = c.ShouldBindJSON(&record)
  18. if err := utils.Verify(record, utils.ImageRecordVerify); err != nil {
  19. response.FailWithMessage(err.Error(), c)
  20. return
  21. }
  22. if err := imageRecordService.CreateImageRecord(record); err != nil {
  23. global.GVA_LOG.Error("创建失败!" + err.Error(), zap.Error(err))
  24. response.FailWithMessage("创建失败" + err.Error(), c)
  25. } else {
  26. response.OkWithMessage("创建成功", c)
  27. }
  28. }
  29. func (a *ImageRecordApi) UploadOrNot(c *gin.Context) {
  30. var record levelMonitor.ImageRecord
  31. _ = c.ShouldBindJSON(&record)
  32. if record.TaskId == 0 {
  33. response.FailWithMessage("任务id不能为空", c)
  34. }
  35. if err := imageRecordService.UploadOrNot(record); err != nil {
  36. response.FailWithMessage("不用上传", c)
  37. } else {
  38. response.OkWithMessage("可以上传", c)
  39. }
  40. }
  41. //删除三天前的图片记录
  42. //func (a *ImageRecordApi) DeleteExpireImageRecord (c *gin.Context) {}
  43. //查询图片记录列表
  44. func (a *ImageRecordApi) GetImageRecordList(c *gin.Context) {
  45. var paramsInfo request.SearchImageRecordParams
  46. _ = c.ShouldBindJSON(&paramsInfo)
  47. if err := utils.Verify(paramsInfo.PageInfo, utils.PageInfoVerify); err != nil {
  48. response.FailWithMessage(err.Error(), c)
  49. return
  50. }
  51. list, total, err := imageRecordService.GetImageRecordList(paramsInfo.ImageRecordRequest, paramsInfo.PageInfo, paramsInfo.OrderKey, paramsInfo.Desc)
  52. if err != nil {
  53. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  54. response.FailWithMessage("获取失败", c)
  55. } else {
  56. response.OkWithDetailed(response.PageResult{
  57. List: list,
  58. Total: total,
  59. Page: paramsInfo.Page,
  60. PageSize: paramsInfo.PageSize,
  61. }, "获取成功", c)
  62. }
  63. }
  64. //获取7日数据
  65. func (a *ImageRecordApi) GetWeekImageRecordStatistics(c *gin.Context) {
  66. var weekDataRequest request.WeekImageRecordStatisticsRequest
  67. _ = c.ShouldBindJSON(&weekDataRequest)
  68. if weekDataRequest.TaskId == 0 {
  69. response.FailWithMessage("请传入task_id", c)
  70. return
  71. }
  72. if weekDataRequest.CreateDate == "" {
  73. response.FailWithMessage("请传入create_date", c)
  74. return
  75. }
  76. list, err := imageRecordService.GetWeekImageRecordStatistics(weekDataRequest.TaskId, weekDataRequest.CreateDate)
  77. if err != nil {
  78. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  79. response.FailWithMessage("获取失败", c)
  80. } else {
  81. response.OkWithDetailed(list, "获取成功", c)
  82. }
  83. }
  84. //获取等级统计数据列表
  85. func (a *ImageRecordApi) GetImageRecordStatisticsList(c *gin.Context) {
  86. var paramsInfo request.SearchImageRecordStatisticsParams
  87. _ = c.ShouldBindJSON(&paramsInfo)
  88. if err := utils.Verify(paramsInfo.PageInfo, utils.PageInfoVerify); err != nil {
  89. response.FailWithMessage(err.Error(), c)
  90. return
  91. }
  92. list, total, err := imageRecordService.GetImageRecordStatisticsList(paramsInfo.ImageRecordStatisticsRequest, paramsInfo.PageInfo, paramsInfo.OrderKey, paramsInfo.Desc)
  93. if err != nil {
  94. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  95. response.FailWithMessage("获取失败", c)
  96. } else {
  97. response.OkWithDetailed(response.PageResult{
  98. List: list,
  99. Total: total,
  100. Page: paramsInfo.Page,
  101. PageSize: paramsInfo.PageSize,
  102. }, "获取成功", c)
  103. }
  104. }
  105. //导出等级统计数据列表
  106. func (a *ImageRecordApi) ImageRecordStatisticsExport(c *gin.Context) {
  107. var excelInfo request.ExcelImageRecordStatistics
  108. _ = c.ShouldBindJSON(&excelInfo)
  109. fmt.Println(excelInfo)
  110. paramsInfo := excelInfo.InfoList
  111. paramsInfo.PageSize = 300
  112. paramsInfo.Page = 1
  113. if err := utils.Verify(paramsInfo.PageInfo, utils.PageInfoVerify); err != nil {
  114. response.FailWithMessage(err.Error(), c)
  115. return
  116. }
  117. list, _, err := imageRecordService.GetImageRecordStatisticsList(paramsInfo.ImageRecordStatisticsRequest, paramsInfo.PageInfo, paramsInfo.OrderKey, paramsInfo.Desc)
  118. if err != nil {
  119. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  120. response.FailWithMessage("获取失败 "+err.Error(), c)
  121. }
  122. //var nowTime string = time.Now().Format("2006-01-02_15:04")
  123. //excelInfo.FileName = nowTime + "-ip.xlsx"
  124. //fmt.Println(excelInfo.FileName)
  125. filePath := global.GVA_CONFIG.Excel.Dir + excelInfo.FileName
  126. err = imageRecordService.ImageRecordStatisticsListExcel(list, filePath)
  127. if err != nil {
  128. global.GVA_LOG.Error("转换Excel失败!", zap.Error(err))
  129. response.FailWithMessage("转换Excel失败", c)
  130. return
  131. }
  132. c.Writer.Header().Add("success", "true")
  133. c.File(filePath)
  134. }