255], [['checked_weight_values'],'safe'] ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => '商城ID', 'level' => 'Level', 'commission_type' => '分佣类型:积分score;佣金:commission', 'from_type' => '分佣类型:股东;', 'prize' => '永久分红,单位:百分比', 'extra_prize' => '额外分红,单位:百分比', 'is_extra' => '是否开启额外分红【0否,1是】', 'extra_type' => '获取额外分红的类型:1购物,2条件,3任意', 'extra_is_limit' => '额外分红是否存在上限【0否,1是】', 'extra_limit_price' => '额外分红上限金额,单位:元', 'weight_status' => '是否开启加权分红。0-不开启,1-开启', 'weight_member_num' => '加权分红条件,直推会员数量', 'weight_product_num' => '加权分红条件,购买产品数量', 'weight_num' => '加权分红配置,满足条件奖励的权重数量', 'weight_level_ratio' => '加权分红配置,等级分红比例', 'weight_turnover_ratio' => '加权分红配置,营业额比例', 'weight_max_price' => '加权分红配置。分红上限金额', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', 'weight_is_limit' => '是否开启权重限制', 'checked_weight_values' => '权重限制规则', 'weight_member_num_second' => '加权分红条件,直推会员数量', 'weight_member_level_second' => '加权分红条件,会员等级', 'weight_num_second' => '加权分红配置,满足条件奖励的权重数量', 'weight_member_num_team' => '伞下团队每有一个市场业绩', 'weight_num_team' => '市场业绩达标,获得权重数量' ]; } /** * 保存数据 * @Author: lun * @DateTime: 2021/11/4 0004 14:23 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $params * @return bool */ public static function setData($params) { try{ $model = self::findOne([ 'mall_id' => $params['mall_id'], 'level' => $params['level'], 'status' => [StatusEnum::ENABLED] ]); 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: lun * @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 getBossLevelSetting(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; } }