You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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([], '充值成功');
}
}