|
|
@@ -141,6 +141,45 @@ class NextDayRefundService
|
|
|
|| $payWay === intval(dict::getDict('payWay', 'debtPay'));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 是否需人工确认原路(现金/银行卡/线下微信支付宝等)
|
|
|
+ * 线上通道成功、余额/挂账账务完成可自动 hasReturn;线下钱是否退还要人确认。
|
|
|
+ */
|
|
|
+ public static function needsManualReturnConfirm($orderOrRefund)
|
|
|
+ {
|
|
|
+ if (empty($orderOrRefund)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (self::isOnlinePayOrder($orderOrRefund)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $payWay = intval($orderOrRefund->payWay ?? 0);
|
|
|
+ if (self::isBalanceOrDebtPayWay($payWay)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否待选手选资金落地(成功页二选一)
|
|
|
+ */
|
|
|
+ public static function needFundAction($refund)
|
|
|
+ {
|
|
|
+ if (empty($refund)) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ if (intval($refund->hasReturn ?? 0) === self::FLAG_YES) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ if (intval($refund->returnBalance ?? 0) === self::FLAG_YES) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ if (intval($refund->couldReturn ?? 0) !== self::FLAG_YES) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 生成售后资金快照(落 xhRefund/xhCgRefund)
|
|
|
* - 有原单:onlinePay/payWay 与订单一致;余额/挂账 couldReturn=0,其它=1
|