'decimal:2', 'income' => 'decimal:2', 'avatar' => DefaultAvatar::class, 'share_qrcode' => HttpToHttps::class, ]; public function getJWTIdentifier() { return $this->getKey(); // TODO: Implement getJWTIdentifier() method. } public function getJWTCustomClaims() { return [ 'role' => 'user' ]; // TODO: Implement getJWTCustomClaims() method. } protected function serializeDate(\DateTimeInterface $date) { return $date->format($this->dateFormat ?: 'Y-m-d H:i:s'); } /** * 设置密码加密 * @param $value * @return string */ public function setPasswordAttribute($value) { $this->attributes['password'] = bcrypt($value); } public function parent() { return $this->belongsTo(User::class,'parent_id'); } public function child() { return $this->belongsTo(User::class,'id', 'parent_id'); } public function childOrder() { return $this->hasMany(UserShare::class,'child_id', 'id'); } public function info() { return $this->belongsTo(UserInfo::class,'id','user_id'); } public function consumeRecords() { return $this->hasMany(UserConsumeRecord::class,'user_id','id'); } public function rechargeRecords() { return $this->hasMany(UserRechargeRecord::class,'user_id','id'); } public function vipRecords() { return $this->hasMany(UserVipRecord::class,'user_id','id'); } public function beComeShare($id) { $user = self::find($id); if(!$user->is_share){ $config = ShareConfig::first(); $isBecome = false; if($config->become_type == 1) {// 无条件 $isBecome = true; }else if($config->become_type == 2){ // 成为对应的会员 $vipRecords = UserVipRecord::where('combo_id' , $config->become_vip_id) ->where('user_id', $user->id) ->where('status', 1) ->count(); if($vipRecords){ $isBecome = true; } }else{ // 充值一定金币 $RechargeGold = UserRechargeRecord::where('user_id', $user->id) ->where('status', 1) ->sum('gold'); if($RechargeGold >= $config->become_gold){ $isBecome = true; } } if($isBecome){ $user->is_share = 1; $user->become_share_at = Carbon::now()->toDateTimeString(); $user->save(); } } } }