You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			588 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			588 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
namespace wstmart\admin\model;
 | 
						|
use think\Db;
 | 
						|
use think\Loader;
 | 
						|
/**
 | 
						|
 * ============================================================================
 | 
						|
 * 会员业务处理
 | 
						|
 */
 | 
						|
class Users extends Base{
 | 
						|
    /**
 | 
						|
     * 个体认证审核列表
 | 
						|
     * @param int $isPersonal  是否是个体认证
 | 
						|
     * @return array
 | 
						|
     * @throws \think\exception\DbException
 | 
						|
     */
 | 
						|
    public function getReview($isPersonal=1){
 | 
						|
 | 
						|
        if(1 == $isPersonal){
 | 
						|
            $m = Db::name('auth_personal a');
 | 
						|
        }else{
 | 
						|
            $m = Db::name('auth_company a');
 | 
						|
        }
 | 
						|
        $where=[];
 | 
						|
        $loginName = input('post.loginName');
 | 
						|
        if($loginName) $where['u.loginName|u.userPhone'] = $loginName;
 | 
						|
        $rs = $m->join('__USERS__ u','a.userId=u.userId')
 | 
						|
                ->where($where)
 | 
						|
                ->field('u.loginName,u.userPhone,a.*')
 | 
						|
                ->order('status ASC,createTime ASC')
 | 
						|
                ->paginate(input('limit/d'))
 | 
						|
                ->toArray();
 | 
						|
        return $rs;
 | 
						|
    }
 | 
						|
    /**个体认证操作
 | 
						|
     * @param int $isPersonal 是否是个体认证
 | 
						|
     * @return array
 | 
						|
     * @throws \think\Exception
 | 
						|
     * @throws \think\exception\PDOException
 | 
						|
     */
 | 
						|
    public function authAction($isPersonal=1){
 | 
						|
        $data = input('post.');
 | 
						|
        $id = $data['id'];
 | 
						|
        if(1 == $data['status']){
 | 
						|
            unset($data['reasonsForRefusal']);
 | 
						|
        }
 | 
						|
        $field = '*';
 | 
						|
        $user_data = [];
 | 
						|
        if(1 == $isPersonal){
 | 
						|
            $field = 'userId,householdName trueName,userPhone';
 | 
						|
            $user_data['authType'] = 1;
 | 
						|
            $m = Db::name('auth_personal a');
 | 
						|
        }else{
 | 
						|
            $user_data['authType'] = 2;
 | 
						|
            $field = 'userId,trueName,userPhone';
 | 
						|
            $m = Db::name('auth_company a');
 | 
						|
        }
 | 
						|
        $where['id'] = $id;
 | 
						|
        $authInfo = $m->where($where)->field($field)->find();
 | 
						|
        if(!$authInfo){
 | 
						|
        	return WSTReturn('认证不存在');
 | 
						|
        }else{
 | 
						|
            if(1 == $data['status']) {
 | 
						|
            	$user_data['userPhone'] = $authInfo['userPhone'];
 | 
						|
                $user_data['trueName'] = $authInfo['trueName'];
 | 
						|
                $user_data['userName'] = $authInfo['trueName'];
 | 
						|
            }else{
 | 
						|
                $user_data['authType'] = 0;
 | 
						|
            }
 | 
						|
            Db::name('users')->where(['userId' => $authInfo['userId']])->update($user_data);
 | 
						|
        }
 | 
						|
        $data['updateTime'] = time();
 | 
						|
        $rs = $m->where($where)->update($data);
 | 
						|
        if(false !== $rs){
 | 
						|
 | 
						|
            return WSTReturn('操作成功',1);
 | 
						|
        }
 | 
						|
        return WSTReturn('操作失败,请重试',-1);
 | 
						|
    }
 | 
						|
    /**
 | 
						|
     * 获取申请列表
 | 
						|
     */
 | 
						|
    public function getUserUpdateList(){
 | 
						|
        $where=[];
 | 
						|
        $loginName = input('post.loginName');
 | 
						|
        if($loginName) $where['u.loginName|u.userPhone'] = $loginName;
 | 
						|
        $rs = Db::name('user_update d')
 | 
						|
                    ->join('__USERS__ u','d.userId=u.userId')
 | 
						|
                    ->join('__SHOPS__ s','d.shopId=s.shopId')
 | 
						|
                    ->where($where)
 | 
						|
                    ->field('u.loginName,u.userPhone,u.trueName,s.userName,s.phone,s.shopName,s.provinceId,s.cityId,s.countyId,s.townId,s.villageId,d.userId,d.shopId,d.id,d.applyLevel,d.confirmImg,d.shopImg,d.status,d.reasonsForRefusal,d.createTime,d.updateTime')
 | 
						|
                    ->order('status ASC,createTime ASC')
 | 
						|
                    ->paginate(input('limit/d'))
 | 
						|
                    ->toArray();
 | 
						|
        $m = Model('common/Position');
 | 
						|
        foreach ($rs['Rows'] as &$v) {
 | 
						|
        	$m->initData(1);
 | 
						|
        	$v['province'] = $m->getAreaName($v['provinceId']);
 | 
						|
 | 
						|
        	$m->initData(2);
 | 
						|
        	$v['city'] = $m->getAreaName($v['cityId']);
 | 
						|
 | 
						|
        	$m->initData(3);
 | 
						|
        	$v['county'] = $m->getAreaName($v['countyId']);
 | 
						|
 | 
						|
        	$m->initData(4);
 | 
						|
        	$v['town'] = $m->getAreaName($v['townId']);
 | 
						|
 | 
						|
        	$m->initData(5);
 | 
						|
        	$v['village'] = $m->getAreaName($v['villageId']);
 | 
						|
        }
 | 
						|
        return $rs;
 | 
						|
    }
 | 
						|
    /**
 | 
						|
     * 申请操作
 | 
						|
     */
 | 
						|
    public function setUserUpdate(){
 | 
						|
 | 
						|
        $data   = input('post.');
 | 
						|
        $id     = $data['id'];
 | 
						|
        $applyInfo = Db::name('user_update')->where(['id'=>$id])->field('userId,shopId,applyLevel')->find();
 | 
						|
        if(!$applyInfo){
 | 
						|
            return WSTReturn('此数据不存在');
 | 
						|
        }
 | 
						|
        $applyLevel = $applyInfo['applyLevel'];
 | 
						|
        if(!in_array($applyLevel,[2,3,4])) return WSTReturn('请正确输入等级!');
 | 
						|
        if(1 == $data['status']){
 | 
						|
            unset($data['reasonsForRefusal']);
 | 
						|
            //店铺位置信息
 | 
						|
		    $shopInfo = Model('common/shops')->getFieldsById($applyInfo['shopId'],'provinceId,cityId,countyId,townId,villageId');	
 | 
						|
		    $shopInfo = $shopInfo->toArray();	    
 | 
						|
			//检查是否已有代理
 | 
						|
			$applyArea='';
 | 
						|
			switch ($applyLevel) {
 | 
						|
				case 2:
 | 
						|
					$applyArea = 'countyId';
 | 
						|
					break;
 | 
						|
				case 3:
 | 
						|
					$applyArea = 'townId';
 | 
						|
					break;
 | 
						|
				case 4:
 | 
						|
					$applyArea = 'villageId';
 | 
						|
					break;
 | 
						|
			}
 | 
						|
			if(Db::name('user_update')->where(['status'=>1,'applyLevel'=>$applyLevel,$applyArea=>$shopInfo[$applyArea]])->value('id')){
 | 
						|
				 return WSTReturn('当前区域代理已存在');
 | 
						|
			}
 | 
						|
			$data = array_merge($data,$shopInfo);
 | 
						|
        }        
 | 
						|
        Db::startTrans();
 | 
						|
        try{
 | 
						|
            $data['updateTime'] = time();
 | 
						|
			if(1 == $data['status']){
 | 
						|
				//升级会员等级,没啥用了,留着吧
 | 
						|
				$userInfo = getUserInfo(['userId'=>$applyInfo['userId']],'userLevel');
 | 
						|
				if($applyLevel > $userInfo['userLevel']){
 | 
						|
					Db::name('users')->where(['userId'=>$applyInfo['userId']])->update(['userLevel'=>$applyLevel]);
 | 
						|
				}
 | 
						|
			}            
 | 
						|
            if(false !== Db::name('user_update')->where(['id'=>$id])->update($data)){
 | 
						|
               	Db::commit();
 | 
						|
            	return WSTReturn('操作成功',1);
 | 
						|
            }
 | 
						|
            
 | 
						|
        }catch (\Exception $e) {
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
        }
 | 
						|
        return WSTReturn('操作失败',-1);
 | 
						|
 | 
						|
    }
 | 
						|
	/**
 | 
						|
	 * 分页
 | 
						|
	 */
 | 
						|
	public function pageQuery(){
 | 
						|
		/******************** 查询 ************************/
 | 
						|
		$where = [];
 | 
						|
		$where['u.dataFlag'] = 1;
 | 
						|
		$lName = input('loginName1');
 | 
						|
		$phone = input('loginPhone');
 | 
						|
		$email = input('loginEmail');
 | 
						|
		$uType = input('userType');
 | 
						|
		$uStatus = input('userStatus1');
 | 
						|
		$sort = input('sort');
 | 
						|
		if(!empty($lName))
 | 
						|
			$where['loginName|s.shopName'] = ['like',"%$lName%"];
 | 
						|
		if(!empty($phone))
 | 
						|
			$where['userPhone'] = ['like',"%$phone%"];
 | 
						|
		if(!empty($email))
 | 
						|
			$where['userEmail'] = ['like',"%$email%"];
 | 
						|
		if(is_numeric($uType))
 | 
						|
			$where['userType'] = ['=',"$uType"];
 | 
						|
		if(is_numeric($uStatus))
 | 
						|
			$where['userStatus'] = ['=',"$uStatus"];
 | 
						|
		$order = 'u.userId desc';
 | 
						|
		if($sort){
 | 
						|
			//$sort =  str_replace('.',' ',$sort);
 | 
						|
			//$order = $sort;
 | 
						|
		}
 | 
						|
		/********************* 取数据 *************************/
 | 
						|
		$rs = $this->alias('u')->join('__SHOPS__ s','u.userId=s.userId and s.dataFlag=1','left')->join('__USER_TREES__ t','u.userId=t.uid','left')->where($where)
 | 
						|
					->field(['u.userId','u.regConfirmImg','loginName','u.userName','userType','userPhone','userEmail','userECT','userScore','u.createTime','u.productNum','u.couponsNum','u.wangNum','userStatus','lastTime','s.shopId','userMoney','u.lockMoney','t.pid'])
 | 
						|
					->order($order)
 | 
						|
					->group('u.userId')
 | 
						|
					->paginate(input('limit/d'))
 | 
						|
					->toArray();
 | 
						|
		$m = Model('Table');
 | 
						|
	    foreach ($rs['Rows'] as &$v) {	 
 | 
						|
	    	if($v['pid']){
 | 
						|
	    		$m->setTable('users');		
 | 
						|
	    		$v['pName'] = $m->getField(['userId'=>$v['pid']],'loginName');
 | 
						|
	    	}else{
 | 
						|
	    		$v['pName'] = '';
 | 
						|
	    	}
 | 
						|
			$m->setTable('user_vouchers_summary');
 | 
						|
	    	$sInfo = $m->getInfo(['userId'=>$v['userId']],'expectedProductNum,expectedCouponsNum');
 | 
						|
	    	$v['expectedProductNum'] = (float)$sInfo['expectedProductNum'];
 | 
						|
	    	$v['expectedCouponsNum'] = (float)$sInfo['expectedCouponsNum'];
 | 
						|
	    	$r = WSTUserRank($v['userScore']);
 | 
						|
	    	$v['rank'] = $r['rankName'];
 | 
						|
	    }
 | 
						|
		return $rs;
 | 
						|
	}
 | 
						|
	public function getById($id){
 | 
						|
		return $this->get(['userId'=>$id]);
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	 * 新增
 | 
						|
	 */
 | 
						|
	public function add(){
 | 
						|
		$data = input('post.');
 | 
						|
		$data['createTime'] = date('Y-m-d H:i:s');
 | 
						|
		$data["loginSecret"] = rand(1000,9999);
 | 
						|
    	$data['loginPwd'] = md5($data['loginPwd'].$data['loginSecret']);
 | 
						|
    	WSTUnset($data,'userId,userType,userScore,userTotalScore,lastIP,lastTime,userMoney,lockMoney,dataFlag,rechargeMoney');
 | 
						|
    	Db::startTrans();
 | 
						|
		try{
 | 
						|
			$result = $this->validate('Users.add')->allowField(true)->save($data);
 | 
						|
			$id = $this->userId;
 | 
						|
	        if(false !== $result){
 | 
						|
	        	hook("adminAfterAddUser",["userId"=>$id]);
 | 
						|
	        	WSTUseImages(1, $id, $data['userPhoto']);
 | 
						|
	        	Db::commit();
 | 
						|
	        	return WSTReturn("新增成功", 1);
 | 
						|
	        }
 | 
						|
		}catch (\Exception $e) {
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
            return WSTReturn('新增失败',-1);
 | 
						|
        }	
 | 
						|
	}
 | 
						|
    /**
 | 
						|
	 * 编辑
 | 
						|
	 */
 | 
						|
	public function edit(){
 | 
						|
		$Id = (int)input('post.userId');
 | 
						|
		$data = input('post.');
 | 
						|
		$u = $this->where('userId',$Id)->field('loginSecret')->find();
 | 
						|
		if(empty($u))return WSTReturn('无效的用户');
 | 
						|
		//判断是否需要修改密码
 | 
						|
		if(empty($data['loginPwd'])){
 | 
						|
			unset($data['loginPwd']);
 | 
						|
		}else{
 | 
						|
			//修改联盟登录密码
 | 
						|
			$password = $data['loginPwd'];
 | 
						|
    		$data['loginPwd'] = md5($data['loginPwd'].$u['loginSecret']);
 | 
						|
		}
 | 
						|
		Db::startTrans();
 | 
						|
		try{
 | 
						|
			if(isset($data['userPhoto'])){
 | 
						|
			    WSTUseImages(1, $Id, $data['userPhoto'], 'users', 'userPhoto');
 | 
						|
			}
 | 
						|
			
 | 
						|
			WSTUnset($data,'loginName,createTime,userId,userType,userScore,userTotalScore,lastIP,lastTime,userMoney,lockMoney,dataFlag,rechargeMoney');
 | 
						|
		    $result = $this->allowField(true)->save($data,['userId'=>$Id]);
 | 
						|
	        if(false !== $result){
 | 
						|
	        	// 同步修改联盟密码
 | 
						|
	        	// if(!empty($password)){
 | 
						|
	        	// 	Db::table('rd_users')->where(['shop_id'=>$Id])->setField('password',md5($password));
 | 
						|
	        	// }
 | 
						|
	        	hook("adminAfterEditUser",["userId"=>$Id]);
 | 
						|
	        	Db::commit();
 | 
						|
	        	return WSTReturn("编辑成功", 1);
 | 
						|
	        }
 | 
						|
		}catch (\Exception $e) {
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
            return WSTReturn('编辑失败',-1);
 | 
						|
        }
 | 
						|
	}
 | 
						|
	/**
 | 
						|
     * 查看会员定返数据
 | 
						|
     */
 | 
						|
	public function viewUserDayData(){
 | 
						|
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	 * 充值
 | 
						|
	 */
 | 
						|
	public function recharge(){
 | 
						|
		$userId = (int)input('post.userId');
 | 
						|
		$loginName = input('post.loginName');
 | 
						|
		$rechargeCurrency = input('post.rechargeCurrency');//充值币种,1为ECT
 | 
						|
		$rechargeType = (int)input('post.rechargeType');//1充值0扣除
 | 
						|
		$rechargeNum = (float)input('post.rechargeNum');
 | 
						|
		if($rechargeNum <=0){
 | 
						|
			return WSTReturn('请正确输入充值数量!');
 | 
						|
		}
 | 
						|
		$rechargeNames = ['0'=>'扣除','1'=>'充值'];
 | 
						|
		if(!$rechargeCurrency) return WSTReturn('请正确输入币种!');
 | 
						|
		if(!$userId) $userId = $this->where('loginName',$loginName)->value('userId');
 | 
						|
		if(!$userId) return WSTReturn('未找到此会员');
 | 
						|
		Db::startTrans();
 | 
						|
		try{
 | 
						|
			switch ($rechargeCurrency) {
 | 
						|
				case 1://预获产品券
 | 
						|
					Model('common/UserVouchers')->insertVouchersNotice($userId,0,$rechargeNum,0,'系统'.$rechargeNames[$rechargeType],$rechargeType);
 | 
						|
					break;
 | 
						|
				case 2://预获优惠券
 | 
						|
					Model('common/UserVouchers')->insertVouchersNotice($userId,0,0,$rechargeNum,'系统'.$rechargeNames[$rechargeType],$rechargeType);
 | 
						|
					break;
 | 
						|
				case 3://产品券
 | 
						|
				case 4://优惠券
 | 
						|
				case 5://旺旺券
 | 
						|
					$rechargeCurrency-=2;
 | 
						|
					Model('common/LogMoneys')->addMoneyLog(0,$userId,0,2,'系统'.$rechargeNames[$rechargeType],$rechargeType,$rechargeNum,'system',$rechargeCurrency);
 | 
						|
					break;
 | 
						|
				default:				
 | 
						|
					break;
 | 
						|
			}
 | 
						|
			Db::commit();
 | 
						|
	        return WSTReturn("操作成功", 1);
 | 
						|
		}catch (\Exception $e) {
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
            return WSTReturn('操作失败',-1);
 | 
						|
        }	
 | 
						|
		// if($userId){
 | 
						|
		// 	$u = $this->where('userId',$userId)->field('userId,loginSecret,userECT')->find();
 | 
						|
		// }else{
 | 
						|
		// 	$u = $this->where('loginName',$loginName)->field('userId,loginSecret,userECT')->find();
 | 
						|
		// }
 | 
						|
 | 
						|
		// if(empty($u))return WSTReturn('无效的用户');
 | 
						|
		// $userId = $u['userId'];
 | 
						|
		// if($rechargeType == 2){//扣除
 | 
						|
		// 	if($rechargeCurrency == 1){
 | 
						|
		// 		if($u['userECT'] < $rechargeNum ){
 | 
						|
		// 			return WSTReturn('余额不足以扣除!当前余额:'.$u['userECT']);	
 | 
						|
		// 		}
 | 
						|
		// 	}
 | 
						|
		// }
 | 
						|
		// Db::startTrans();
 | 
						|
		// try{
 | 
						|
		// 	if($rechargeCurrency == 1){//ECT
 | 
						|
		// 		if($rechargeType == 1){//充值
 | 
						|
		// 			ectLog($userId,$rechargeNum,10,'',['userECT'=>['exp','userECT+'.$rechargeNum]],1);					
 | 
						|
		// 		}else{
 | 
						|
		// 			ectLog($userId,$rechargeNum,10,'',['userECT'=>['exp','userECT-'.$rechargeNum]],2);
 | 
						|
		// 		}
 | 
						|
		// 	}
 | 
						|
	 //        Db::commit();
 | 
						|
	 //        return WSTReturn("操作成功", 1);
 | 
						|
		// }catch (\Exception $e) {
 | 
						|
  //           Db::rollback();errLog($e);
 | 
						|
  //           return WSTReturn('操作失败',-1);
 | 
						|
  //       }
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	 * 删除
 | 
						|
	 */
 | 
						|
    public function del(){
 | 
						|
	    $id = (int)input('post.id');
 | 
						|
	    if($id==1){
 | 
						|
	    	return WSTReturn('无法删除自营店铺账号',-1);
 | 
						|
	    }
 | 
						|
	    Db::startTrans();
 | 
						|
	    try{
 | 
						|
		    $data = [];
 | 
						|
			$data['dataFlag'] = -1;
 | 
						|
		    $result = $this->update($data,['userId'=>$id]);
 | 
						|
	        if(false !== $result){
 | 
						|
	        	//删除店铺信息
 | 
						|
	        	model('shops')->delByUserId($id);
 | 
						|
	        	hook("adminAfterDelUser",["userId"=>$id]);
 | 
						|
	        	WSTUnuseImage('users','userPhoto',$id);
 | 
						|
	        	Db::commit();
 | 
						|
	        	return WSTReturn("删除成功", 1);
 | 
						|
	        }
 | 
						|
	    }catch (\Exception $e) {
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
            return WSTReturn('删除失败',-1);
 | 
						|
        }
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	* 是否启用
 | 
						|
	*/
 | 
						|
	public function changeUserStatus($id, $status){
 | 
						|
		Db::startTrans();
 | 
						|
        try{
 | 
						|
 | 
						|
        	$this->update(['userStatus'=>(int)$status],['userId'=>(int)$id]);
 | 
						|
        	if(0 == $status){
 | 
						|
        		$lockTime =(int)input('post.lockTime');
 | 
						|
        		$lockReason =input('post.lockReason');
 | 
						|
        		Db::name('user_lock')->insert(['userId'=>$id,'lockTime'=>$lockTime,'lockReason'=>$lockReason,'createTime'=>time()]);
 | 
						|
        		$this->update(['userStatus'=>(int)$status],['userId'=>(int)$id]);
 | 
						|
        	}
 | 
						|
			
 | 
						|
	    	Db::commit();
 | 
						|
			return WSTReturn("操作成功",1); 
 | 
						|
        }catch (\Exception $e) {
 | 
						|
        	//dump($e);
 | 
						|
            Db::rollback();errLog($e);
 | 
						|
        }
 | 
						|
		return WSTReturn("操作失败,请刷新后再重试"); 
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	* 根据用户名查找用户
 | 
						|
	*/
 | 
						|
	public function getByName($name){
 | 
						|
		return $this->field(['userId','loginName'])->where(['loginName'=>['like',"%$name%"]])->select();
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	* 获取所有用户id
 | 
						|
	*/
 | 
						|
	public function getAllUserId()
 | 
						|
	{
 | 
						|
		return $this->where('dataFlag',1)->column('userId');
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	* 重置支付密码
 | 
						|
	*/
 | 
						|
	public function resetPayPwd(){
 | 
						|
		$Id = (int)input('post.userId');
 | 
						|
		$loginSecret = $this->where('userId',$Id)->value('loginSecret');
 | 
						|
		// 重置支付密码为6个6
 | 
						|
		$payPwd = md5('666666'.$loginSecret);
 | 
						|
		$result = $this->where('userId',$Id)->setField('payPwd',$payPwd);
 | 
						|
		if(false !== $result){
 | 
						|
        	return WSTReturn("重置成功", 1);
 | 
						|
        }else{
 | 
						|
        	return WSTReturn($this->getError(),-1);
 | 
						|
        }
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * 根据用户账号查找用户信息
 | 
						|
	 */
 | 
						|
	public function getUserByKey(){
 | 
						|
		$key = input('key');
 | 
						|
		$user = $this->where(['loginName|userPhone|userEmail'=>['=',$key],'dataFlag'=>1])->find();
 | 
						|
        if(empty($user))return WSTReturn('找不到用户',-1);
 | 
						|
        $shop = model('shops')->where(['userId'=>$user->userId,'dataFlag'=>1])->find();
 | 
						|
        if(!empty($shop))return WSTReturn('该用户已存在关联的店铺信息',-1);
 | 
						|
        return WSTReturn('',1,['loginName'=>$user->loginName,'userId'=>$user->userId]);
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	 * 导出订单 --林莉
 | 
						|
	 */
 | 
						|
	public function toExport(){
 | 
						|
		$name="会员管理表";
 | 
						|
		$where = [];
 | 
						|
		$where['u.dataFlag'] = 1;
 | 
						|
		$lName = input('loginName1');
 | 
						|
		$phone = input('loginPhone');
 | 
						|
		$email = input('loginEmail');
 | 
						|
		$uType = input('userType');
 | 
						|
		$uStatus = input('userStatus1');
 | 
						|
		$sort = input('sort');
 | 
						|
		if(!empty($lName))
 | 
						|
			$where['loginName|s.shopName'] = ['like',"%$lName%"];
 | 
						|
		if(!empty($phone))
 | 
						|
			$where['userPhone'] = ['like',"%$phone%"];
 | 
						|
		if(!empty($email))
 | 
						|
			$where['userEmail'] = ['like',"%$email%"];
 | 
						|
		if(is_numeric($uType))
 | 
						|
			$where['userType'] = ['=',"$uType"];
 | 
						|
		if(is_numeric($uStatus))
 | 
						|
			$where['userStatus'] = ['=',"$uStatus"];
 | 
						|
		$order = 'u.userId desc';
 | 
						|
		/********************* 取数据 *************************/
 | 
						|
		$page = db('users')->alias('u')->join('__SHOPS__ s','u.userId=s.userId and s.dataFlag=1','left')->where($where)
 | 
						|
				->field(['u.userId','loginName','userName','userType','userPhone','userEmail','userECT','userScore','u.createTime','userStatus','lastTime','s.shopId','userMoney','u.lockMoney'])
 | 
						|
				->order($order)
 | 
						|
				->select();
 | 
						|
		foreach ($page as $key => $v) {
 | 
						|
			$r = WSTUserRank($v['userScore']);
 | 
						|
			$page[$key]['rank'] = $r['rankName'];
 | 
						|
		}
 | 
						|
		Loader::import('phpexcel.PHPExcel.IOFactory');
 | 
						|
		$objPHPExcel = new \PHPExcel();
 | 
						|
		// 设置excel文档的属性
 | 
						|
		$objPHPExcel->getProperties()->setCreator("heyuanhui")//创建人
 | 
						|
		->setLastModifiedBy("heyuanhui")//最后修改人
 | 
						|
		->setTitle($name)//标题
 | 
						|
		->setSubject($name)//题目
 | 
						|
		->setDescription($name)//描述
 | 
						|
		->setKeywords("会员")//关键字
 | 
						|
		->setCategory("Test result file");//种类
 | 
						|
 | 
						|
		// 开始操作excel表
 | 
						|
		$objPHPExcel->setActiveSheetIndex(0);
 | 
						|
		// 设置工作薄名称
 | 
						|
		$objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Sheet'));
 | 
						|
		// 设置默认字体和大小
 | 
						|
		$objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', ''));
 | 
						|
		$objPHPExcel->getDefaultStyle()->getFont()->setSize(11);
 | 
						|
		$styleArray = array(
 | 
						|
				'font' => array(
 | 
						|
						'bold' => true,
 | 
						|
						'color'=>array(
 | 
						|
								'argb' => 'ffffffff',
 | 
						|
						)
 | 
						|
				),
 | 
						|
				'borders' => array (
 | 
						|
						'outline' => array (
 | 
						|
								'style' => \PHPExcel_Style_Border::BORDER_THIN,  //设置border样式
 | 
						|
								'color' => array ('argb' => 'FF000000'),     //设置border颜色
 | 
						|
						)
 | 
						|
				)
 | 
						|
		);
 | 
						|
		//设置宽
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(25);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(8);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(8);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(8);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(12);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(8);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(25);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(25);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(25);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(35);
 | 
						|
		$objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(25);
 | 
						|
		$objPHPExcel->getActiveSheet()->getStyle('A1:T1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
 | 
						|
		$objPHPExcel->getActiveSheet()->getStyle('A1:T1')->getFill()->getStartColor()->setARGB('333399');
 | 
						|
 | 
						|
		$objPHPExcel->getActiveSheet()
 | 
						|
				->setCellValue('A1', '账号')
 | 
						|
				->setCellValue('B1', '用户名')
 | 
						|
				->setCellValue('C1', '手机号码')
 | 
						|
				->setCellValue('D1', '电子邮箱')
 | 
						|
				->setCellValue('E1', '可用金额')
 | 
						|
				->setCellValue('F1', '冻结金额')
 | 
						|
				->setCellValue('G1', '积分')
 | 
						|
				->setCellValue('H1', 'ECT')
 | 
						|
				->setCellValue('I1', '等级')
 | 
						|
				->setCellValue('J1', '注册时间')
 | 
						|
				->setCellValue('K1', '状态');
 | 
						|
		$objPHPExcel->getActiveSheet()->getStyle('A1:R1')->applyFromArray($styleArray);
 | 
						|
 | 
						|
		for ($row = 0; $row < count($page); $row++){
 | 
						|
			$i = $row+2;
 | 
						|
			$objPHPExcel->getActiveSheet()
 | 
						|
					->setCellValue('A'.$i, $page[$row]['loginName'])
 | 
						|
					->setCellValue('B'.$i, $page[$row]['userName'])
 | 
						|
					->setCellValue('C'.$i, $page[$row]['userPhone'])
 | 
						|
					->setCellValue('D'.$i, $page[$row]['userEmail'])
 | 
						|
					->setCellValue('E'.$i, $page[$row]['userMoney'])
 | 
						|
					->setCellValue('F'.$i, $page[$row]['lockMoney'])
 | 
						|
					->setCellValue('G'.$i, $page[$row]['userScore'])
 | 
						|
					->setCellValue('H'.$i, $page[$row]['userECT'])
 | 
						|
					->setCellValue('I'.$i, $page[$row]['rank'])
 | 
						|
					->setCellValue('J'.$i, $page[$row]['createTime'])
 | 
						|
					->setCellValue('K'.$i, $page[$row]['userStatus']);
 | 
						|
		}
 | 
						|
 | 
						|
		//输出EXCEL格式
 | 
						|
		$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
 | 
						|
		// 从浏览器直接输出$filename
 | 
						|
		header('Content-Type:application/csv;charset=UTF-8');
 | 
						|
		header("Pragma: public");
 | 
						|
		header("Expires: 0");
 | 
						|
		header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
 | 
						|
		header("Content-Type:application/force-download");
 | 
						|
		header("Content-Type:application/vnd.ms-excel;");
 | 
						|
		header("Content-Type:application/octet-stream");
 | 
						|
		header("Content-Type:application/download");
 | 
						|
		header('Content-Disposition: attachment;filename="'.$name.'.xls"');
 | 
						|
		header("Content-Transfer-Encoding:binary");
 | 
						|
		$objWriter->save('php://output');
 | 
						|
	}
 | 
						|
}
 |