add_youngee.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package operate
  2. import (
  3. "fmt"
  4. "github.com/caixw/lib.go/conv"
  5. "github.com/gin-gonic/gin"
  6. "github.com/sirupsen/logrus"
  7. "youngee_m_api/consts"
  8. "youngee_m_api/db"
  9. "youngee_m_api/model/http_model"
  10. "youngee_m_api/util"
  11. )
  12. func WrapAddYoungeeHandler(ctx *gin.Context) {
  13. handler := newYoungeeHandler(ctx)
  14. BaseRun(handler)
  15. }
  16. type YoungeeHandler struct {
  17. req *http_model.AddYoungeeRequest
  18. resp *http_model.CommonResponse
  19. ctx *gin.Context
  20. }
  21. func newYoungeeHandler(ctx *gin.Context) *YoungeeHandler {
  22. return &YoungeeHandler{
  23. req: http_model.NewAddYoungeeRequest(),
  24. resp: http_model.NewAddYoungeeResponse(),
  25. ctx: ctx,
  26. }
  27. }
  28. func (p YoungeeHandler) getContext() *gin.Context {
  29. return p.ctx
  30. }
  31. func (p YoungeeHandler) getResponse() interface{} {
  32. return p.resp
  33. }
  34. func (p YoungeeHandler) getRequest() interface{} {
  35. return p.req
  36. }
  37. func (p YoungeeHandler) run() {
  38. toast, strategyId, err := db.CreateYoungeeStrategy(p.ctx, p.req)
  39. if err != nil {
  40. // 数据库查询失败,返回5001
  41. logrus.Errorf("[YoungeeHandler] call AddYoungee err:%+v\n", err)
  42. util.HandlerPackErrorResp(p.resp, consts.ErrorInternal, "")
  43. logrus.Info("YoungeeHandler fail,req:%+v", p.req)
  44. return
  45. }
  46. if toast == "创建成功" {
  47. p.resp.Message = "编号为" + strategyId + "的策略添加成功"
  48. } else if toast == "该策略与已经运行的策略互斥,请修改相关字段后重新创建" {
  49. p.resp.Status = 1
  50. } else {
  51. p.resp.Status = 2
  52. }
  53. }
  54. func (p YoungeeHandler) checkParam() error {
  55. var errs []error
  56. p.req.ProjectType = util.IsNull(p.req.ProjectType)
  57. if _, err := conv.Int64(p.req.ProjectType); err != nil {
  58. errs = append(errs, err)
  59. }
  60. p.req.Platform = util.IsNull(p.req.Platform)
  61. if _, err := conv.Int64(p.req.Platform); err != nil {
  62. errs = append(errs, err)
  63. }
  64. p.req.TaskType = util.IsNull(p.req.TaskType)
  65. if _, err := conv.Int64(p.req.TaskType); err != nil {
  66. errs = append(errs, err)
  67. }
  68. if len(errs) != 0 {
  69. return fmt.Errorf("check param errs:%+v", errs)
  70. }
  71. return nil
  72. }