| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?php
- namespace addons\HuijuBill\backend\controllers;
- use addons\HuijuBill\common\service\BillService;
- use Yii;
- use common\controllers\AddonsController;
- use common\enums\AddonsEnum;
- use yii\helpers\Json;
- /**
- * 默认控制器
- *
- * Class DefaultController
- * @package addons\HuijuBill\backend\controllers
- */
- class DefaultController extends BaseController
- {
- public $enableCsrfValidation = false;
- /**
- * 首页
- *
- * @return void
- */
- public function actionIndex()
- {
- if ($this->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);
- }
- }
- }
|