AdMessageModel.class.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. namespace Admin\Model;
  3. use Common\Model\AdMessageModel as AdMessage;
  4. /**
  5. * 广告--留言
  6. * @author: linch
  7. * Class AdMessageModel
  8. * @package Admin\Model
  9. */
  10. class AdMessageModel extends AdMessage
  11. {
  12. /**
  13. * 获取广告列表
  14. * @author: linch
  15. * @param $search
  16. * @param $page_num
  17. * @param $page_size
  18. * @return array
  19. */
  20. public function get_list($search, $page_num, $page_size) {
  21. $where = array(
  22. 'status' => self::status_on,
  23. );
  24. $order = 'id desc';
  25. $limit = ($page_num - 1) * $page_size . ' ,' . $page_size;
  26. $field = '*';
  27. $list = $this->where($where)->order($order)->field($field)->limit($limit)->select();
  28. $admin_id_arr = array();
  29. foreach ($list as $k => $v) {
  30. if (strpos($v['url'], '?') === false) {
  31. $list[$k]['ad_url'] = $v['url'] . '?' . self::ad_code_name . '=' . $v['code'];
  32. } else {
  33. $list[$k]['ad_url'] = $v['url'] . '&' . self::ad_code_name . '=' . $v['code'];
  34. }
  35. $admin_id_arr[] = $v['admin_id'];
  36. }
  37. //管理员数据
  38. if (!empty($admin_id_arr)) {
  39. $admin_model = M('admin');
  40. $admin_temp = $admin_model->where(array('admin_id' => array('in', $admin_id_arr)))->field('admin_id,admin_username')->select();
  41. $admin_data = array();
  42. foreach ($admin_temp as $k => $v) {
  43. $admin_data[$v['admin_id']] = $v;
  44. }
  45. }
  46. //整合数据
  47. foreach ($list as $k => $v) {
  48. if (!empty($admin_data[$v['admin_id']])) {
  49. $list[$k]['admin_username'] = trim($admin_data[$v['admin_id']]['admin_username']);
  50. }
  51. }
  52. $count = $this->where($where)->count();
  53. $page = $this->x_show($count, $page_size, array());
  54. $data = array(
  55. 'list' => $list,
  56. 'pager' => $page,
  57. );
  58. return $data;
  59. }
  60. /**
  61. * 验证保存数据
  62. * @author: linch
  63. * @param $data
  64. * @return array
  65. */
  66. protected function check_edit_data($data) {
  67. if (empty($data['name'])) {
  68. return array('code' => false, 'msg' => '名称不能为空');
  69. }
  70. if (empty($data['url'])) {
  71. return array('code' => false, 'msg' => 'url不能为空');
  72. }
  73. return array('code' => true, 'msg' => '数据符合');
  74. }
  75. /**
  76. * 新增数据
  77. * @author: linch
  78. * @param $data
  79. * @return array
  80. */
  81. public function data_add($data) {
  82. $time = date('Y-m-d H:i:s');
  83. $save_data = array(
  84. 'name' => trim($data['name']),
  85. 'url' => trim($data['url']),
  86. 'tt_code' => trim($data['tt_code']),
  87. 'admin_id' => intval($data['admin_id']),
  88. 'c_time' => $time,
  89. );
  90. $result = $this->check_edit_data($save_data);
  91. if ($result['code'] == false) { //验证的数据不合格
  92. return array('code' => false, 'msg' => $result['msg']);
  93. }
  94. //生成code
  95. do {
  96. $code = substr(md5(microtime() . ''), 16);
  97. $temp = $this->where(array('code' => $code))->find();
  98. } while (!empty($temp));
  99. $save_data['code'] = $code;
  100. $id = $this->data($save_data)->add();
  101. if ($result == false) { //录入数据库失败
  102. return array('code' => false, 'msg' => '系统出错,请重试');
  103. }
  104. return array('code' => true, 'msg' => '操作成功', 'id' => $id);
  105. }
  106. /**
  107. * 设置删除状态
  108. * @author: linch
  109. * @param $id
  110. * @return bool
  111. */
  112. public function data_del($id) {
  113. $result = $this->where(array('id' => $id))->setField(array('status' => self::status_off));
  114. return $result;
  115. }
  116. }