12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php namespace App\Http\Controllers\Admin;
- use App\Models\Business;
- use App\Models\Regiment as Model;
- use App\Models\Product as Product;
- use App\Models\RegimentActive as RegimentActive;
- use App\Models\Custom as Custom;
- use Illuminate\Support\Facades\DB;
- /**
- * 团列表
- *
- * @author jun
- *
- */
- class Regiment extends Auth{
- protected function _initialize(){
- parent::_initialize();
- $this->assign('breadcrumb1','拼团活动');
- $this->assign('breadcrumb2','团列表');
- }
- /**
- * 列表页
- *
- * */
- public function index(Model $Model,Product $Product,RegimentActive $RegimentActive,Custom $Custom){
- // 接收参数
- $code = request('code','');
- $name = request('name','');
- $productName = request('product_name','');
- $status = request('status','');
- $start_time = request('start_time','');
- $end_time = request('end_time','');
- // 查询条件
- $map = [];
- // 组合条件
- if( $name ) $map[] = ['regiment_active.name','=',$name];
- if( $code ){
- $id = $Model->codeToId($code);
- $map[] = ['regiment_active.id','=',$id];
- }
- if( $productName ) $map[] = ['product.name','=',$productName];
- if( $status ) $map[] = ['regiment.status','=',$status];
- if( $start_time ) {
- $start_time = strtotime($start_time);
- $map[] = ['regiment.start_time','>=',$start_time];
- }
- if( $end_time ) {
- $end_time = strtotime($end_time);
- $map[] = ['regiment.end_time','<=',$end_time];
- }
- // 当前登录的角色数据
- $session = session('userRule') ? session('userRule') : ['business_id'=>0,'menu_type'=>0,'data_type'=>0];
- // 是否存在对应的商业公司ID
- if ( $session['business_id'] ) $map[] = ['regiment_active.business_id','=',$session['business_id']];
- // 数据类型
- $shopIds = ($session['menu_type'] == 1 && $session['data_type'] == 2) ? Business::query()->where('leader_uid',$session['admin_uid'])->pluck('id')->toArray() : [];
-
- $select = [
- 'regiment.*',
- 'regiment_active.name as active_name',
- 'regiment_active.business_id as business_id',
- 'product.name as product_name',
- 'custom.username as username',
- ];
- // 查询数据
- $list = $Model->query()
- ->join('regiment_active','regiment_active.id','=','regiment.active_id')
- ->join('product','product.id','=','regiment.product_id')
- ->leftJoin('custom','custom.uid','=','regiment.custom_uid');
- if ( $shopIds ){
- $list = $list->whereIn('regiment_active.business_id',$shopIds);
- }
- $list = $list->where($map)
- ->select($select)
- ->orderByDesc('id')
- ->paginate(config('page_num',10));
- // 循环处理数据
- foreach($list as &$v){
- $v['product_code'] = $Product->idToCode($v['product_id']);
- $v['active_code'] = $RegimentActive->idToCode($v['active_id']);
- $v['business_name'] = Business::query()->where([['id','=',$v['business_id']]])->value('name');
- if ($v['custom_uid']){
- $v['custom_code'] = $Custom->idToCode($v['custom_uid']);
- }
- }
- // 分配数据
- $this->assign('empty', '<tr><td colspan="20">~~暂无数据</td></tr>');
- $this->assign('list',$list);
- // 加载模板
- return $this->fetch();
- }
- }
|