255], [['font_color'], 'string', 'max' => 10], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'level' => '等级', 'name' => '等级名称', 'cover' => '卡片1', 'cover_min' => '卡片2', 'pic' => '图标', 'font_color' => '字体颜色', 'recharge_number' => '充值多少升级', 'discount' => '折扣', 'status' => '是否启用0未启用1启用', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public static function getUserLevel($user) { $id = $user->level_id; if(in_array($user->level_id,[0,1,2])){ $id += 1; } $level = Level::findOne(['id' => $id]); if($level == null){ return []; } $level_exp = floor($user->level_exp); $recharge_number = $level->recharge_number; $percentage = floor(($level_exp/$recharge_number) * 100); $percentage = $percentage > 100 ? 100 : $percentage; if($user->level_id == 0 || $user->level_id == 1){ $cover = SiteHelper::getFullUrl(Level::MIN_V1); $desc = '充值'.$level->recharge_number.'元成为'.$level->name.',解锁更多折扣'; } if($user->level_id == 2){ $cover = SiteHelper::getFullUrl(Level::MIN_V3); $desc = '充值'.$level->recharge_number.'元升至'.$level->name.',解锁更多折扣'; } if($user->level_id == 3){ $cover = SiteHelper::getFullUrl(Level::MIN_V2); // $desc = '充值'.$level->recharge_number.'元升至'.$level->name.',解锁更多折扣'; $desc = '已到最高等级'; } $level_exp = $level_exp > $recharge_number ? $recharge_number : $level_exp; return ['cover' => $cover,'desc' => $desc,'level_exp' => $level_exp,'recharge_number' => $recharge_number,'percentage' => $percentage]; } //检测升级 public static function checkUpgrade($level_id,$level_exp) { $level = Level::find() ->select('id,recharge_number') ->where(['status' => 1]) ->andWhere(['>','id',$level_id]) ->orderBy(['level' => SORT_DESC])->asArray()->all(); if(empty($level)){ return false; } foreach ($level as $index => $item){ if($level_exp >= $item['recharge_number']){ return $item['id']; } } return false; } }