shish 1 سال پیش
والد
کامیت
0c17b4eb7a

+ 1 - 1
app-mall/controllers/RechargeController.php

@@ -58,7 +58,7 @@ class RechargeController extends BaseController
             util::fail('花店信息缺失');
         }
         $hdName = $hd->name;
-        $capitalType = dict::getDict('capitalType', 'skRechargeToHd', 'id');
+        $capitalType = dict::getDict('capitalType', 'xhRecharge', 'id');
         $orderSn = orderSn::getRechargeSn();
         $rechargeData = [
             'orderSn' => $orderSn,

+ 13 - 0
biz-hd/balance/classes/BalanceChangeClass.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizHd\balance\classes;
+
+use Yii;
+use bizHd\base\classes\BaseClass;
+
+class BalanceChangeClass extends BaseClass
+{
+
+    public static $baseFile = '\bizHd\balance\models\BalanceChange';
+
+}

+ 13 - 0
biz-hd/balance/models/BalanceChange.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizHd\balance\models;
+use bizHd\base\models\Base;
+
+class BalanceChange extends Base
+{
+
+    public static function tableName()
+    {
+        return 'xhBalanceChange';
+    }
+
+}

+ 13 - 0
biz-hd/balance/services/BalanceChangeService.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizHd\balance\services;
+
+use bizHd\base\services\BaseService;
+use Yii;
+
+class BalanceChangeService extends BaseService
+{
+
+    public static $baseFile = '\bizHd\balance\classes\BalanceChangeClass';
+
+}

+ 103 - 0
biz-hd/recharge/classes/RechargeClass.php

@@ -2,6 +2,14 @@
 
 namespace bizHd\recharge\classes;
 
+use biz\shop\classes\ShopClass;
+use bizHd\balance\classes\BalanceChangeClass;
+use bizHd\custom\classes\CustomClass;
+use bizHd\custom\classes\HdClass;
+use bizHd\shop\classes\MainClass;
+use common\components\dict;
+use common\components\noticeUtil;
+use common\components\util;
 use Yii;
 use bizHd\base\classes\BaseClass;
 
@@ -15,4 +23,99 @@ class RechargeClass extends BaseClass
         return self::add($data, true);
     }
 
+    //第三支付后流程 ssh 2021.4.27
+    public static function thirdPay($payWay, $orderSn, $totalFee, $attach)
+    {
+        $recharge = RechargeClass::getByCondition(['orderSn' => $orderSn], true);
+        if (empty($recharge)) {
+            noticeUtil::push('充值付款成功,收到回调,但没有找到充值记录,orderSn:' . $orderSn, '15280215347');
+            return false;
+        }
+        if ($totalFee != $recharge->amount) {
+            noticeUtil::push("充值付款成功,收到回调,但金额不一致 {$totalFee} {$recharge->amount},orderSn:" . $orderSn, '15280215347');
+            return false;
+        }
+        if ($recharge->payStatus == 1) {
+            noticeUtil::push("充值付款成功,收到回调,但订单是已经支付过了,orderSn:" . $orderSn, '15280215347');
+            return false;
+        }
+        $id = $recharge->id;
+        $recharge = RechargeClass::getLockById($id);
+        $params = [
+            'onlinePay' => 2,
+            'side' => 1,
+        ];
+        self::complete($recharge, $payWay, $params);
+        return $recharge;
+    }
+
+    //处理充值流程 ssh 20250321
+    public static function complete($recharge, $payWay, $params)
+    {
+        $onlinePay = $params['onlinePay'];
+        $side = $params['side'];
+        $recharge->onlinePay = $onlinePay;
+        $recharge->payWay = $payWay;
+        $recharge->payStatus = 1;
+        $recharge->status = 1;
+        $recharge->save();
+
+        $shopId = $recharge->shopId;
+        $mainId = $recharge->mainId;
+        $hdId = $recharge->hdId;
+        $amount = $recharge->amount;
+        $staffId = $recharge->staffId;
+        $payWay = $recharge->payWay;
+        $staffName = $recharge->staffName;
+        $customId = $recharge->customId;
+        $customName = $recharge->customName;
+        $capitalType = dict::getDict('capitalType', 'xhRecharge', 'id');
+        $relateId = $recharge->id;
+
+        $custom = CustomClass::getLockById($customId);
+        if (empty($custom)) {
+            util::fail('充值回调失败,没有找到客户');
+        }
+        $custom->balance = bcadd($custom->balance, $amount, 2);
+        $custom->save();
+
+        $hd = HdClass::getLockById($hdId);
+        if (empty($hd)) {
+            util::fail('充值回调失败,没有找到花店');
+        }
+        $hd->balance = bcadd($custom->balance, $amount, 2);
+        $hd->save();
+
+        if ($hd->balance != $custom->balance) {
+            util::fail('充值回调失败,金额不一致');
+        }
+
+        $change = [
+            'customId' => $customId,
+            'customName' => $customName,
+            'relateId' => $relateId,
+            'onlinePay' => $onlinePay,
+            'capitalType' => $capitalType,
+            'amount' => $amount,
+            'balance' => $hd->balance,
+            'io' => 1,
+            'side' => $side,
+            'payWay' => $payWay,
+            'event' => '充值',
+            'staffId' => $staffId,
+            'staffName' => $staffName,
+            'shopId' => $shopId,
+            'mainId' => $mainId,
+            'remark' => '',
+        ];
+        $returnChange = BalanceChangeClass::add($change, true);
+        if ($recharge->onlinePay == 2) {
+            //如果线上充值,门店余额增加
+            $shop = ShopClass::getLockById($shopId);
+            $main = MainClass::getLockById($mainId);
+            ShopClass::skRechargeAddBalance($main, $shop, $recharge);
+        }
+        return $returnChange;
+    }
+
 }

+ 0 - 41
biz/recharge/classes/RechargeClass.php

@@ -33,45 +33,4 @@ class RechargeClass extends BaseClass
         return self::add($data, $returnObj);
     }
 
-    //处理充值流程 ssh 2021.2.21
-    public static function complete($recharge, $payWay)
-    {
-        $recharge->payWay = $payWay;
-        $recharge->payStatus = self::PAY_STATUS_HAS_PAY;
-        $orderSn = $recharge->orderSn;
-        $shopId = $recharge->shopId;
-        $shop = ShopClass::getLockById($shopId);
-        if (empty($shop)) {
-            noticeUtil::push("充值支付回调通知,没有找到门店 orderSn:{$orderSn}");
-            return false;
-        }
-        $amount = $recharge->amount;
-        $recharge->save();
-        return true;
-    }
-
-    //第三支付后流程 ssh 2021.4.27
-    public static function thirdPay($payWay, $orderSn, $totalFee, $attach)
-    {
-        $recharge = RechargeClass::getByCondition(['orderSn' => $orderSn], true);
-        if (empty($recharge)) {
-            noticeUtil::push('充值付款成功,收到回调,但没有找到充值记录,orderSn:' . $orderSn, '15280215347');
-            return false;
-        }
-        if ($totalFee != $recharge->amount) {
-            noticeUtil::push("充值付款成功,收到回调,但金额不一致 {$totalFee} {$recharge->amount},orderSn:" . $orderSn, '15280215347');
-            return false;
-        }
-        if ($recharge->payStatus == RechargeClass::PAY_STATUS_HAS_PAY) {
-            noticeUtil::push("充值付款成功,收到回调,但订单是已经支付过了,orderSn:" . $orderSn, '15280215347');
-            return false;
-        }
-
-        $id = $recharge->id;
-        $recharge = RechargeClass::getLockById($id);
-
-        self::complete($recharge, $payWay);
-        return $recharge;
-    }
-
 }

+ 30 - 0
biz/shop/classes/ShopClass.php

@@ -255,6 +255,36 @@ class ShopClass extends BaseClass
         PtAssetClass::customRechargeAddBalance($shop, $order, $capitalType, $tx);
     }
 
+    public static function skRechargeAddBalance($main, $shop, $order)
+    {
+        $mainId = $main->id;
+        $balance = bcadd($main->balance, $order->amount, 2);
+        $txBalance = bcadd($main->txBalance, $order->amount, 2);
+        $main->balance = $balance;
+        $main->txBalance = $txBalance;
+        $main->save();
+        $rechargeId = $order->id ?? 0;
+        $tx = dict::getDict('yeTx', 'can');
+        $capitalType = dict::getDict('capitalType', 'xhRecharge', 'id');
+        $custom = !empty($order->customName) ? $order->customName : '客户';
+        $change = [
+            'relateId' => $rechargeId,
+            'capitalType' => $capitalType,
+            'amount' => $order->amount,
+            'balance' => $balance,
+            'txBalance' => $txBalance,
+            'io' => 1,
+            'payWay' => $order->payWay,
+            'event' => $custom . "充值,单号:{$order->orderSn}",
+            'sjId' => $shop->sjId,
+            'shopId' => $shop->id,
+            'mainId' => $mainId,
+            'tx' => $tx,
+            'ptStyle' => $shop->ptStyle,
+        ];
+        ShopYeChangeClass::addChange($change, true);
+    }
+
     //客户结帐增加余额 ssh 20210729
     public static function customClearAddBalance($main, $shop, $order)
     {

+ 1 - 4
common/components/dict.php

@@ -305,7 +305,7 @@ class dict
         "capitalType" => [
             'xhOrder' => ['id' => 0, 'name' => 'xhOrder'],
             'xhActiveOrder' => ['id' => 2, 'name' => 'xhActiveOrder'],
-            //充值
+            //散客向零售花店充值
             'xhRecharge' => ['id' => 4, 'name' => 'xhRecharge'],
             //支付宝关联微信
             'xhUserUnite' => ['id' => 5, 'name' => 'xhUserUnite'],
@@ -389,8 +389,6 @@ class dict
             'ghsHelpCustomRechargeReturn' => ['id' => 75, 'name' => 'ghsHelpCustomRechargeReturn'],
             //客户叫供货商充值(售后返充)
             'customAskGhsRechargeReturn' => ['id' => 76, 'name' => 'customAskGhsRechargeReturn'],
-            //散客向零售花店充值
-            'skRechargeToHd' => ['id' => 77, 'name' => 'skRechargeToHd'],
         ],
         "capitalTypeList" => [//流水类型的对应链接,后台收支明细查看时跳转的链接
             0 => ['link' => '/capital/order-detail', 'name' => '网店', 'orderLink' => '/order/detail', 'id' => 0,],
@@ -439,7 +437,6 @@ class dict
             74 => ['link' => '', 'name' => '采购退款', 'id' => 74,],
             75 => ['link' => '', 'name' => '售后返充', 'id' => 75,],
             76 => ['link' => '', 'name' => '售后返充', 'id' => 76,],
-            77 => ['link' => '', 'name' => '充值', 'id' => 77,],
         ],
 
         //用户来源

+ 1 - 1
common/components/payUtil.php

@@ -2,7 +2,6 @@
 
 namespace common\components;
 
-use biz\recharge\classes\RechargeClass;
 use biz\renew\classes\RenewClass;
 use biz\wx\classes\WxMessageClass;
 use bizGhs\custom\classes\CustomRechargeClass;
@@ -11,6 +10,7 @@ use bizHd\order\classes\OrderClass;
 use bizHd\purchase\classes\PurchaseClearClass;
 use bizHd\purchase\services\PurchaseService;
 use bizHd\px\services\PxApplyService;
+use bizHd\recharge\classes\RechargeClass;
 use Yii;
 
 class payUtil