From 0286d428e69c322bdd7709e83bbb44f0052f3818 Mon Sep 17 00:00:00 2001 From: mkm <727897186@qq.com> Date: Mon, 17 Jun 2024 10:02:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=97=A8=E5=BA=97?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E5=85=85=E5=80=BC=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/logic/user/UserLogic.php | 1 - app/api/controller/store/StoreController.php | 46 +++++++++++++++++-- app/api/controller/user/UserController.php | 1 - app/api/validate/UserValidate.php | 13 ++++++ .../store_order/StoreOrderController.php | 1 + 5 files changed, 57 insertions(+), 5 deletions(-) diff --git a/app/admin/logic/user/UserLogic.php b/app/admin/logic/user/UserLogic.php index 49ef54b3..330c588d 100644 --- a/app/admin/logic/user/UserLogic.php +++ b/app/admin/logic/user/UserLogic.php @@ -102,7 +102,6 @@ class UserLogic extends BaseLogic return $res; } catch (\Exception $e) { Db::rollback(); - d($e); self::setError($e->getMessage()); return false; } diff --git a/app/api/controller/store/StoreController.php b/app/api/controller/store/StoreController.php index ef5b21d0..adc00994 100644 --- a/app/api/controller/store/StoreController.php +++ b/app/api/controller/store/StoreController.php @@ -2,12 +2,18 @@ namespace app\api\controller\store; +use app\admin\logic\user\UserLogic as UserUserLogic; use app\api\lists\store\SystemStoreLists; use app\api\controller\BaseApiController; use app\api\logic\store\StoreLogic; -use app\common\service\pay\PayService; -use Webman\Config; - +use app\api\logic\user\UserLogic; +use app\api\validate\UserValidate; +use app\common\enum\PayEnum; +use app\common\logic\PaymentLogic; +use app\common\logic\PayNotifyLogic; +use app\common\model\user\User; +use app\common\model\user_recharge\UserRecharge; +use Webman\RedisQueue\Redis; class StoreController extends BaseApiController { @@ -32,5 +38,39 @@ class StoreController extends BaseApiController } } + /** + * 门店会员充值 + */ + public function recharge() + { + $params = (new UserValidate())->post()->goCheck('rechargeStoreMoney'); + $auth_code = $this->request->post('auth_code'); //微信支付条码 + $params['uid'] = $this->userId; + $params['channel_type'] = $this->userInfo['terminal']; + $find=User::where('mobile',$params['mobile'])->find(); + if(!$find){ + $find=UserUserLogic::StoreAdd($params); + } + $data=[ + 'store_id'=>$params['store_id'], + 'uid'=>$find['uid'], + 'staff_id'=>0, + 'order_id'=>getNewOrderId('CZ'), + 'price'=>$params['price'], + ]; + $order = UserRecharge::create($data); + $order['pay_price']=$order['price']; + $result = PaymentLogic::codepay($auth_code, $order); + if (PaymentLogic::hasError()) { + return $this->fail(PaymentLogic::getError(), $params); + } + if (isset($result['trade_state_desc']) && $result['trade_state_desc'] == '支付成功') { + PayNotifyLogic::handle('recharge', $result['out_trade_no'], $result); + } else { + Redis::send('send-code-pay', ['order_id' => $order['order_id'],'pay_type'=>'recharge']); + return $this->success('用户支付中'); + } + return $this->success('支付成功', ['out_trade_no' => $result['out_trade_no'], 'pay_type' => PayEnum::WECHAT_PAY_BARCODE, 'transaction_id' => $result['transaction_id']]); + } } diff --git a/app/api/controller/user/UserController.php b/app/api/controller/user/UserController.php index b21be4f6..2f2e921e 100644 --- a/app/api/controller/user/UserController.php +++ b/app/api/controller/user/UserController.php @@ -89,7 +89,6 @@ class UserController extends BaseApiController return $this->fail(PaymentLogic::getError(), $params); } return $this->success('', $result); - } // #[ diff --git a/app/api/validate/UserValidate.php b/app/api/validate/UserValidate.php index ddc907b2..d670e732 100644 --- a/app/api/validate/UserValidate.php +++ b/app/api/validate/UserValidate.php @@ -16,10 +16,14 @@ class UserValidate extends BaseValidate protected $rule = [ 'code' => 'require', + 'store_id' => 'require', + 'mobile' => 'require', ]; protected $message = [ 'code.require' => '参数缺失', + 'store_id.require' => '门店id', + 'mobile.require' => '手机', ]; @@ -57,5 +61,14 @@ class UserValidate extends BaseValidate { return $this->only(['price']); } + /** + * @notes 充值 + * @return UserValidate + * @Time: 2024/6/4 22:50 + */ + public function sceneRechargeStoreMoney() + { + return $this->only(['price']); + } } \ No newline at end of file diff --git a/app/store/controller/store_order/StoreOrderController.php b/app/store/controller/store_order/StoreOrderController.php index 1584096d..765fb4a2 100644 --- a/app/store/controller/store_order/StoreOrderController.php +++ b/app/store/controller/store_order/StoreOrderController.php @@ -2,6 +2,7 @@ namespace app\store\controller\store_order; +use app\admin\logic\user\UserLogic; use app\api\logic\order\OrderLogic; use app\api\validate\OrderValidate; use app\common\model\order\Cart;