messageService.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package service
  2. import (
  3. "app.yhyue.com/moapp/MessageCenter/entity"
  4. "app.yhyue.com/moapp/MessageCenter/rpc/message"
  5. "log"
  6. )
  7. type MessageService struct {
  8. }
  9. // 修改消息阅读状态
  10. func (service *MessageService) ChangeReadStatus(data *message.ChangeReadStatusRequest) (int64, string) {
  11. orm := entity.Engine.NewSession()
  12. log.Println("123")
  13. defer orm.Close()
  14. m := entity.Message{}
  15. count, err1 := orm.Where("id=? and isdel=1 and appid=?", data.Id,data.Appid).Count(m)
  16. if count == 0 ||err1!=nil{
  17. return 0, "该消息不存在"
  18. }
  19. m.IsRead = int(data.ReadStatus)
  20. _, err := orm.Where("id=? and isdel=1", data.Id).Cols("isRead").Update(&m)
  21. if err != nil {
  22. orm.Rollback()
  23. return 0, "修改消息阅读状态失败"
  24. }
  25. err2 := orm.Commit()
  26. if err2 != nil {
  27. return 0, "修改消息阅读状态失败"
  28. }
  29. return 1, "修改消息阅读状态成功"
  30. }
  31. // 删除消息
  32. func (service *MessageService) DeleteMessage(id []int64,appId string) (int64, string) {
  33. orm := entity.Engine.NewSession()
  34. log.Println("123")
  35. defer orm.Close()
  36. m := entity.Message{}
  37. m.Isdel=-1
  38. count, err := orm.Where("appid=?",appId).In("id",id).Cols("isdel").Update(&m)
  39. if err != nil ||count==0{
  40. log.Println(err)
  41. log.Println(count)
  42. orm.Rollback()
  43. return 0, "删除消息失败"
  44. }
  45. err2 := orm.Commit()
  46. if err2 != nil {
  47. return 0, "删除消息失败"
  48. }
  49. return 1, "删除消息成功"
  50. }
  51. // 未读消息合计
  52. func (service *MessageService) CountUnread(userId string,appId string) (int64, string,int64) {
  53. orm := entity.Engine.NewSession()
  54. log.Println("123")
  55. defer orm.Close()
  56. m := entity.Message{}
  57. m.Isdel=-1
  58. count, err := orm.Where("receive_userid=? and isdel=1 and appid=?",userId,appId).Count(m)
  59. if err != nil ||count==0{
  60. log.Println(err)
  61. log.Println(count)
  62. return 0, "查询未读消息失败",0
  63. }
  64. return 1, "查询未读消息成功",count
  65. }