Ai_GirlFriend/xunifriend_RaeeC/application/api/controller/Order.php
2026-01-31 19:15:41 +08:00

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('支付成功');
}
}