123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- package service
- import (
- "app.yhyue.com/moapp/MessageCenter/entity"
- "app.yhyue.com/moapp/MessageCenter/rpc/message"
- "errors"
- "log"
- )
- type MessageService struct {
- }
- // 修改消息阅读状态
- func (service *MessageService) ChangeReadStatus(data *message.ChangeReadStatusRequest) (int64, string) {
- orm := entity.Engine.NewSession()
- log.Println("123")
- defer orm.Close()
- m := entity.Message{}
- count, err1 := orm.Where("id=? and isdel=1 and appid=?", data.Id, data.Appid).Count(m)
- if count == 0 || err1 != nil {
- return 0, "该消息不存在"
- }
- m.IsRead = int(data.ReadStatus)
- _, err := orm.Where("id=? and isdel=1", data.Id).Cols("isRead").Update(&m)
- if err != nil {
- orm.Rollback()
- return 0, "修改消息阅读状态失败"
- }
- err2 := orm.Commit()
- if err2 != nil {
- return 0, "修改消息阅读状态失败"
- }
- return 1, "修改消息阅读状态成功"
- }
- // 删除消息
- func (service *MessageService) DeleteMessage(id []int64, appId string) (int64, string) {
- orm := entity.Engine.NewSession()
- log.Println("123")
- defer orm.Close()
- m := entity.Message{}
- m.Isdel = -1
- count, err := orm.Where("appid=?", appId).In("id", id).Cols("isdel").Update(&m)
- if err != nil || count == 0 {
- log.Println(err)
- log.Println(count)
- orm.Rollback()
- return 0, "删除消息失败"
- }
- err2 := orm.Commit()
- if err2 != nil {
- return 0, "删除消息失败"
- }
- return 1, "删除消息成功"
- }
- // 未读消息合计
- func (service *MessageService) CountUnread(userId string, appId string) (int64, string, int64) {
- orm := entity.Engine.NewSession()
- log.Println("123")
- defer orm.Close()
- m := entity.Message{}
- count, err := orm.Where("receive_userid=? and isdel=1 and appid=?", userId, appId).Count(m)
- if err != nil {
- log.Println(err)
- log.Println(count)
- return 0, "查询未读消息失败", 0
- }
- log.Println(count)
- return 1, "查询未读消息成功", count
- }
- // 获取指定用户指定分类最新一条未读消息
- func (service *MessageService)LastMessage(userId string, appId string, msgType int64) ( *message.Messages,error) {
- orm := entity.Engine.NewSession()
- log.Println("123")
- defer orm.Close()
- m1 := []*entity.Message{}
- //m := []*message.Messages{}
- err := orm.Select("*").Where("receive_userid=? and isdel=1 and appid=? and isRead=0 and msg_type=?", userId, appId, msgType).OrderBy("createtime desc").Limit(1,0).Find(&m1)
- if err != nil {
- log.Println(err)
- log.Println("咋回事")
- return nil ,errors.New("查询未读消息失败")
- }
- //msg := message.Messages{
- // Appid: m.AppId,
- // ReceiveUserId: m.ReceiveUserid,
- // ReceiveName: m.ReceiveName,
- // SendUserId: m.SendUserid,
- // SendName: m.SendName,
- // Createtime: m.CreateTime.Format("2006-01-02 15:04:05"),
- // Title: m.Title,
- // MsgType: int64(m.MsgType),
- // Link: m.Link,
- // CiteId: int64(m.CiteId),
- // Content: m.Content,
- // IsRead: int64(m.IsRead),
- //}
- //log.Println(count)
- if len(m1)>0{
- m := m1[0]
- msg := message.Messages{
- Appid: m.AppId,
- ReceiveUserId: m.ReceiveUserid,
- ReceiveName: m.ReceiveName,
- SendUserId: m.SendUserid,
- SendName: m.SendName,
- Createtime: m.CreateTime.Format("2006-01-02 15:04:05"),
- Title: m.Title,
- MsgType: int64(m.MsgType),
- Link: m.Link,
- CiteId: int64(m.CiteId),
- Content: m.Content,
- IsRead: int64(m.IsRead),
- }
- return &msg,nil
- }else {
- return nil,nil
- }
- }
|