data_import.go 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. package v1_0
  2. import (
  3. "adm-gateway/errors"
  4. param_v1 "adm-gateway/param/v1"
  5. "adm-gateway/pb"
  6. v1 "adm-gateway/pb/v1"
  7. "fmt"
  8. "net/http"
  9. "github.com/gin-gonic/gin"
  10. "git.getensh.com/common/gopkgsv2/logger"
  11. "git.getensh.com/common/gopkgsv2/tasker/httptasker"
  12. "git.getensh.com/common/gopkgsv2/util"
  13. "go.uber.org/zap"
  14. )
  15. // DataImportTemplate godoc
  16. // @Summary 数据导入模板
  17. // @Description 数据导入模板
  18. // @Tags data_import,v1.0
  19. // @Accept json
  20. // @Produce json
  21. // @Param token header string true "jwt token"
  22. // @Param template_name query string false "模板名"
  23. // @Param page query int32 false "页码"
  24. // @Param page_size query int32 false "每页数量,默认10"
  25. // @Success 200 {object} param_v1.DataImportTemplateResponse
  26. // @Failure 500 {object} base.HTTPError
  27. // @Router /api/v1.0/data_import/data_import_template [get]
  28. func (c *Controller) DataImportTemplate(ctx *gin.Context) {
  29. // 解析参数
  30. req := &param_v1.DataImportTemplateRequest{}
  31. parseParamTask := func() error {
  32. err := util.ShouldBind(ctx, nil, nil, &req.DataImportTemplateQuery, nil)
  33. if err != nil {
  34. logger.Error("func",
  35. zap.String("call", "util.ShouldBind"),
  36. zap.String("error", err.Error()))
  37. return errors.ParamsError
  38. }
  39. return nil
  40. }
  41. // 业务处理
  42. handleServiceTask := func() error {
  43. // 响应数据
  44. resp := &param_v1.DataImportTemplateResponse{}
  45. r := v1.DataImportTemplateRequest{
  46. TemplateName: req.TemplateName,
  47. Page: req.Page,
  48. PageSize: req.PageSize,
  49. }
  50. reply, err := pb.Management.DataImportTemplate(ctx.Request.Context(), &r)
  51. if err != nil {
  52. s, _ := json.MarshalToString(r)
  53. logger.Error("func",
  54. zap.String("call", "pb.management.DataImportTemplate"),
  55. zap.String("params", s),
  56. zap.String("error", err.Error()))
  57. return errors.ErrorTransForm(err)
  58. }
  59. resp.Data = reply
  60. ctx.JSON(http.StatusOK, resp)
  61. return nil
  62. }
  63. // 执行任务
  64. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  65. }
  66. // CreateTemplate godoc
  67. // @Summary 新建模板
  68. // @Description 新建模板
  69. // @Tags data_import,v1.0
  70. // @Accept json
  71. // @Produce json
  72. // @Param token header string true "jwt token"
  73. // @Param body body param_v1.CreateTemplateBody true "body"
  74. // @Success 200 {object} param_v1.CreateTemplateResponse
  75. // @Failure 500 {object} base.HTTPError
  76. // @Router /api/v1.0/data_import/create_template [post]
  77. func (c *Controller) CreateTemplate(ctx *gin.Context) {
  78. // 解析参数
  79. req := &param_v1.CreateTemplateRequest{}
  80. parseParamTask := func() error {
  81. err := util.ShouldBind(ctx, nil, nil, nil, &req.CreateTemplateBody)
  82. if err != nil {
  83. logger.Error("func",
  84. zap.String("call", "util.ShouldBind"),
  85. zap.String("error", err.Error()))
  86. return errors.ParamsError
  87. }
  88. return nil
  89. }
  90. // 业务处理
  91. handleServiceTask := func() error {
  92. // 响应数据
  93. resp := &param_v1.CreateTemplateResponse{}
  94. r := v1.CreateTemplateRequest{
  95. TemplateName: req.TemplateName,
  96. Request: req.Request,
  97. TaskName: req.TaskName,
  98. }
  99. _, err := pb.Management.CreateTemplate(ctx.Request.Context(), &r)
  100. if err != nil {
  101. s, _ := json.MarshalToString(r)
  102. logger.Error("func",
  103. zap.String("call", "pb.management.CreateTemplate"),
  104. zap.String("params", s),
  105. zap.String("error", err.Error()))
  106. return errors.ErrorTransForm(err)
  107. }
  108. ctx.JSON(http.StatusOK, resp)
  109. return nil
  110. }
  111. // 执行任务
  112. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  113. }
  114. // EditTemplate godoc
  115. // @Summary 修改模板
  116. // @Description 修改模板
  117. // @Tags data_import,v1.0
  118. // @Accept json
  119. // @Produce json
  120. // @Param token header string true "jwt token"
  121. // @Param body body param_v1.EditTemplateBody true "body"
  122. // @Success 200 {object} param_v1.EditTemplateResponse
  123. // @Failure 500 {object} base.HTTPError
  124. // @Router /api/v1.0/data_import/edit_template [put]
  125. func (c *Controller) EditTemplate(ctx *gin.Context) {
  126. // 解析参数
  127. req := &param_v1.EditTemplateRequest{}
  128. parseParamTask := func() error {
  129. err := util.ShouldBind(ctx, nil, nil, nil, &req.EditTemplateBody)
  130. if err != nil {
  131. logger.Error("func",
  132. zap.String("call", "util.ShouldBind"),
  133. zap.String("error", err.Error()))
  134. return errors.ParamsError
  135. }
  136. return nil
  137. }
  138. // 业务处理
  139. handleServiceTask := func() error {
  140. // 响应数据
  141. resp := &param_v1.EditTemplateResponse{}
  142. r := v1.EditTemplateRequest{
  143. Id: req.Id,
  144. TemplateName: req.TemplateName,
  145. Request: req.Request,
  146. TaskName: req.TaskName,
  147. }
  148. _, err := pb.Management.EditTemplate(ctx.Request.Context(), &r)
  149. if err != nil {
  150. s, _ := json.MarshalToString(r)
  151. logger.Error("func",
  152. zap.String("call", "pb.management.EditTemplate"),
  153. zap.String("params", s),
  154. zap.String("error", err.Error()))
  155. return errors.ErrorTransForm(err)
  156. }
  157. ctx.JSON(http.StatusOK, resp)
  158. return nil
  159. }
  160. // 执行任务
  161. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  162. }
  163. // DeleteTemplate godoc
  164. // @Summary 删除模板
  165. // @Description 删除模板
  166. // @Tags data_import,v1.0
  167. // @Accept json
  168. // @Produce json
  169. // @Param token header string true "jwt token"
  170. // @Param id path int64 true "id"
  171. // @Success 200 {object} param_v1.DeleteTemplateResponse
  172. // @Failure 500 {object} base.HTTPError
  173. // @Router /api/v1.0/data_import/delete_template/{id} [delete]
  174. func (c *Controller) DeleteTemplate(ctx *gin.Context) {
  175. // 解析参数
  176. req := &param_v1.DeleteTemplateRequest{}
  177. parseParamTask := func() error {
  178. err := util.ShouldBind(ctx, nil, &req.DeleteTemplatePath, nil, nil)
  179. if err != nil {
  180. logger.Error("func",
  181. zap.String("call", "util.ShouldBind"),
  182. zap.String("error", err.Error()))
  183. return errors.ParamsError
  184. }
  185. return nil
  186. }
  187. // 业务处理
  188. handleServiceTask := func() error {
  189. // 响应数据
  190. resp := &param_v1.DeleteTemplateResponse{}
  191. r := v1.DeleteTemplateRequest{
  192. Id: req.Id,
  193. }
  194. _, err := pb.Management.DeleteTemplate(ctx.Request.Context(), &r)
  195. fmt.Println(err)
  196. if err != nil {
  197. s, _ := json.MarshalToString(r)
  198. logger.Error("func",
  199. zap.String("call", "pb.management.DeleteTemplate"),
  200. zap.String("params", s),
  201. zap.String("error", err.Error()))
  202. return errors.ErrorTransForm(err)
  203. }
  204. ctx.JSON(http.StatusOK, resp)
  205. return nil
  206. }
  207. // 执行任务
  208. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  209. }
  210. // DataImport godoc
  211. // @Summary 数据导入
  212. // @Description 数据导入
  213. // @Tags data_import,v1.0
  214. // @Accept json
  215. // @Produce json
  216. // @Param token header string true "jwt token"
  217. // @Param body body param_v1.DataImportBody true "body"
  218. // @Success 200 {object} param_v1.DataImportResponse
  219. // @Failure 500 {object} base.HTTPError
  220. // @Router /api/v1.0/data_import/data_import [post]
  221. func (c *Controller) DataImport(ctx *gin.Context) {
  222. // 解析参数
  223. req := &param_v1.DataImportRequest{}
  224. parseParamTask := func() error {
  225. err := util.ShouldBind(ctx, nil, nil, nil, &req.DataImportBody)
  226. if err != nil {
  227. logger.Error("func",
  228. zap.String("call", "util.ShouldBind"),
  229. zap.String("error", err.Error()))
  230. return errors.ParamsError
  231. }
  232. return nil
  233. }
  234. // 业务处理
  235. handleServiceTask := func() error {
  236. // 响应数据
  237. resp := &param_v1.DataImportResponse{}
  238. r := v1.DataImportRequest{
  239. Id: req.Id,
  240. RequestList: req.RequestList,
  241. }
  242. _, err := pb.Management.DataImport(ctx.Request.Context(), &r)
  243. if err != nil {
  244. s, _ := json.MarshalToString(r)
  245. logger.Error("func",
  246. zap.String("call", "pb.management.DataImport"),
  247. zap.String("params", s),
  248. zap.String("error", err.Error()))
  249. return errors.ErrorTransForm(err)
  250. }
  251. ctx.JSON(http.StatusOK, resp)
  252. return nil
  253. }
  254. // 执行任务
  255. httptasker.Exec(ctx, parseParamTask, handleServiceTask)
  256. }