seme_time.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package pasture
  2. import (
  3. "kpt-pasture/http/middleware"
  4. "net/http"
  5. "gitee.com/xuyiping_admin/pkg/xerr"
  6. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  7. operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"
  8. "gitee.com/xuyiping_admin/pkg/apierr"
  9. "gitee.com/xuyiping_admin/pkg/ginutil"
  10. "gitee.com/xuyiping_admin/pkg/valid"
  11. "github.com/gin-gonic/gin"
  12. )
  13. // SemeTimeCreated 同期策略添加
  14. func SemeTimeCreated(c *gin.Context) {
  15. var req pasturePb.SearchSameTimeList
  16. if err := ginutil.BindProto(c, &req); err != nil {
  17. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  18. return
  19. }
  20. if err := valid.ValidateStruct(&req,
  21. valid.Field(&req.Name, valid.Required),
  22. valid.Field(&req.CowType, valid.Required),
  23. valid.Field(&req.WeekType, valid.Required),
  24. valid.Field(&req.PostpartumDaysStart, valid.Required),
  25. valid.Field(&req.PostpartumDaysEnd, valid.Required),
  26. valid.Field(&req.CollateNodes, valid.Required),
  27. ); err != nil {
  28. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  29. return
  30. }
  31. if req.PostpartumDaysStart > req.PostpartumDaysEnd {
  32. apierr.AbortBadRequest(c, http.StatusBadRequest, xerr.New("开始天数不能大于结束天数"))
  33. return
  34. }
  35. if len(req.CollateNodes) < 0 {
  36. apierr.AbortBadRequest(c, http.StatusBadRequest, xerr.New("错误的同期策略数据"))
  37. return
  38. }
  39. if err := middleware.BackendOperation(c).OpsService.CreateOrUpdateSemeTime(c, &req); err != nil {
  40. apierr.ClassifiedAbort(c, err)
  41. return
  42. }
  43. ginutil.JSONResp(c, &operationPb.CommonOK{
  44. Code: http.StatusOK,
  45. Msg: "ok",
  46. Data: &operationPb.Success{Success: true},
  47. })
  48. }
  49. // SemeTimeList 同步策略列表
  50. func SemeTimeList(c *gin.Context) {
  51. var req pasturePb.SearchNameRequest
  52. if err := ginutil.BindProto(c, &req); err != nil {
  53. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  54. return
  55. }
  56. pagination := &pasturePb.PaginationModel{
  57. Page: int32(c.GetInt(middleware.Page)),
  58. PageSize: int32(c.GetInt(middleware.PageSize)),
  59. PageOffset: int32(c.GetInt(middleware.PageOffset)),
  60. }
  61. res, err := middleware.BackendOperation(c).OpsService.SearchSemeTimeList(c, &req, pagination)
  62. if err != nil {
  63. apierr.ClassifiedAbort(c, err)
  64. return
  65. }
  66. ginutil.JSONResp(c, res)
  67. }