Files
heping-api/app/controller/Order.php
2022-09-14 16:03:37 +08:00

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()
]);
}
}