package handler import ( "context" "dashoo.cn/common_definition/comm_def" "dashoo.cn/opms_libary/myerrors" "dashoo.cn/opms_libary/request" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gconv" "github.com/gogf/gf/util/gvalid" "dashoo.cn/micro/app/model" "dashoo.cn/micro/app/service" ) type MessageHandler struct{} // GetList 获取列表 func (h *MessageHandler) GetList(ctx context.Context, req *model.SysMessageSearchReq, rsp *comm_def.CommonMsg) error { msgService, err := service.NewMessageService(ctx) if err != nil { return err } total, list, err := msgService.GetList(req) if err != nil { return err } rsp.Data = g.Map{"list": list, "total": total} return err } // GetUserHistory 获取用户历史公告列表 func (h *MessageHandler) GetUserHistory(ctx context.Context, req *model.SysMessageSearchReq, rsp *comm_def.CommonMsg) error { msgService, err := service.NewMessageService(ctx) if err != nil { return err } total, list, err := msgService.GetListByUser(req) if err != nil { return err } rsp.Data = g.Map{"list": list, "total": total} return err } // GetEntityById 详情 func (o *MessageHandler) GetEntityById(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error { // 参数校验 if req.Id == 0 { return myerrors.TipsError("请求参数不存在。") } msgService, err := service.NewMessageService(ctx) if err != nil { return err } entity, err := msgService.GetEntityById(req.Id) if err != nil { return err } rsp.Data = entity return nil } // Create 添加 func (h *MessageHandler) Create(ctx context.Context, req *model.CreateSysMessageReq, rsp *comm_def.CommonMsg) error { // 检查请求参数 if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } msgService, err := service.NewMessageService(ctx) if err != nil { return err } err = msgService.Create(req) return err } // UpdateById 编辑 func (h *MessageHandler) UpdateById(ctx context.Context, req *model.UpdateSysMessageReq, rsp *comm_def.CommonMsg) error { // 检查请求参数 if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } msgService, err := service.NewMessageService(ctx) if err != nil { return err } err = msgService.UpdateById(req) return err } // DeleteByIds 删除菜单 func (h *MessageHandler) DeleteByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error { msgService, err := service.NewMessageService(ctx) if err != nil { return err } err = msgService.DeleteByIds(req.Ids) return err } // AllRead 全部已读 func (h *MessageHandler) AllRead(ctx context.Context, null, rsp *comm_def.CommonMsg) error { msgService, err := service.NewMessageService(ctx) if err != nil { return err } err = msgService.AllRead() return err } type SystemMessageHandler struct{} // 系统内部创建使用 func (h *SystemMessageHandler) Create(ctx context.Context, req g.MapStrStr, rsp *comm_def.CommonMsg) error { reqData := new(model.CreateSysMessageReq) if err := gconv.Struct(req, reqData); err != nil { return err } // 检查请求参数 if err := gvalid.CheckStruct(ctx, reqData, nil); err != nil { return err } msgService, err := service.NewMessageService(ctx) if err != nil { return err } msgService.CxtUser = &request.UserInfo{ Id: 0, UserName: "system", NickName: "系统自动创建", } err = msgService.Create(reqData) return err }