0
0

更新代码

This commit is contained in:
2020-08-04 10:09:42 +08:00
parent 6118b5b63b
commit c2ac5d964e
478 changed files with 34410 additions and 0 deletions

View File

@@ -0,0 +1,131 @@
<?php
namespace App\Http\Controllers;
use App\Models\Payment;
use Illuminate\Http\Request;
use RuLong\Coupon\Models\CouponUse;
use RuLong\Coupon\Models\CouponUserLog;
use RuLong\Order\Models\Order;
class PayController extends Controller
{
public function __construct(Request $request)
{
parent::__construct($request);
$this->middleware('auth');
}
private function getpayOrder(Order $order, $type)
{
$payOrder = Payment::create([
'order_id' => $order->id,
'type' => $type,
'amount' => $order->total - $order->score,
]);
return $payOrder;
}
public function lesson(Request $request, $orderid)
{
$order = Order::where('orderid', $orderid)->firstOrFail();
$coupon = '';
if ($request->has('coupon_id')) {
$coupon = CouponUserLog::find($request->coupon_id);
}
// $coupon_list = CouponUserLog::with('info')->whereHas('info', function ($query) {
// $query->where('type', 'lesson')
// ->where('start_at', '<=', date('Y-m-d H:i:s', time()))
// ->where('end_at', '>=', date('Y-m-d H:i:s', time()));
// })->where('user_id', Auth::id())->where('status', 0)->get();
// $coupon = $coupon_list->sortByDesc(function ($coupon, $key) {
// return $coupon->info->bouns;
// })->first();
$apply_lesson_price = \Params::get('apply_lesson_price');
return view('pay.lesson', compact('order', 'coupon', 'apply_lesson_price'));
}
public function order(Request $request, $orderid)
{
$order = Order::where('orderid', $orderid)->firstOrFail();
return view('pay.order', compact('order'));
}
public function wechatnew(Request $request, $orderid)
{
$order = Order::where('orderid', $orderid)->firstOrFail();
$openid = $order->user->openid;
if ($request->has('coupon') && $request->coupon) {
$coupon = CouponUserLog::find($request->coupon);
$order->score = $coupon->info->bouns;
$order->save();
if ($order->couponuse && $order->couponuse->coupon_id != $coupon->id) {
$order->couponuse()->delete();
}
if ($order->couponuse) {
if ($order->couponuse->coupon_id != $coupon->id) {
$order->couponuse()->delete();
$order->couponuse()->save(new CouponUse(['order_id' => $order->id, 'coupon_id' => $coupon->id]));
} else {
$order->couponuse()->update(['updated_at' => time()]);
}
} else {
$order->couponuse()->save(new CouponUse(['order_id' => $order->id, 'coupon_id' => $coupon->id]));
}
} else {
$order->score = 0;
$order->save();
$order->couponuse()->delete();
}
$amount = $order->amount - $order->score;
$payOrder = $this->getpayOrder($order, 'WECHAT');
if ($amount != $payOrder->amount) {
$payOrder->amount = $amount;
$payOrder->save();
}
$app = app('wechat.payment');
$amount = $payOrder->amount;
$result = $app->order->unify([
'body' => '商城订单',
'out_trade_no' => $payOrder->trade_no,
'total_fee' => $amount * 100,
'notify_url' => route('notify.payment'),
'trade_type' => 'JSAPI',
'openid' => $openid,
]);
if ($result['return_code'] == 'SUCCESS' && isset($result['prepay_id'])) {
$json = $app->jssdk->bridgeConfig($result['prepay_id']);
return $this->success($json);
} else {
return $this->error($result['return_msg']);
}
}
public function ok(Request $request)
{
return view('pay.ok');
// $user = Auth::user();
// $openid = $user->openid;
// if (empty($openid) && $user->main_id > 0) {
// $openid = $user->mainuser->openid;
// }
// $app = app('wechat.official_account');
// $wxuser = $app->user->get($openid);
// if ($wxuser->subscribe == 0) {
// return view('pay.subscribe'); //强制关注公众号
// } else {
// return view('pay.ok');
// }
}
}