new_api.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package api
  2. import (
  3. "net/http"
  4. "strconv"
  5. "tmr-watch/middleware"
  6. "tmr-watch/service/group"
  7. operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"
  8. feedPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/pasture"
  9. "gitee.com/xuyiping_admin/pkg/apierr"
  10. "gitee.com/xuyiping_admin/pkg/ginutil"
  11. "gitee.com/xuyiping_admin/pkg/valid"
  12. "github.com/gin-gonic/gin"
  13. )
  14. // SearchFeetTemplateList 配方列表
  15. func SearchFeetTemplateList(c *gin.Context) {
  16. var req feedPb.SearchFeedTemplateRequest
  17. if err := ginutil.BindProto(c, &req); err != nil {
  18. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  19. return
  20. }
  21. req.Pagination = &feedPb.PaginationModel{
  22. Page: int32(c.GetInt(middleware.Page)),
  23. PageSize: int32(c.GetInt(middleware.PageSize)),
  24. PageOffset: int32(c.GetInt(middleware.PageOffset)),
  25. }
  26. list, err := group.SearchFeedTemplateList(c, &req)
  27. if err != nil {
  28. apierr.ClassifiedAbort(c, err)
  29. return
  30. }
  31. ginutil.JSONResp(c, list)
  32. }
  33. // GetFeetTemplateVersion 获取配方最新版本详情
  34. func GetFeetTemplateVersion(c *gin.Context) {
  35. var req feedPb.FeetTemplateVersionRequest
  36. if err := ginutil.BindProto(c, &req); err != nil {
  37. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  38. return
  39. }
  40. if err := valid.ValidateStruct(&req,
  41. valid.Field(&req.FeetTemplateId, valid.Required, valid.Length(1, 100)),
  42. valid.Field(&req.PastureId, valid.Required, valid.Min(1)),
  43. ); err != nil {
  44. apierr.ClassifiedAbort(c, err)
  45. return
  46. }
  47. feetTemplateId, _ := strconv.Atoi(req.GetFeetTemplateId())
  48. list, err := group.GetFeetTemplateVersion(c, int(req.GetPastureId()), feetTemplateId)
  49. if err != nil {
  50. apierr.ClassifiedAbort(c, err)
  51. return
  52. }
  53. ginutil.JSONResp(c, list)
  54. }
  55. // FeetTemplateUpgradeNewVersion 配方更新至最新版本
  56. func FeetTemplateUpgradeNewVersion(c *gin.Context) {
  57. var req feedPb.FeetTemplateVersionRequest
  58. if err := ginutil.BindProto(c, &req); err != nil {
  59. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  60. return
  61. }
  62. if err := valid.ValidateStruct(&req,
  63. valid.Field(&req.FeetTemplateId, valid.Required, valid.Length(1, 100)),
  64. valid.Field(&req.PastureId, valid.Required, valid.Min(1)),
  65. ); err != nil {
  66. apierr.ClassifiedAbort(c, err)
  67. return
  68. }
  69. feetTemplateId, _ := strconv.Atoi(req.GetFeetTemplateId())
  70. if err := group.FeetTemplateUpgradeNewVersion(c, int(req.GetPastureId()), feetTemplateId); err != nil {
  71. apierr.ClassifiedAbort(c, err)
  72. return
  73. }
  74. ginutil.JSONResp(c, &operationPb.CommonOK{
  75. Code: http.StatusOK,
  76. Msg: "ok",
  77. Data: &operationPb.Success{Success: true},
  78. })
  79. }