feed_template.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package group
  2. import (
  3. "context"
  4. "net/http"
  5. "tmr-watch/models"
  6. "tmr-watch/module"
  7. feedPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/pasture"
  8. )
  9. func SearchFeedTemplateList(ctx context.Context, req *feedPb.SearchFeedTemplateRequest) (*feedPb.SearchFeedTemplateResponse, error) {
  10. feedTemplateList, total, err := module.NewSearchFeedTemplateList(ctx, req)
  11. if err != nil {
  12. return nil, err
  13. }
  14. feedDetailVersionLogList, err := module.FeedDetailVersionLogList(ctx)
  15. if err != nil {
  16. return nil, err
  17. }
  18. res := &feedPb.SearchFeedTemplateResponse{
  19. Code: http.StatusOK,
  20. Msg: "ok",
  21. Data: &feedPb.FeedTemplateData{
  22. Page: req.Pagination.Page,
  23. PageSize: req.Pagination.PageSize,
  24. Total: int32(total),
  25. List: models.FeedTemplateSlice(feedTemplateList).ToPB(feedDetailVersionLogList),
  26. },
  27. }
  28. return res, nil
  29. }
  30. func GetFeetTemplateVersion(ctx context.Context, pastureId, feedTemplateId int) (*feedPb.GetFeetTemplateVersionResponse, error) {
  31. historyFeedTemplateDetailList, err := module.SearchFeedTemplateDetailListByFeedTemplateId(ctx, int64(pastureId), int64(feedTemplateId))
  32. if err != nil {
  33. return nil, err
  34. }
  35. newFeedTemplateDetailVersion, err := module.GetFeedDetailVersionByDesc(ctx, int64(pastureId), int64(feedTemplateId))
  36. if err != nil {
  37. return nil, err
  38. }
  39. newFeedTemplateDetailVersionLogList, err := module.SearchFeedDetailVersionLogById(ctx, int64(pastureId), int64(feedTemplateId), newFeedTemplateDetailVersion.Id)
  40. if err != nil {
  41. return nil, err
  42. }
  43. res := &feedPb.GetFeetTemplateVersionResponse{
  44. Code: http.StatusOK,
  45. Msg: "ok",
  46. Data: make([]*feedPb.FeetTemplateVersionData, 0),
  47. }
  48. // 比例两个配方饲料的不同
  49. for _, n := range newFeedTemplateDetailVersionLogList {
  50. for _, v := range historyFeedTemplateDetailList {
  51. if v.FName == n.ForageName {
  52. res.Data = append(res.Data, &feedPb.FeetTemplateVersionData{
  53. ForageName: v.FName,
  54. ForageGroupName: v.FeedGroup,
  55. Weight: float32(v.LWeight / 100),
  56. StirDelay: v.AutoSecond,
  57. AllowError: v.Deviation,
  58. Sort: v.Sort,
  59. IsLockCowCountRatio: v.IsLockCount,
  60. IsModify: v.IsModify,
  61. Status: feedPb.VersionStatus_UPDATE,
  62. })
  63. }
  64. }
  65. }
  66. return res, nil
  67. }
  68. func FeetTemplateUpgradeNewVersion(ctx context.Context, pastureId, feedTemplateId int) error {
  69. return module.FeetTemplateUpgradeNewVersion(ctx, int64(pastureId), int64(feedTemplateId))
  70. }