// ========================================================================== // GFast自动生成api操作代码。 // 生成日期:2024-04-11 16:56:36 // 生成路径: api/v1/system/notifications.go // 生成人:gfast // desc:通知信息相关参数 // company:云南奇讯科技有限公司 // ========================================================================== package system import ( "github.com/gogf/gf/v2/frame/g" commonApi "github.com/tiger1103/gfast/v3/api/v1/common" comModel "github.com/tiger1103/gfast/v3/internal/app/common/model" "github.com/tiger1103/gfast/v3/internal/app/system/model" ) // NotificationsSearchReq 分页请求参数 type NotificationsSearchReq struct { g.Meta `path:"/list" tags:"通知信息" method:"get" summary:"通知信息列表"` Id string `p:"id"` // CreatedAt string `p:"createdAt" v:"createdAt@datetime#需为YYYY-MM-DD hh:mm:ss格式"` // NotificationText string `p:"notificationText"` // 通知正文 Route string `p:"route"` // 跳转的路由 NotificationTime string `p:"notificationTime"` // 通知时间 Initiator string `p:"initiator" v:"initiator@integer#发起人需为整数"` // 发起人 ProjectId string `p:"projectId" v:"projectId@integer#项目ID需为整数"` // 项目ID Type string `p:"type"` // 0 未读 | 1 已读 Title string `p:"title"` // 标题 IsApp string `p:"isApp"` // 0 PC | 1 App 公告通知 | 2 公告新闻 commonApi.PageReq commonApi.Author } // NotificationsSearchRes 列表返回结果 type NotificationsSearchRes struct { g.Meta `mime:"application/json"` commonApi.ListRes List []*model.NotificationsListRes `json:"list"` } // NotificationsAddReq 添加操作请求参数 type NotificationsAddReq struct { g.Meta `path:"/add" tags:"通知信息" method:"post" summary:"通知信息添加"` commonApi.Author NotificationText string `p:"notificationText" ` Route string `p:"route" ` NotificationTime string `p:"notificationTime" ` Initiator int `p:"initiator" ` ProjectId int `p:"projectId" ` } // NotificationsAddRes 添加操作返回结果 type NotificationsAddRes struct { commonApi.EmptyRes } // NotificationsEditReq 修改操作请求参数 type NotificationsEditReq struct { g.Meta `path:"/edit" tags:"通知信息" method:"put" summary:"通知信息修改"` commonApi.Author Id uint `p:"id" v:"required#主键ID不能为空"` Title string `p:"title"` NotificationText string `p:"text" ` Route string `p:"route" ` NotificationTime string `p:"notificationTime" ` Initiator int `p:"initiator" ` ProjectId int `p:"projectId" ` } // NotificationsEditRes 修改操作返回结果 type NotificationsEditRes struct { commonApi.EmptyRes } // NotificationsGetReq 获取一条数据请求 type NotificationsGetReq struct { g.Meta `path:"/get" tags:"通知信息" method:"get" summary:"获取通知信息信息"` commonApi.Author Id uint `p:"id" v:"required#主键必须"` // 通过主键获取 } // NotificationsGetRes 获取一条数据结果 type NotificationsGetRes struct { g.Meta `mime:"application/json"` *model.NotificationsInfoRes } // NotificationsDeleteReq 删除数据请求 type NotificationsDeleteReq struct { g.Meta `path:"/delete" tags:"通知信息" method:"delete" summary:"删除通知信息"` commonApi.Author Ids []uint `p:"ids" v:"required#主键必须"` // 通过主键删除 } // NotificationsDeleteRes 删除数据返回 type NotificationsDeleteRes struct { commonApi.EmptyRes } // NotificationsPublishReq 发布一条通知 type NotificationsPublishReq struct { g.Meta `path:"/publish" tags:"通知信息" method:"post" summary:"发布通知"` commonApi.Author // 通知标题 NotificationTitle string `p:"title" v:"required#通知标题不能为空|max-length:50#最大输入字数为50" dc:"通知标题"` // 消息正文 NotificationText string `p:"text" v:"required#消息正文不能为空|max-length:300#最大输入字数为255" dc:"通知正文"` // 跳转路由 Route string `p:"route" dc:"消息需要跳转的路由"` // 通知人员 Users []int `p:"users" dc:"消息接收人员"` // 通知岗位下的人员 Positions []int `p:"positions" dc:"通知该岗位下的人员"` // 附件 Files []*comModel.UpFile `p:"files" dc:"消息附件"` // 需事先通过 pload/singleFile 上传 // 通知类型 IsApp int `p:"isApp" dc:" 0 PC | 1 App 公告通知 | 2 公告新闻"` // 关联的 PC 端项目新闻ID ProjectNewsId int64 `p:"projectNewsId" dc:"关联的 PC 端项目新闻ID"` // 项目ID ProjectId int `p:"projectId" v:"required#项目ID不能为空" dc:"项目ID"` } // NotificationsPublishRes 发布一条通知返回 type NotificationsPublishRes struct { commonApi.EmptyRes } // NotificationsGetUserReq 获取当前用户的通知信息 type NotificationsGetUserReq struct { g.Meta `path:"/getNotify" tags:"App" method:"get" summary:"获取当前用户的通知信息"` commonApi.Author commonApi.PageReq ProjectId int `p:"projectId" v:"required#项目ID不能为空" dc:"项目ID"` // 项目ID IsApp int `p:"isApp" d:"0" dc:"App 获取通知公告时为 1 | App 获取新闻时为 2"` // 是否是 App } // NotificationsGetUserRes 获取当前用户的通知信息返回 type NotificationsGetUserRes struct { g.Meta `mime:"application/json"` commonApi.ListRes List []Notifications } type Notifications struct { Id string `p:"id" orm:"id" dc:"通知ID"` // 消息ID NotificationTitle string `p:"title" orm:"title" dc:"公告标题"` // 标题 NotificationText string `p:"notificationText" orm:"notification_text" dc:"公告正文"` // 通知正文 NotificationTime string `p:"notificationTime" orm:"notification_time" dc:"通知时间"` // 通知时间 NotificationStatus string `p:"notification_status" orm:"notification_status" dc:"0 未读 | 1 已读"` // 通知状态 Initiator string `p:"initiator" orm:"initiator" dc:"发起人"` // 发起人 } // NotificationsReadReq 标记消息为已读 type NotificationsReadReq struct { g.Meta `path:"/read" tags:"通知信息" method:"post" summary:"标记消息为已读"` commonApi.Author // 项目ID ProjectId int `p:"projectId" v:"required#项目ID不能为空" dc:"项目ID"` } // NotificationsReadRes 标记消息为已读返回 type NotificationsReadRes struct { commonApi.EmptyRes } // NotificationsDetailReq 查看通知公告详情 type NotificationsDetailReq struct { g.Meta `path:"/detail" tags:"App" method:"get" summary:"查看一个通知公告详情"` commonApi.Author Id int `p:"id" v:"required#消息ID不能为空" dc:"通知公告的ID"` // 消息ID } // NotificationsDetailRes 查看通知公告详情返回 type NotificationsDetailRes struct { g.Meta `mime:"application/json"` List NotificationsDetail } // 查看通知公告的详细数据 type NotificationsDetail struct { NotificationTitle string `json:"title" dc:"标题"` // 标题 NotificationText string `json:"text" dc:"通知正文"` // 通知正文 NotificationTime string `json:"time" dc:"发布时间"` // 发布时间 ReadNum int `json:"readNum" dc:"总阅读数"` // 总阅读数 ReadPeople int `json:"readPeople" dc:"已读人数"` // 已读人数 UnreadPeople int `json:"unreadPeople" dc:"未读人数"` // 未读人数 Files []model.FileInfo `json:"files" dc:"附件"` // 附件 } // NotificationsGetPeopleReq 获取通知公告的未读人员或已读人员 type NotificationsGetPeopleReq struct { g.Meta `path:"/getPeople" tags:"App" method:"get" summary:"获取通知公告的未读人员或已读人员"` commonApi.Author commonApi.PageReq Id int `p:"id" v:"required#消息ID不能为空" dc:"通知公告的ID"` // 消息ID Status int `p:"status" v:"required#状态不能为空" dc:"0 未读 | 1 已读"` // 0 未读 | 1 已读 } // NotificationsGetPeopleRes 获取通知公告的未读人员或已读人员返回 type NotificationsGetPeopleRes struct { g.Meta `mime:"application/json"` commonApi.ListRes List []AppUserInfo } // 用户详情 type AppUserInfo struct { Id uint `json:"id" dc:"用户ID"` // 用户ID // 头像 Avatars string `json:"avatar" dc:"头像"` // 用户名 Username string `json:"username" dc:"用户名"` // 已读时间 ReadTime string `json:"readTime" dc:"已读时间"` }