WxEmployeeService.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Service\Wx;
  3. use App\Model\Employee;
  4. use App\Model\WxEmployee;
  5. class WxEmployeeService extends Service
  6. {
  7. public function setUser($data){
  8. if(empty($data['code'])) return [false, '用户登录凭证(code)不能为空'];
  9. $code = $data['code'];
  10. $service = new WxService();
  11. list($status,$openid) = $service->getOpenid($code);
  12. if(!$status) return [false,$openid];
  13. $user = WxEmployee::where('openid',$openid)->first();
  14. if(empty($user)) {
  15. $user = new WxEmployee();
  16. $user->mobile = '';
  17. $user->openid = $openid;
  18. $user->appid = $service->appid;
  19. $user->save();
  20. $state = 0;
  21. }else{
  22. $state = 1;
  23. if(empty($user->mobile)){
  24. $state = 0;
  25. }else{
  26. $bool = Employee::where('del_time',0)
  27. ->where('mobile',$user->mobile)
  28. ->where('state',Employee::USE)
  29. ->exists();
  30. if(! $bool) $state = 0;
  31. }
  32. }
  33. return [true,['openid'=>$openid, 'state'=> $state]];
  34. }
  35. public function setMobile($data){
  36. if(empty($data['code'])) return [false, '用户登录凭证(code)不能为空'];
  37. if(empty($data['openid'])) return [false, 'openID不能为空'];
  38. $code = $data['code'];
  39. $openid = $data['openid'];
  40. $service = new WxService();
  41. list($status,$mobile) = $service->getMobile($code);
  42. if(!$status) return [false,$mobile];
  43. $user = WxEmployee::where('openid',$openid)->first();
  44. if(empty($user)) return [false,'openID在系统中暂无记录'];
  45. $user->mobile = $mobile;
  46. $user->save();
  47. return [true, ['mobile' => $mobile]];
  48. }
  49. }