feed_template.go 2.6 KB

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