package logic import ( "context" "lone-services/pkg/modelbase" "lone-services/pkg/utils" "lone-services/services/water/internal/dao" "lone-services/services/water/model" "lone-services/rpc/water/pb" "lone-services/services/water/internal/svc" "github.com/zeromicro/go-zero/core/logx" ) type GetWarningLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger BaseLogic } func NewGetWarningLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetWarningLogic { return &GetWarningLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // 获取 流量计 液位计 侵水计 超声 四种设备异常警告 func (l *GetWarningLogic) GetWarning(in *water.GetWarningItemsRequest) (*water.Response, error) { adminInfo := utils.GetUserFromCtx(l.ctx) if adminInfo.ID < utils.NumberOne { return l.fail(utils.ErrorNoLoginInfo) } w := modelbase.Params{ Page: int(in.Page), Size: int(in.Size)} w.Eq = make(map[string]string) if len(in.HostCode) > utils.NumberZero { w.Eq["host_code"] = in.HostCode } if in.Type > utils.NumberZero { w.Eq["type"] = string(in.Type) } var info []dao.WarningInfo items, err := model.WarningModel{}.Init().Page(w, &info) if err != nil { return l.fail(utils.Fail) } return l.ok(items) }