5 Commits
1.0.4 ... 1.0.9

Author SHA1 Message Date
6ce0c48aec 增加适配联通活动 2022-03-09 10:16:51 +08:00
ccaccbd129 修不过 2022-02-24 13:35:08 +08:00
b677771328 微调 2022-02-23 17:06:50 +08:00
e640647709 删除无用代码 2021-08-13 13:06:01 +08:00
f49481ad29 修改字符串判断 2021-08-13 09:39:26 +08:00
2 changed files with 84 additions and 29 deletions

View File

@@ -17,7 +17,6 @@ class Sign extends Init
// $signMsg = str_replace('\\', '', $signMsg); // $signMsg = str_replace('\\', '', $signMsg);
$signMsg = str_replace(' ', '+', $signMsg); $signMsg = str_replace(' ', '+', $signMsg);
$this->sign = $signMsg; $this->sign = $signMsg;
info($this->sign);
return $this->checkSign(); return $this->checkSign();

View File

@@ -2,11 +2,16 @@
namespace XuanChen\WoUnicom; namespace XuanChen\WoUnicom;
use App\Helpers\Helper;
use App\Models\ActivitySchoolOrder;
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;
use App\Models\WelfarePayment; use App\Models\WelfarePayment;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Str;
use XuanChen\WoUnicom\Action\Init; use XuanChen\WoUnicom\Action\Init;
use XuanChen\WoUnicom\Action\Order; use XuanChen\WoUnicom\Action\Order;
use XuanChen\WoUnicom\Action\Query; use XuanChen\WoUnicom\Action\Query;
@@ -24,6 +29,7 @@ class WoUnicom
/** /**
* Notes: 下单 * Notes: 下单
*
* @Author: 玄尘 * @Author: 玄尘
* @Date : 2021/4/30 9:36 * @Date : 2021/4/30 9:36
* @return \XuanChen\WoUnicom\Action\Order * @return \XuanChen\WoUnicom\Action\Order
@@ -39,6 +45,7 @@ class WoUnicom
/** /**
* Notes: 查询订单 * Notes: 查询订单
*
* @Author: 玄尘 * @Author: 玄尘
* @Date : 2021/4/30 9:39 * @Date : 2021/4/30 9:39
* @return \XuanChen\WoUnicom\Action\Query * @return \XuanChen\WoUnicom\Action\Query
@@ -53,6 +60,7 @@ class WoUnicom
/** /**
* Notes: 退款 * Notes: 退款
*
* @Author: 玄尘 * @Author: 玄尘
* @Date : 2021/4/30 9:37 * @Date : 2021/4/30 9:37
*/ */
@@ -67,6 +75,7 @@ class WoUnicom
/** /**
* Notes: 验签 * Notes: 验签
*
* @Author: 玄尘 * @Author: 玄尘
* @Date : 2021/5/11 11:51 * @Date : 2021/5/11 11:51
* @param $params * @param $params
@@ -81,6 +90,7 @@ class WoUnicom
/** /**
* Notes: 回调数据 * Notes: 回调数据
*
* @Author: 玄尘 * @Author: 玄尘
* @Date : 2021/5/11 15:54 * @Date : 2021/5/11 15:54
* @param $params * @param $params
@@ -102,9 +112,9 @@ class WoUnicom
//验签成功 //验签成功
if ($res === true) { if ($res === true) {
$channel = Helper::getChannel($data['orderid']);
//福利订单 switch ($channel) {
if (str_contains($data['orderid'], 'WEAL')) { case 'welfare':
$order = WelfareOrder::where('orderid', $data['orderid'])->first(); $order = WelfareOrder::where('orderid', $data['orderid'])->first();
if ($order && $order->status == 'UNPAY') { if ($order && $order->status == 'UNPAY') {
$payment = $order->payment; $payment = $order->payment;
@@ -115,12 +125,11 @@ class WoUnicom
]); ]);
$order->paid(); $order->paid();
} }
break;
} else { case 'school':
$order = \App\Models\Order::where('orderid', $data['orderid'])->first(); $order = ActivitySchoolOrder::where('orderid', $data['orderid'])->first();
if ($order && $order->state == 'UNPAY') { if ($order && $order->state == 'UNPAY') {
$payment = \App\Models\Payment::where('orderable_type', get_class($order)) $payment = Payment::where('orderable_type', get_class($order))
->where('orderable_id', $order->id) ->where('orderable_id', $order->id)
->latest() ->latest()
->first(); ->first();
@@ -132,14 +141,61 @@ class WoUnicom
$payment->save(); $payment->save();
$order->paid(); $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();
$payment->state = 'SUCCESS';
$payment->out_trade_no = $data['payfloodid'];
$payment->type = 'UNICOM';
$payment->paid_at = Carbon::now();
$payment->save();
$order->paid();
}
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->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']); $this->updateLog(['SUCCESS']);
return 'SUCCESS'; return 'SUCCESS';
} else { } else {
$this->updateLog(['验签失败']); $this->updateLog(['验签失败']);
return '验签失败'; return '验签失败';
} }
} }