package logic import ( "context" "lone-services/pkg/modelbase" "lone-services/pkg/utils" "lone-services/services/water/internal/dao" "lone-services/services/water/model" "time" "lone-services/rpc/water/pb" "lone-services/services/water/internal/svc" "github.com/zeromicro/go-zero/core/logx" ) type GetWaterInfoLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger BaseLogic } func NewGetWaterInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetWaterInfoLogic { return &GetWaterInfoLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // 获取月,日量 func (l *GetWaterInfoLogic) GetWaterInfo(in *water.EmptyRequest) (*water.Response, error) { adminInfo := utils.GetUserFromCtx(l.ctx) if adminInfo.ID < utils.NumberOne { return l.fail(utils.ErrorNoLoginInfo) } date := utils.Now().Format(time.DateOnly) w := modelbase.Params{Eq: map[string]string{"date": date}} var logDate dao.LogDate err := model.LogDateModel{}.Init().GetOne(w, &logDate) if err != nil { return l.fail(utils.Fail) } type ret struct { date int64 month int64 } var retData ret if logDate.Id > utils.NumberZero { retData.date = logDate.Water } month := utils.Now().Format("2006-01") w = modelbase.Params{Eq: map[string]string{"month": month}} var monthDate dao.LogDate err = model.LogDateModel{}.Init().GetOne(w, &monthDate) if err != nil { return l.fail(utils.Fail) } if logDate.Id > utils.NumberZero { retData.date = monthDate.Water } return l.ok(retData) }