edb_inspection_message.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package data
  2. import (
  3. "errors"
  4. "eta/eta_api/models/data_manage/edb_inspection"
  5. "eta/eta_api/utils"
  6. "time"
  7. "github.com/rdlucklib/rdluck_tools/paging"
  8. )
  9. func ReadEdbInspectionMessage(messageId int64, adminId int) (msg string, err error) {
  10. message, err := edb_inspection.GetMessageById(int64(messageId))
  11. if err != nil {
  12. if utils.IsErrNoRow(err) {
  13. msg = "消息不存在"
  14. return
  15. }
  16. msg = "获取消息失败"
  17. return
  18. }
  19. if message.AdminId != int64(adminId) {
  20. msg = "您没有权限查看该消息"
  21. err = errors.New("no permission")
  22. return
  23. }
  24. message.IsRead = 1
  25. message.ModifyTime = time.Now()
  26. err = message.Update([]string{"IsRead", "ModifyTime"})
  27. if err != nil {
  28. msg = "已读失败"
  29. return
  30. }
  31. return
  32. }
  33. func ReadEdbInspectionMessageList(messageId []int64, adminId int) (msg string, err error) {
  34. err = edb_inspection.BatchModifyEdbInspectionMessageIsRead(messageId, adminId)
  35. if err != nil {
  36. msg = "已读失败"
  37. return
  38. }
  39. return
  40. }
  41. func SendInspectionMessages(adminId int, message *edb_inspection.EdbInspectionMessage) (data *edb_inspection.EdbInspectionMessageResp, err error) {
  42. resp := edb_inspection.EdbInspectionMessageResp{
  43. MessageId: message.MessageId,
  44. Content: "巡检状态异常",
  45. Remark: message.Message,
  46. IsRead: message.IsRead,
  47. Source: message.Source,
  48. TerminalCode: message.TerminalCode,
  49. InspectionTime: message.InspectionTime.Format(utils.FormatDateTime),
  50. }
  51. return &resp, nil
  52. }
  53. func GetHistoryInspectionMessages(adminId int) (items []*edb_inspection.EdbInspectionMessage, err error) {
  54. messageList, err := edb_inspection.GetEdbInspectionMessageByAdminId(adminId)
  55. if err != nil {
  56. return
  57. }
  58. items = messageList
  59. return
  60. }
  61. func GetInspectionMessageList(adminid int, currentIndex, pageSize int) (resp edb_inspection.EdbInspectionMessageListResp, err error) {
  62. startSize := utils.StartIndex(currentIndex, pageSize)
  63. total, err := edb_inspection.GetEdbInspectionMessageCountByAdminId(adminid)
  64. if err != nil {
  65. return
  66. }
  67. if total == 0 {
  68. resp.List = make([]*edb_inspection.EdbInspectionMessageResp, 0)
  69. resp.Paging = paging.GetPaging(currentIndex, pageSize, total)
  70. return
  71. }
  72. messageList, err := edb_inspection.GetEdbInspectionMessagePageByAdminId(adminid, startSize, pageSize)
  73. if err != nil {
  74. return
  75. }
  76. unreadTotal, err := edb_inspection.GetEdbInspectionMessageUnreadCountByAdminId(adminid)
  77. if err != nil {
  78. return
  79. }
  80. resp.List = toEdbInspectionMessageResp(messageList)
  81. resp.Paging = paging.GetPaging(currentIndex, pageSize, total)
  82. resp.UnreadTotal = unreadTotal
  83. return
  84. }
  85. func toEdbInspectionMessageResp(items []*edb_inspection.EdbInspectionMessage) (list []*edb_inspection.EdbInspectionMessageResp) {
  86. list = make([]*edb_inspection.EdbInspectionMessageResp, 0)
  87. for _, message := range items {
  88. item := edb_inspection.EdbInspectionMessageResp{
  89. MessageId: message.MessageId,
  90. InspectionRecordId: message.InspectionRecordId,
  91. AdminId: message.AdminId,
  92. Content: "巡检状态异常",
  93. Remark: message.Message,
  94. IsRead: message.IsRead,
  95. Source: message.Source,
  96. TerminalCode: message.TerminalCode,
  97. InspectionTime: message.InspectionTime.Format(utils.FormatDateTime),
  98. }
  99. list = append(list, &item)
  100. }
  101. return
  102. }