AdminBusinessJoinManageController.php 3.9 KB

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