123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace app\mobile\controller;
- use app\BaseController;
- use app\mobile\logic\PayLogic;
- use app\model\CommonModel;
- use app\model\MasterOrderModel;
- use think\exception\ValidateException;
- use think\facade\Validate;
- //支付相关
- class Pay extends BaseController
- {
- //预下单
- public function getPrepayId()
- {
- $param = $this->request->only(['type', 'list', 'addr_id'], 'post');
- $val = Validate::rule([
- 'type|购买类型' => 'require|number|in:' . MasterOrderModel::$type_exchange_good . ',' . MasterOrderModel::$type_shopping_good . ',' . MasterOrderModel::$type_service,
- 'list|购买列表' => 'require|array|max:100',
- 'addr_id|收货地址' => 'require|number|gt:0'
- ]);
- if (!$val->check($param)) throw new ValidateException($val->getError());
- $val2 = Validate::rule([
- 'id' => 'require|number|gt:0',
- 'num|购买数量' => 'require|number|max:99999999',
- ]);
- foreach ($param['list'] as $list) {
- if (!$val2->check($list)) throw new ValidateException($val2->getError());
- }
- return PayLogic::getPrepayId($param);
- }
- //微信支付成功后的异步通知及订单处理
- public function Notify()
- {
- return PayLogic::Notify();
- }
- //检查支付结果
- public function checkPayResult()
- {
- $param = $this->request->only(['pay_code'], 'post');
- $val = Validate::rule(['pay_code|支付编码' => 'require|length:18']);
- if (!$val->check($param)) throw new ValidateException($val->getError());
- return PayLogic::checkPayResult($param['pay_code']);
- }
- }
|