request->isAjax) { $data = Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_HUIJU_BILL, 'basic'); $data && $data['huijubill_trade_channel'] = Json::decode($data['huijubill_trade_channel']); return $this->success('ok', ['settings' => $data]); } return $this->render('index'); } /** * 表单提交 * * @return void */ public function actionSubmit() { if ($this->request->isAjax) { // post $post = $this->request->post(); $res = Yii::$app->services->validate->validate($post, [ [ [ 'huijubill_merchant_no', 'huijubill_status', 'huijubill_trade_channel', 'huijubill_wechat_trade_name', 'huijubill_mp_wx_open', 'huijubill_wechat_open', 'huijubill_wechat_h5_open', 'huijubill_alipay_trade_name', 'huijubill_alipay_h5_open', 'huijubill_fastpay_trade_name', ], 'required' ], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 写入配置 $configs['basic'] = $post; Yii::$app->services->setting->addons->set($this->mall_id, AddonsEnum::ADDONS_NAME_HUIJU_BILL, $configs); // 支付配置同时写入商城配置 $huijubill_configs = [ 'status' => $post['huijubill_status'], 'merchant_no' => $post['huijubill_merchant_no'], // 'wechat_app_id' => $post['wechat_app_id'], ]; $data = [ 'pay' => [ 'huiju_bill' => Json::encode($huijubill_configs), ], ]; Yii::$app->services->setting->mall->set($this->mall_id, $data); return $this->success('ok'); } } /** * 商户信息 * * @return void */ public function actionInfo() { if ($this->request->isAjax) { $service = new BillService(['mall_id' => $this->mall_id]); //fix 数字太长,json解析后格式问题 $data = $service->getInfo(); $data = array_map(function($v){ return ''.$v.' '; },$data); return $this->success('ok', $data); } } /** * 获取签约内容 * * @return void */ public function actionSignContent() { if ($this->request->isAjax) { // 未签约 if ( !Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_HUIJU_BILL, 'basic.sign_status' )) { $service = new BillService(['mall_id' => $this->mall_id]); return $this->success('ok', $service->getSignContent()); } return $this->success('ok', ''); } } /** * 执行签约 * * @return void */ public function actionConfirmSign() { if ($this->request->isAjax) { $service = new BillService(['mall_id' => $this->mall_id]); return $service->confirmSign() ? $this->success('ok') : $this->error($service->error); } } }