MessageBoardModel.class.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace Admin\Model;
  3. use Common\Model\MessageBoardModel as MessageBoard;
  4. /**
  5. * 留言板
  6. * @author: linch
  7. * Class MessageBoardModel
  8. * @package Admin\Model
  9. */
  10. class MessageBoardModel extends MessageBoard
  11. {
  12. /**
  13. * 状态列表
  14. * @author: linch
  15. * @return array
  16. */
  17. public function get_status_list() {
  18. return array(
  19. self::status_wait => '待处理',
  20. self::status_processed => '已联系',
  21. );
  22. }
  23. /**
  24. * 获取来源
  25. * @author: linch
  26. * @return array
  27. */
  28. public function get_source_list() {
  29. return array(
  30. self::source_official_web => '官网',
  31. self::source_official_wap => 'wap端',
  32. );
  33. }
  34. /**
  35. * 申请列表
  36. * @author: linch
  37. * @param array $search 筛选条件
  38. * @param int $page_num 页码
  39. * @param int $page_size 页行数
  40. * @return array
  41. */
  42. public function get_list($search, $page_num, $page_size) {
  43. $where = array(
  44. 'flag' => self::flag_on,
  45. );
  46. $s_time = strtotime($search['s_time']);
  47. $e_time = strtotime($search['e_time']);
  48. if (!empty($s_time)) {
  49. $where['c_time'][] = array('egt', date('Y-m-d H:i:s', $s_time));
  50. }
  51. if (!empty($e_time)) {
  52. $where['c_time'][] = array('elt', date('Y-m-d H:i:s', $e_time));
  53. }
  54. $order = 'id desc';
  55. $limit = ($page_num - 1) * $page_size . ' ,' . $page_size;
  56. $field = '*';
  57. $list = $this->where($where)->order($order)->field($field)->limit($limit)->select();
  58. $count = $this->where($where)->count();
  59. $page = $this->x_show($count, $page_size, array());
  60. $ad_message_id_arr = array();
  61. foreach ($list as $k => $v) {
  62. $ad_message_id_arr[] = $v['ad_message_id'];
  63. }
  64. //广告数据
  65. $ad_message_id_arr = array_unique($ad_message_id_arr);
  66. $ad_message_data = array();
  67. if (!empty($ad_message_id_arr)) {
  68. $ad_message_model = new \Common\Model\AdMessageModel();
  69. $ad_message_temp = $ad_message_model->field('id,name')->where(array('id' => array('in', $ad_message_id_arr)))->select();
  70. foreach ($ad_message_temp as $k => $v) {
  71. $ad_message_data[$v['id']] = $v;
  72. }
  73. }
  74. //整合数据
  75. foreach ($list as $k => $v) {
  76. if (empty($ad_message_data[$v['ad_message_id']])) {
  77. $list[$k]['ad_source'] = '';
  78. } else {
  79. $list[$k]['ad_source'] = $ad_message_data[$v['ad_message_id']]['name'];
  80. }
  81. }
  82. $data = array(
  83. 'list' => $list,
  84. 'pager' => $page,
  85. );
  86. return $data;
  87. }
  88. /**
  89. * 设置已联系状态
  90. * @author: linch
  91. * @param $id
  92. * @return bool
  93. */
  94. public function data_set_finish($id) {
  95. $result = $this->where(array('id' => $id))->setField(array('status' => self::status_processed));
  96. return $result;
  97. }
  98. /**
  99. * 设置删除
  100. * @author: linch
  101. * @param $id
  102. * @return bool
  103. */
  104. public function data_del($id) {
  105. $result = $this->where(array('id' => $id))->setField(array('flag' => self::flag_off));
  106. return $result;
  107. }
  108. }