Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ce0c48aec | |||
| ccaccbd129 |
134
src/WoUnicom.php
134
src/WoUnicom.php
@@ -2,8 +2,10 @@
|
|||||||
|
|
||||||
namespace XuanChen\WoUnicom;
|
namespace XuanChen\WoUnicom;
|
||||||
|
|
||||||
|
use App\Helpers\Helper;
|
||||||
use App\Models\ActivitySchoolOrder;
|
use App\Models\ActivitySchoolOrder;
|
||||||
use App\Models\ActivityPetroOrder;
|
use App\Models\ActivityPetroOrder;
|
||||||
|
use App\Models\ActivityUnicomOrder;
|
||||||
use App\Models\Payment;
|
use App\Models\Payment;
|
||||||
use App\Models\Welfare;
|
use App\Models\Welfare;
|
||||||
use App\Models\WelfareOrder;
|
use App\Models\WelfareOrder;
|
||||||
@@ -110,74 +112,90 @@ class WoUnicom
|
|||||||
|
|
||||||
//验签成功
|
//验签成功
|
||||||
if ($res === true) {
|
if ($res === true) {
|
||||||
|
$channel = Helper::getChannel($data['orderid']);
|
||||||
|
switch ($channel) {
|
||||||
|
case 'welfare':
|
||||||
|
$order = WelfareOrder::where('orderid', $data['orderid'])->first();
|
||||||
|
if ($order && $order->status == 'UNPAY') {
|
||||||
|
$payment = $order->payment;
|
||||||
|
|
||||||
//福利订单
|
$payment->paid([
|
||||||
if (Str::is('WEAL*', $data['orderid'])) {
|
'type' => 'UNICOM',
|
||||||
$order = WelfareOrder::where('orderid', $data['orderid'])->first();
|
'payfloodid' => $data['payfloodid'],
|
||||||
if ($order && $order->status == 'UNPAY') {
|
]);
|
||||||
$payment = $order->payment;
|
$order->paid();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'school':
|
||||||
|
$order = ActivitySchoolOrder::where('orderid', $data['orderid'])->first();
|
||||||
|
if ($order && $order->state == 'UNPAY') {
|
||||||
|
$payment = Payment::where('orderable_type', get_class($order))
|
||||||
|
->where('orderable_id', $order->id)
|
||||||
|
->latest()
|
||||||
|
->first();
|
||||||
|
|
||||||
$payment->paid([
|
$payment->state = 'SUCCESS';
|
||||||
'type' => 'UNICOM',
|
$payment->out_trade_no = $data['payfloodid'];
|
||||||
'payfloodid' => $data['payfloodid'],
|
$payment->type = 'UNICOM';
|
||||||
]);
|
$payment->paid_at = Carbon::now();
|
||||||
$order->paid();
|
$payment->save();
|
||||||
}
|
$order->paid();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'petro':
|
||||||
|
$order = ActivityPetroOrder::where('orderid', $data['orderid'])->first();
|
||||||
|
if ($order && $order->state == 'UNPAY') {
|
||||||
|
$payment = Payment::where('orderable_type', get_class($order))
|
||||||
|
->where('orderable_id', $order->id)
|
||||||
|
->latest()
|
||||||
|
->first();
|
||||||
|
|
||||||
} elseif (Str::is('AS*', $data['orderid'])) {
|
$payment->state = 'SUCCESS';
|
||||||
$order = ActivitySchoolOrder::where('orderid', $data['orderid'])->first();
|
$payment->out_trade_no = $data['payfloodid'];
|
||||||
if ($order && $order->state == 'UNPAY') {
|
$payment->type = 'UNICOM';
|
||||||
$payment = \App\Models\Payment::where('orderable_type', get_class($order))
|
$payment->paid_at = Carbon::now();
|
||||||
->where('orderable_id', $order->id)
|
$payment->save();
|
||||||
->latest()
|
$order->paid();
|
||||||
->first();
|
}
|
||||||
|
break;
|
||||||
|
case 'unicom':
|
||||||
|
$order = ActivityUnicomOrder::where('orderid', $data['orderid'])->first();
|
||||||
|
if ($order && $order->state == 'UNPAY') {
|
||||||
|
$payment = Payment::where('orderable_type', get_class($order))
|
||||||
|
->where('orderable_id', $order->id)
|
||||||
|
->latest()
|
||||||
|
->first();
|
||||||
|
|
||||||
$payment->state = 'SUCCESS';
|
$payment->state = 'SUCCESS';
|
||||||
$payment->out_trade_no = $data['payfloodid'];
|
$payment->out_trade_no = $data['payfloodid'];
|
||||||
$payment->type = 'UNICOM';
|
$payment->type = 'UNICOM';
|
||||||
$payment->paid_at = Carbon::now();
|
$payment->paid_at = Carbon::now();
|
||||||
$payment->save();
|
$payment->save();
|
||||||
$order->paid();
|
$order->paid();
|
||||||
}
|
}
|
||||||
} elseif (Str::is('ASO*', $data['orderid'])) {
|
break;
|
||||||
$order = ActivityPetroOrder::where('orderid', $data['orderid'])->first();
|
case 'web':
|
||||||
if ($order && $order->state == 'UNPAY') {
|
default:
|
||||||
$payment = \App\Models\Payment::where('orderable_type', get_class($order))
|
$order = \App\Models\Order::where('orderid', $data['orderid'])->first();
|
||||||
->where('orderable_id', $order->id)
|
if ($order && $order->state == 'UNPAY') {
|
||||||
->latest()
|
$payment = Payment::where('orderable_type', get_class($order))
|
||||||
->first();
|
->where('orderable_id', $order->id)
|
||||||
|
->latest()
|
||||||
$payment->state = 'SUCCESS';
|
->first();
|
||||||
$payment->out_trade_no = $data['payfloodid'];
|
|
||||||
$payment->type = 'UNICOM';
|
|
||||||
$payment->paid_at = Carbon::now();
|
|
||||||
$payment->save();
|
|
||||||
$order->paid();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$order = \App\Models\Order::where('orderid', $data['orderid'])->first();
|
|
||||||
|
|
||||||
if ($order && $order->state == 'UNPAY') {
|
|
||||||
$payment = \App\Models\Payment::where('orderable_type', get_class($order))
|
|
||||||
->where('orderable_id', $order->id)
|
|
||||||
->latest()
|
|
||||||
->first();
|
|
||||||
|
|
||||||
$payment->state = 'SUCCESS';
|
|
||||||
$payment->out_trade_no = $data['payfloodid'];
|
|
||||||
$payment->type = 'UNICOM';
|
|
||||||
$payment->paid_at = Carbon::now();
|
|
||||||
$payment->save();
|
|
||||||
$order->paid();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
$payment->state = 'SUCCESS';
|
||||||
|
$payment->out_trade_no = $data['payfloodid'];
|
||||||
|
$payment->type = 'UNICOM';
|
||||||
|
$payment->paid_at = Carbon::now();
|
||||||
|
$payment->save();
|
||||||
|
$order->paid();
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
$this->updateLog(['SUCCESS']);
|
$this->updateLog(['SUCCESS']);
|
||||||
|
|
||||||
return 'SUCCESS';
|
return 'SUCCESS';
|
||||||
} else {
|
} else {
|
||||||
$this->updateLog(['验签失败']);
|
$this->updateLog(['验签失败']);
|
||||||
|
|
||||||
return '验签失败';
|
return '验签失败';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user