255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => '商城ID', 'level' => 'Level', 'commission_type' => '分佣类型:积分score;佣金:commission', 'from_type' => '分佣类型:股东;', 'is_percent_prize' => '出单奖励类型 0百分比 1 固定金额', 'prize' => '出单奖励', 'is_percent_extra' => '加权平分类型 0百分比 1 固定金额', 'extra_prize' => '加权平分', 'is_extra' => '是否开启额外分红【0否,1是】', 'extra_type' => '获取额外分红的类型:1购物,2条件,3任意', 'extra_is_limit' => '额外分红是否存在上限【0否,1是】', 'extra_limit_price' => '额外分红上限金额,单位:元', 'is_accumulation' => '是否开启叠加加权平分:0否,1是', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', 'accumulation_condition' => '加权平均分限制条件,1开启,0关闭', 'accumulation_condition_money' => '上月团队总业绩需达n元', ]; } /** * 保存数据 * @Author: ltm * @DateTime: 2021/11/4 0004 14:23 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $params * @return bool */ public static function setData($params) { try{ // 删除数据特殊处理 if ($params['status'] == StatusEnum::DELETE) { self::updateAll(['status'=>StatusEnum::DELETE],['level'=>$params['level'],'mall_id'=>$params['mall_id']]); return true; } $model = self::find()->where(['mall_id' => $params['mall_id'],'level' => $params['level']])->andWhere(['<>', 'status', StatusEnum::DELETE])->one(); if (empty($model)) { $model = new self(); $model->mall_id = $params['mall_id']; $model->level = $params['level']; $model->loadDefaultValues(); } if(!$model->load($params,'') || !$model->save()){ throw new \Exception($model->getErrorMessage()); } return true; }catch(\Exception $e){ self::$static_error = $e->getMessage(); return false; } } /** * 获取等级分佣配置 * @Author: ltm * @DateTime: 2021/11/4 0004 14:23 * @Copyright: copyright (c) 2021 广东七件事集团 * @param array $cond * @param array $with * @param bool $is_array * @param string $select * @return array|\yii\db\ActiveRecord[] */ public static function getServeBonusLevelSetting(array $cond=[], array $with=[],bool $is_array=true,string $select='*'){ $default_cond = [['<>','status',StatusEnum::DELETE]]; $cond = array_merge($default_cond,$cond); $query = self::find()->select($select); self::paramPack(['where'=>$cond, 'with'=>$with],$query); $data = $query->asArray($is_array)->all(); return $data; } }