| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace App\Service\Wx;
- use App\Model\Employee;
- use App\Model\WxEmployee;
- class WxEmployeeService extends Service
- {
- public function setUser($data){
- if(empty($data['code'])) return [false, '用户登录凭证(code)不能为空'];
- $code = $data['code'];
- $service = new WxService();
- list($status,$openid) = $service->getOpenid($code);
- if(!$status) return [false,$openid];
- $user = WxEmployee::where('openid',$openid)->where('appid',$service->appid)->first();
- if(empty($user)) {
- $user = new WxEmployee();
- $user->mobile = '';
- $user->openid = $openid;
- $user->appid = $service->appid;
- $user->save();
- $state = 0;
- }else{
- $state = 1;
- if(empty($user->mobile)){
- $state = 0;
- }else{
- $bool = Employee::where('del_time',0)
- ->where('mobile',$user->mobile)
- ->where('is_wx_admin', Employee::USE)
- ->exists();
- if(! $bool) $state = 0;
- }
- }
- return [true,['openid'=>$openid, 'state'=> $state]];
- }
- public function setMobile($data){
- if(empty($data['code'])) return [false, '用户登录凭证(code)不能为空'];
- if(empty($data['openid'])) return [false, 'openID不能为空'];
- $code = $data['code'];
- $openid = $data['openid'];
- $service = new WxService();
- list($status,$mobile) = $service->getMobile($code);
- if(!$status) return [false,$mobile];
- $user = WxEmployee::where('openid',$openid)->where('appid',$service->appid)->first();
- if(empty($user)) return [false,'openID在系统中暂无记录'];
- $user->mobile = $mobile;
- $user->save();
- return [true, ['mobile' => $mobile]];
- }
- public static function checkWxUser($userId){
- $res = Employee::where('id', $userId)
- ->where('del_time',0)
- ->first();
- if(empty($res)) return [false, '该系统账号不存在'];
- $res = $res->toArray();
- if(! $res['is_wx_admin']) return [false, '该系统账号不允许登录微信小程序'];
- return [true, $res];
- }
- }
|