Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ccaccbd129 | |||
| b677771328 | |||
| e640647709 | |||
| f49481ad29 |
@@ -17,7 +17,6 @@ class Sign extends Init
|
||||
// $signMsg = str_replace('\\', '', $signMsg);
|
||||
$signMsg = str_replace(' ', '+', $signMsg);
|
||||
$this->sign = $signMsg;
|
||||
info($this->sign);
|
||||
|
||||
return $this->checkSign();
|
||||
|
||||
|
||||
@@ -2,11 +2,15 @@
|
||||
|
||||
namespace XuanChen\WoUnicom;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\ActivitySchoolOrder;
|
||||
use App\Models\ActivityPetroOrder;
|
||||
use App\Models\Payment;
|
||||
use App\Models\Welfare;
|
||||
use App\Models\WelfareOrder;
|
||||
use App\Models\WelfarePayment;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Str;
|
||||
use XuanChen\WoUnicom\Action\Init;
|
||||
use XuanChen\WoUnicom\Action\Order;
|
||||
use XuanChen\WoUnicom\Action\Query;
|
||||
@@ -24,6 +28,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 下单
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/4/30 9:36
|
||||
* @return \XuanChen\WoUnicom\Action\Order
|
||||
@@ -39,6 +44,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 查询订单
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/4/30 9:39
|
||||
* @return \XuanChen\WoUnicom\Action\Query
|
||||
@@ -53,6 +59,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 退款
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/4/30 9:37
|
||||
*/
|
||||
@@ -67,6 +74,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 验签
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/5/11 11:51
|
||||
* @param $params
|
||||
@@ -81,6 +89,7 @@ class WoUnicom
|
||||
|
||||
/**
|
||||
* Notes: 回调数据
|
||||
*
|
||||
* @Author: 玄尘
|
||||
* @Date : 2021/5/11 15:54
|
||||
* @param $params
|
||||
@@ -102,44 +111,74 @@ class WoUnicom
|
||||
|
||||
//验签成功
|
||||
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;
|
||||
|
||||
//福利订单
|
||||
if (str_contains($data['orderid'], 'WEAL')) {
|
||||
$order = WelfareOrder::where('orderid', $data['orderid'])->first();
|
||||
if ($order && $order->status == 'UNPAY') {
|
||||
$payment = $order->payment;
|
||||
$payment->paid([
|
||||
'type' => 'UNICOM',
|
||||
'payfloodid' => $data['payfloodid'],
|
||||
]);
|
||||
$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([
|
||||
'type' => 'UNICOM',
|
||||
'payfloodid' => $data['payfloodid'],
|
||||
]);
|
||||
$order->paid();
|
||||
}
|
||||
$payment->state = 'SUCCESS';
|
||||
$payment->out_trade_no = $data['payfloodid'];
|
||||
$payment->type = 'UNICOM';
|
||||
$payment->paid_at = Carbon::now();
|
||||
$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();
|
||||
|
||||
} 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;
|
||||
case 'web':
|
||||
default:
|
||||
$order = \App\Models\Order::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->out_trade_no = $data['payfloodid'];
|
||||
$payment->type = 'UNICOM';
|
||||
$payment->paid_at = Carbon::now();
|
||||
$payment->save();
|
||||
$order->paid();
|
||||
}
|
||||
break;
|
||||
}
|
||||
$this->updateLog(['SUCCESS']);
|
||||
|
||||
return 'SUCCESS';
|
||||
} else {
|
||||
$this->updateLog(['验签失败']);
|
||||
|
||||
return '验签失败';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user