operation_record.go 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package v1
  2. import (
  3. "dy-admin/internal/pcmserver/common"
  4. "dy-admin/internal/pcmserver/global"
  5. "dy-admin/internal/pcmserver/pkg/code"
  6. "dy-admin/internal/pcmserver/sys/model"
  7. "dy-admin/internal/pcmserver/sys/model/request"
  8. "dy-admin/internal/pcmserver/sys/model/response"
  9. "dy-admin/internal/pcmserver/utils"
  10. "dy-admin/pkg/bind"
  11. "dy-admin/pkg/rescode"
  12. "github.com/gin-gonic/gin"
  13. "github.com/gin-gonic/gin/binding"
  14. "strings"
  15. )
  16. type OperationRecordApi struct{}
  17. // CreateSysOperationRecord
  18. // @Tags 操作日志管理
  19. // @Summary 创建日志
  20. // @Security ApiKeyAuth
  21. // @accept application/json
  22. // @Produce application/json
  23. // @Param data body model.OperationRecord true "参数"
  24. // @Success 200 {object} rescode.ErrCode
  25. // @Router /sys/v1/operation [post]
  26. func (s *OperationRecordApi) CreateSysOperationRecord(c *gin.Context) {
  27. var sysOperationRecord model.OperationRecord
  28. if err := bind.Bind(c, &sysOperationRecord, binding.JSON); err != nil {
  29. rescode.WriteErrResponse(c, err)
  30. return
  31. }
  32. sysOperationRecord.CreateBy = global.JWT.GetUserID(c)
  33. err := operationRecordService.CreateSysOperationRecord(sysOperationRecord)
  34. if err != nil {
  35. rescode.WriteErrResponse(c, err)
  36. return
  37. }
  38. rescode.WriteSuccessResponse(c, err)
  39. return
  40. }
  41. // DeleteSysOperationRecord
  42. // @Tags 操作日志管理
  43. // @Summary 删除单条日志
  44. // @Security ApiKeyAuth
  45. // @accept application/json
  46. // @Produce application/json
  47. // @Param data body common.IdReq true "参数"
  48. // @Success 200 {object} rescode.ErrCode
  49. // @Router /sys/v1/operation [delete]
  50. func (s *OperationRecordApi) DeleteSysOperationRecord(c *gin.Context) {
  51. var idReq common.IdReq
  52. if err := bind.Bind(c, &idReq, binding.Query); err != nil {
  53. rescode.WriteErrResponse(c, err)
  54. return
  55. }
  56. err := utils.Verify(idReq, utils.IdVerify)
  57. if err != nil {
  58. err = rescode.RegisterErrorWithMessage(err, err.Error(), code.ErrCodeMap[code.ErrValidationCode])
  59. rescode.WriteErrResponse(c, err)
  60. return
  61. }
  62. err = operationRecordService.DeleteSysOperationRecord(idReq.ID)
  63. if err != nil {
  64. rescode.WriteErrResponse(c, err)
  65. return
  66. }
  67. rescode.WriteSuccessResponse(c, nil)
  68. return
  69. }
  70. // DeleteSysOperationRecordByIds
  71. // @Tags 操作日志管理
  72. // @Summary 批量删除日志
  73. // @Security ApiKeyAuth
  74. // @accept application/json
  75. // @Produce application/json
  76. // @Param data body common.IdsReq true "参数"
  77. // @Success 200 {object} rescode.ErrCode
  78. // @Router /sys/v1/operation/ids [delete]
  79. func (s *OperationRecordApi) DeleteSysOperationRecordByIds(c *gin.Context) {
  80. var IDS common.IdsReq
  81. if err := bind.Bind(c, &IDS, binding.Query); err != nil {
  82. rescode.WriteErrResponse(c, err)
  83. return
  84. }
  85. err := utils.Verify(IDS, utils.IdsVerify)
  86. if err != nil {
  87. err = rescode.RegisterErrorWithMessage(err, err.Error(), code.ErrCodeMap[code.ErrValidationCode])
  88. rescode.WriteErrResponse(c, err)
  89. return
  90. }
  91. ids := strings.Split(IDS.IDs, ",")
  92. err = operationRecordService.DeleteSysOperationRecordByIds(ids)
  93. if err != nil {
  94. rescode.WriteErrResponse(c, err)
  95. return
  96. }
  97. rescode.WriteSuccessResponse(c, nil)
  98. return
  99. }
  100. // FindSysOperationRecord
  101. // @Tags 操作日志管理
  102. // @Summary 获取单条日志
  103. // @Security ApiKeyAuth
  104. // @accept application/json
  105. // @Produce application/json
  106. // @Param data body common.IdReq true "参数"
  107. // @Success 200 {object} rescode.ErrCode
  108. // @Router /sys/v1/operation [get]
  109. func (s *OperationRecordApi) FindSysOperationRecord(c *gin.Context) {
  110. var idReq common.IdReq
  111. if err := bind.Bind(c, &idReq, binding.Query); err != nil {
  112. rescode.WriteErrResponse(c, err)
  113. return
  114. }
  115. err := utils.Verify(idReq, utils.IdVerify)
  116. if err != nil {
  117. err = rescode.RegisterErrorWithMessage(err, err.Error(), code.ErrCodeMap[code.ErrValidationCode])
  118. rescode.WriteErrResponse(c, err)
  119. return
  120. }
  121. reSysOperationRecord, err := operationRecordService.GetSysOperationRecord(idReq.ID)
  122. if err != nil {
  123. rescode.WriteErrResponse(c, err)
  124. return
  125. }
  126. rescode.WriteSuccessResponse(c, response.OperationRecordResponse{OperationRecord: reSysOperationRecord})
  127. return
  128. }
  129. // GetSysOperationRecordList
  130. // @Tags 操作日志管理
  131. // @Summary 分页获取日志
  132. // @Security ApiKeyAuth
  133. // @accept application/json
  134. // @Produce application/json
  135. // @Param data body request.OperationRecordSearch true "参数"
  136. // @Success 200 {object} rescode.ErrCode
  137. // @Router /sys/v1/operation/list [get]
  138. func (s *OperationRecordApi) GetSysOperationRecordList(c *gin.Context) {
  139. var pageInfo request.OperationRecordSearch
  140. if err := bind.Bind(c, &pageInfo, binding.Query); err != nil {
  141. rescode.WriteErrResponse(c, err)
  142. return
  143. }
  144. list, total, err := operationRecordService.GetSysOperationRecordInfoList(pageInfo)
  145. if err != nil {
  146. rescode.WriteErrResponse(c, err)
  147. return
  148. }
  149. rescode.WriteSuccessResponse(c, common.PageResult{
  150. List: list,
  151. Total: total,
  152. Page: pageInfo.Page,
  153. PageSize: pageInfo.PageSize,
  154. })
  155. return
  156. }