WechatUser.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | A3Mall
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2020 http://www.a3-mall.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: xzncit <158373108@qq.com>
  8. // +----------------------------------------------------------------------
  9. namespace app\common\service\wechat;
  10. use app\common\models\users\Users as UsersModel;
  11. use app\common\models\users\UsersGroup as UsersGroupModel;
  12. use app\common\models\wechat\WechatUsers as WechatUsersModel;
  13. class WechatUser {
  14. public static function register($user){
  15. $user_id = 0;
  16. if($wechatUsers = WechatUsersModel::where(["openid"=>$user["openid"]])->find()){
  17. $user_id = $wechatUsers["user_id"];
  18. }
  19. if($user_id == 0 || !UsersModel::where(["id"=>$user_id])->count()){
  20. $group_id = UsersGroupModel::order('minexp','ASC')->value("id");
  21. $password = md5(time() . $user["openid"]);
  22. $data = [
  23. "group_id"=>$group_id,
  24. "username"=>'wx_'.uniqid(),
  25. "nickname"=>$user["nickname"],
  26. "mobile"=>"",
  27. "password"=>$password,
  28. "status"=>0,
  29. "create_ip"=>getIP(),
  30. "last_ip"=>getIP(),
  31. "create_time"=>time(),
  32. "last_login"=>time()
  33. ];
  34. $user_id = UsersModel::create($data)->id;
  35. }
  36. if (!empty($user['subscribe_time'])) {
  37. $user['subscribe_create_time'] = $user['subscribe_time'];
  38. }else{
  39. $user['subscribe_create_time'] = time();
  40. }
  41. if(isset($user['privilege'])) unset($user['privilege']);
  42. if(empty($wechatUsers)){
  43. WechatUsersModel::create(array_merge($user,[ 'subscribe' => '1','user_id'=>$user_id ]));
  44. }
  45. return $user_id;
  46. }
  47. }