cattle_category.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package pasture
  2. import (
  3. "kpt-tmr-group/http/middleware"
  4. "kpt-tmr-group/pkg/apierr"
  5. "kpt-tmr-group/pkg/apiok"
  6. "kpt-tmr-group/pkg/valid"
  7. operationPb "kpt-tmr-group/proto/go/backend/operation"
  8. "net/http"
  9. "strconv"
  10. "github.com/gin-gonic/gin"
  11. )
  12. // ParentCattleCategoryList 牲畜父类列表
  13. func ParentCattleCategoryList(c *gin.Context) {
  14. res := middleware.BackendOperation(c).OpsService.ParentCattleCategoryList(c)
  15. c.JSON(http.StatusOK, apiok.CommonResponse(res))
  16. }
  17. func AddCattleCategory(c *gin.Context) {
  18. var req operationPb.AddCattleCategoryRequest
  19. if err := c.BindJSON(&req); err != nil {
  20. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  21. return
  22. }
  23. if err := valid.ValidateStruct(&req,
  24. valid.Field(&req.Name, valid.Required),
  25. valid.Field(&req.ParentId, valid.Required, valid.Min(1), valid.Max(6)),
  26. valid.Field(&req.ParentName, valid.Required),
  27. valid.Field(&req.Number, valid.Required),
  28. ); err != nil {
  29. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  30. return
  31. }
  32. if err := middleware.BackendOperation(c).OpsService.AddCattleCategory(c, &req); err != nil {
  33. apierr.ClassifiedAbort(c, err)
  34. return
  35. }
  36. c.JSON(http.StatusOK, apiok.CommonResponse(apiok.NewApiOk(true)))
  37. }
  38. func EditCattleCategory(c *gin.Context) {
  39. var req operationPb.AddCattleCategoryRequest
  40. if err := c.BindJSON(&req); err != nil {
  41. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  42. return
  43. }
  44. if err := valid.ValidateStruct(&req,
  45. valid.Field(&req.Id, valid.Required),
  46. valid.Field(&req.Name, valid.Required),
  47. valid.Field(&req.ParentId, valid.Required, valid.Min(1), valid.Max(6)),
  48. valid.Field(&req.ParentName, valid.Required),
  49. valid.Field(&req.Number, valid.Required),
  50. ); err != nil {
  51. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  52. return
  53. }
  54. if err := middleware.BackendOperation(c).OpsService.EditCattleCategory(c, &req); err != nil {
  55. apierr.ClassifiedAbort(c, err)
  56. return
  57. }
  58. c.JSON(http.StatusOK, apiok.CommonResponse(apiok.NewApiOk(true)))
  59. }
  60. func IsShowCattleCategory(c *gin.Context) {
  61. var req operationPb.IsShowCattleCategory
  62. if err := c.BindJSON(&req); err != nil {
  63. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  64. return
  65. }
  66. if err := valid.ValidateStruct(&req,
  67. valid.Field(&req.CattleCategoryId, valid.Required, valid.Min(1)),
  68. valid.Field(&req.IsShow, valid.Required, valid.Min(1), valid.Max(2)),
  69. ); err != nil {
  70. apierr.ClassifiedAbort(c, err)
  71. return
  72. }
  73. if err := middleware.BackendOperation(c).OpsService.IsShowCattleCategory(c, &req); err != nil {
  74. apierr.ClassifiedAbort(c, err)
  75. return
  76. }
  77. c.JSON(http.StatusOK, apiok.CommonResponse(apiok.NewApiOk(true)))
  78. }
  79. func DeleteCattleCategory(c *gin.Context) {
  80. cattleCategoryIdStr := c.Param("cattle_category_id")
  81. cattleCategoryId, _ := strconv.Atoi(cattleCategoryIdStr)
  82. if err := valid.Validate(cattleCategoryId, valid.Required, valid.Min(1)); err != nil {
  83. apierr.ClassifiedAbort(c, err)
  84. return
  85. }
  86. if err := middleware.BackendOperation(c).OpsService.DeleteCattleCategory(c, int64(cattleCategoryId)); err != nil {
  87. apierr.ClassifiedAbort(c, err)
  88. return
  89. }
  90. c.JSON(http.StatusOK, apiok.CommonResponse(apiok.NewApiOk(true)))
  91. }
  92. func SearchCattleCategory(c *gin.Context) {
  93. req := &operationPb.SearchCattleCategoryRequest{}
  94. if err := c.BindJSON(req); err != nil {
  95. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  96. return
  97. }
  98. req.Pagination = &operationPb.PaginationModel{
  99. Page: int32(c.GetInt(middleware.Page)),
  100. PageSize: int32(c.GetInt(middleware.PageSize)),
  101. PageOffset: int32(c.GetInt(middleware.PageOffset)),
  102. }
  103. res, err := middleware.BackendOperation(c).OpsService.SearchCattleCategoryList(c, req)
  104. if err != nil {
  105. apierr.ClassifiedAbort(c, err)
  106. return
  107. }
  108. c.JSON(http.StatusOK, apiok.CommonResponse(res.ToPB()))
  109. }