itemHistoryDataFirstLastByTimeLogic.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package logic
  2. import (
  3. "GtDataStore/app/cmd/organization/internal/svc"
  4. "GtDataStore/app/cmd/organization/pb"
  5. "GtDataStore/common/xerr"
  6. "context"
  7. "github.com/pkg/errors"
  8. "github.com/zeromicro/go-zero/core/stores/sqlx"
  9. "github.com/zeromicro/go-zero/core/logx"
  10. )
  11. type ItemHistoryDataFirstLastByTimeLogic struct {
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. logx.Logger
  15. }
  16. func NewItemHistoryDataFirstLastByTimeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ItemHistoryDataFirstLastByTimeLogic {
  17. return &ItemHistoryDataFirstLastByTimeLogic{
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. Logger: logx.WithContext(ctx),
  21. }
  22. }
  23. func (l *ItemHistoryDataFirstLastByTimeLogic) ItemHistoryDataFirstLastByTime(in *pb.ItemHistoryDataByTimeReq) (*pb.ItemHistoryDataFirstLastResp, error) {
  24. FirstData, err1 := l.svcCtx.ItemHistoryData.QueryHistoryDataFirstByTime(l.ctx, in)
  25. if err1 != nil && err1 != sqlx.ErrNotFound {
  26. return nil, errors.Wrapf(xerr.NewErrCode(xerr.DB_ERROR), "model QueryHistoryDataFirstByTime get data err:%v", err1)
  27. }
  28. LastData, err2 := l.svcCtx.ItemHistoryData.QueryHistoryDataLastByTime(l.ctx, in)
  29. if err2 != nil && err2 != sqlx.ErrNotFound {
  30. return nil, errors.Wrapf(xerr.NewErrCode(xerr.DB_ERROR), "model QueryHistoryDataLastByTime get data err:%v", err2)
  31. }
  32. if err1 == sqlx.ErrNotFound && err2 == sqlx.ErrNotFound {
  33. return &pb.ItemHistoryDataFirstLastResp{}, nil
  34. }
  35. return &pb.ItemHistoryDataFirstLastResp{
  36. First: FirstData.Val,
  37. Last: LastData.Val,
  38. }, nil
  39. }