computer.go 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. package log
  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/log"
  8. "log-server/model/log/request"
  9. "log-server/utils"
  10. "os"
  11. "strconv"
  12. "time"
  13. )
  14. type ApiComputer struct {
  15. }
  16. // @Tags computer
  17. // @Summary 分页获租机号列表
  18. // @Security ApiKeyAuth
  19. // @accept application/json
  20. // @Produce application/json
  21. // @Param data body request.GetCardListRequest true "分页获取租机列表"
  22. // @Success 200 {object} response.Response{data=response.GetPcListReply,msg=string} "分页获取租机列表,返回包括列表,总数,页码,每页数量"
  23. // @Router /computer/getPcList [post]
  24. func (s *ApiComputer) GetPcList(c *gin.Context) {
  25. var paramsInfo request.GetPcListRequest
  26. _ = c.ShouldBindJSON(&paramsInfo)
  27. if err := utils.Verify(paramsInfo.PageInfo, utils.PageInfoVerify); err != nil {
  28. response.FailWithMessage(err.Error(), c)
  29. return
  30. }
  31. if list, total, err := ServiceComputer.GetPcInfoList(paramsInfo.Computer, paramsInfo.PageInfo, paramsInfo.OrderKey, paramsInfo.Desc); err != nil {
  32. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  33. response.FailWithMessage("获取失败", c)
  34. } else {
  35. response.OkWithDetailed(response.PageResult{
  36. List: list,
  37. Total: total,
  38. Page: paramsInfo.Page,
  39. PageSize: paramsInfo.PageSize,
  40. }, "获取成功", c)
  41. }
  42. }
  43. // @Tags computer
  44. // @Summary 根据id获取api
  45. // @Security ApiKeyAuth
  46. // @accept application/json
  47. // @Produce application/json
  48. // @Param data body request.GetById true "根据id获取api"
  49. // @Success 200 {object} response.Response{data=systemRes.SysAPIResponse} "根据id获取api,返回包括api详情"
  50. // @Router /computer/getPcById [post]
  51. func (s *ApiComputer) GetPcById(c *gin.Context) {
  52. var idInfo request.GetById
  53. _ = c.ShouldBindJSON(&idInfo)
  54. if err := utils.Verify(idInfo, utils.IdVerify); err != nil {
  55. response.FailWithMessage(err.Error(), c)
  56. return
  57. }
  58. api, err := ServiceComputer.GetPcById(idInfo.ID)
  59. if err != nil {
  60. global.GVA_LOG.Error("获取失败!", zap.Error(err))
  61. response.FailWithMessage("获取失败", c)
  62. } else {
  63. response.OkWithDetailed(api, "获取成功", c)
  64. }
  65. }
  66. // @Tags computer
  67. // @Summary 创建租机记录
  68. // @Security ApiKeyAuth
  69. // @accept application/json
  70. // @Produce application/json
  71. // @Param data body request.CreateUpdatePcRequest true "租机编号, 使用者, 租机供应商"
  72. // @Success 200 {object} response.Response{msg=string} "创建租机信息"
  73. // @Router /computer/createPc [post]
  74. func (s *ApiComputer) CreatePc(c *gin.Context) {
  75. var paramsInfo request.CreateUpdatePcRequest
  76. _ = c.ShouldBindJSON(&paramsInfo)
  77. if err := utils.Verify(paramsInfo, utils.PcVerify); err != nil {
  78. response.FailWithMessage(err.Error(), c)
  79. return
  80. }
  81. var computer log.Computer
  82. computer.Supplier = paramsInfo.Supplier
  83. computer.User = paramsInfo.User
  84. computer.PcCode = paramsInfo.PcCode
  85. computer.Status = paramsInfo.Status
  86. if err := ServiceComputer.CreatePc(computer); err != nil {
  87. global.GVA_LOG.Error("创建失败!", zap.Error(err))
  88. response.FailWithMessage(err.Error(), c)
  89. } else {
  90. response.OkWithMessage("创建成功", c)
  91. }
  92. }
  93. // @Tags computer
  94. // @Summary 修改租机信息
  95. // @Security ApiKeyAuth
  96. // @accept application/json
  97. // @Produce application/json
  98. // @Param data body request.CreateUpdatePcRequest true "id, 租机编号, 使用者, 租机供应商"
  99. // @Success 200 {object} response.Response{msg=string} "修改租机信息"
  100. // @Router /computer/updatePc [post]
  101. func (s *ApiComputer) UpdatePc(c *gin.Context) {
  102. var paramsInfo request.CreateUpdatePcRequest
  103. _ = c.ShouldBindJSON(&paramsInfo)
  104. if err := utils.Verify(paramsInfo, utils.PcVerify); err != nil {
  105. response.FailWithMessage(err.Error(), c)
  106. return
  107. }
  108. if paramsInfo.Id == 0 {
  109. response.FailWithMessage("Id不能为空", c)
  110. return
  111. }
  112. var computer log.Computer
  113. computer.Id = paramsInfo.Id
  114. computer.Supplier = paramsInfo.Supplier
  115. computer.User = paramsInfo.User
  116. computer.PcCode = paramsInfo.PcCode
  117. computer.Status = paramsInfo.Status
  118. if err := ServiceComputer.UpdatePc(computer); err != nil {
  119. global.GVA_LOG.Error("修改失败!", zap.Error(err))
  120. response.FailWithMessage(err.Error(), c)
  121. } else {
  122. response.OkWithMessage("修改成功", c)
  123. }
  124. }
  125. // @Tags computer
  126. // @Summary 修改租机状态
  127. // @Security ApiKeyAuth
  128. // @accept application/json
  129. // @Produce application/json
  130. // @Param data body request.PcStatusOperationRequest true "id, 状态"
  131. // @Success 200 {object} response.Response{msg=string} "修改卡状态"
  132. // @Router /computer/statusOperation [post]
  133. func (s *ApiComputer) PcStatusOperation(c *gin.Context) {
  134. var paramsInfo request.PcStatusOperationRequest
  135. _ = c.ShouldBindJSON(&paramsInfo)
  136. if paramsInfo.Id == 0 {
  137. response.FailWithMessage("Id不能为空", c)
  138. return
  139. }
  140. if paramsInfo.Status == 0 {
  141. response.FailWithMessage("状态值不能为空", c)
  142. return
  143. }
  144. var computer log.Computer
  145. computer.Id = paramsInfo.Id
  146. computer.Status = paramsInfo.Status
  147. if err := ServiceComputer.UpdatePcStatus(computer); err != nil {
  148. global.GVA_LOG.Error("修改失败!", zap.Error(err))
  149. response.FailWithMessage(err.Error(), c)
  150. } else {
  151. response.OkWithMessage("修改成功", c)
  152. }
  153. }
  154. // @Tags computer
  155. // @Summary 导入Excel文件
  156. // @Security ApiKeyAuth
  157. // @accept multipart/form-data
  158. // @Produce application/json
  159. // @Param file formData file true "导入Excel文件"
  160. // @Success 200 {object} response.Response{msg=string} "导入Excel文件"
  161. // @Router /computer/importExcel [post]
  162. func (e *ApiComputer) ImportExcel(c *gin.Context) {
  163. _, header, err := c.Request.FormFile("file")
  164. if err != nil {
  165. global.GVA_LOG.Error("接收文件失败!", zap.Error(err))
  166. response.FailWithMessage("接收文件失败", c)
  167. return
  168. }
  169. //创建目录
  170. uploadDir := global.GVA_CONFIG.Excel.Dir + strconv.Itoa(int(time.Now().Unix())) + "/"
  171. err = os.MkdirAll(uploadDir, os.ModePerm)
  172. if err != nil {
  173. response.FailWithMessage("接收文件失败"+err.Error(), c)
  174. return
  175. }
  176. filePath := uploadDir + "PcCodeExcelImport.xlsx"
  177. err = c.SaveUploadedFile(header, filePath)
  178. if err != nil {
  179. response.FailWithMessage("接收文件失败"+err.Error(), c)
  180. return
  181. }
  182. err = ServiceComputer.ParseExcel2InfoList(filePath)
  183. if err != nil {
  184. response.FailWithMessage("接收文件失败"+err.Error(), c)
  185. return
  186. }
  187. response.OkWithMessage("导入成功", c)
  188. }