cxgj/modules/api/models/LevelActionForm.php
2023-11-27 09:45:13 +08:00

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]];
}
}