Files
xk-api-yii/admin/models/forms/ActivityForm.php
2024-09-19 11:32:39 +08:00

81 lines
2.2 KiB
PHP

<?php
namespace admin\models\forms;
use common\models\Activity;
use common\validators\MobieValidator;
use Yii;
use common\core\BaseModel;
use yii\base\Exception;
class ActivityForm extends BaseModel
{
public $id;
public $mall_id;
public $title;
public $price;
public $start_time;
public $end_time;
public $p_commission;
public $pp_commission;
public $content;
public $contact;
public $mobile;
/**
* @inheritdoc
*/
public function rules()
{
return [
['id','default','value'=>0],
[['mall_id','title','contact','mobile','price','start_time','end_time','p_commission','pp_commission'],'required'],
['content','default','value'=>''],
['mobile',MobieValidator::class,'message'=>'手机号格式不正确'],
[['price'],'number','min'=>0],
[['p_commission','pp_commission'],'number','min'=>1],
[['p_commission','pp_commission'], 'match', 'pattern' => '/^\d+(\.\d{1,2})?$/i','message'=>'佣金最多只能有两位小数']
];
}
public function attributeLabels()
{
return [
'mall_id' => '活动门店',
'title' => '活动标题',
'contact' => '联系人',
'mobile' => '联系电话',
'price' => '活动价格',
'start_time' => '活动开始时间',
'end_time' => '活动结束时间',
'p_commission' => '上级返佣',
'pp_commission' => '上上级返佣'
];
}
public function save()
{
if (!$this->validate()) {
throw new Exception($this->getErrorMsg($this));
}
if($this->id){
$model = Activity::find()->where([
'id' => $this->id,
'is_delete' => 0
])->one();
if(!$model){
throw new Exception('活动不存在');
}
}else{
$model = new Activity();
}
$model->attributes = $this->attributes;
$model->start_time = strtotime($this->start_time);
$model->end_time = strtotime($this->end_time);
$model->saveOrFail();
return [];
}
}