|
@@ -183,10 +183,28 @@ class Core
|
|
$info['param'] = Dever::array_decode($info['param']);
|
|
$info['param'] = Dever::array_decode($info['param']);
|
|
}
|
|
}
|
|
$cash = $refund_cash ? $refund_cash : $info['cash'];
|
|
$cash = $refund_cash ? $refund_cash : $info['cash'];
|
|
|
|
+ $refund_data = array();
|
|
|
|
+ if ($refund_order_id) {
|
|
|
|
+ # 检测该订单是否退款过
|
|
|
|
+ $refund_data['order_id'] = $order_id;
|
|
|
|
+ $refund_data['order_num'] = $refund_order_id;
|
|
|
|
+ if ($refund_cash) {
|
|
|
|
+ $refund_data['cash'] = $refund_cash;
|
|
|
|
+ }
|
|
|
|
+ $refund_data['clear'] = true;
|
|
|
|
+ $state = Dever::db('pay/refund')->one($refund_data);
|
|
|
|
+ if ($state) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ $refund_order_id = $refund_order_id . '_' . Dever::order();
|
|
|
|
+ }
|
|
$state = $this->refund($info['order_id'], $cash, $info, $refund_order_id);
|
|
$state = $this->refund($info['order_id'], $cash, $info, $refund_order_id);
|
|
if ($state) {
|
|
if ($state) {
|
|
if ($refund_order_id) {
|
|
if ($refund_order_id) {
|
|
$status = 6;
|
|
$status = 6;
|
|
|
|
+ if ($refund_data) {
|
|
|
|
+ Dever::db('pay/refund')->insert($refund_data);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
$status = 5;
|
|
$status = 5;
|
|
}
|
|
}
|