Message.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <?php
  2. namespace app\admin\model;
  3. use\think\Model;
  4. use think\Session;
  5. use think\cache\driver\Redis;
  6. use think\Loader;
  7. use think\Cache;
  8. use think\DB;
  9. class Message extends Model
  10. {
  11. /**
  12. * 消息列表
  13. */
  14. public function messageList()
  15. {
  16. $code = -2;
  17. $limit = (input('pageSize') ?? 10);
  18. $currentPage = (input('currentPage') ?? 1);
  19. $platformName = input('platformName');
  20. $getData = [
  21. 'pageSize' => $limit,
  22. 'currentPage' => $currentPage,
  23. ];
  24. // 验证传参.
  25. $validate = Loader::validate('Common');
  26. if (!$validate->scene('messageList')->check($getData)) {
  27. return [
  28. 'code' => $code,
  29. 'msg' => $validate->getError(),
  30. 'data' => [
  31. 'messageList' => [],
  32. 'messageCount' => 0,
  33. 'currentPage' => 1,
  34. 'page' => [],
  35. ],
  36. ];
  37. }
  38. $offset = (($currentPage - 1) * $limit);
  39. $where = [];
  40. if (strlen($platformName)) {
  41. $where['platform_name'] = [
  42. 'like',
  43. "%$platformName%"
  44. ];
  45. }
  46. $messageList = $this
  47. ->field('message_title, message_time, message_ip, platform_name, message_id')
  48. ->alias('a')
  49. ->join('platform b', 'a.platform_identity = b.platform_identity');
  50. if ($where) {
  51. $messageList = $messageList->where($where);
  52. }
  53. $messageList = $messageList->order('message_time', 'desc')
  54. ->limit($offset, $limit)
  55. ->select();
  56. // 查询总数.
  57. $messageCount = $this
  58. ->alias('a')
  59. ->join('platform b', 'a.platform_identity = b.platform_identity');
  60. if ($where) {
  61. $messageCount = $messageCount->where($where);
  62. }
  63. $messageCount = $messageCount->count();
  64. // 分页.
  65. $page = getPage($messageCount, $limit, $currentPage);
  66. return [
  67. 'code' => 1,
  68. 'msg' => lang('MC01005'),
  69. 'data' => [
  70. 'messageList' => $messageList,
  71. 'messageCount' => $messageCount,
  72. 'currentPage' => $currentPage,
  73. 'page' => $page,
  74. ],
  75. ];
  76. }//end messageList()
  77. /**
  78. * 消息详情
  79. */
  80. public function messageInfo()
  81. {
  82. $code = -2;
  83. $messageId = input('id');
  84. $getData = ['message_id' => $messageId];
  85. // 验证传参.
  86. $validate = Loader::validate('Common');
  87. if (!$validate->scene('messageInfo')->check($getData)) {
  88. return [
  89. 'code' => $code,
  90. 'msg' => $validate->getError(),
  91. 'data' => ['messageInfo' => []],
  92. ];
  93. }
  94. $messageInfo = $this
  95. ->field('message_title, message_time, message_content, platform_name')
  96. ->alias('a')
  97. ->join('platform b', 'a.platform_identity = b.platform_identity')
  98. ->where($getData)
  99. ->find();
  100. if (empty($messageInfo) === false) {
  101. return [
  102. 'code' => 1,
  103. 'msg' => lang('MC01005'),
  104. 'data' => ['messageInfo' => $messageInfo],
  105. ];
  106. } else {
  107. return [
  108. 'code' => $code,
  109. 'msg' => lang('EC01002'),
  110. 'data' => ['messageInfo' => []],
  111. ];
  112. }
  113. }//end messageInfo()
  114. /**
  115. * 删除所选消息
  116. */
  117. public function delMessage($ids)
  118. {
  119. $this->wherein('message_id',$ids)->delete();
  120. return [
  121. 'code' => 1,
  122. 'msg' => lang('MC01003'),
  123. 'data' => [],
  124. ];
  125. }//end delMessage()
  126. }