order.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package work
  2. import (
  3. "net/http"
  4. "strconv"
  5. "kpt-pasture/http/middleware"
  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. func OrderList(c *gin.Context) {
  14. var req pasturePb.SearchWorkOrderRequest
  15. if err := ginutil.BindProto(c, &req); err != nil {
  16. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  17. return
  18. }
  19. pagination := &pasturePb.PaginationModel{
  20. Page: int32(c.GetInt(middleware.Page)),
  21. PageSize: int32(c.GetInt(middleware.PageSize)),
  22. PageOffset: int32(c.GetInt(middleware.PageOffset)),
  23. }
  24. res, err := middleware.Dependency(c).StoreEventHub.OpsService.OrderList(c, &req, pagination)
  25. if err != nil {
  26. apierr.ClassifiedAbort(c, err)
  27. return
  28. }
  29. ginutil.JSONResp(c, res)
  30. }
  31. func OrderCreateOrUpdate(c *gin.Context) {
  32. var req pasturePb.WorkOrderList
  33. if err := ginutil.BindProto(c, &req); err != nil {
  34. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  35. return
  36. }
  37. if err := valid.ValidateStruct(&req,
  38. valid.Field(&req.Name, valid.Required),
  39. valid.Field(&req.CategoryId, valid.Required),
  40. valid.Field(&req.Priority, valid.Required),
  41. valid.Field(&req.IsShow, valid.Required),
  42. valid.Field(&req.ExecTime, valid.Required),
  43. valid.Field(&req.SubscribeUnit, valid.Required),
  44. valid.Field(&req.Frequency, valid.Required),
  45. ); err != nil {
  46. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  47. return
  48. }
  49. if err := middleware.BackendOperation(c).OpsService.OrderCreateOrUpdate(c, &req); err != nil {
  50. apierr.ClassifiedAbort(c, err)
  51. return
  52. }
  53. ginutil.JSONResp(c, &operationPb.CommonOK{
  54. Code: http.StatusOK,
  55. Msg: "ok",
  56. Data: &operationPb.Success{Success: true},
  57. })
  58. }
  59. func OrderIsShow(c *gin.Context) {
  60. workOrderIdStr := c.Param("id")
  61. workOrderId, _ := strconv.Atoi(workOrderIdStr)
  62. if err := valid.Validate(workOrderId, valid.Required, valid.Min(1)); err != nil {
  63. apierr.ClassifiedAbort(c, err)
  64. return
  65. }
  66. if err := middleware.Dependency(c).StoreEventHub.OpsService.OrderIsShow(c, int64(workOrderId)); err != nil {
  67. apierr.ClassifiedAbort(c, err)
  68. return
  69. }
  70. ginutil.JSONResp(c, &operationPb.CommonOK{
  71. Code: http.StatusOK,
  72. Msg: "ok",
  73. Data: &operationPb.Success{Success: true},
  74. })
  75. }
  76. func UserOrderList(c *gin.Context) {
  77. statusStr := c.Param("status")
  78. workOrderStatus, _ := strconv.Atoi(statusStr)
  79. pagination := &pasturePb.PaginationModel{
  80. Page: int32(c.GetInt(middleware.Page)),
  81. PageSize: int32(c.GetInt(middleware.PageSize)),
  82. PageOffset: int32(c.GetInt(middleware.PageOffset)),
  83. }
  84. res, err := middleware.Dependency(c).StoreEventHub.OpsService.UserWorkOrderList(c, pasturePb.WorkOrderStatus_Kind(workOrderStatus), pagination)
  85. if err != nil {
  86. apierr.ClassifiedAbort(c, err)
  87. return
  88. }
  89. ginutil.JSONResp(c, res)
  90. }