You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			213 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| 
 | |
| namespace wstmart\admin\controller;
 | |
| 
 | |
| use wstmart\admin\model\Platform as M;
 | |
| 
 | |
| /**
 | |
| 
 | |
|  * ============================================================================
 | |
| 
 | |
|  * 基础控业务处理
 | |
| 
 | |
|  */
 | |
| 
 | |
| 
 | |
| class Platform extends Base{
 | |
| 
 | |
| 	//列表
 | |
| 
 | |
| 	public function index(){
 | |
| 
 | |
| 		$where=[];
 | |
| 
 | |
| 		$map=[];
 | |
| 
 | |
| 		$page_map=[];
 | |
| 
 | |
| 		//接受时间
 | |
| 
 | |
| 		if (Request()->isPost()) {
 | |
| 
 | |
| 			$start_date=input('start');
 | |
| 
 | |
| 			$end_date=input('end');
 | |
| 
 | |
| 			$start=strtotime($start_date);
 | |
| 
 | |
| 			$end=strtotime($end_date);
 | |
| 
 | |
| 			if($start && $end){
 | |
| 
 | |
| 				$where['createTime'] =array('between',[$start,$end]);
 | |
| 
 | |
| 				$map['createTime'] =array('between',[$start_date,$end_date]);
 | |
| 
 | |
| 				$page_map['create_time']=array('between',[$start,$end]);
 | |
| 
 | |
| 			}elseif($start){
 | |
| 
 | |
| 				$where['createTime'] =array('egt',$start);
 | |
| 
 | |
| 				$map['createTime'] =array('egt',$start_date);
 | |
| 
 | |
| 				$page_map['create_time']=array('egt',$start);
 | |
| 
 | |
| 			}elseif($end){
 | |
| 
 | |
| 				$where['createTime'] =array('elt',$end);
 | |
| 
 | |
| 				$page_map['create_time']=array('elt',$end);
 | |
| 
 | |
| 				$map['createTime'] =array('egt',$end_date);
 | |
| 
 | |
| 			}
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		//判断时间周期内的注册数量
 | |
| 
 | |
| 		$where['loginSrc']=0;
 | |
| 
 | |
| 		$result['pcNum'] = db('login_src')->where($where)->count();
 | |
| 
 | |
| 		$where['loginSrc']=1;
 | |
| 
 | |
| 		$result['webappNum'] = db('login_src')->where($where)->count();
 | |
| 
 | |
| 		$where['loginSrc']=2 ;
 | |
| 
 | |
| 		$result['appNum'] = db('login_src')->where($where)->count();
 | |
| 
 | |
| 		//查询出所有新注册用户
 | |
| 
 | |
| 		unset($where['loginSrc']);	
 | |
| 
 | |
| 		//dump($ids);
 | |
| 
 | |
| 		//下过单的用户
 | |
| 
 | |
| 		if(Request()->isAjax()){
 | |
| 
 | |
| 			$userIds=db('login_src')->where($where)->field('userId')->select();
 | |
| 
 | |
| 			$ids=[];
 | |
| 
 | |
| 			foreach ($userIds as &$value) {
 | |
| 
 | |
| 				$ids[]=$value['userId'];
 | |
| 
 | |
| 			}
 | |
| 
 | |
| 			$map['userId']=array('in',$ids);
 | |
| 
 | |
| 			$page_map['userId']=array('in',$ids);
 | |
| 
 | |
| 		}		
 | |
| 
 | |
| 		$map['isPay']=1;
 | |
| 
 | |
| 		$result['validUser']=db('orders')->where($map)->group('userId')->count('userId');
 | |
| 
 | |
| 		//总单数
 | |
| 
 | |
| 		$orderNum=db('orders')->where($map)->count('orderId');
 | |
| 
 | |
| 		//总浏览		
 | |
| 
 | |
| 		$viewNum=db('page_view')->where($page_map)->count('id');
 | |
| 
 | |
| 		// dump($orderNum);
 | |
| 
 | |
| 		// dump($viewNum);
 | |
| 
 | |
| 		//转换率
 | |
| 
 | |
| 		if($orderNum==0 || $viewNum==0){
 | |
| 
 | |
| 			$result['orderRade']="0".'%';
 | |
| 
 | |
| 		}else{
 | |
| 
 | |
| 			$result['orderRade']=(round($orderNum/$viewNum,2)*100).'%';
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		//dump($result);
 | |
| 
 | |
| 		if (Request()->isAjax()) {
 | |
| 
 | |
| 			exit(jsonReturn('',1,$result));
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		$this->assign('object',$result);
 | |
| 
 | |
| 		//dump($result);
 | |
| 
 | |
| 		return $this->fetch('platform');
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	// //获取分页
 | |
| 
 | |
| 	// public function platformByPage(){
 | |
| 
 | |
| 	// 	$m=new M();
 | |
| 
 | |
| 	// 	$result=$m->platformByPage();
 | |
| 
 | |
| 	// 	$result['status'] = 1;
 | |
| 
 | |
| 	// 	return WSTGrid($result);
 | |
| 
 | |
| 	// }
 | |
| 	//查看券值记录
 | |
| 
 | |
| 	public function viewData(){
 | |
| 		if(Request()->isAjax()){
 | |
| 			$dataType = input('post.dataType');
 | |
| 			$start_date = input('start');
 | |
| 			$end_date = input('end');
 | |
| 			$start = strtotime($start_date);
 | |
| 			$end = strtotime($end_date);
 | |
| 			$m = Model('common/Table');
 | |
| 			$m->setTable('user_vouchers_notice');
 | |
| 			$result['num'] = 0;
 | |
| 			$where = [];
 | |
| 			$map = [];
 | |
| 			if($start && $end){
 | |
| 				$where['createTime'] =array('between',[$start,$end]);
 | |
| 				$map['createTime'] =array('between',[$start_date,$end_date]);
 | |
| 			}elseif($start){
 | |
| 				$where['createTime'] =array('egt',$start);
 | |
| 				$map['createTime'] =array('egt',$start_date);
 | |
| 			}elseif($end){
 | |
| 				$where['createTime'] =array('elt',$end);
 | |
| 				$map['createTime'] =array('egt',$end_date);
 | |
| 			}
 | |
| 			switch ($dataType) {
 | |
| 				case 1://预获产品券		
 | |
| 					$result['num'] = $m->getSum(array_merge($where,['moneyType'=>1]),'expectedProductNum');
 | |
| 					$result['num'] -= $m->getSum(array_merge($where,['moneyType'=>0]),'expectedProductNum');
 | |
| 					break;
 | |
| 				case 2://预获优惠券
 | |
| 					$result['num'] = $m->getSum(array_merge($where,['moneyType'=>1]),'expectedCouponsNum');
 | |
| 					$result['num'] -= $m->getSum(array_merge($where,['moneyType'=>0]),'expectedCouponsNum');
 | |
| 					break;
 | |
| 				case 3://产品券
 | |
| 				case 4://优惠券
 | |
| 				case 5://旺旺券
 | |
| 					$dataType-=2;
 | |
| 					$m->setTable('log_moneys');
 | |
| 					$result['num'] = $m->getSum(array_merge($map,['dataFlag'=>1,'moneyType'=>1,'moneyName'=>$dataType]),'money');
 | |
| 					$result['num'] -= $m->getSum(array_merge($map,['dataFlag'=>1,'moneyType'=>0,'moneyName'=>$dataType]),'money');
 | |
| 					break;
 | |
| 				default:				
 | |
| 					break;
 | |
| 			}
 | |
| 			exit(jsonReturn('',1,$result));
 | |
| 		}
 | |
| 		return $this->fetch('view_data');
 | |
| 	}
 | |
| } |