// +---------------------------------------------------------------------- declare(strict_types=1); namespace modules\product\virtual\controller\admin; use app\adminapi\controller\AuthController; use app\services\order\OrderCenterServices; use modules\product\virtual\service\OrderServices; /** * 网盘商品后台订单控制器 * 通过订单中台 eb_order_center 查询网盘商品订单 */ class OrderController extends AuthController { /** * 订单列表 * 从中台表查询 product_type=virtual 的订单 * 页面搜索契约:order_no 前缀搜索(走中台 keyword)、status 对应中台 status_code * @param OrderCenterServices $centerServices * @return \think\Response */ public function list(OrderCenterServices $centerServices) { $where = ['product_type' => 'virtual']; $orderNo = trim((string) $this->request->param('order_no', '')); if ($orderNo !== '') { $where['keyword'] = $orderNo; } $status = (string) $this->request->param('status', ''); if ($status !== '') { $where['status_code'] = $status; } $page = (int) $this->request->param('page', 1); $limit = (int) $this->request->param('limit', 20); $list = $centerServices->getAdminList($where, $page, $limit); return app('json')->success($list); } /** * 订单详情 * 从中台获取完整订单数据,合并网盘商品扩展信息 * @param string $orderNo * @param OrderCenterServices $centerServices * @param OrderServices $service * @return \think\Response */ public function read(string $orderNo, OrderCenterServices $centerServices, OrderServices $service) { try { $detail = $centerServices->getDetailByOrderNo($orderNo); // 合并网盘商品扩展信息 $extendInfo = $service->getExtendInfo($orderNo); if (!empty($extendInfo)) { $detail['virtual_extend'] = $extendInfo; } return app('json')->success($detail); } catch (\RuntimeException $e) { return app('json')->fail($e->getMessage()); } } }