56 lines
1.7 KiB
PHP
56 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace app\controller;
|
|
|
|
use app\model\Student;
|
|
use think\facade\Route;
|
|
use think\response\Json;
|
|
|
|
class Order
|
|
{
|
|
/**
|
|
* Notes : 捐助订单
|
|
*
|
|
* @Date : 2022/9/9 16:30
|
|
* @Author : <Jason.C>
|
|
* @return Json
|
|
*/
|
|
public function create(): Json
|
|
{
|
|
$userid = $GLOBALS['data']['userid'];
|
|
$amount = env("PAY_AMOUNT") ?? 15;
|
|
// if (env("APP_DEBUG")) {
|
|
// $amount = 0.01;
|
|
// }
|
|
if (empty($GLOBALS['data']['data']['student_id'])) {
|
|
return show("请正确上传用户信息!", ERROR_CODE, []);
|
|
}
|
|
$student_id = $GLOBALS['data']['data']['student_id'];
|
|
if (! Student::findOrEmpty($student_id)) {
|
|
return show("用户信息不存在!", ERROR_CODE, []);
|
|
}
|
|
if (\app\model\Order::where(["user_id" => $userid, "student_id" => $student_id, "status" => 1])->find()) {
|
|
return show("已经为该孩子助力过了!", ERROR_CODE, []);
|
|
}
|
|
$order = \app\model\Order::create([
|
|
'student_id' => $student_id,
|
|
'user_id' => $userid,
|
|
'amount' => $amount,
|
|
'status' => 0,
|
|
]);
|
|
|
|
$tokenData = ['userid' => $userid, 'loginTime' => time(), 'rankStr' => strRand(5)];
|
|
$token = authcode(json_encode($tokenData), 'ENCODE');
|
|
|
|
return show("订单创建成功!", SUCCESS_CODE, [
|
|
'payment_url' => $notifyUrl = Route::buildUrl('wechat/payment')
|
|
->vars([
|
|
'order_id' => $order->id,
|
|
'token' => $token,
|
|
])
|
|
->suffix(false)
|
|
->domain(true)
|
|
->build()
|
|
]);
|
|
}
|
|
} |