113 lines
3.3 KiB
PHP
113 lines
3.3 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace app\api\controller;
|
||
|
|
|
||
|
|
use app\common\controller\Api;
|
||
|
|
use app\common\model\JinbiOrder as JinbiOrderModel;
|
||
|
|
use app\common\model\VipOrder as VipOrderModel;
|
||
|
|
use think\Config;
|
||
|
|
use think\Db;
|
||
|
|
use think\Validate;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 会员接口
|
||
|
|
*/
|
||
|
|
class Order extends Api
|
||
|
|
{
|
||
|
|
protected $noNeedLogin = [];
|
||
|
|
protected $noNeedRight = '*';
|
||
|
|
|
||
|
|
public function _initialize()
|
||
|
|
{
|
||
|
|
parent::_initialize();
|
||
|
|
|
||
|
|
if (!Config::get('fastadmin.usercenter')) {
|
||
|
|
$this->error(__('User center already closed'));
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
/*
|
||
|
|
* 创建购买礼物订单
|
||
|
|
*/
|
||
|
|
public function createJinbiOrder(){
|
||
|
|
$recharge_package_id = $this->request->post('recharge_package_id');
|
||
|
|
if(!empty($recharge_package_id)){
|
||
|
|
$recharge_package_info = Db::name('recharge_package')->where('id',$recharge_package_id)->find();
|
||
|
|
if(empty($recharge_package_info)){
|
||
|
|
$this->error('套餐不存在');
|
||
|
|
}
|
||
|
|
$money = $recharge_package_info['money'];
|
||
|
|
$nums = $recharge_package_info['jinbi'];
|
||
|
|
}else{
|
||
|
|
$money = $this->request->post('money');
|
||
|
|
if(empty($money)){
|
||
|
|
$this->error('请选择套餐或输入金额');
|
||
|
|
}
|
||
|
|
if($money<1){
|
||
|
|
$this->error('最低充值金额为1元');
|
||
|
|
}
|
||
|
|
$jinbi_scale = config('site.jinbi_scale');
|
||
|
|
$nums = $money*$jinbi_scale;
|
||
|
|
}
|
||
|
|
|
||
|
|
$pay_type = $this->request->post('pay_type');
|
||
|
|
$user_id = $this->auth->id;
|
||
|
|
$result = JinbiOrderModel::CreateOrder($user_id, $pay_type, $money, $nums);
|
||
|
|
if ($result['code'] <= 0){
|
||
|
|
$this->error($result['msg']);
|
||
|
|
}else{
|
||
|
|
return $this->success('成功', $result['data']);
|
||
|
|
}
|
||
|
|
return $this->success('成功', $result);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function jinbi_pay(){
|
||
|
|
$post_data = $this->request->post();
|
||
|
|
$out_trade_no = $post_data['out_trade_no'];
|
||
|
|
$JinbiOrderModel = new JinbiOrderModel();
|
||
|
|
|
||
|
|
$JinbiOrderModel->orderFinish($out_trade_no);
|
||
|
|
|
||
|
|
$this->success('支付成功');
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/*
|
||
|
|
* 创建VIP订单
|
||
|
|
*/
|
||
|
|
public function createVipOrder(){
|
||
|
|
$vip_package_id = $this->request->post('vip_package_id');
|
||
|
|
if(empty($vip_package_id)){
|
||
|
|
$this->error('请选择套餐');
|
||
|
|
}
|
||
|
|
$vip_package_info = Db::name('vip_package')->where('id',$vip_package_id)->find();
|
||
|
|
if(empty($vip_package_info)){
|
||
|
|
$this->error('套餐不存在');
|
||
|
|
}
|
||
|
|
$money = $vip_package_info['money'];
|
||
|
|
$nums = $vip_package_info['day'];
|
||
|
|
|
||
|
|
$pay_type = $this->request->post('pay_type');
|
||
|
|
$user_id = $this->auth->id;
|
||
|
|
$result = VipOrderModel::CreateOrder($user_id, $pay_type, $money, $nums);
|
||
|
|
if ($result['code'] <= 0){
|
||
|
|
$this->error($result['msg']);
|
||
|
|
}else{
|
||
|
|
return $this->success('成功', $result['data']);
|
||
|
|
}
|
||
|
|
return $this->success('成功', $result);
|
||
|
|
}
|
||
|
|
public function vip_pay(){
|
||
|
|
$post_data = $this->request->post();
|
||
|
|
$out_trade_no = $post_data['out_trade_no'];
|
||
|
|
$VipOrderModel = new VipOrderModel();
|
||
|
|
|
||
|
|
$VipOrderModel->orderFinish($out_trade_no);
|
||
|
|
|
||
|
|
$this->success('支付成功');
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|