mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-28 21:40:50 +00:00
- 新增 OrderCenterListExtend 监听器:从 eb_pt_virtual_order 合并 product_id/status/complete_time 到列表行,修复商品ID与状态空白 - list() 搜索契约映射:order_no 走中台 keyword 前缀搜索、status 对应 status_code,修复搜索不生效 - 列表去掉发货时间/退款状态/商品ID(网盘自动发货、无退款流程), 新增商品名称/规格/金额
72 lines
2.7 KiB
PHP
72 lines
2.7 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
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());
|
||
}
|
||
}
|
||
}
|