Browse Source

订单支付善豆抵扣

lizhen_gitee 1 month ago
parent
commit
385fdd0181

+ 1 - 0
addons/shopro/service/Wallet.php

@@ -22,6 +22,7 @@ class Wallet
      */
     public static function change($user, $type, $amount, $event, $ext = [], $memo = '')
     {
+        error_stop('禁止使用的钱包方法');
         // 判断用户
         if (is_numeric($user)) {
             $user = UserModel::getById($user);

+ 16 - 5
addons/shopro/service/pay/PayOper.php

@@ -8,6 +8,7 @@ use app\admin\model\shopro\user\User;
 use app\admin\model\shopro\order\Action;
 use think\helper\Str;
 use addons\shopro\service\Wallet as WalletService;
+use app\common\model\Wallet;
 
 
 class PayOper
@@ -90,11 +91,17 @@ class PayOper
         $money = $order->remain_pay_fee > $money ? $money : $order->remain_pay_fee;     // 混合支付不能超过订单应支付总金额
 
         // 扣除用户余额
-        WalletService::change($this->user, 'money', -$money, 'order_pay', [
+        /*WalletService::change($this->user, 'money', -$money, 'order_pay', [
             'order_id' => $order->id,
             'order_sn' => $order->order_sn,
             'order_type' => $order_type,
-        ]);
+        ]);*/
+
+        $walletService = new Wallet();
+        if (!$walletService->change($this->user->id, -$money, 'money', 31, '商城购物', 'shopro_order', $order->id)) {
+            Db::rollback();
+            error_stop($walletService->getMessage());
+        }
 
         // 添加支付记录
         $pay = $this->addPay($order, [
@@ -125,13 +132,17 @@ class PayOper
         $bean = $order->remain_pay_fee > $bean ? $bean : $order->remain_pay_fee;     // 混合支付不能超过订单应支付总金额
 
         // 扣除用户余额
-        WalletService::change($this->user, 'bean', -$bean, 'order_pay', [
+        /*WalletService::change($this->user, 'bean', -$bean, 'order_pay', [
             'order_id' => $order->id,
             'order_sn' => $order->order_sn,
             'order_type' => $order_type,
-        ]);
+        ]);*/
 
-        model('wallet')
+        $walletService = new Wallet();
+        if (!$walletService->change($this->user->id, -$bean, 'bean', 131, '商城购物抵扣', 'shopro_order', $order->id)) {
+            Db::rollback();
+            error_stop($walletService->getMessage());
+        }
 
         // 添加支付记录
         $pay = $this->addPay($order, [

+ 2 - 0
application/common/model/Wallet.php

@@ -21,6 +21,8 @@ class Wallet extends BaseModel
         //善豆
         101 => '签到', //bean +
         102 => '完成任务', //bean +
+        131 => '商城订单支付抵扣', //bean -
+        132 => '商城订单退款', //bean +
     ];
     // 操作钱包余额类型
     const money_type = [