|
@@ -1169,6 +1169,10 @@ class OrdersController extends Controller
|
|
|
|
|
|
// 防止重复推送
|
|
// 防止重复推送
|
|
if (isset($order->status) && $order->status == 'PAID') {
|
|
if (isset($order->status) && $order->status == 'PAID') {
|
|
|
|
+ if($data['chorderid'] != $order->transaction_id){
|
|
|
|
+ Log::info('palmpay order repeat');
|
|
|
|
+ $this->palmpaySpecial($data['chorderid'],$trade_no);
|
|
|
|
+ }
|
|
Log::info('has_pay:' . $trade_no);
|
|
Log::info('has_pay:' . $trade_no);
|
|
echo 'success';
|
|
echo 'success';
|
|
exit();
|
|
exit();
|
|
@@ -1739,4 +1743,50 @@ class OrdersController extends Controller
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private function palmpaySpecial($transaction_id,$trade_no)
|
|
|
|
+ {
|
|
|
|
+ try{
|
|
|
|
+ $order = OrderService::getByTradeNo($trade_no);
|
|
|
|
+ $product_id = $order->product_id;
|
|
|
|
+ $product = ProductService::getProductSingle($product_id);
|
|
|
|
+ $init_order = [
|
|
|
|
+ 'distribution_channel_id' => $order->distribution_channel_id,
|
|
|
|
+ 'uid' => $order->uid,
|
|
|
|
+ 'product_id' => $product_id,
|
|
|
|
+ 'price' => $order->price,
|
|
|
|
+ 'pay_type' => 1,
|
|
|
|
+ 'trade_no' => $order->uid.'-'.$order->id,
|
|
|
|
+ 'pay_merchant_source' => $order->pay_merchant_source,
|
|
|
|
+ 'pay_merchant_id' => $order->pay_merchant_id,
|
|
|
|
+ 'create_ip' => $order->create_ip,
|
|
|
|
+ 'send_order_id' => $order->send_order_id,
|
|
|
|
+ 'send_order_name' => $order->send_order_name,
|
|
|
|
+ 'order_type' => $order->order_type,
|
|
|
|
+ 'from_bid' => $order->from_bid,
|
|
|
|
+ 'from_type' => $order->fromtype,
|
|
|
|
+ 'activity_id' => $order->activity_id,
|
|
|
|
+ 'inner_send_order_id' => $order->inner_send_order_id,
|
|
|
|
+ 'status'=>'PAID',
|
|
|
|
+ 'transaction_id'=>$transaction_id,
|
|
|
|
+ 'pay_end_at'=>date('Y-m-d H:i:s')
|
|
|
|
+ ];
|
|
|
|
+ OrderService::save_order($init_order);
|
|
|
|
+ if ($product->type == 'YEAR_ORDER') {
|
|
|
|
+ Log::info('palmpaySpecial YEAR_ORDER');
|
|
|
|
+ $this->yearOrder($order->uid, $order->distribution_channel_id, $order->price, $order->send_order_id);
|
|
|
|
+ } elseif ($product->type == 'BOOK_ORDER') {
|
|
|
|
+ Log::info('palmpaySpecial BOOK_ORDER');
|
|
|
|
+ $this->bookOrder($product_id, $order->ui, $order->send_order_id, $order->price, $order->distribution_channel_id);
|
|
|
|
+ } elseif ($product->type == 'TICKET_RECHARGE' || $product->type == 'NEW_USER') {
|
|
|
|
+ Log::info('palmpaySpecial TICKET_RECHARGE');
|
|
|
|
+ $this->userCharge($product, $order->uid);
|
|
|
|
+ } elseif ($product->type == 'FOREVER') {
|
|
|
|
+ Log::info('palmpaySpecial-------FOREVER');
|
|
|
|
+ $this->foreverFreeOrder($order->uid, $order->distribution_channel_id, $order->price, $order->send_order_id);
|
|
|
|
+ }
|
|
|
|
+ }catch (\Exception $e){
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|