drugs.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package goods
  2. import (
  3. "kpt-pasture/http/middleware"
  4. "net/http"
  5. operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"
  6. "gitee.com/xuyiping_admin/pkg/valid"
  7. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  8. "gitee.com/xuyiping_admin/pkg/apierr"
  9. "gitee.com/xuyiping_admin/pkg/ginutil"
  10. "github.com/gin-gonic/gin"
  11. )
  12. func DrugsList(c *gin.Context) {
  13. var req pasturePb.SearchDrugsRequest
  14. if err := ginutil.BindProto(c, &req); err != nil {
  15. apierr.AbortBadRequest(c, http.StatusOK, err)
  16. return
  17. }
  18. pagination := &pasturePb.PaginationModel{
  19. Page: int32(c.GetInt(middleware.Page)),
  20. PageSize: int32(c.GetInt(middleware.PageSize)),
  21. PageOffset: int32(c.GetInt(middleware.PageOffset)),
  22. }
  23. res, err := middleware.Dependency(c).StoreEventHub.OpsService.DrugsList(c, &req, pagination)
  24. if err != nil {
  25. apierr.ClassifiedAbort(c, err)
  26. return
  27. }
  28. ginutil.JSONResp(c, res)
  29. }
  30. func DrugsCreateOrUpdate(c *gin.Context) {
  31. var req pasturePb.SearchDrugsList
  32. if err := ginutil.BindProto(c, &req); err != nil {
  33. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  34. return
  35. }
  36. if err := valid.ValidateStruct(&req,
  37. valid.Field(&req.Name, valid.Required),
  38. valid.Field(&req.CategoryId, valid.Required),
  39. valid.Field(&req.Producer, valid.Required),
  40. valid.Field(&req.Usage, valid.Required),
  41. valid.Field(&req.Unit, valid.Required),
  42. valid.Field(&req.Specs, valid.Required),
  43. valid.Field(&req.Inventory, valid.Required),
  44. valid.Field(&req.ExpirationAt, valid.Required),
  45. ); err != nil {
  46. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  47. return
  48. }
  49. if err := middleware.BackendOperation(c).OpsService.DrugsCreate(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. }