|
@@ -13,6 +13,7 @@ import (
|
|
|
operationPb "kpt-tmr-group/proto/go/backend/operation"
|
|
|
"net/http"
|
|
|
"strconv"
|
|
|
+ "sync"
|
|
|
|
|
|
"go.uber.org/zap"
|
|
|
|
|
@@ -61,7 +62,6 @@ func (s *StoreEntry) PastureAccountDistribution(ctx context.Context, groupPastur
|
|
|
return xerr.Customf("%s", res.Msg)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -210,6 +210,19 @@ func (s *StoreEntry) AddCattleCategory(ctx context.Context, req *operationPb.Add
|
|
|
if err := s.DB.Create(cattleCategory).Error; err != nil {
|
|
|
return xerr.WithStack(err)
|
|
|
}
|
|
|
+ defer func() {
|
|
|
+ body := &model.CategoryRequest{
|
|
|
+ ParentId: int32(req.ParentId),
|
|
|
+ ParentName: req.ParentName,
|
|
|
+ Name: req.Name,
|
|
|
+ Id: int32(req.Id),
|
|
|
+ Number: req.Number,
|
|
|
+ IsShow: int32(req.IsShow),
|
|
|
+ GroupId: int32(cattleCategory.Id),
|
|
|
+ }
|
|
|
+ s.CategoryDistribution(ctx, model.CattleCategoryDistributionURl, body)
|
|
|
+ }()
|
|
|
+
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -234,6 +247,19 @@ func (s *StoreEntry) EditCattleCategory(ctx context.Context, req *operationPb.Ad
|
|
|
Updates(updateData).Error; err != nil {
|
|
|
return xerr.WithStack(err)
|
|
|
}
|
|
|
+
|
|
|
+ defer func() {
|
|
|
+ body := &model.CategoryRequest{
|
|
|
+ ParentId: int32(req.ParentId),
|
|
|
+ ParentName: req.ParentName,
|
|
|
+ Name: req.Name,
|
|
|
+ Id: int32(req.Id),
|
|
|
+ Number: req.Number,
|
|
|
+ IsShow: int32(req.IsShow),
|
|
|
+ GroupId: int32(req.Id),
|
|
|
+ }
|
|
|
+ s.CategoryDistribution(ctx, model.CattleCategoryDistributionURl, body)
|
|
|
+ }()
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -250,6 +276,18 @@ func (s *StoreEntry) IsShowCattleCategory(ctx context.Context, req *operationPb.
|
|
|
if err := s.DB.Model(new(model.CattleCategory)).Where("id = ?", req.CattleCategoryId).Update("is_show", req.IsShow).Error; err != nil {
|
|
|
return xerr.WithStack(err)
|
|
|
}
|
|
|
+ defer func() {
|
|
|
+ body := &model.CategoryRequest{
|
|
|
+ ParentId: int32(cattleCategory.ParentId),
|
|
|
+ ParentName: cattleCategory.ParentName,
|
|
|
+ Name: cattleCategory.Name,
|
|
|
+ Id: int32(req.CattleCategoryId),
|
|
|
+ Number: cattleCategory.Number,
|
|
|
+ IsShow: int32(req.IsShow),
|
|
|
+ GroupId: int32(cattleCategory.Id),
|
|
|
+ }
|
|
|
+ s.CategoryDistribution(ctx, model.CattleCategoryDistributionURl, body)
|
|
|
+ }()
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -310,6 +348,18 @@ func (s *StoreEntry) AddForageCategory(ctx context.Context, req *operationPb.Add
|
|
|
if err := s.DB.Create(forageCategory).Error; err != nil {
|
|
|
return xerr.WithStack(err)
|
|
|
}
|
|
|
+ defer func() {
|
|
|
+ body := &model.CategoryRequest{
|
|
|
+ ParentId: int32(req.ParentId),
|
|
|
+ ParentName: req.ParentName,
|
|
|
+ Name: req.Name,
|
|
|
+ Id: int32(req.Id),
|
|
|
+ Number: req.Number,
|
|
|
+ IsShow: int32(req.IsShow),
|
|
|
+ GroupId: int32(forageCategory.Id),
|
|
|
+ }
|
|
|
+ s.CategoryDistribution(ctx, model.ForageCategoryDistributionURl, body)
|
|
|
+ }()
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -328,12 +378,24 @@ func (s *StoreEntry) EditForageCategory(ctx context.Context, req *operationPb.Ad
|
|
|
Number: req.Number,
|
|
|
ParentId: req.ParentId,
|
|
|
}
|
|
|
-
|
|
|
if err := s.DB.Model(new(model.ForageCategory)).Omit("is_show", "is_delete").
|
|
|
Where("id = ?", req.Id).
|
|
|
Updates(updateData).Error; err != nil {
|
|
|
return xerr.WithStack(err)
|
|
|
}
|
|
|
+ defer func() {
|
|
|
+ body := &model.CategoryRequest{
|
|
|
+ ParentId: int32(req.ParentId),
|
|
|
+ ParentName: req.ParentName,
|
|
|
+ Name: req.Name,
|
|
|
+ Id: int32(req.Id),
|
|
|
+ Number: req.Number,
|
|
|
+ IsShow: int32(req.IsShow),
|
|
|
+ GroupId: int32(req.Id),
|
|
|
+ }
|
|
|
+ s.CategoryDistribution(ctx, model.ForageCategoryDistributionURl, body)
|
|
|
+ }()
|
|
|
+
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -350,6 +412,18 @@ func (s *StoreEntry) IsShowForageCategory(ctx context.Context, req *operationPb.
|
|
|
if err := s.DB.Model(new(model.ForageCategory)).Where("id = ?", req.ForageCategoryId).Update("is_show", req.IsShow).Error; err != nil {
|
|
|
return xerr.WithStack(err)
|
|
|
}
|
|
|
+ defer func() {
|
|
|
+ body := &model.CategoryRequest{
|
|
|
+ ParentId: int32(forageCategory.ParentId),
|
|
|
+ ParentName: forageCategory.ParentName,
|
|
|
+ Name: forageCategory.Name,
|
|
|
+ Id: req.ForageCategoryId,
|
|
|
+ Number: forageCategory.Number,
|
|
|
+ IsShow: int32(req.IsShow),
|
|
|
+ GroupId: int32(forageCategory.Id),
|
|
|
+ }
|
|
|
+ s.CategoryDistribution(ctx, model.ForageCategoryDistributionURl, body)
|
|
|
+ }()
|
|
|
return nil
|
|
|
}
|
|
|
|
|
@@ -408,6 +482,41 @@ func (s *StoreEntry) SearchForageCategoryList(ctx context.Context, req *operatio
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
+// CategoryDistribution 饲料分类和畜牧分类下发
|
|
|
+func (s *StoreEntry) CategoryDistribution(ctx context.Context, url string, req *model.CategoryRequest) error {
|
|
|
+ groupList, err := s.SearchGroupPastureList(ctx, &operationPb.SearchPastureRequest{})
|
|
|
+ if err != nil {
|
|
|
+ return xerr.WithStack(err)
|
|
|
+ }
|
|
|
+ wg := sync.WaitGroup{}
|
|
|
+ wg.Add(len(groupList.Data.List))
|
|
|
+ for _, v := range groupList.Data.List {
|
|
|
+ go func(data *operationPb.AddPastureRequest) {
|
|
|
+ res := &model.PastureCommonResponse{}
|
|
|
+ req.Id = data.Id
|
|
|
+ if err = s.PastureHttpClient(ctx, url, int64(data.Id), req, res); err != nil {
|
|
|
+ zaplog.Error("CategoryDistribution",
|
|
|
+ zap.Any("url", url),
|
|
|
+ zap.Any("err", err),
|
|
|
+ zap.Any("body", req),
|
|
|
+ zap.Any("res", res),
|
|
|
+ )
|
|
|
+ }
|
|
|
+
|
|
|
+ if res.Code != http.StatusOK {
|
|
|
+ zaplog.Error("CategoryDistribution-http",
|
|
|
+ zap.Any("url", url),
|
|
|
+ zap.Any("body", req),
|
|
|
+ zap.Any("res", res),
|
|
|
+ )
|
|
|
+ }
|
|
|
+ wg.Done()
|
|
|
+ }(v)
|
|
|
+ }
|
|
|
+ wg.Wait()
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
// CreateForage 创建饲料
|
|
|
func (s *StoreEntry) CreateForage(ctx context.Context, req *operationPb.AddForageRequest) error {
|
|
|
forage := model.NewForage(req)
|