CustomRechargeClass.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <?php
  2. namespace bizGhs\custom\classes;
  3. use biz\shop\classes\ShopClass;
  4. use bizGhs\ghs\classes\GhsRechargeClass;
  5. use bizGhs\shop\classes\MainClass;
  6. use bizHd\ghs\classes\GhsClass;
  7. use common\components\dict;
  8. use common\components\noticeUtil;
  9. use common\components\util;
  10. use bizHd\base\classes\BaseClass;
  11. use bizGhs\ghs\classes\GhsBalanceChangeClass;
  12. class CustomRechargeClass extends BaseClass
  13. {
  14. public static $baseFile = '\bizGhs\custom\models\CustomRecharge';
  15. public static function getRechargeList($where)
  16. {
  17. $data = self::getList('*', $where, 'addTime DESC,id DESC');
  18. return $data;
  19. }
  20. public static function thirdPay($payWay, $customRechargeSn, $totalFee, $attach, $transactionId)
  21. {
  22. $customRecharge = self::getByCondition(['orderSn' => $customRechargeSn], true);
  23. if (empty($customRecharge)) {
  24. noticeUtil::push('充值订单,单号:' . $customRechargeSn . ',没有找到订单', '15280215347');
  25. $msg = "没有找到充值订单 orderSn:{$customRechargeSn}";
  26. Yii::info($msg);
  27. util::fail($msg);
  28. }
  29. if ($customRecharge->amount != $totalFee) {
  30. noticeUtil::push("充值订单,支付回调错误,零售订单金额与回调通知金额不一致 orderSn:{$customRechargeSn} {$customRecharge->amount} {$totalFee}", '15280215347');
  31. $msg = "充值订单金额与回调通知金额不一致 orderSn:{$customRechargeSn} {$customRecharge->amount} {$totalFee}";
  32. Yii::info($msg);
  33. util::fail($msg);
  34. }
  35. if ($customRecharge->payStatus == 1) {
  36. noticeUtil::push("充值订单,支付回调错误,已经充值过了 orderSn:{$customRechargeSn}", '15280215347');
  37. $msg = "充值订单,支付回调错误,已经充值过了 orderSn:{$customRechargeSn}";
  38. Yii::info($msg);
  39. util::fail($msg);
  40. }
  41. $amount = $totalFee;
  42. $id = $customRecharge->id;
  43. $customRecharge = self::getLockById($id);
  44. $payDate = date("Y-m-d H:i:s");
  45. $customRecharge->payTime = $payDate;
  46. $customRecharge->payWay = $payWay;
  47. $customRecharge->payStatus = 1;
  48. $customRecharge->status = 1;
  49. $customRecharge->returnCode = $transactionId;
  50. $customRecharge->onlinePay = dict::getDict('onlinePay', 'yes');
  51. $customRecharge->save();
  52. $ghsRechargeId = $customRecharge->ghsRechargeId ?? 0;
  53. $ghsRecharge = GhsRechargeClass::getById($ghsRechargeId, true);
  54. if (empty($ghsRecharge)) {
  55. noticeUtil::push("充值订单,支付回调错误,没有找到对应单号 orderSn:{$customRechargeSn}", '15280215347');
  56. $msg = "充值订单,支付回调错误,没有找到对应单号 orderSn:{$customRechargeSn}";
  57. Yii::info($msg);
  58. util::fail($msg);
  59. }
  60. $ghsRecharge->payTime = $payDate;
  61. $ghsRecharge->payWay = $payWay;
  62. $ghsRecharge->payStatus = 1;
  63. $ghsRecharge->status = 1;
  64. $ghsRecharge->onlinePay = dict::getDict('onlinePay', 'yes');
  65. $ghsRecharge->save();
  66. //充值金额,有多个地方要同步修改,请搜索关键词custom_ghs_recharge ssh 20240310
  67. $customRechargeId = $customRecharge->id ?? 0;
  68. $customId = $customRecharge->customId ?? 0;
  69. $ghsId = $customRecharge->ghsId ?? 0;
  70. $custom = CustomClass::getLockById($customId);
  71. $ghsInfo = GhsClass::getLockById($ghsId);
  72. $rechargeEvent = '线上充值';
  73. $customMainId = $custom->mainId ?? 0;
  74. $customShopId = $custom->shopId ?? 0;
  75. $customName = $custom->name??'';
  76. $ghsMainId = $ghsInfo->mainId ?? 0;
  77. $ghsShopId = $ghsInfo->shopId ?? 0;
  78. $ghsName = $ghsInfo->name??'';
  79. $customStaffId = $ghsRecharge->staffId ?? 0;
  80. $customStaffName = $ghsRecharge->staffName ?? '';
  81. $custom->balance = bcadd($custom->balance, $amount, 2);
  82. $custom->save();
  83. $capitalType = dict::getDict('capitalType', 'customRechargeToGhs', 'id');
  84. $fromType = dict::getDict('fromType', 'shop');
  85. $cbData = [
  86. 'customId' => $customId,
  87. 'customName'=>$customName,
  88. 'relateId' => $customRechargeId,
  89. 'onlinePay' => 2,
  90. 'ptStyle' => 2,
  91. 'capitalType' => $capitalType,
  92. 'amount' => $amount,
  93. 'balance' => $custom->balance,
  94. 'staffId' => 0,
  95. 'staffName' => '',
  96. 'io' => 1,
  97. 'side' => 1,
  98. 'payWay' => $payWay,
  99. 'fromType' => $fromType,
  100. 'event' => $rechargeEvent,
  101. 'mainId' => $ghsMainId,
  102. 'shopId' => $ghsShopId,
  103. 'sjId' => 0,
  104. 'remark' => '',
  105. ];
  106. CustomBalanceChangeClass::add($cbData, true);
  107. $ghsInfo->balance = bcadd($ghsInfo->balance, $amount, 2);
  108. $ghsInfo->save();
  109. $ghsRechargeId = $ghsRecharge->id ?? 0;
  110. $gbData = [
  111. 'ghsId' => $ghsId,
  112. 'ghsName'=>$ghsName,
  113. 'relateId' => $ghsRechargeId,
  114. 'ptStyle' => 2,
  115. 'capitalType' => $capitalType,
  116. 'amount' => $amount,
  117. 'balance' => $ghsInfo->balance,
  118. 'staffId' => $customStaffId,
  119. 'staffName' => $customStaffName,
  120. 'io' => 1,
  121. 'side' => 1,
  122. 'onlinePay' => 2,
  123. 'payWay' => $payWay,
  124. 'fromType' => $fromType,
  125. 'event' => $rechargeEvent,
  126. 'sjId' => 0,
  127. 'mainId' => $customMainId,
  128. 'shopId' => $customShopId,
  129. 'remark' => '',
  130. ];
  131. GhsBalanceChangeClass::add($gbData, true);
  132. $ghsRecharge->balance = $ghsInfo->balance;
  133. $ghsRecharge->save();
  134. $customRecharge->balance = $custom->balance;
  135. $customRecharge->save();
  136. if ($customRecharge->onlinePay == dict::getDict('onlinePay', 'yes')) {
  137. //供货商门店余额增加
  138. $ghsShop = ShopClass::getById($ghsShopId, true);
  139. $ghsMain = MainClass::getLockById($ghsMainId);
  140. ShopClass::customRechargeAddBalance($ghsMain, $ghsShop, $customRecharge);
  141. }
  142. }
  143. }