TimestampBehavior::class, 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => ['created_at'], ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'] ] ] ]; } /** * @inheritdoc */ public function rules() { return [ [['level', 'status','is_delete'], 'integer'], [['rate','achieve'], 'number'], [['name'], 'string'], [['created_at', 'updated_at'], 'safe'] ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'level' => '等级', 'name' => '名称', 'rate' => '比例', 'status' => '状态', 'created_at' => '创建时间', 'updated_at' => '更新时间', ]; } public static function levelUp($store_id,$pool_id){ $achieve = StoreUnionPoolDetail::find()->where(['store_id'=>$store_id,'pool_id'=>$pool_id])->sum('total_pv')?:0; $level = SaasStoreUnionLevel::find()->andWhere(['<=','achieve',$achieve])->orderBy('achieve desc')->one(); if (!empty($level)){ $union = SaasStoreUnion::find()->where(['store_id'=>$store_id])->one(); if (empty($union)){ $union = new SaasStoreUnion(); $union->store_id = $store_id; } $storeLevel = SaasStoreUnionLevel::findOne($union->level_id); if (!$union->level_id || empty($storeLevel) || $storeLevel->level < $level->level){ $union->level_id = $level->id; $union->save(); } } } }