144 lines
4.7 KiB
PHP
144 lines
4.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @author Any
|
|
* @description KISS
|
|
* @date 2020-11-23
|
|
* @version 1.0.0
|
|
*
|
|
* _____LOG_____
|
|
*
|
|
*/
|
|
namespace app\modules\admin\models;
|
|
|
|
use app\components\Utils;
|
|
use app\models\Banner;
|
|
use app\models\Level;
|
|
use app\models\Model;
|
|
use app\models\Option;
|
|
|
|
|
|
class LevelEditForm extends AdminModel
|
|
{
|
|
public $model;
|
|
public $level;
|
|
|
|
public $name;
|
|
public $status;
|
|
public $recharge_number;
|
|
public $discount;
|
|
public $cover;
|
|
public $cover_min;
|
|
public $pic;
|
|
public $font_color;
|
|
|
|
public $levelDetailsKey = 'level_details';
|
|
public $levelDetails;
|
|
|
|
|
|
|
|
public $one_status;
|
|
public $one_recharge_number;
|
|
public $one_discount;
|
|
public $two_status;
|
|
public $two_recharge_number;
|
|
public $two_discount;
|
|
public $three_status;
|
|
public $three_recharge_number;
|
|
public $three_discount;
|
|
|
|
public function rules()
|
|
{
|
|
return [
|
|
[['name', 'status' ,'recharge_number', 'discount', 'cover', 'pic','levelDetails'], 'trim'],
|
|
[['cover', 'pic', 'name','levelDetails','font_color','cover_min'], 'string'],
|
|
[['status','level', 'discount'],'integer'],
|
|
[['recharge_number'], 'number'],
|
|
[['status'], 'in', 'range' => [0, 1]],
|
|
[['name', 'status' ,'recharge_number', 'discount','level'], 'required','on' => 'edit'],
|
|
[['one_status', 'one_recharge_number' ,'one_discount','two_status','two_recharge_number','two_discount','three_status','three_recharge_number','three_discount'], 'required','on' => 'editSetting'],
|
|
];
|
|
}
|
|
|
|
public function attributeLabels() {
|
|
return [
|
|
'name' => '名称',
|
|
'status' => '状态',
|
|
'recharge_number' => '充值',
|
|
'discount' => '折扣',
|
|
'cover' => '卡片1',
|
|
'cover_min' => '卡片2',
|
|
'pic' => '图标',
|
|
|
|
'one_status' => '见习会员-状态',
|
|
'one_recharge_number' => '见习会员-充值金额',
|
|
'one_discount' => '见习会员-折扣',
|
|
'two_status' => '进阶会员-状态',
|
|
'two_recharge_number' => '进阶会员-充值金额',
|
|
'two_discount' => '进阶会员-折扣',
|
|
'three_status' => '高阶会员-状态',
|
|
'three_recharge_number' => '高阶会员-充值金额',
|
|
'three_discount' => '高阶会员-折扣',
|
|
];
|
|
}
|
|
|
|
public function edit()
|
|
{
|
|
if(!$this->validate()){
|
|
return $this->getModelError();
|
|
}
|
|
if($this->model->isNewRecord){
|
|
$this->model->created_at = time();
|
|
}
|
|
$this->model->level = $this->level;
|
|
$this->model->name = $this->name;
|
|
$this->model->status = $this->status;
|
|
$this->model->recharge_number = $this->recharge_number;
|
|
$this->model->discount = $this->discount;
|
|
$this->model->cover = $this->cover;
|
|
$this->model->cover_min = $this->cover_min;
|
|
$this->model->pic = $this->pic;
|
|
$this->model->font_color = $this->font_color;
|
|
$this->model->updated_at = time();
|
|
if(!$this->model->save()){
|
|
return $this->getModelError($this->model);
|
|
}
|
|
return $this->apiReturnSuccess("保存成功");
|
|
}
|
|
|
|
public function editDetails()
|
|
{
|
|
$key = Utils::hump2underline($this->levelDetailsKey);
|
|
$key = strtoupper($key);
|
|
$f = Option::setOption($key, $this->levelDetails, 0);
|
|
if(!$f){
|
|
return $this->apiReturnError('保存失败');
|
|
}
|
|
return $this->apiReturnSuccess("保存成功");
|
|
}
|
|
|
|
|
|
public function editSetting()
|
|
{
|
|
if(!$this->validate()){
|
|
return $this->getModelError();
|
|
}
|
|
$time = time();
|
|
$data = [
|
|
['level' => 1,'name' => '见习会员','recharge_number'=>$this->one_recharge_number,'discount' => $this->one_discount,'status' => $this->one_status,'updated_at' => $time],
|
|
['level' => 2,'name' => '进阶会员','recharge_number'=>$this->two_recharge_number,'discount' => $this->two_discount,'status' => $this->two_status,'updated_at' => $time],
|
|
['level' => 3,'name' => '高阶会员','recharge_number'=>$this->three_recharge_number,'discount' => $this->three_discount,'status' => $this->three_status,'updated_at' => $time],
|
|
];
|
|
$is_exists = Level::find()->exists();
|
|
foreach ($data as $item){
|
|
if(!$is_exists){
|
|
$item['created_at'] = $time;
|
|
\Yii::$app->db->createCommand()->insert(Level::tableName(), $item)->execute();
|
|
}else{
|
|
\Yii::$app->db->createCommand()->update(Level::tableName(), $item,['id' => $item['level']])->execute();
|
|
}
|
|
}
|
|
return $this->apiReturnSuccess("保存成功");
|
|
}
|
|
|
|
} |