AdminBusinessJoinController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace app\business\controller;
  3. use app\business\model\BusinessJoinModel;
  4. use cmf\controller\AdminBaseController;
  5. class AdminBusinessJoinController extends AdminBaseController
  6. {
  7. /**
  8. * 活动列表
  9. */
  10. public function index()
  11. {
  12. $param = $this->request->param();
  13. //搜索条件
  14. $sessionAdminId = session('ADMIN_ID');
  15. $where = [['bj.business_id', '=', $sessionAdminId]];
  16. if (!empty($param['start_time'])) {
  17. $where[] = ['bj.create_time', '>=', strtotime($param['start_time'])];
  18. }
  19. if (!empty($param['end_time'])) {
  20. $where[] = ['bj.create_time', '<=', strtotime($param['end_time'])];
  21. }
  22. if (!empty($param['keyword'])) {
  23. $where[] = ['u.user_name', 'like', "%{$param['keyword']}%"];
  24. }
  25. if (!empty($param['status'])) {
  26. $where[] = ['bj.status', '=', $param['status']];
  27. }
  28. $list = BusinessJoinModel::alias('bj')
  29. ->leftJoin('user u', 'bj.user_id = u.id')
  30. ->field('bj.*,u.user_name,u.mobile')
  31. ->where($where)
  32. ->order('create_time', 'DESC')
  33. ->paginate(10, false, ['query' => $param]);
  34. $this->assign('start_time', isset($param['start_time']) ? $param['start_time'] : '');
  35. $this->assign('end_time', isset($param['end_time']) ? $param['end_time'] : '');
  36. $this->assign('keyword', isset($param['keyword']) ? $param['keyword'] : '');
  37. $this->assign('status', isset($param['status']) ? $param['status'] : '');
  38. $this->assign('list', $list->items());
  39. $this->assign('page', $list->render());
  40. return $this->fetch();
  41. }
  42. public function export()
  43. {
  44. $param = $this->request->param();
  45. //搜索条件
  46. $sessionAdminId = session('ADMIN_ID');
  47. $where = [['bj.business_id', '=', $sessionAdminId]];
  48. if (!empty($param['ids'])) {
  49. $where[] = ['bj.id', 'in', $param['ids']];
  50. } else {
  51. if (!empty($param['start_time'])) {
  52. $where[] = ['bj.create_time', '>=', strtotime($param['start_time'])];
  53. }
  54. if (!empty($param['end_time'])) {
  55. $where[] = ['bj.create_time', '<=', strtotime($param['end_time'])];
  56. }
  57. if (!empty($param['keyword'])) {
  58. $where[] = ['u.user_name', 'like', "%{$param['keyword']}%"];
  59. }
  60. if (!empty($param['status'])) {
  61. $where[] = ['bj.status', '=', $param['status']];
  62. }
  63. }
  64. //获取数据
  65. $activity = BusinessJoinModel::alias('bj')
  66. ->leftJoin('user u', 'bj.user_id = u.id')
  67. ->field('bj.*,u.user_name,u.mobile')
  68. ->where($where)
  69. ->order('create_time', 'DESC')
  70. ->select();
  71. //表头
  72. $header = [
  73. 'id' => 'id',
  74. 'user_id' => '用户id',
  75. 'user_name' => '用户姓名',
  76. 'mobile' => '用户电话',
  77. 'comment' => '用户备注',
  78. 'status' => '状态',
  79. 'create_time' => '报名时间',
  80. ];
  81. //表格内容
  82. foreach ($activity as $v) {
  83. $v['create_time'] = date('Y-m-d H:i', $v['create_time']);
  84. $v['status'] = $v['status'] == 1 ? '已参加' : '不允许参加';
  85. }
  86. export_excel_data($header, $activity, '商家活动参与列表', ['mobile', 'create_time']);
  87. }
  88. }