123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package message
- import (
- "errors"
- "fmt"
- "hongze/hongze_yb/global"
- "hongze/hongze_yb/models/request/message"
- "hongze/hongze_yb/models/response"
- "hongze/hongze_yb/models/tables/yb_message"
- "hongze/hongze_yb/services/user"
- "hongze/hongze_yb/utils"
- "time"
- )
- // GetList 查询消息列表
- func GetList(user user.UserInfo, msgType, pageIndex, pageSize int) (ret response.RespMessageList, err error) {
- var errMsg string
- defer func() {
- if err != nil {
- global.LOG.Critical(fmt.Sprintf("message GetList: userId=%d, err:%s, errMsg:%s", user.UserID, err.Error(), errMsg))
- }
- }()
- //校验入参
- //查询消息列表
- offset := (pageIndex - 1) * pageSize
- msgList, err := yb_message.GetListByType(user.UserID, msgType, offset, pageSize)
- if err != nil {
- errMsg = err.Error()
- err = errors.New("查询消息列表出错")
- return
- }
- total, err := yb_message.GetListTotalByType(user.UserID, msgType)
- if err != nil {
- errMsg = err.Error()
- err = errors.New("查询消息列表总数出错")
- return
- }
- //处理列表返回值
- var list []*response.RespMessageItem
- for _, v := range msgList {
- tmp := new(response.RespMessageItem)
- tmp.MsgId = v.MsgId
- tmp.IsRead = v.IsRead
- tmp.UserId = v.UserId
- tmp.Type = v.Type
- tmp.CreateTime = v.CreateTime
- tmp.ReportChapterId = v.ReportChapterId
- tmp.ReportId = v.ReportId
- tmp.OldReportId = v.OldReportId
- tmp.OldReportChapterId = v.OldReportChapterId
- tmp.ContentFirst = v.ContentFirst
- tmp.ContentSecond = v.ContentSecond
- tmp.Img = utils.DEFAULT_HONGZE_SYS_LOGO
- list = append(list, tmp)
- }
-
- ret.List = list
- ret.Paging = response.GetPaging(pageIndex, pageSize, int(total))
- return
- }
- // BatchRead 一键已读
- func BatchRead(user user.UserInfo, req message.ReqMessageBatch) (err error) {
- var errMsg string
- defer func() {
- if err != nil {
- global.LOG.Critical(fmt.Sprintf("message BatchRead: userId=%d, err:%s, errMsg:%s", user.UserID, err.Error(), errMsg))
- }
- }()
- //根据类型设置一键已读
- err = yb_message.SetBatchRead(user.UserID, req.Type)
- if err != nil {
- errMsg = err.Error()
- err = errors.New("一键已读设置失败")
- return
- }
- return
- }
- // SingleRead 单条消息设置已读
- func SingleRead(user user.UserInfo, req message.ReqMessage) (err error) {
- var errMsg string
- defer func() {
- if err != nil {
- global.LOG.Critical(fmt.Sprintf("message SingleRead: userId=%d, err:%s, errMsg:%s", user.UserID, err.Error(), errMsg))
- }
- }()
- if req.MsgId <=0 {
- err = errors.New("请输入消息序号")
- return
- }
- //查询当前消息
- msgInfo, err := yb_message.GetMsgByMsgId(user.UserID, req.MsgId)
- if err != nil {
- errMsg = err.Error()
- err = errors.New("查询消息出错")
- return
- }
- if msgInfo.MsgId <= 0 {
- err = errors.New("消息不存在")
- return
- }
- if msgInfo.IsRead == 1 {
- return
- }
- msgInfo.IsRead = 1
- msgInfo.ModifyTime = time.Now()
- //根据类型设置一键已读
- err = msgInfo.Update([]string{"is_read","modify_time"})
- if err != nil {
- errMsg = err.Error()
- err = errors.New("已读设置失败")
- return
- }
- return
- }
- // SingleDelete 单条消息删除
- func SingleDelete(user user.UserInfo, req message.ReqMessage) (err error) {
- var errMsg string
- defer func() {
- if err != nil {
- global.LOG.Critical(fmt.Sprintf("message SingleDelete: userId=%d, err:%s, errMsg:%s", user.UserID, err.Error(), errMsg))
- }
- }()
- if req.MsgId <=0 {
- err = errors.New("请输入消息序号")
- return
- }
- //查询当前消息
- msgInfo, err := yb_message.GetMsgByMsgId(user.UserID, req.MsgId)
- if err != nil {
- errMsg = err.Error()
- err = errors.New("查询消息出错")
- return
- }
- if msgInfo.MsgId <= 0 {
- err = errors.New("消息不存在")
- return
- }
- if msgInfo.Enabled == 0 {
- return
- }
- msgInfo.Enabled = 0
- msgInfo.ModifyTime = time.Now()
- //根据类型设置一键已读
- err = msgInfo.Update([]string{"enabled","modify_time"})
- if err != nil {
- errMsg = err.Error()
- err = errors.New("删除消息失败")
- return
- }
- return
- }
|