| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: zhengmingwei
 
-  * Date: 2020/3/8
 
-  * Time: 7:20 PM
 
-  */
 
- namespace addons\unishop\model;
 
- use fast\Random;
 
- use think\Db;
 
- use think\Exception;
 
- use think\Model;
 
- /**
 
-  * 扩展用户表
 
-  * Class UserExtend
 
-  * @package addons\unishop\model
 
-  */
 
- class UserExtend extends Model
 
- {
 
-     // 表名
 
-     protected $name = 'unishop_user_extend';
 
-     // 开启自动写入时间戳字段
 
-     protected $autoWriteTimestamp = 'int';
 
-     // 定义时间戳字段名
 
-     protected $createTime = 'createtime';
 
-     protected $updateTime = 'updatetime';
 
-     /**
 
-      * 关联基础用户表
 
-      */
 
-     public function user()
 
-     {
 
-         return $this->hasOne('user', 'id', 'user_id')->field('id,avatar,mobile,username');
 
-     }
 
-     /**
 
-      * 通过微信小程序openid获取用户id
 
-      */
 
-     public function getUserInfoByOpenid($openid)
 
-     {
 
-         $userExtend = $this
 
-             ->with('user')
 
-             ->where(['openid' => $openid])
 
-             ->find();
 
-         if ($userExtend) {
 
-             $user = $userExtend->user;
 
-         } else {
 
-             Db::startTrans();
 
-             try {
 
-                 $params = [
 
-                     'level'    => 1,
 
-                     'score'    => 0,
 
-                     'jointime'  => time(),
 
-                     'joinip'    => $_SERVER['REMOTE_ADDR'],
 
-                     'logintime' => time(),
 
-                     'loginip'   => $_SERVER['REMOTE_ADDR'],
 
-                     'prevtime'  => time(),
 
-                     'status'    => 'normal',
 
-                     'avatar'    => '',
 
-                     'username'  => __('Tourist')
 
-                 ];
 
-                 $user = User::create($params, true);
 
-                 self::create([
 
-                     'user_id' => $user->id,
 
-                     'openid' => $openid
 
-                 ], true);
 
-                 Db::commit();
 
-             } catch (Exception $e) {
 
-                 Db::rollback();
 
-                 return false;
 
-             }
 
-         }
 
-         $user = $user->toArray();
 
-         return $user;
 
-     }
 
- }
 
 
  |