Activity.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\BaseController;
  4. use app\common\model\Activity as ActivityModel;
  5. use app\common\model\ActivityJoin as ActivityJoinModel;
  6. class Activity extends BaseController
  7. {
  8. public function index()
  9. {
  10. return view('activity/index');
  11. }
  12. public function listActivity()
  13. {
  14. $limit = input('limit');
  15. $page = input('page');
  16. $where = [];
  17. $title = input('title', '');
  18. if (!empty($title)) {
  19. $where[] = ['title', 'like', "%{$title}%"];
  20. }
  21. $status = input('status', 0);
  22. if (!empty($status)) {
  23. $where[] = ['status', '=', $status];
  24. }
  25. $list = ActivityModel::order(['priority' => 'desc', 'id' => 'desc'])->where($where)->limit($limit)->page($page)->select()->append(['status_text']);
  26. $count = ActivityModel::where($where)->count();
  27. if ($count == 0) {
  28. exit(json_encode([
  29. 'code' => 1,
  30. 'msg' => "未查询到数据",
  31. ]));
  32. }
  33. exit(json_encode([
  34. 'code' => 0,
  35. 'msg' => "",
  36. 'count' => $count,
  37. 'data' => $list,
  38. ]));
  39. }
  40. public function form()
  41. {
  42. $id = input('id/d, 0');
  43. $info = ActivityModel::findOrEmpty($id);
  44. return view('activity/form', [
  45. 'info' => $info,
  46. ]);
  47. }
  48. public function edit()
  49. {
  50. $id = input('id/d');
  51. if (empty($id)) {
  52. ActivityModel::create([
  53. 'title' => input('title/s'),
  54. 'main_image' => input('main_image/s'),
  55. 'content' => input('content/s'),
  56. 'address' => input('address/s'),
  57. 'start_time' => strtotime(input('start_time/s')),
  58. 'create_time' => time(),
  59. 'priority' => input('priority/d'),
  60. 'status' => input('status/d') == 1 ? 1 : 2,
  61. ]);
  62. } else {
  63. ActivityModel::update([
  64. 'id' => $id,
  65. 'title' => input('title/s'),
  66. 'main_image' => input('main_image/s'),
  67. 'content' => input('content/s'),
  68. 'address' => input('address/s'),
  69. 'start_time' => strtotime(input('start_time/s')),
  70. 'priority' => input('priority/d'),
  71. 'status' => input('status/d') == 1 ? 1 : 2,
  72. ]);
  73. }
  74. exit(json_encode([
  75. 'code' => 0,
  76. ]));
  77. }
  78. public function del()
  79. {
  80. $id = input('id/d');
  81. $count = ActivityJoinModel::where('activity_id', $id)->where('status', 1)->count();
  82. if ($count > 0) {
  83. exit(json_encode([
  84. 'code' => 1,
  85. 'msg' => "已有报名的活动无法删除",
  86. ]));
  87. }
  88. ActivityModel::where('id', $id)->delete();
  89. ActivityJoinModel::where('activity_id', $id)->delete();
  90. exit(json_encode([
  91. 'code' => 0,
  92. 'msg' => "",
  93. ]));
  94. }
  95. public function joinList()
  96. {
  97. return view('activity/joinlist');
  98. }
  99. public function listJoin()
  100. {
  101. $limit = input('limit');
  102. $page = input('page');
  103. $where = [];
  104. $status = input('status', 0);
  105. if (!empty($status)) {
  106. $where[] = ['status', '=', $status];
  107. }
  108. $list = ActivityJoinModel::with(['user'])->order(['create_time' => 'desc'])->where($where)->limit($limit)->append(['status_text'])->page($page)->select();
  109. $count = ActivityJoinModel::where($where)->count();
  110. if ($count == 0) {
  111. exit(json_encode([
  112. 'code' => 1,
  113. 'msg' => "未查询到数据",
  114. ]));
  115. }
  116. foreach ($list as $v) {
  117. $v['realname'] = $v['user']['realname'];
  118. $v['mobile'] = $v['user']['mobile'];
  119. }
  120. exit(json_encode([
  121. 'code' => 0,
  122. 'msg' => "",
  123. 'count' => $count,
  124. 'data' => $list,
  125. ]));
  126. }
  127. }