算力功能提交
This commit is contained in:
@@ -6,7 +6,7 @@ use think\Model;
|
||||
class TokensRecord extends Model
|
||||
{
|
||||
protected $pk = 'id';
|
||||
protected $name = 'kf_tokens_record';
|
||||
protected $name = 'tokens_record';
|
||||
|
||||
// 自动写入时间戳
|
||||
protected $autoWriteTimestamp = true;
|
||||
|
||||
@@ -81,15 +81,15 @@ class PaymentService
|
||||
|
||||
if ($parsed['status'] == 0 && $parsed['result_code'] == 0) {
|
||||
Db::commit();
|
||||
return json(['code' => 200, 'msg' => '订单创建成功', 'data' => $parsed['code_url']]);
|
||||
return json_encode(['code' => 200, 'msg' => '订单创建成功', 'data' => $parsed['code_img_url']]);
|
||||
} else {
|
||||
Db::rollback();
|
||||
return json(['code' => 500, 'msg' => '订单创建失败:' . $parsed['err_msg']]);
|
||||
return json_encode(['code' => 500, 'msg' => '订单创建失败:' . $parsed['err_msg']]);
|
||||
}
|
||||
|
||||
} catch (\Exception $e) {
|
||||
Db::rollback();
|
||||
return json(['code' => 500, 'msg' => '订单创建失败:' . $e->getMessage()]);
|
||||
return json_encode(['code' => 500, 'msg' => '订单创建失败:' . $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -142,6 +142,15 @@ Route::group('v1/', function () {
|
||||
Route::get('friendRequestTaskStats', 'app\cunkebao\controller\StatsController@getFriendRequestTaskStats');
|
||||
Route::get('userInfoStats', 'app\cunkebao\controller\StatsController@userInfoStats');
|
||||
});
|
||||
|
||||
// 算力相关
|
||||
Route::group('tokens', function () {
|
||||
Route::get('list', 'app\cunkebao\controller\TokensController@getList');
|
||||
Route::post('pay', 'app\cunkebao\controller\TokensController@pay');
|
||||
});
|
||||
|
||||
|
||||
|
||||
})->middleware(['jwt']);
|
||||
|
||||
|
||||
|
||||
86
Server/application/cunkebao/controller/TokensController.php
Normal file
86
Server/application/cunkebao/controller/TokensController.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace app\cunkebao\controller;
|
||||
|
||||
use app\common\controller\PaymentService;
|
||||
use app\cunkebao\model\TokensPackage;
|
||||
use library\ResponseHelper;
|
||||
|
||||
class TokensController extends BaseController
|
||||
{
|
||||
public function getList()
|
||||
{
|
||||
$page = $this->request->param('page', 1);
|
||||
$limit = $this->request->param('limit', 10);
|
||||
$where = [
|
||||
['isDel', '=', 0],
|
||||
['status', '=', 1],
|
||||
];
|
||||
$query = TokensPackage::where($where);
|
||||
$total = $query->count();
|
||||
$list = $query->where($where)->page($page, $limit)->order('id desc')->select();
|
||||
foreach ($list as &$item) {
|
||||
$item['description'] = json_decode($item['description'], true);
|
||||
$item['price'] = number_format($item['price'] / 100, 2);
|
||||
$item['originalPrice'] = number_format($item['originalPrice'] / 100, 2);
|
||||
}
|
||||
unset($item);
|
||||
return ResponseHelper::success(['list' => $list, 'total' => $total]);
|
||||
}
|
||||
|
||||
|
||||
public function pay()
|
||||
{
|
||||
$id = $this->request->param('id', '');
|
||||
$price = $this->request->param('price', '');
|
||||
$userId = $this->getUserInfo('id');
|
||||
$companyId = $this->getUserInfo('companyId');
|
||||
|
||||
if (empty($id) && empty($price)) {
|
||||
return ResponseHelper::error('套餐和自定义购买金额必须选一个');
|
||||
}
|
||||
|
||||
if (!empty($id)){
|
||||
$package = TokensPackage::where(['id' => $id, 'status' => 1, 'isDel' => 0])->find();
|
||||
if (empty($package)) {
|
||||
return ResponseHelper::error('套餐不存在或者已禁用');
|
||||
}
|
||||
|
||||
if ($package['price'] <= 0){
|
||||
return ResponseHelper::error('套餐金额异常');
|
||||
}else{
|
||||
$price = $package['price'];
|
||||
}
|
||||
}else{
|
||||
$package = [
|
||||
'id' => 0,
|
||||
'name' => '自定义购买算力',
|
||||
'price' => intval($price * 100)
|
||||
];
|
||||
}
|
||||
|
||||
$orderNo = date('YmdHis') . rand(100000, 999999);
|
||||
$order = [
|
||||
'companyId' => $companyId,
|
||||
'userId' => $userId,
|
||||
'orderNo' => $orderNo,
|
||||
'goodsId' => $package['id'],
|
||||
'goodsName' => $package['name'],
|
||||
'orderType' => 1,
|
||||
'money' => $package['price']
|
||||
];
|
||||
$paymentService = new PaymentService();
|
||||
$res = $paymentService->createOrder($order);
|
||||
$res = json_decode($res, true);
|
||||
if ($res['code'] == 200){
|
||||
return ResponseHelper::success(['orderNo' => $orderNo,'code_url' => $res['data']],'订单创建成功');
|
||||
}else{
|
||||
return ResponseHelper::error($res['msg']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
17
Server/application/cunkebao/model/TokensPackage.php
Normal file
17
Server/application/cunkebao/model/TokensPackage.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace app\cunkebao\model;
|
||||
|
||||
use think\Model;
|
||||
class TokensPackage extends Model
|
||||
{
|
||||
protected $pk = 'id';
|
||||
protected $name = 'tokens_package';
|
||||
|
||||
// 自动写入时间戳
|
||||
protected $autoWriteTimestamp = true;
|
||||
protected $createTime = 'createTime';
|
||||
protected $updateTime = 'updateTime';
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user