| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611 |
- <?php
- namespace addons\Mch\backend\controllers;
- use addons\Agent\common\models\AgentLevel;
- use addons\Boss\common\models\AddonsBossLevel;
- use addons\Distribution\common\models\DistributionLevel;
- use addons\Mch\common\enums\MchEnum;
- use common\enums\AddonsEnum;
- use common\enums\StatusEnum;
- use common\globals\GlobalInvoke;
- use common\models\goods\Goods;
- use common\models\mall\MallAddons;
- use common\models\user\UserLevel;
- class StoreSettingController extends BaseController
- {
- public function actionIndex()
- {
- if (!\Yii::$app->request->isAjax) {
- return $this->render('/setting/index');
- }
- $is_install_distribution = MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_DISTRIBUTION);
- $is_install_agent = MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_AGENT);
- $is_install_boss = MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_BOSS);
- $is_install_area = MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_AREA);
- if (\Yii::$app->request->isGet) {
- $web_url = \Yii::$app->services->setting->mall->get($this->mall_id, 'basic.web_url');
- if (empty($web_url)) {
- $h5_domain = 'https://h5.qijianshirjcs.com/';
- $mall_sign = '';
- } else {
- $url_info = explode('?', $web_url);
- $h5_domain = $url_info[0];
- $mall_sign = substr($url_info[1], mb_strlen('sign='));
- }
- $basic = \Yii::$app->services->setting->addons->get($this->mall_id, MchEnum::ADDONS_NAME, 'basic');
- $cashier = \Yii::$app->services->setting->addons->get($this->mall_id, MchEnum::ADDONS_NAME, 'cashier');
- $enter = \Yii::$app->services->setting->addons->get($this->mall_id, MchEnum::ADDONS_NAME, 'enter');
- $mode = \Yii::$app->services->setting->addons->get($this->mall_id, MchEnum::ADDONS_NAME, 'mode');
- if (!empty($enter['goods_ids'])) {
- $goods_ids = json_decode($enter['goods_ids'], true);
- $goods = Goods::find()
- ->select('id,goods_name,cover_pic')
- ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED, 'id' => $goods_ids])
- ->asArray()
- ->all();
- } else {
- $goods_ids = $goods = [];
- }
- if (empty($enter)) {
- $enter = null;
- } else {
- $enter['goods_ids'] = $goods_ids;
- $enter['goods_list'] = $goods;
- }
- if (empty($basic)) {
- $basic = null;
- } else {
- $basic['is_distribution_enable'] = $is_install_distribution;
- $basic['is_agent_enable'] = $is_install_agent;
- $basic['is_boss_enable'] = $is_install_boss;
- $basic['is_area_enable'] = $is_install_area;
- }
- /* cashier */
- /* ---------- 会员等级相关配置处理 start ------ */
- $member_levels = UserLevel::find()
- ->select('level,name as level_name')
- ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED])
- ->asArray()
- ->all();
- if (empty($member_levels)) {
- $member_levels = [];
- }
- if (!empty($cashier['members'])) {
- $setting_members = json_decode($cashier['members'], true);
- $mem_levels = array_column($setting_members, 'level');
- $mem_level_discount_map = array_column($setting_members, 'discount', 'level');
- } else {
- $mem_levels = [];
- $mem_level_discount_map = [];
- }
- foreach ($member_levels as &$mlevel) {
- if (!in_array($mlevel['level'], $mem_levels)) {
- $mlevel['discount'] = 0;
- } else {
- $mlevel['discount'] = floatval($mem_level_discount_map[$mlevel['level']] ?? 0);
- }
- }
- // dd($member_levels);
- /* ---------- 会员等级相关配置处理 end ------ */
- /* 模式相关设置 */
- /* 分销模式设置 ---- start ------ */
- $currency_arr = ['commission' => '佣金', 'score' => '积分'];
- $mode['distribution_currency'] = $currency_arr;
- $currency = array_keys($currency_arr);
- // $addons_currency_arr = GlobalInvoke::exec(GlobalInvoke::INVOKE_COMMISSION_TYPE, $this->mall_id, ['mall_id' => $this->mall_id]);
- $addons_currency_arr = [];
- $addons_currency = [];
- $all_addons_currency = [];
- foreach ($addons_currency_arr as $v) {
- $mode['distribution_currency'] = array_merge($mode['distribution_currency'], array_column($v, 'label', 'name'));
- $temp_currency = array_column($v, 'name');
- $currency = array_merge($currency, $temp_currency);
- $addons_currency = array_merge($addons_currency, $temp_currency);
- $all_addons_currency = array_merge($all_addons_currency, array_column($v, 'label', 'name'));
- }
- $mode['agent_currency'] = $mode['distribution_currency'];
- $mode['is_distribution_enable'] = 0;
- if ($is_install_distribution) {
- $mode['is_distribution_enable'] = 1;
- $distribution_levels = DistributionLevel::find()
- ->select('level,name as level_name')
- ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED])
- ->asArray()
- ->all();
- $init_data = ['level' => 0, 'level_name' => '默认等级'];
- if (empty($distribution_levels)) {
- $distribution_levels = [$init_data];
- } else {
- array_unshift($distribution_levels, $init_data);
- }
- if (!empty($mode['Distribution'])) {
- // $mode_distribution_settings = json_decode($mode['Distribution'], true);
- // $dst_commission_details = $dst_score_details = [];
- // foreach ($mode_distribution_settings['commission']['detail'] as $detail) {
- // $dst_commission_details[$detail['level']] = $detail;
- // }
- // foreach ($mode_distribution_settings['score']['detail'] as $detail) {
- // $dst_score_details[$detail['level']] = $detail;
- // }
- // $dst_commission_level_settings = $dst_score_level_settings = [];
- // foreach ($distribution_levels as &$dlevel) {
- // if (empty($dst_commission_details[$dlevel['level']])) {
- // $arr = [
- // 'level' => $dlevel['level'],
- // 'level_name' => $dlevel['level_name'],
- // 'first_prize' => 0,
- // 'second_prize' => 0,
- // 'third_prize' => 0
- // ];
- // $dst_commission_level_settings[] = $arr;
- // } else {
- // $dst_commission_details[$dlevel['level']]['level_name'] = $dlevel['level_name'];
- // $dst_commission_level_settings[] = $dst_commission_details[$dlevel['level']];
- // }
- // if (empty($dst_score_details[$dlevel['level']])) {
- // $arr = [
- // 'level' => $dlevel['level'],
- // 'level_name' => $dlevel['level_name'],
- // 'first_prize' => 0,
- // 'second_prize' => 0,
- // 'third_prize' => 0
- // ];
- // $dst_score_level_settings[] = $arr;
- // } else {
- // $dst_score_level_settings[] = $dst_score_details[$dlevel['level']];
- // }
- // }
- // if (!empty($dst_commission_level_settings)) {
- // $mode_distribution_settings['commission']['detail'] = $dst_commission_level_settings;
- // }
- // if (!empty($mode_distribution_settings)) {
- // $mode_distribution_settings['score']['detail'] = $dst_score_level_settings;
- // }
- // $mode['Distribution'] = $mode_distribution_settings;
- // $mode['Distribution'] = $this->getAddonsData($mode[AddonsEnum::ADDONS_NAME_DISTRIBUTION] ?? '', $distribution_levels, $currency, AddonsEnum::ADDONS_NAME_DISTRIBUTION, 1, [], ['is_enable' => 0, 'is_percent' => 0]);
- } else {
- // $mode_distribution_settings = [];
- // $mode_distribution_settings['commission'] = ['is_enable' => 0, 'is_percent' => 0];
- // $mode_distribution_settings['score'] = ['is_enable' => 0, 'is_percent' => 0];
- // foreach ($distribution_levels as $item) {
- // $mode_distribution_settings['commission']['detail'][] = [
- // "first_prize" => 0,
- // "second_prize" => 0,
- // "third_prize" => 0,
- // "level" => $item['level'],
- // "level_name" => $item['level_name'],
- // ];
- // $mode_distribution_settings['score']['detail'][] = [
- // "first_prize" => 0,
- // "second_prize" => 0,
- // "third_prize" => 0,
- // "level" => $item['level'],
- // "level_name" => $item['level_name'],
- // ];
- // }
- // $mode['Distribution'] = $mode_distribution_settings;
- }
- $mode['Distribution'] = $this->getAddonsData($mode[AddonsEnum::ADDONS_NAME_DISTRIBUTION] ?? '', $distribution_levels, $currency, AddonsEnum::ADDONS_NAME_DISTRIBUTION, 1, [], ['is_enable' => 0, 'is_percent' => 0]);
- } else {
- }
- /* 分销模式设置 ---- end ------ */
- /* 经销模式设置 ---- start ------ */
- $mode['is_agent_enable'] = 0;
- if ($is_install_agent) {
- $mode['is_agent_enable'] = 1;
- $agent_levels = AgentLevel::find()
- ->select('level,name as level_name')
- ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED])
- ->asArray()
- ->all();
- if (empty($agent_levels)) {
- $agent_levels = [];
- }
- if (!empty($mode['Agent'])) {
- // $mode_agent_settings = json_decode($mode['Agent'], true);
- // $ag_commission_details = $ag_score_details = [];
- // if (!empty($mode_agent_settings['commission']['detail'])) {
- // foreach ($mode_agent_settings['commission']['detail'] as $detail) {
- // $ag_commission_details[$detail['level']] = $detail;
- // }
- // }
- // if (!empty($mode_agent_settings['score']['detail'])) {
- // foreach ($mode_agent_settings['score']['detail'] as $detail) {
- // $ag_score_details[$detail['level']] = $detail;
- // }
- // }
- // $ag_commission_level_settings = $ag_score_level_settings = [];
- // foreach ($agent_levels as &$alevel) {
- // if (empty($ag_commission_details[$alevel['level']])) {
- // $arr = [
- // 'level' => $alevel['level'],
- // 'level_name' => $alevel['level_name'],
- // 'agent_team_prize' => 0,
- // 'agent_equal_prize' => 0,
- // 'agent_over_prize' => 0,
- // 'agent_extra_prize' => 0,
- // ];
- // $ag_commission_level_settings[] = $arr;
- // } else {
- // $ag_commission_details[$alevel['level']]['level_name'] = $alevel['level_name'];
- // $ag_commission_level_settings[] = $ag_commission_details[$alevel['level']];
- // }
- // if (empty($ag_score_details[$alevel['level']])) {
- // $arr = [
- // 'level' => $alevel['level'],
- // 'level_name' => $alevel['level_name'],
- // 'agent_team_prize' => 0,
- // 'agent_equal_prize' => 0,
- // 'agent_over_prize' => 0,
- // 'agent_extra_prize' => 0,
- // ];
- // $ag_score_level_settings[] = $arr;
- // } else {
- // $ag_score_level_settings[] = $ag_score_details[$alevel['level']];
- // }
- // }
- // if (!empty($ag_commission_level_settings)) {
- // $mode_agent_settings['commission']['detail'] = $ag_commission_level_settings;
- // }
- // if (!empty($mode_agent_settings)) {
- // $mode_agent_settings['score']['detail'] = $ag_score_level_settings;
- // }
- // $mode['Agent'] = $mode_agent_settings;
- } else {
- // $mode_agent_settings = [];
- // $mode_agent_settings['commission'] = [
- // "is_enable" => 1,
- // "is_percent_equal" => 0,
- // "is_percent_extra" => 0,
- // "is_percent_over" => 0,
- // "is_percent_team" => 0,
- // ];
- // $mode_agent_settings['score'] = [
- // "is_enable" => 1,
- // "is_percent_equal" => 0,
- // "is_percent_extra" => 0,
- // "is_percent_over" => 0,
- // "is_percent_team" => 0,
- // ];
- // foreach ($agent_levels as $item) {
- // $mode_agent_settings['commission']['detail'][] = [
- // "agent_equal_prize" => 0,
- // "agent_extra_prize" => 0,
- // "agent_over_prize" => 0,
- // "agent_team_prize" => 0,
- // "level" => $item['level'],
- // "level_name" => $item['level_name'],
- // ];
- // $mode_agent_settings['score']['detail'][] = [
- // "agent_equal_prize" => 0,
- // "agent_extra_prize" => 0,
- // "agent_over_prize" => 0,
- // "agent_team_prize" => 0,
- // "level" => $item['level'],
- // "level_name" => $item['level_name'],
- // ];
- // }
- // $mode['Agent'] = $mode_agent_settings;
- }
- $mode['Agent'] = $this->getAddonsData($mode[AddonsEnum::ADDONS_NAME_AGENT] ?? '', $agent_levels, $currency, AddonsEnum::ADDONS_NAME_AGENT, 1, [], ['remaining_ratio' => 0, 'is_enable' => 0, 'is_percent_over' => 0, 'is_percent_equal' => 0, 'is_percent_team' => 0, 'is_percent_extra' => 0]);
- } else {
- }
- /* 经销模式设置 ---- end ------ */
- /* 股东分红模式设置 ---- start ------ */
- $area_currency_arr = ['detail' => '佣金'];
- $mode['area_currency'] = array_merge($area_currency_arr, $all_addons_currency);
- $area_currency = array_keys($area_currency_arr);
- $area_currency = array_merge($area_currency, $addons_currency);
- if ($is_install_area) {
- $mode['is_area_enable'] = 1;
- $area_levels = [
- 6 => ['level' => 6, 'level_name' => '大区代'],
- 1 => ['level' => 1, 'level_name' => '省代'],
- 2 => ['level' => 2, 'level_name' => '市代'],
- 3 => ['level' => 3, 'level_name' => '区代'],
- 4 => ['level' => 4, 'level_name' => '镇代'],
- 5 => ['level' => 5, 'level_name' => '小区代']
- ];
- if (!empty($mode['Area'])) {
- // $mode_area_settings = json_decode($mode['Area'], true);
- // $area_details = [];
- // foreach ($mode_area_settings['detail'] as $detail) {
- // $area_details[$detail['level']] = $detail;
- // }
- // $area_level_settings = [];
- // foreach ($area_levels as $arlevel) {
- // if (empty($area_details[$arlevel['level']])) {
- // $arr = [
- // 'level' => $arlevel['level'],
- // 'level_name' => $arlevel['level_name'],
- // 'prize' => 0,
- // 'equal_prize' => 0,
- // ];
- // $area_level_settings[] = $arr;
- // } else {
- // $area_details[$arlevel['level']]['level_name'] = $arlevel['level_name'];
- // $area_level_settings[] = $area_details[$arlevel['level']];
- // }
- // }
- // if (!empty($area_level_settings)) {
- // $mode_area_settings['detail'] = $area_level_settings;
- // }
- // $mode['Area'] = $mode_area_settings;
- } else {
- // $area_level_settings = [];
- // foreach ($area_levels as $arlevel) {
- // $arr = [
- // 'level' => $arlevel['level'],
- // 'level_name' => $arlevel['level_name'],
- // 'prize' => 0,
- // 'equal_prize' => 0,
- // ];
- // $area_level_settings[] = $arr;
- // }
- // $mode['Area'] = [
- // 'is_enable' => 0,
- // 'is_extra' => 0,
- // 'detail' => $area_level_settings,
- // ];
- }
- $mode['Area'] = $this->getAddonsData($mode[AddonsEnum::ADDONS_NAME_AREA] ?? '', $area_levels, $area_currency, AddonsEnum::ADDONS_NAME_AREA, 0, ['remaining_ratio']);
- } else {
- $mode['is_area_enable'] = 0;
- $mode['Area'] = [];
- }
- $boss_currency_arr = ['commission' => '佣金', 'digital' => '数字币'];
- $mode['boss_currency'] = array_merge($boss_currency_arr, $all_addons_currency);
- $boss_currency = array_keys($boss_currency_arr);
- $boss_currency = array_merge($boss_currency, $addons_currency);
- if ($is_install_boss) {
- $mode['is_boss_enable'] = 1;
- $boss_levels = AddonsBossLevel::find()
- ->select('level,name as level_name')
- ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED])
- ->orderBy('level asc')
- ->asArray()
- ->all() ?: [];
- $mode['Boss'] = $this->getAddonsData($mode[AddonsEnum::ADDONS_NAME_BOSS] ?? '', $boss_levels, $boss_currency, AddonsEnum::ADDONS_NAME_BOSS, 1);
- } else {
- $mode['is_boss_enable'] = 0;
- $mode['Boss'] = [];
- }
- //货款设置
- $basic['payment_settle_info'] = json_decode($basic['payment_settle_info'],true) ?? [];
- $basic['payment_settle'] = array_column($basic['payment_settle_info'],'type');
- $payment_settle_info = [
- ['type' => 'settle_judge_yes','value' => 0],
- ['type' => 'settle_judge_no','value' => 0]
- ];
- if(!empty($payment_settle_info) && !empty($basic['payment_settle_info'])){
- foreach($payment_settle_info as &$info){
- foreach($basic['payment_settle_info'] as $item){
- if($item['type'] == $info['type']){
- $info['value'] = $item['value'];
- }
- }
- }
- }
- $basic['payment_settle_info'] = $payment_settle_info;
- $settings = [
- 'basic' => $basic,
- 'cashier' => $cashier,
- 'enter' => $enter,
- 'mode' => $mode,
- ];
- $group = \Yii::$app->request->get('group');
- if (!empty($group)) {
- $settings = $settings[$group] ?? [];
- }
- $settings['h5_domain'] = $h5_domain;
- $settings['mall_sign'] = $mall_sign;
- $settings['basic']['o2o_url'] = 'plugins/Mch/store/storeindex';
- return $this->success('success', $settings);
- } else {
- $post = \Yii::$app->request->post();
- // dd($post);
- $group = $post['group'] ?? '';
- unset($post['_csrf'], $post['group']);
- if (empty($group)) {
- return $this->error('参数错误');
- }
- $rules = [
- 'basic' => [
- [['o2o_url', 'goods_auth', 'service_fee', 'settle_type', 'platform_ratio', 'risk_management', 'risk_management_ratio', 'settle_scene', 'store_distribution_status', 'store_agent_status', 'store_area_status', 'store_boss_status'], 'required'],
- [['o2o_url'], 'string', 'max' => 255],
- [['goods_auth', 'settle_type', 'risk_management', 'settle_scene', 'store_distribution_status', 'store_agent_status', 'store_area_status', 'store_boss_status'], 'integer'],
- [['service_fee', 'platform_ratio', 'risk_management_ratio'], 'number', 'min' => 0, 'max' => 100, 'message' => '比例取值在 0 ~ 100 之间'],
- [['payment_settle_info','payment_settle','balance_cash_service_fee'],'safe'],
- ],
- 'cashier' => [
- [['service_fee_ratio', 'member_status', 'members', 'is_distribution', 'distribution_settingRecruit s', 'is_agent', 'agent_settings'], 'required'],
- [['member_status', 'is_distribution', 'is_agent'], 'integer'],
- [['service_fee_ratio'], 'number', 'min' => 0, 'max' => 100, 'message' => '比例取值在 0 ~ 100 之间'],
- ],
- 'enter' => [
- [[
- 'is_enable', 'time_status', 'expired_days', 'store_audit', 'upload_license_image', 'mode',
- // 'recruit_title', 'recruit_content',
- // 'recruit_btn_text', 'dow_center_agreement', 'goods_ids'
- ], 'required'],
- [['is_enable', 'time_status', 'expired_days', 'store_audit', 'upload_license_image', 'mode'], 'integer'],
- [['recruit_title', 'recruit_content', 'recruit_btn_text', 'dow_center_agreement'], 'string'],
- [['goods_ids'], 'safe'],
- ],
- 'mode' => [
- [['is_enable_mode'], 'required'],
- [['is_enable_mode', 'enable_agent_goods_deduct'], 'integer'],
- [['Distribution', 'Agent', 'Area', 'Boss'], 'safe'],
- ],
- ];
- $res = \Yii::$app->services->validate->validate($post[$group], $rules[$group]);
- if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
- if ('basic' == $group) {
- $post[$group]['o2o_url'] = trim($post[$group]['o2o_url']);
- $post[$group]['o2o_url'] = trim($post[$group]['o2o_url']);
- if (!empty($post[$group]['payment_settle'])) {
- foreach($post[$group]['payment_settle_info'] as $key => $item){
- if(!in_array($item['type'],$post[$group]['payment_settle'])){
- unset($post[$group]['payment_settle_info'][$key]);
- }
- }
- }else{
- $post[$group]['payment_settle_info'] = [];
- }
- unset($post[$group]['payment_settle']);
- } elseif ('enter' == $group) {
- if (empty($post[$group]['goods_ids'])) {
- $post[$group]['goods_ids'] = '';
- } else {
- $post[$group]['goods_ids'] = json_encode($post[$group]['goods_ids']);
- }
- }
- // dd($post);
- \Yii::$app->services->setting->addons->set($this->mall_id, MchEnum::ADDONS_NAME, $post);
- return $this->success('保存成功');
- }
- }
- /**
- * @Description: 处理插件模式数据
- * @Author: qi
- * @DateTime 2022-11-10 09:59:45
- * @param string $init_data
- * @param array $level_data
- * @param array $currencys
- * @param string $addons_name
- * @param integer $level
- * @param array $append_fields
- * @param array $base_fields
- * @return array
- */
- protected function getAddonsData($init_data, $level_data, $currencys, $addons_name, $level = 1, $append_fields = [], $base_fields = [])
- {
- $settings = [];
- $container_arr = [];
- if (!empty($init_data)) {
- // 已存储的数据
- $settings = json_decode($init_data, true);
- if($currencys){
- foreach ($currencys as $currency) {
- if (!isset($settings[$currency])) continue;
- $currency_detail = $level == 1 ? $settings[$currency]['detail'] : $settings[$currency];
- if(!$currency_detail) continue;
- foreach ($currency_detail as $detail) {
- // 币种对应的等级数据
- if (!isset($detail['level'])) {
- continue;
- }
- $container_arr[$currency . '_' . $detail['level']] = $detail;
- }
- }
- }
- } else {
- foreach ($currencys as $currency) {
- $settings[$currency]['is_enable'] = 0;
- }
- }
- $method_name = 'get' . $addons_name . 'InitData';
- foreach ($currencys as $item) {
- $level_settings = [];
- // 不存在该等级数据就初始化,存在该等级则更新等级名称
- foreach ($level_data as $dlevel) {
- if (!isset($container_arr[$item . '_' . $dlevel['level']])) {
- $arr = [
- 'level' => $dlevel['level'],
- 'level_name' => $dlevel['level_name'],
- ];
- $arr = array_merge($arr, $this->$method_name());
- $level_settings[] = $arr;
- } else {
- // 更新对应等级名称
- $container_arr[$item . '_' . $dlevel['level']]['level_name'] = $dlevel['level_name'];
- $level_settings[] = $container_arr[$item . '_' . $dlevel['level']];
- }
- }
- if (!empty($level_settings)) {
- if (!isset($settings[$item])) {
- $settings[$item] = $base_fields;
- }
- if ($level == 1) {
- $settings[$item]['detail'] = $level_settings;
- } else {
- $settings[$item] = $level_settings;
- }
- }
- }
- foreach ($currencys as $v) {
- foreach ($append_fields as $field) {
- if (isset($settings[$v . '_' . $field])) continue;
- $settings[$v . '_' . $field] = 0;
- }
- }
- unset($container_arr);
- return $settings;
- }
- protected function getDistributionInitData()
- {
- return [
- 'first_prize' => 0,
- 'second_prize' => 0,
- 'third_prize' => 0,
- 'is_percent' => 0,
- 'remaining_ratio' => 0
- ];
- }
- protected function getAgentInitData()
- {
- return [
- 'agent_team_prize' => 0,
- 'agent_equal_prize' => 0,
- 'agent_over_prize' => 0,
- 'agent_extra_prize' => 0,
- ];
- }
- protected function getAreaInitData()
- {
- return [
- 'prize' => 0,
- 'equal_prize' => 0,
- ];
- }
- protected function getBossInitData()
- {
- return [
- 'prize' => 0,
- 'is_extra' => 0,
- 'extra_prize' => 0
- ];
- }
- }
|