180 lines
7.8 KiB
PHP
180 lines
7.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @author Any
|
|
* @description KISS
|
|
* @date 2020-12-2
|
|
* @version 1.0.0
|
|
*
|
|
* _____LOG_____
|
|
*
|
|
*/
|
|
|
|
namespace app\modules\api\models;
|
|
|
|
use app\models\auth\RoleUser;
|
|
use app\models\common\PluginService;
|
|
use app\models\Level;
|
|
use app\models\MsgCentre;
|
|
use app\models\Option;
|
|
use app\models\PaymentOrder;
|
|
use app\models\PaymentOrderUnion;
|
|
use app\models\StoreEarnings;
|
|
use app\models\StoreUser;
|
|
use function AlibabaCloud\Client\value;
|
|
use app\components\FlashStorage;
|
|
use app\components\SiteHelper;
|
|
use app\components\SysConst;
|
|
use app\models\BallCart;
|
|
use app\models\BallMark;
|
|
use app\models\Coach;
|
|
use app\models\Coupon;
|
|
use app\models\Goods;
|
|
use app\models\GoodsHub;
|
|
use app\models\Order;
|
|
use app\models\OrderDetail;
|
|
use app\models\OrderSale;
|
|
use app\models\Store;
|
|
use app\models\UniqueOrderNo;
|
|
use app\models\User;
|
|
use app\components\auth\AToken;
|
|
use app\components\EncryptHelper;
|
|
use app\models\UserBallArm;
|
|
use app\models\UserCoupon;
|
|
use app\models\UserInformation;
|
|
use app\modules\api\components\ApiHelper;
|
|
use app\modules\api\components\GetDistance;
|
|
use app\modules\api\components\Mqtt;
|
|
use yii\data\Pagination;
|
|
use yii\db\Exception;
|
|
|
|
|
|
class LevelActionForm extends ApiModel
|
|
{
|
|
public $user_id;
|
|
|
|
public function rules()
|
|
{
|
|
return [
|
|
[['user_id'], 'integer'],
|
|
[['user_id'], 'required'],
|
|
];
|
|
}
|
|
|
|
public function lists()
|
|
{
|
|
if (!$this->validate()) {
|
|
return $this->getModelError();
|
|
}
|
|
$user = ApiHelper::findOneUser($this->user_id, 0);
|
|
if ($user == null) {
|
|
return ['code' => 1, 'msg' => '用户不存在'];
|
|
}
|
|
|
|
$level = Level::find()->select('id,name,recharge_number,discount')
|
|
->where(['status' => 1])
|
|
->orderBy(['id' => SORT_ASC])
|
|
->asArray()
|
|
->all();
|
|
if(empty($level)){
|
|
return ['code' => 1, 'msg' => '会员未设置'];
|
|
}
|
|
|
|
$lock1 = SiteHelper::getFullUrl(Level::LOCK_V1);
|
|
$lock2 = SiteHelper::getFullUrl(Level::LOCK_V2);
|
|
$lock3 = SiteHelper::getFullUrl(Level::LOCK_V3);
|
|
|
|
$pic1 = SiteHelper::getFullUrl(Level::PIC_V1);
|
|
|
|
$pic2_1 = SiteHelper::getFullUrl(Level::PIC_V2_1);
|
|
$pic2_2 = SiteHelper::getFullUrl(Level::PIC_V2_2);
|
|
|
|
$pic3_1 = SiteHelper::getFullUrl(Level::PIC_V3_1);
|
|
$pic3_2 = SiteHelper::getFullUrl(Level::PIC_V3_2);
|
|
$pic3_3 = SiteHelper::getFullUrl(Level::PIC_V3_3);
|
|
|
|
|
|
$discount_cn1 = $level[0]['discount']/10;
|
|
$discount_cn2 = $level[1]['discount']/10;
|
|
$discount_cn3 = $level[2]['discount']/10;
|
|
|
|
$levelDetails = SiteHelper::getCustomiseOptionByKey("levelDetails", "hump");
|
|
$levelDetails = SiteHelper::repairContent($levelDetails);
|
|
|
|
$lists = [];
|
|
if(isset($level[0]) && $level[0]['id'] == 1){
|
|
$cover = SiteHelper::getFullUrl(Level::MAX_V1);
|
|
$background = SiteHelper::getFullUrl(Level::BACKGROUND_V1);
|
|
$desc = '充值满'.$level[0]['recharge_number'].'元成为'.$level[0]['name'];
|
|
$checked = $user->level_id == 0 ? true : false;
|
|
$is_level = $level[0]['id'] == $user->level_id ? true : false;
|
|
$level_exp = floor($user->level_exp);
|
|
$recharge_number = $level[0]['recharge_number'];
|
|
$level_exp = $level_exp > $recharge_number ? $recharge_number : $level_exp;
|
|
$level_data =[
|
|
['pic' => $lock1,'name' => '见习会员','subheading' => '充值'.$level[0]['recharge_number'].',尊享'.$discount_cn1.'折优惠','desc' => '成为见习会员可解锁'],
|
|
['pic' => $lock2,'name' => '进阶会员','subheading' => '充值'.$level[1]['recharge_number'].',尊享'.$discount_cn2.'折优惠','desc' => '升至进阶会员可解锁'],
|
|
['pic' => $lock3,'name' => '高阶会员','subheading' => '充值'.$level[2]['recharge_number'].',尊享'.$discount_cn3.'折优惠','desc' => '升至高阶会员可解锁'],
|
|
];
|
|
if($level[0]['id'] == $user->level_id){
|
|
$level_data[0]['pic'] = $pic1;
|
|
$level_data[0]['desc'] = '';
|
|
}
|
|
$percentage = floor(($level_exp/$recharge_number) * 100);
|
|
array_push($lists,['cover' => $cover,'desc' => $desc,'checked' => $checked,'is_level' => $is_level,'level_exp' => $level_exp,'recharge_number' => $recharge_number,'background'=> $background,'level_data' => $level_data,'percentage' => $percentage]);
|
|
}
|
|
|
|
if(isset($level[1]) && $level[1]['id'] == 2){
|
|
|
|
$cover = SiteHelper::getFullUrl(Level::MAX_V2);
|
|
$background = SiteHelper::getFullUrl(Level::BACKGROUND_V2);
|
|
$desc = '充值满'.$level[1]['recharge_number'].'元升至'.$level[1]['name'];
|
|
$checked = $user->level_id == 1 ? true : false;
|
|
$is_level = $level[1]['id'] == $user->level_id ? true : false;
|
|
$level_exp = floor($user->level_exp);
|
|
$recharge_number = $level[1]['recharge_number'];
|
|
$level_exp = $level_exp > $recharge_number ? $recharge_number : $level_exp;
|
|
$level_data = [
|
|
['pic' => $pic2_1,'name' => '见习会员','subheading' => '尊享'.$discount_cn1.'折优惠','desc' => ''],
|
|
['pic' => $pic2_2,'name' => '进阶会员','subheading' => '尊享'.$discount_cn2.'折优惠','desc' => ''],
|
|
['pic' => $lock3,'name' => '高阶会员','subheading' => '尊享'.$discount_cn3.'折优惠','desc' => '升至高阶会员可解锁'],
|
|
];
|
|
$percentage = floor(($level_exp/$recharge_number) * 100);
|
|
array_push($lists,['cover' => $cover,'desc' => $desc,'checked' => $checked,'is_level' => $is_level,'level_exp' => $level_exp,'recharge_number' => $recharge_number,'background'=> $background,'level_data' => $level_data,'percentage' => $percentage]);
|
|
}
|
|
|
|
if(isset($level[2]) && $level[2]['id'] == 3){
|
|
|
|
$cover = SiteHelper::getFullUrl(Level::MAX_V3);
|
|
$background = SiteHelper::getFullUrl(Level::BACKGROUND_V3);
|
|
$desc = '充值满'.$level[2]['recharge_number'].'元升至'.$level[2]['name'];
|
|
$checked = $user->level_id == 2 || $user->level_id == 3 ? true : false;
|
|
$is_level = $level[2]['id'] == $user->level_id ? true : false;
|
|
$level_exp = floor($user->level_exp);
|
|
$recharge_number = $level[2]['recharge_number'];
|
|
$level_exp = $level_exp > $recharge_number ? $recharge_number : $level_exp;
|
|
$level_data = [
|
|
['pic' => $pic3_1,'name' => '见习会员','subheading' => '尊享'.$discount_cn1.'折优惠','desc' => ''],
|
|
['pic' => $pic3_2,'name' => '进阶会员','subheading' => '尊享'.$discount_cn2.'折优惠','desc' => ''],
|
|
['pic' => $pic3_3,'name' => '高阶会员','subheading' => '尊享'.$discount_cn3.'折优惠','desc' => ''],
|
|
];
|
|
$percentage = floor(($level_exp/$recharge_number) * 100);
|
|
array_push($lists,['cover' => $cover,'desc' => $desc,'checked' => $checked,'is_level' => $is_level,'level_exp' => $level_exp,'recharge_number' => $recharge_number,'background'=> $background,'level_data' => $level_data,'percentage' => $percentage]);
|
|
}
|
|
|
|
if($user->level_id == 0 || $user->level_id == 1){
|
|
$lists[1]['level_data'] = $lists[0]['level_data'];
|
|
$lists[2]['level_data'] = $lists[0]['level_data'];
|
|
}elseif ($user->level_id == 2){
|
|
$lists[0]['level_data'] = $lists[1]['level_data'];
|
|
$lists[2]['level_data'] = $lists[1]['level_data'];
|
|
}elseif ($user->level_id == 3){
|
|
$lists[0]['level_data'] = $lists[2]['level_data'];
|
|
$lists[1]['level_data'] = $lists[2]['level_data'];
|
|
}
|
|
return ['code'=> 0,'msg' => 'ok','data' => ['list' => $lists,'details'=> $levelDetails]];
|
|
}
|
|
|
|
|
|
}
|