255], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'mall_id' => '商城ID', 'is_enable' => '是否独立设置:0:否;1是', 'item_id' => '项目id', 'item_type' => '项目类型:商品goods', 'commission_type' => '分佣类型:积分score;佣金:commission', 'is_percent_team' => '团队奖类型 0百分比 1 固定金额', 'is_percent_equal' => '平级奖类型 0百分比 1 固定金额', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public function getDetail() { return $this->hasMany(AreaCommissionItemSettingDetail::class, ['area_commission_item_setting_id' => 'id'])->indexBy('level'); } public static function setData($params, $data) { try{ foreach ($data as $item) { $model = self::findOne([ 'mall_id' => $params['mall_id'], 'item_type' => $item['item_type'], 'commission_type' => $item['commission_type'], 'item_id' => $params['item_id'], 'status' => [StatusEnum::ENABLED] ]); if (empty($model)) { $model = new self(); $model->mall_id = $params['mall_id']; $model->item_id = $params['item_id']; $model->loadDefaultValues(); } if(!$model->load($item,'') || !$model->save()){ throw new \Exception($model->getErrorMessage()); } // 插入配置详情 $detail = ['mall_id' => $params['mall_id'], 'area_commission_item_setting_id' => $model->id]; $res = AreaCommissionItemSettingDetail::setData($detail, $item['detail']); if ($res == false) throw new \Exception(AreaCommissionItemSettingDetail::getStaticError()); } return true; }catch(\Exception $e){ self::$static_error = $e->getMessage(); return false; } } }