<?php
/**
 * File UserController.php
 *
 * @author Tuan Duong <bacduong@gmail.com>
 * @package Laravue
 * @version 1.0
 */

namespace App\Http\Controllers;

use App\Laravue\Models\WxUser;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Hash;
use Validator;

class WxuserController extends Controller
{
    //获取wx用户列表
    public function wxlist(Request $request){
        /*
         * get请求返回wx用户列表
         * */

        $limit = $request->input('limit');
        $pagenNum = $limit * ($request->input('page')-1);//页数
        if($pagenNum === '' || $limit == ''){
            return $this->jsonErrorData(105,'页数或limit不能为空');
        }
        $where = [];
        $keys = $request->all();
        if(isset($keys['sex'])) {
            $keys['sex'] = $keys['sex'] == 3 ? 0 : $keys['sex'];
            $where[] = ['sex', '=', $keys['sex']];
        }
        if(isset($keys['state'])) {
            $where[] = ['state', '=', $keys['state']];
        }
        if(isset($keys['mobile'])) {
            $where[] = ['mobile', 'like', "%$keys[mobile]%"];
        }
        $city = '';
        if(isset($keys['city'])) {
            $city = $keys['city'];
        }
        $cont =  WxUser::where($where)
            ->whereRaw("concat(country, province, city) like '%{$city}%'")->count();
        $Wxuser = WxUser::select('nickname','id','openid','sex','province','city','mobile','country','headimgurl','created_at','state')
            ->where($where)
            ->whereRaw("concat(country, province, city) like '%{$city}%'")
            ->offset($pagenNum)
            ->orderBy('id', 'desc')
            ->limit($limit)
            ->get();
        $data = ['Wxuser'=>$Wxuser,'cont'=>$cont];
        if ($Wxuser){
            return $this->jsonSuccessData($data);
        }else{
            return $this->jsonErrorData('105','获取数据失败');
        }
    }
    //用户搜索
    public  function seek (Request $request){
        $keys = $request->all();
        $where = [];

        if(isset($keys['sex'])) {
            $keys['sex'] = $keys['sex'] == 3 ? 0 : $keys['sex'];
            $where[] = ['sex', '=', $keys['sex']];
        }
        if(isset($keys['state'])) {
            $where[] = ['state', '=', $keys['state']];
        }
        if(isset($keys['mobile'])) {
            $where[] = ['mobile', 'like', "%$keys[mobile]%"];
        }
        $city = '';
        if(isset($keys['city'])) {
           $city = $keys['city'];
        }
        $datas = DB::table('wx_user')
            ->where($where)
            ->whereRaw("concat(country, province, city) like '%{$city}%'")
            ->limit($keys['limit'])
            ->offset($keys['limit'] * ($keys['page'] - 1))
            ->orderBy('id', 'DESC')
            ->get();
        $cont = DB::table('wx_user')->where($where)->whereRaw("concat(country, province, city) like '%{$city}%'")->count();
        $data = ['Wxuser'=>$datas,'cont'=>$cont];
        return $this->jsonSuccessData($data);
    }
}
