HomeNewModel.class.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <?php
  2. namespace Admin\Model;
  3. use Common\Model\HomeNewModel as HomeNew;
  4. /**
  5. * 官网新闻
  6. * @author: linch
  7. * Class HomeNewModel
  8. * @package Common\Model
  9. */
  10. class HomeNewModel extends HomeNew
  11. {
  12. /**
  13. * 获取发布状态列表
  14. * @author: linch
  15. * @return array
  16. */
  17. public function get_status_list() {
  18. return array(
  19. self::status_on => '上架',
  20. self::status_off => '下架',
  21. );
  22. }
  23. /**
  24. * 获取类型列表
  25. * @author: linch
  26. * @return array
  27. */
  28. public function get_type_list() {
  29. return array(
  30. self::type_industry => '行业动态',
  31. self::type_company => '公司动态',
  32. self::type_join => '加盟动态',
  33. );
  34. }
  35. /**
  36. * 获取推荐状态列表
  37. * @author: linch
  38. * @return array
  39. */
  40. public function get_recommend_list() {
  41. return array(
  42. self::recommend_off => '否',
  43. self::recommend_on => '是',
  44. );
  45. }
  46. /**
  47. * 获取banner状态
  48. * @author: linch
  49. * @return array
  50. */
  51. public function get_banner_list() {
  52. return array(
  53. self::banner_off => '否',
  54. self::banner_on => '是',
  55. );
  56. }
  57. /**
  58. * 获取列表
  59. * @author: linch
  60. * @param array $search 筛选条件
  61. * @param int $page_num 页码
  62. * @param int $page_size 页行数
  63. * @return array
  64. */
  65. public function get_list($search, $page_num, $page_size) {
  66. $where = array(
  67. 'status' => array('neq', self::status_del),
  68. );
  69. if (!empty($search['title'])) {
  70. $where['title'] = array('like', '%' . trim($search['title']) . '%');
  71. }
  72. $order = 'id desc';
  73. $limit = ($page_num - 1) * $page_size . ' ,' . $page_size;
  74. $field = '*';
  75. $list = $this->where($where)->order($order)->field($field)->limit($limit)->select();
  76. $count = $this->where($where)->count();
  77. $page = $this->x_show($count, $page_size, array());
  78. $data = array(
  79. 'list' => $list,
  80. 'pager' => $page,
  81. );
  82. return $data;
  83. }
  84. /**
  85. * 验证保存数据
  86. * @author: linch
  87. * @param $data
  88. * @return array
  89. */
  90. protected function check_edit_data($data) {
  91. if (empty($data['title'])) {
  92. return array('code' => false, 'msg' => '标题不能为空');
  93. }
  94. if (empty($data['img'])) {
  95. return array('code' => false, 'msg' => '图片不能为空');
  96. }
  97. if (empty($data['content'])) {
  98. return array('code' => false, 'msg' => '内容不能为空');
  99. }
  100. if (empty($data['desc'])) {
  101. return array('code' => false, 'msg' => '简介不能为空');
  102. }
  103. return array('code' => true, 'msg' => '数据符合');
  104. }
  105. /**
  106. * 新增数据
  107. * @author: linch
  108. * @param $data
  109. * @return mixed
  110. */
  111. public function data_add($data) {
  112. $time = date('Y-m-d H:i:s');
  113. $save_data = array(
  114. 'title' => trim($data['title']),
  115. 'img' => trim($data['img']),
  116. 'home_img' => trim($data['home_img']),
  117. 'desc' => trim($data['desc']),
  118. 'content' => trim($data['content']),
  119. 'is_recommend' => intval($data['is_recommend']),
  120. 'type' => intval($data['type']),
  121. 'store_id' => intval($data['store_id']),
  122. 'source' => trim($data['source']),
  123. 'author' => trim($data['author']),
  124. 'status' => self::status_off,
  125. 'c_time' => $time,
  126. );
  127. $result = $this->check_edit_data($save_data);
  128. if ($result['code'] == false) { //验证的数据不合格
  129. return array('code' => false, 'msg' => $result['msg']);
  130. }
  131. //处理图片
  132. $Common = new \Common\Common\Common();
  133. if ('data:image' == substr($save_data['img'], 0, 10)) {
  134. $save_data['img'] = $Common->base64_upyun($save_data['img']);
  135. }
  136. if ('data:image' == substr($save_data['home_img'], 0, 10)) {
  137. $save_data['home_img'] = $Common->base64_upyun($save_data['home_img']);
  138. }
  139. $id = $this->data($save_data)->add();
  140. if ($result == false) { //录入数据库失败
  141. return array('code' => false, 'msg' => '系统出错,请重试');
  142. }
  143. return array('code' => true, 'msg' => '操作成功', 'id' => $id);
  144. }
  145. /**
  146. * 编辑数据
  147. * @author: linch
  148. * @param $data
  149. * @return bool
  150. */
  151. public function data_edit($data) {
  152. $id = intval($data['id']);
  153. $save_data = array(
  154. 'title' => trim($data['title']),
  155. 'img' => trim($data['img']),
  156. 'home_img' => trim($data['home_img']),
  157. 'desc' => trim($data['desc']),
  158. 'content' => trim($data['content']),
  159. 'is_recommend' => intval($data['is_recommend']),
  160. 'type' => intval($data['type']),
  161. 'store_id' => intval($data['store_id']),
  162. 'source' => trim($data['source']),
  163. 'author' => trim($data['author']),
  164. );
  165. $result = $this->check_edit_data($save_data);
  166. if ($result['code'] == false) { //验证的数据不合格
  167. return array('code' => false, 'msg' => $result['msg']);
  168. }
  169. //处理图片
  170. $Common = new \Common\Common\Common();
  171. if ('data:image' == substr($save_data['img'], 0, 10)) {
  172. $save_data['img'] = $Common->base64_upyun($save_data['img']);
  173. }
  174. if ('data:image' == substr($save_data['home_img'], 0, 10)) {
  175. $save_data['home_img'] = $Common->base64_upyun($save_data['home_img']);
  176. }
  177. $result = $this->where(array('id' => $id))->data($save_data)->save();
  178. if ($result === false) { //录入数据库失败
  179. return array('code' => false, 'msg' => '系统出错,请重试');
  180. }
  181. return array('code' => true, 'msg' => '操作成功');
  182. }
  183. /**
  184. * 设置删除状态
  185. * @author: linch
  186. * @param $id
  187. * @return bool
  188. */
  189. public function data_del($id) {
  190. $result = $this->where(array('id' => $id))->setField(array('status' => self::status_del));
  191. return $result;
  192. }
  193. /**
  194. * 设置上线
  195. * @author: linch
  196. * @param $id
  197. * @return bool
  198. */
  199. public function data_set_on($id) {
  200. $result = $this->where(array('id' => $id))->setField(array('status' => self::status_on));
  201. return $result;
  202. }
  203. /**
  204. * 设置下线
  205. * @author: linch
  206. * @param $id
  207. * @return bool
  208. */
  209. public function data_set_off($id) {
  210. $result = $this->where(array('id' => $id))->setField(array('status' => self::status_off));
  211. return $result;
  212. }
  213. /**
  214. * 设置成banner状态
  215. * @author: linch
  216. * @param $id
  217. * @return bool
  218. */
  219. public function data_set_banner_on($id) {
  220. $result = $this->where(array('id' => $id))->setField(array('is_banner' => self::banner_on));
  221. return $result;
  222. }
  223. /**
  224. * 设置成非banner状态
  225. * @author: linch
  226. * @param $id
  227. * @return bool
  228. */
  229. public function data_set_banner_off($id) {
  230. $result = $this->where(array('id' => $id))->setField(array('is_banner' => self::banner_off));
  231. return $result;
  232. }
  233. }