messageService.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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", data.Id).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) (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.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) (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",userId).Count(m)
  59. if err != nil ||count==0{
  60. log.Println(err)
  61. log.Println(count)
  62. orm.Rollback()
  63. return 0, "查询未读消息失败",0
  64. }
  65. return 1, "查询未读消息成功",count
  66. }