134 lines
4.5 KiB
PHP
134 lines
4.5 KiB
PHP
<?php
|
|
|
|
namespace app\api\controller;
|
|
|
|
use app\common\model\Order as OrderModel;
|
|
use app\common\model\OrderList;
|
|
use think\facade\Db;
|
|
|
|
/**
|
|
* 订单控制器
|
|
*/
|
|
class Order extends Base
|
|
{
|
|
/**
|
|
* 获取微信支付订单列表
|
|
*
|
|
* @return \think\Response
|
|
*/
|
|
public function getOrderList()
|
|
{
|
|
// 获取当前登录用户
|
|
$user = $this->getUser();
|
|
|
|
// 获取分页参数
|
|
$page = $this->request->param('page', 1);
|
|
$pageSize = $this->request->param('page_size', 10);
|
|
|
|
// 获取订单列表
|
|
$orderQuery = Db::name('order')
|
|
->field('goods_id, goods_title, goods_price, order_total, order_zhe_total, price, use_money, use_integral, use_money2, addtime, pay_time, prize_num, use_coupon, order_num')
|
|
->where([
|
|
'user_id' => $user['id'],
|
|
'status' => 1
|
|
])
|
|
->order('addtime desc');
|
|
|
|
// 获取总数
|
|
$total = $orderQuery->count();
|
|
|
|
// 获取分页数据
|
|
$orderList = $orderQuery->page($page, $pageSize)->select()->toArray();
|
|
|
|
// 格式化数据
|
|
foreach ($orderList as &$order) {
|
|
// 格式化时间
|
|
$order['addtime'] = date('Y-m-d H:i:s', $order['addtime']);
|
|
$order['pay_time'] = $order['pay_time'] ? date('Y-m-d H:i:s', $order['pay_time']) : '';
|
|
// 格式化价格数据
|
|
$order['goods_price'] = (float)$order['goods_price'];
|
|
$order['order_total'] = (float)$order['order_total'];
|
|
$order['order_zhe_total'] = (float)$order['order_zhe_total'];
|
|
$order['price'] = (float)$order['price'];
|
|
$order['use_money'] = (float)$order['use_money'];
|
|
$order['use_money2'] = (float)$order['use_money2'];
|
|
}
|
|
unset($order);
|
|
|
|
// 返回分页数据
|
|
$data = [
|
|
'list' => $orderList,
|
|
'total' => $total,
|
|
'page' => (int)$page,
|
|
'page_size' => (int)$pageSize,
|
|
'total_pages' => ceil($total / $pageSize)
|
|
];
|
|
|
|
return $this->renderSuccess('获取成功', $data);
|
|
}
|
|
|
|
/**
|
|
* 获取订单详情
|
|
*
|
|
* @return \think\Response
|
|
*/
|
|
public function getOrderDetail()
|
|
{
|
|
// 获取订单编号
|
|
$orderNum = $this->request->param('order_num', '');
|
|
if (empty($orderNum)) {
|
|
return $this->renderError('订单编号不能为空');
|
|
|
|
}
|
|
|
|
// 获取当前登录用户
|
|
$user = $this->getUser();
|
|
|
|
// 获取订单详情
|
|
$orderInfo = Db::name('order')
|
|
->field('order_num,goods_id, goods_title, goods_price, id, order_total, order_zhe_total, price, use_money, use_integral, use_money2, addtime, pay_time, prize_num, use_coupon')
|
|
->where([
|
|
'status' => 1,
|
|
'order_num' => $orderNum
|
|
])
|
|
->find();
|
|
|
|
if (!$orderInfo) {
|
|
return $this->renderError('订单不存在');
|
|
|
|
}
|
|
|
|
// 格式化时间
|
|
$orderInfo['addtime'] = date('Y-m-d H:i:s', $orderInfo['addtime']);
|
|
$orderInfo['pay_time'] = $orderInfo['pay_time'] ? date('Y-m-d H:i:s', $orderInfo['pay_time']) : '';
|
|
|
|
// 格式化价格数据
|
|
$orderInfo['goods_price'] = (float)$orderInfo['goods_price'];
|
|
$orderInfo['order_total'] = (float)$orderInfo['order_total'];
|
|
$orderInfo['order_zhe_total'] = (float)$orderInfo['order_zhe_total'];
|
|
$orderInfo['price'] = (float)$orderInfo['price'];
|
|
$orderInfo['use_money'] = (float)$orderInfo['use_money'];
|
|
$orderInfo['use_money2'] = (float)$orderInfo['use_money2'];
|
|
|
|
// 获取订单商品列表
|
|
$orderGoods = Db::name('order_list')
|
|
->field('goodslist_title, goodslist_imgurl, goodslist_price, addtime')
|
|
->where([
|
|
'order_id' => $orderInfo['id']
|
|
])
|
|
->select()->toArray();
|
|
|
|
// 格式化订单商品数据
|
|
foreach ($orderGoods as &$goods) {
|
|
$goods['addtime'] = date('Y-m-d H:i:s', $goods['addtime']);
|
|
$goods['goodslist_price'] = (float)$goods['goodslist_price'];
|
|
$goods['goodslist_imgurl'] = imageUrl($goods['goodslist_imgurl']);
|
|
}
|
|
unset($goods);
|
|
|
|
$orderInfo['goods_list'] = $orderGoods;
|
|
|
|
return $this->renderSuccess('获取成功', $orderInfo);
|
|
}
|
|
|
|
}
|