Regiment.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php namespace App\Http\Controllers\Admin;
  2. use App\Models\Regiment as Model;
  3. use App\Models\Product as Product;
  4. use App\Models\RegimentActive as RegimentActive;
  5. use App\Models\Custom as Custom;
  6. use Illuminate\Support\Facades\DB;
  7. /**
  8. * 团列表
  9. *
  10. * @author jun
  11. *
  12. */
  13. class Regiment extends Auth{
  14. protected function _initialize(){
  15. parent::_initialize();
  16. $this->assign('breadcrumb1','拼团活动');
  17. $this->assign('breadcrumb2','团列表');
  18. }
  19. /**
  20. * 列表页
  21. *
  22. * */
  23. public function index(Model $Model,Product $Product,RegimentActive $RegimentActive,Custom $Custom){
  24. // 接收参数
  25. $code = request('code','');
  26. $name = request('name','');
  27. $productName = request('product_name','');
  28. $status = request('status','');
  29. $start_time = request('start_time','');
  30. $end_time = request('end_time','');
  31. // 查询条件
  32. $map = [];
  33. // 组合条件
  34. if( $name ) $map[] = ['regiment_active.name','=',$name];
  35. if( $code ){
  36. $id = $Model->codeToId($code);
  37. $map[] = ['regiment_active.id','=',$id];
  38. }
  39. if( $productName ) $map[] = ['product.name','=',$productName];
  40. if( $status ) $map[] = ['regiment.status','=',$status];
  41. if( $start_time ) {
  42. $start_time = strtotime($start_time);
  43. $map[] = ['regiment.start_time','>=',$start_time];
  44. }
  45. if( $end_time ) {
  46. $end_time = strtotime($end_time);
  47. $map[] = ['regiment.end_time','<=',$end_time];
  48. }
  49. $select = [
  50. 'regiment.*',
  51. 'regiment_active.name as active_name',
  52. 'product.name as product_name',
  53. 'custom.username as username',
  54. ];
  55. // 查询数据
  56. $list = $Model->query()
  57. ->join('regiment_active','regiment_active.id','=','regiment.active_id')
  58. ->join('product','product.id','=','regiment.product_id')
  59. ->leftJoin('custom','custom.uid','=','regiment.custom_uid')
  60. ->where($map)
  61. ->select($select)
  62. ->orderByDesc('id')
  63. ->paginate(config('page_num',10));
  64. // 循环处理数据
  65. foreach($list as &$v){
  66. $v['product_code'] = $Product->idToCode($v['product_id']);
  67. $v['active_code'] = $RegimentActive->idToCode($v['active_id']);
  68. if ($v['custom_uid']){
  69. $v['custom_code'] = $Custom->idToCode($v['custom_uid']);
  70. }
  71. }
  72. // 分配数据
  73. $this->assign('empty', '<tr><td colspan="20">~~暂无数据</td></tr>');
  74. $this->assign('list',$list);
  75. // 加载模板
  76. return $this->fetch();
  77. }
  78. }