CollectController.class.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <?php
  2. namespace Admin\Controller;
  3. /**
  4. * 样式管理
  5. * @author brent
  6. * @version 0.0.1
  7. */
  8. class CollectController extends CommonController {
  9. protected $table = ''; //表名
  10. /**
  11. * [_initialize 前置操作-继承公共前置方法]
  12. * @author Devil
  13. * @blog http://gong.gg/
  14. * @version 0.0.1
  15. * @datetime 2016-12-03T12:39:08+0800
  16. */
  17. public function _initialize() {
  18. // 调用父类前置方法
  19. parent::_initialize();
  20. // 登录校验
  21. $this->Is_Login();
  22. // 权限校验
  23. $this->Is_Power();
  24. //要执行的表
  25. $this->table = M('activity_collect');
  26. }
  27. /**
  28. * [Index 文章列表]
  29. * @author Devil
  30. * @blog http://gong.gg/
  31. * @version 0.0.1
  32. * @datetime 2016-12-06T21:31:53+0800
  33. */
  34. public function Index() {
  35. //关键字
  36. $keyword = I('keyword');
  37. if($keyword){
  38. $where['uid'] = ['like',"%$keyword%"];
  39. }
  40. $listRows = I('listRows',100,'intval');
  41. if($p = I('p',1,'intval')){
  42. $offset = ($p-1)*$listRows;
  43. }
  44. $acts = M('activity_v2')->field('id,activity_name')->select();
  45. $this->assign('acts', $acts);
  46. //活动id
  47. $act_id = trim(I('act_id'));
  48. if($act_id){
  49. $where['act_id'] = $act_id;
  50. }else{
  51. $act_id = M('activity_v2')->max('id');
  52. }
  53. $List = $this->table
  54. ->where($where)
  55. ->order('id desc')
  56. ->limit($offset,$listRows)
  57. ->select();
  58. $activitys = M('activity_v2')->where(['id'=>$act_id])->find();
  59. foreach($activitys as $row){
  60. $activity_info[$row['id']] = ['activity_name'=>$row['activity_name']];
  61. }
  62. if($activitys['collect_list']){
  63. $collects = json_decode($activitys['collect_list'],true);
  64. $collects = array_column($collects, null,'collect_id');
  65. }
  66. foreach ($List as $key=>$row) {
  67. $List[$key]['activity_name'] = $activity_info[$row['act_id']]['activity_name'];
  68. if($collects){
  69. $List[$key]['collect_name'] = $collects[$row['collect_id']]['collect_name'];
  70. }
  71. }
  72. // var_dump($List);die;
  73. $count = $this->table->where($where)->count();
  74. $Page = new \Think\Page($count, $listRows);
  75. $Page->parameter .= "&p=[PAGE]";
  76. $Page->parameter .= "&act_id=".$act_id;
  77. $Page->parameter .= "&keyword=".$keyword;
  78. $Page = $this->page_config($Page);
  79. $show = $Page->show();
  80. $this->assign('page', $show);
  81. $this->assign('List', $List);
  82. //获取所有活动
  83. $this->assign('keyword', $keyword);
  84. $this->assign('act_id', $act_id);
  85. $this->display('Index');
  86. }
  87. /**
  88. * [SaveInfo 文章添加/编辑页面]
  89. * @author Devil
  90. * @blog http://gong.gg/
  91. * @version 0.0.1
  92. * @datetime 2016-12-14T21:37:02+0800
  93. */
  94. public function SaveInfo() {
  95. // 文章信息
  96. if (empty($_REQUEST['id'])) {
  97. $data = array();
  98. } else {
  99. $data = $this->table->find(I('id'));
  100. if (empty($data)) {
  101. $data = array('id' => I('id'));
  102. }
  103. }
  104. $data = M('Activity_v2')->field('id,activity_name')->select();
  105. $this->assign('Acts', $data);
  106. $this->assign('data', $data);
  107. $this->display('SaveInfo');
  108. }
  109. /**
  110. * [Save 文章添加/编辑]
  111. * @author Devil
  112. * @blog http://gong.gg/
  113. * @version 0.0.1
  114. * @datetime 2016-12-14T21:37:02+0800
  115. */
  116. public function Save() {
  117. // 是否ajax请求
  118. if (!IS_AjAX) {
  119. $this->error(L('common_unauthorized_access'));
  120. }
  121. // 添加
  122. if (empty($_POST['id'])) {
  123. $this->Add();
  124. // 编辑
  125. } else {
  126. $this->Edit();
  127. }
  128. }
  129. /**
  130. * [Add 文章添加]
  131. * @author Devil
  132. * @blog http://gong.gg/
  133. * @version 0.0.1
  134. * @datetime 2016-12-18T16:20:59+0800
  135. */
  136. private function Add() {
  137. $m = $this->table;
  138. $data = I('post.');
  139. $data['created_at'] = $data['collect_date'] ? : date('Y-m-d H:i:s');
  140. $data['operate'] = 1;
  141. // 数据添加
  142. if ($m->add($data)) {
  143. $this->ajaxReturn('更新成功');
  144. } else {
  145. $this->ajaxReturn('更新失败',400);
  146. }
  147. }
  148. /**
  149. * [Delete 删除]
  150. * @author Devil
  151. * @blog http://gong.gg/
  152. * @version 0.0.1
  153. * @datetime 2016-12-15T11:03:30+0800
  154. */
  155. public function Delete() {
  156. // 是否ajax请求
  157. if (!IS_AJAX) {
  158. $this->error(L('common_unauthorized_access'));
  159. }
  160. // 删除数据
  161. if (!empty($_POST['id'])) {
  162. // 更新
  163. if ($this->table->delete(I('id'))) {
  164. $this->ajaxReturn(L('common_operation_delete_success'));
  165. } else {
  166. $this->ajaxReturn(L('common_operation_delete_error'), -100);
  167. }
  168. } else {
  169. $this->ajaxReturn(L('common_param_error'), -1);
  170. }
  171. }
  172. public function Search()
  173. {
  174. $act_id = I('act_id');
  175. if(empty($act_id)){
  176. echo json_encode(array());
  177. die;
  178. }
  179. $data['activity'] = M('Activity_v2')->where(['id'=>$act_id])->find();
  180. $data['activity']['start_at'] = $data['activity']['start_at'];
  181. $data['activity']['end_at'] = $data['activity']['end_at'];
  182. // dump(json_decode($data['activity']['prize_list'],true));
  183. $data['collects'] = json_decode($data['activity']['collect_list'],true);
  184. echo json_encode($data);
  185. }
  186. }