| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- <?php
- namespace addons\CloudStock\backend\controllers;
- use addons\CloudStock\common\models\CloudStockBonusPoolLevel;
- use addons\CloudStock\common\models\CloudStockLevel;
- use addons\CloudStock\common\models\CloudStockSms;
- use common\enums\AddonsEnum;
- use common\enums\StatusEnum;
- use common\enums\WithdrawWayEnum;
- use common\globals\GlobalInvoke;
- use common\models\common\Addons;
- use common\models\goods\Goods;
- use common\models\mall\MallAddons;
- class SettingController extends BaseController
- {
- public $enableCsrfValidation = false;
- public function actionIndex()
- {
- if (\Yii::$app->request->isAjax) {
- if (\Yii::$app->request->isGet) {
- $configs = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK, 'basic');
- if(empty($configs)) $configs = [];
- if(empty($configs['award_proportion'])){
- $configs['award_proportion'] = [['num'=>0,'money'=>0]];
- }else{
- $configs['award_proportion'] = json_decode($configs['award_proportion'],true);
- }
- if(empty($configs['cloud_stock_level_arr'])){
- $configs['cloud_stock_level_arr'] = [];//
- }else{
- $configs['cloud_stock_level_arr'] = json_decode($configs['cloud_stock_level_arr']);//
- }
- if(empty($configs['cloud_stock_bonus_level_arr'])){
- $configs['cloud_stock_bonus_level_arr'] = [];//
- }else{
- $configs['cloud_stock_bonus_level_arr'] = json_decode($configs['cloud_stock_bonus_level_arr']);//
- }
- if(empty($configs['is_deduct_goods']))$configs['is_deduct_goods'] = 0;//
- if(empty($configs['is_equal_2_step']))$configs['is_equal_2_step'] = 0;//
- if(empty($configs['award_proportion_settlement_type']))$configs['award_proportion_settlement_type'] = 0;//
- if(empty($configs['is_upgrade_bag_give_goods']))$configs['is_upgrade_bag_give_goods'] = 0;//
- if(empty($configs['fill_price_difference']))$configs['fill_price_difference'] = 0;//
- if(empty($configs['buy_price_difference']))$configs['buy_price_difference'] = 0;//
- if(empty($configs['price_difference_type']))$configs['price_difference_type'] = 0;//
- if(empty($configs['fill_bonus']))$configs['fill_bonus'] = 0;//
- if(empty($configs['is_sync_boss_bonus']))$configs['is_sync_boss_bonus'] = 0;//
- if(empty($configs['is_sync_agent_level']))$configs['is_sync_agent_level'] = 0;//
- if(empty($configs['is_enable_wangdiantong']))$configs['is_enable_wangdiantong'] = 0;//
- if(empty($configs['level_up_give_stock_by_parent_type']))$configs['level_up_give_stock_by_parent_type'] = 0;//
- if(empty($configs['buy_double_copy_goods_dec_cloud_stock_goods']))$configs['buy_double_copy_goods_dec_cloud_stock_goods'] = 0;//
- if(empty($configs['upgrade_bag_product_deduction']))$configs['upgrade_bag_product_deduction'] = 0;//
- if(empty($configs['upgrade_bag_product_up_limit']))$configs['upgrade_bag_product_up_limit'] = 0;//
- if(empty($configs['payment_is_not_in_commission']))$configs['payment_is_not_in_commission'] = 0;//
- if (empty($configs['profit_in_commission'])) $configs['profit_in_commission'] = 0;//
- if(empty($configs['payment_withdraw']))$configs['payment_withdraw'] = 0;//
- if(empty($configs['payment_withdraw_poundage']))$configs['payment_withdraw_poundage'] = 0;//
- if(empty($configs['payment_to_balance']))$configs['payment_to_balance'] = 0;//
- if(empty($configs['payment_to_balance_poundage']))$configs['payment_to_balance_poundage'] = 0;//
- if(empty($configs['gift_plan_give_type']))$configs['gift_plan_give_type'] = 0;//
- if (empty($configs['settlement_cycle_of_equal_prize'])) $configs['settlement_cycle_of_equal_prize'] = 0;//
- if (empty($configs['is_find_equal'])) $configs['is_find_equal'] = 0;//
- if (empty($configs['payment_for_goods_price_difference'])) $configs['payment_for_goods_price_difference'] = 0;//
- if (empty($configs['is_show_setting_btn'])) $configs['is_show_setting_btn'] = 0;//
- if(empty($configs['withdraw_cash_type'])){
- $configs['withdraw_cash_type'] = [];
- }else{
- $configs['withdraw_cash_type'] = json_decode($configs['withdraw_cash_type'],true);
- }
- if(empty($configs['upgrade_bag_product_deduction_level']))$configs['upgrade_bag_product_deduction_level'] = '';//
- if(empty($configs['team_reward_goods_id'])){
- $configs['team_reward_goods_id'] = [];//
- }else{
- $configs['team_reward_goods_id'] = json_decode($configs['team_reward_goods_id'],true);//
- }
- if (!isset($configs['is_enable_order_num_limit']) || !is_numeric($configs['is_enable_order_num_limit'])) {
- $configs['is_enable_order_num_limit'] = 0;
- }
- if (!isset($configs['order_limit_num']) || !is_numeric($configs['order_limit_num'])) {
- $configs['order_limit_num'] = 0;
- }
- if (!isset($configs['order_limit_type']) || !is_numeric($configs['order_limit_type'])) {
- $configs['order_limit_type'] = 1;
- }
- if (!isset($configs['is_stock_assignment']) || !is_numeric($configs['is_stock_assignment'])) {
- $configs['is_stock_assignment'] = 1;
- }
- if (empty($configs['is_by_buy_agent_level'])) $configs['is_by_buy_agent_level'] = 0;//
- $level_list = CloudStockLevel::lists(['where'=>[['mall_id'=>$this->mall_id],['status'=>StatusEnum::ENABLED]],'order'=>'level asc','select'=>'level,name']);
- $bonus_level_list = CloudStockBonusPoolLevel::lists(['where'=>[['mall_id'=>$this->mall_id],['status'=>StatusEnum::ENABLED]],'select'=>'level,name']);
- $configs['level_list'] = $level_list;
- $configs['bonus_level_list'] = $bonus_level_list;
- $team_reward_goods_list = Goods::lists(['where'=>[['id'=>$configs['team_reward_goods_id']]],'select'=>'id,goods_name as name,cover_pic']);
- $configs['team_reward_goods_list'] = $team_reward_goods_list;
- if(!empty($configs['deduction_commission_arr'])){
- $configs['deduction_commission_arr'] = json_decode($configs['deduction_commission_arr'],true);
- $configs['deduction_commission_arr'] = $this->getAddonsArr($configs['deduction_commission_arr']);
- }else{
- $configs['deduction_commission_arr'] = $this->getAddonsArr();
- }
- if(!isset($configs['is_sync_area_reward']))$configs['is_sync_area_reward'] = 1;
- if(empty($configs['is_enable_rand_fee']))$configs['is_enable_rand_fee'] = 0;
- if(empty($configs['rand_condition'])){
- $configs['rand_condition'] = [['total_price'=>0,'rand_min'=>0,'rand_max'=>0]];
- }else{
- $configs['rand_condition'] = json_decode($configs['rand_condition'],true);
- }
- if(empty($configs['is_enable_freight_charges']))$configs['is_enable_freight_charges'] = 0;
- empty($configs['compute_type']) && $configs['compute_type'] = 0;
- empty($configs['compute_delay_day']) && $configs['compute_delay_day'] = 0;
- $default_withdraw_way = WithdrawWayEnum::getDefaultWithDrawWayMap(WithdrawWayEnum::WITHDRAW_TYPE_2);
- // 全局获取提现方式
- $extension_withdraw_way = GlobalInvoke::exec(
- GlobalInvoke::INVOKE_GET_WITHDRAW_EXTENSION_WAY,
- $this->mall_id,
- ['mall_id' => $this->mall_id]
- );
- $all_withdraw = array_merge($default_withdraw_way, $extension_withdraw_way);
- unset($all_withdraw[WithdrawWayEnum::BALANCE]);
- $configs['withdraw_way'] = $all_withdraw;
- if (!empty($configs['withdraw_way']['alipay_tax'])) {
- $configs['withdraw_way']['alipay_tax'] = $configs['withdraw_way']['alipay_tax']['name'];
- }
- if (empty($configs['is_buy_type'])) $configs['is_buy_type'] = 0;
- if (empty($configs['buy_type'])) $configs['buy_type'] = 1;
- if (empty($configs['is_jump_level'])) $configs['is_jump_level'] = 0;
- if (empty($configs['jump_level'])) {
- $configs['jump_level'] = [];
- } else {
- $configs['jump_level'] = json_decode($configs['jump_level'], true);
- }
- return $this->success('操作成功', $configs);
- }
- if (\Yii::$app->request->isPost) {
- $post = \Yii::$app->request->post();
- if(!isset($post['team_reward_goods_id'])) $post['team_reward_goods_id'] = [];
- if(empty($post['cloud_stock_bonus_level_arr'])) $post['cloud_stock_bonus_level_arr'] = [];
- if(empty($post['jump_level'])) $post['jump_level'] = [];
- \Yii::$app->services->setting->addons->set($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK, ['basic' => $post]);
- return $this->success('操作成功');
- }
- }
- return $this->render('index', ['is_install_wangdiantong' =>
- (int) MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_WANG_DIAN_TONG)]);
- }
- public function getAddonsArr($deduction_commission_arr=[]){
- $addons_arr = [AddonsEnum::ADDONS_NAME_AGENT,AddonsEnum::ADDONS_NAME_DISTRIBUTION,AddonsEnum::ADDONS_NAME_AREA,AddonsEnum::ADDONS_NAME_DOUBLE_COPY];
- $addons_list = [];
- foreach ($addons_arr as $addons){
- if(MallAddons::isInstall($this->mall_id,$addons)){
- $addons_list[] = $addons;
- }
- }
- $addons = Addons::lists(['where'=>[['name'=>$addons_list]],'index'=>'name']);
- $arr = [];
- foreach ($addons_list as $addon){
- if(!isset($deduction_commission_arr[$addon])){
- $arr[$addon] = ['title'=>$addons[$addon]['title']??'', 'is_open'=>0,];
- }else{
- $arr[$addon] = ['title'=>$addons[$addon]['title']??'','is_open'=>$deduction_commission_arr[$addon]['is_open']];
- }
- }
- return $arr;
- }
- //不用验证权限
- public function actionSmsList()
- {
- $data = array_values(CloudStockSms::$sms_data);
- return $this->success('操作成功', $data);
- }
- //不用验证权限
- public function actionGetSmsDetail()
- {
- $params = \Yii::$app->request->get();
- $where = [
- ['mall_id' => $this->mall_id],
- ['sms_key' => $params['sms_key']]
- ];
- $data = CloudStockSms::getOne($where, true);
- return $this->success('操作成功', $data??CloudStockSms::$sms_data[$params['sms_key']]);
- }
- //不用验证权限
- public function actionSmsSave(){
- $params = \Yii::$app->request->post();
- $params['mall_id'] = $this->mall_id;
- $res = CloudStockSms::setData($params);
- if ($res === false) return $this->error(CloudStockSms::getStaticError());
- return $this->success('操作成功');
- }
- }
|