upload_file.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package task
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "go.uber.org/zap"
  5. "log-server/global"
  6. "log-server/model/common/response"
  7. "log-server/model/task"
  8. "log-server/model/task/request"
  9. taskRes "log-server/model/task/response"
  10. "log-server/utils"
  11. "strconv"
  12. )
  13. type UploadFileApi struct {
  14. }
  15. func (b *UploadFileApi) UploadFile(c *gin.Context) {
  16. _, header, err := c.Request.FormFile("file")
  17. if err != nil {
  18. global.GVA_LOG.Error("接收文件失败!", zap.Error(err))
  19. response.FailWithMessage("接收文件失败", c)
  20. return
  21. }
  22. taskID := c.PostForm("task_id")
  23. user := c.PostForm("responsible_person")
  24. if taskID == "" {
  25. response.FailWithMessage("taskId不能为空", c)
  26. return
  27. }
  28. if user == "" {
  29. response.FailWithMessage("负责人不能为空", c)
  30. return
  31. }
  32. var fileRes taskRes.UploadFileResponse
  33. taskId, _ := strconv.Atoi(taskID)
  34. fileRes, err = uploadFileService.UploadFile(taskId, user, header) // 文件上传后拿到文件路径
  35. if err != nil {
  36. global.GVA_LOG.Error("修改数据库链接失败!", zap.Error(err))
  37. response.FailWithMessage("修改数据库链接失败", c)
  38. return
  39. }
  40. response.OkWithDetailed(taskRes.InfoResponse{fileRes}, "上传成功", c)
  41. }
  42. func (b *UploadFileApi) DownloadFile(c *gin.Context) {
  43. taskIdStr := c.Query("taskId")
  44. md5String := c.Query("md5String")
  45. if taskIdStr == "" {
  46. response.FailWithMessage("taskId不能为空", c)
  47. return
  48. }
  49. if md5String == "" {
  50. response.FailWithMessage("md5值不能为空", c)
  51. return
  52. }
  53. taskId, _ := strconv.Atoi(taskIdStr)
  54. downloadFile, err := uploadFileService.DownloadFile(taskId, md5String)
  55. if err != nil {
  56. global.GVA_LOG.Error("查询失败!", zap.Error(err))
  57. response.FailWithMessage("查询失败,无对应脚本", c)
  58. } else {
  59. response.OkWithDetailed(taskRes.DownloadInfoResponse{downloadFile}, "查询成功", c)
  60. }
  61. }
  62. //获取所有游戏脚本列表
  63. func (b *UploadFileApi) GetScriptList(c *gin.Context) {
  64. //获取前端传值并校验
  65. var pageInfo task.SearchAccountTypeParams
  66. _ = c.ShouldBindJSON(&pageInfo)
  67. //页面信息校验
  68. if err := utils.Verify(pageInfo.PageInfo, utils.PageInfoVerify); err != nil{
  69. response.FailWithMessage(err.Error(), c)
  70. return
  71. }
  72. if list, total, err := uploadFileService.GetScriptList(pageInfo.GameScriptResponse, pageInfo.PageInfo, pageInfo.OrderKey, pageInfo.Desc); err != nil{
  73. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  74. response.FailWithMessage("获取失败", c)
  75. } else {
  76. response.OkWithDetailed(response.PageResult{
  77. List: list,
  78. Total: total,
  79. Page: pageInfo.Page,
  80. PageSize: pageInfo.PageSize,
  81. }, "获取成功", c)
  82. }
  83. }
  84. //更改脚本状态
  85. func (b *UploadFileApi) StatusChange(c *gin.Context) {
  86. var paramsInfo request.UpdateScriptStatusRequest
  87. _ = c.ShouldBindJSON(&paramsInfo)
  88. if paramsInfo.State == 0 {
  89. response.FailWithMessage("状态值不能为空", c)
  90. return
  91. }
  92. if paramsInfo.Id == 0 {
  93. response.FailWithMessage("Id不能为空", c)
  94. return
  95. }
  96. if err := uploadFileService.UpdateScriptStatus(paramsInfo); err != nil {
  97. global.GVA_LOG.Error("修改失败!", zap.Error(err))
  98. response.FailWithMessage(err.Error(), c)
  99. } else {
  100. response.OkWithMessage("修改成功", c)
  101. }
  102. }