|
|
<?php
|
|
|
|
|
|
namespace app\money\controller\api;
|
|
|
|
|
|
use app\money\model\MoneyCard;
|
|
|
use app\money\model\MoneyOrder;
|
|
|
|
|
|
|
|
|
class Order extends Base
|
|
|
{
|
|
|
|
|
|
/**
|
|
|
* 提交订单
|
|
|
* @param int $param ['buy_type'] 购买方式 1--直接充值 2--购买充值卡
|
|
|
* @param float $param ['money'] buy_type=1,充值金额
|
|
|
* @param int $param ['card_id'] buy_type=2,充值卡ID
|
|
|
* @param int $param ['pay_type'] 支付方式 1--微信支付 2--支付宝支付
|
|
|
* @date 2021-10-31
|
|
|
*/
|
|
|
public function insertOrder()
|
|
|
{
|
|
|
$param = input('post.');
|
|
|
|
|
|
$validate = [
|
|
|
'pay_type' => 'require',
|
|
|
'buy_type' => 'require',
|
|
|
];
|
|
|
if ($param['buy_type'] == 1) {
|
|
|
$validate['money'] = 'require';
|
|
|
} else if ($param['buy_type'] == 2) {
|
|
|
$validate['card_id'] = 'require';
|
|
|
}
|
|
|
$this->validate($param, $validate, [
|
|
|
'buy_type.require' => '请至少选择一种方式充值',
|
|
|
'pay_type.require' => '请选择支付方式',
|
|
|
'money.require' => '请输入正确的充值金额',
|
|
|
'card_id.require' => '请选择充值卡'
|
|
|
]);
|
|
|
|
|
|
|
|
|
$order_logic = new \app\money\logic\Order();
|
|
|
|
|
|
$result = $order_logic->insertOrder($param['buy_type'], $param['money'], $param['card_id'], $param['pay_type']);
|
|
|
|
|
|
return json($result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取我的订单列表
|
|
|
* @param int $param ['page'] 第X页
|
|
|
* @date 2022-12-16
|
|
|
*/
|
|
|
public function listMyOrder()
|
|
|
{
|
|
|
$param = input('post.');
|
|
|
|
|
|
$order_logic = new \app\money\logic\Order();
|
|
|
|
|
|
// 获取我的订单列表
|
|
|
$result = $order_logic->listMyOrder($param['page']);
|
|
|
|
|
|
return json($result);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 苹果支付回调
|
|
|
*/
|
|
|
public function applePayCallback()
|
|
|
{
|
|
|
$data = input('post.');
|
|
|
$money_service = new \app\money\service\Money();
|
|
|
$card_model = new MoneyCard();
|
|
|
$order_model = new MoneyOrder();
|
|
|
|
|
|
$card = $card_model->getOneData(['id' => $data['card_id']]);
|
|
|
if (!$card) {
|
|
|
return sendErrorMessage(101, '充值卡不存在');
|
|
|
}
|
|
|
$order_number = $order_model->createOrderNumber('M');
|
|
|
$order_data = [
|
|
|
'uid' => UID,
|
|
|
'user_agent' => USER_AGENT,
|
|
|
'user_id' => $data['user_id'],
|
|
|
'order_number' => $order_number,
|
|
|
'card_id' => $data['card_id'],
|
|
|
'pay_money' => $card['price'],
|
|
|
'give_money' => $card['give_money'],
|
|
|
'pay_type' => 3,
|
|
|
'is_pay' => 1,
|
|
|
'pay_time' => time(),
|
|
|
'status' => 2
|
|
|
];
|
|
|
$order_id = $order_model->dataUpdate($order_data);
|
|
|
if (!$order_id) {
|
|
|
return sendErrorMessage('充值失败');
|
|
|
}
|
|
|
$res = $money_service->change($data['user_id'], 1, $card['price'] + $card['give_money'], "充值", $order_number, [
|
|
|
'money_order_id' => $order_id
|
|
|
]);
|
|
|
if ($res['code'] != 0) {
|
|
|
return $res;
|
|
|
}
|
|
|
return sendSuccessMessage([], '充值成功');
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|