Commit 7a8ce392 7a8ce392d4d087ddcce9a70ffc9071e40430df81 by 谭纯

feat: 在 TME 接口响应中增加 traceId 字段

- 修改 BaseController::doApi() 返回 4 元素数组,第 4 个元素是 TME 返回的 traceId
- 修改 Response::success/error 方法,增加可选 traceId 参数
- 修改 WorkController 所有 18 个方法,解构 4 元素并透传 traceId 到响应

这样做的好处:
- 成功和失败响应都包含 traceId,便于问题追踪
- traceId 作为顶层字段,不混入业务 data
- 对上层系统(legal.hikoon.com)完全向后兼容

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
1 parent e5c78fd2
......@@ -17,13 +17,17 @@ class Response
* @param array $data
* @return \Illuminate\Http\JsonResponse
*/
public static function success($data = [], string $msg = '请求成功')
public static function success($data = [], string $msg = '请求成功', string $traceId = '')
{
return response()->json([
$resp = [
'code' => ErrorCode::SERVER_OK,
'data' => $data instanceof LengthAwarePaginator ? self::paginator($data) : $data,
'msg' => $msg
]);
];
if ($traceId !== '') {
$resp['traceId'] = $traceId;
}
return response()->json($resp);
}
/**
......@@ -31,13 +35,17 @@ class Response
* @param int $code
* @return mixed
*/
public static function error($code = ErrorCode::SERVER_ERROR, string $msg = '',$data = [])
public static function error($code = ErrorCode::SERVER_ERROR, string $msg = '', $data = [], string $traceId = '')
{
return response()->json([
$resp = [
'code' => $code,
'msg' => $msg ?: (ErrorCode::$messages[$code] ?? ErrorCode::$messages[ErrorCode::SERVER_ERROR]),
'data' => $data
]);
];
if ($traceId !== '') {
$resp['traceId'] = $traceId;
}
return response()->json($resp);
}
/**
......
......@@ -120,14 +120,14 @@ class BaseController extends Controller
Log::channel('api')->info(__METHOD__, ['token'=>$token,'respArr'=>$respArr]);
if ($respArr['code'] == '0'){
return [(int)$respArr['code'],$respArr['message'] ?? '操作成功',$respArr['data'] ?? []];
return [(int)$respArr['code'], $respArr['message'] ?? '操作成功', $respArr['data'] ?? [], $respArr['traceId'] ?? ''];
} else {
return [(int)$respArr['code'],$respArr['message'] ?? '操作失败',[$respArr['traceId']]];
return [(int)$respArr['code'], $respArr['message'] ?? '操作失败', [], $respArr['traceId'] ?? ''];
}
} catch (\Exception $e) {
Log::channel('api')->error(__METHOD__, ['token'=>$token, 'msg'=>$e->getMessage()]);
return [-1,'接口请求失败',[]];
return [-1, '接口请求失败', [], ''];
}
}
......
......@@ -20,11 +20,11 @@ class WorkController extends BaseController
//if ($param['type'] == 0){
$param['fileName'] = time() . '.' . last(explode('.',$param['fileName']));
//}
list($code,$msg,$data) = $this->doApi('/invests/content/upload',$param);
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/upload',$param);
if ($code === 0) {
return Response::success($data);
return Response::success($data, '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
......@@ -36,11 +36,11 @@ class WorkController extends BaseController
*/
public function albumOnline(Request $request)
{
list($code,$msg,$data) = $this->doApi('/invests/content/commitContent',$request->all());
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/commitContent',$request->all());
if ($code === 0) {
return Response::success($data);
return Response::success($data, '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
......@@ -53,11 +53,11 @@ class WorkController extends BaseController
public function searchSinger(Request $request)
{
// dd(basename($request->getRequestUri()));
list($code,$msg,$data) = $this->doApi('/invests/content/searchSinger',$request->all());
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/searchSinger',$request->all());
if ($code === 0) {
return Response::success($data);
return Response::success($data, '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
......@@ -78,18 +78,18 @@ class WorkController extends BaseController
// 'fileName' =>last(explode('/',$file_name)) ?? '艺人头像.jpg',
'fileName' =>time() . '.' . last(explode('.',$file_name)),
];
list($code,$msg,$data) = $this->doApi('/invests/content/upload',$param);
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/upload',$param);
$pic_url = $data['fileUrl'] ?? '';
if($pic_url){
$singer_param['singerPic'] = $pic_url;
list($code,$msg,$data) = $this->doApi('/invests/content/createSinger',$singer_param);
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/createSinger',$singer_param);
if ($code === 0) {
return Response::success(array_merge($data,['singer_pic'=>$pic_url]));
return Response::success(array_merge($data,['singer_pic'=>$pic_url]), '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
/**
......@@ -100,11 +100,11 @@ class WorkController extends BaseController
*/
public function modifySinger(Request $request)
{
list($code,$msg,$data) = $this->doApi('/invests/content/modifySinger',$request->all());
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/modifySinger',$request->all());
if ($code === 0) {
return Response::success($data);
return Response::success($data, '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
......@@ -116,11 +116,11 @@ class WorkController extends BaseController
*/
public function originalCompanyQuery(Request $request)
{
list($code,$msg,$data) = $this->doApi('/invests/content/queryOriginalCopyrightCompanyList',$request->all());
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/queryOriginalCopyrightCompanyList',$request->all());
if ($code === 0) {
return Response::success($data);
return Response::success($data, '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
......@@ -132,11 +132,11 @@ class WorkController extends BaseController
*/
public function queryComitResult(Request $request)
{
list($code,$msg,$data) = $this->doApi('/invests/content/queryComitResult',$request->all());
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/queryComitResult',$request->all());
if ($code === 0) {
return Response::success($data);
return Response::success($data, '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
......@@ -147,11 +147,11 @@ class WorkController extends BaseController
*/
public function queryModifyAuditStatus(Request $request)
{
list($code,$msg,$data) = $this->doApi('/invests/content/queryModifyAuditStatus', $request->all());
list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/queryModifyAuditStatus', $request->all());
if ($code === 0) {
return Response::success($data);
return Response::success($data, '请求成功', $traceId);
} else {
return Response::error($code,$msg,$data);
return Response::error($code,$msg,$data,$traceId);
}
}
......@@ -163,8 +163,8 @@ class WorkController extends BaseController
*/
public function authResources(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/content/queryAuthResources',$request->all(), 'GET');
return $code === 0 ? Response::success($data) : Response::error($code,$msg,$data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/queryAuthResources',$request->all(), 'GET');
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code,$msg,$data,$traceId);
}
/**
......@@ -175,8 +175,8 @@ class WorkController extends BaseController
*/
public function tackList(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/track/tacklist',$request->all(), 'POST');
return $code === 0 ? Response::success($data) : Response::error($code,$msg,$data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/track/tacklist',$request->all(), 'POST');
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code,$msg,$data,$traceId);
}
/**
......@@ -186,8 +186,8 @@ class WorkController extends BaseController
*/
public function trackUpdate(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/content/modifyTrackOpen',$request->all());
return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/modifyTrackOpen',$request->all());
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
}
/**
......@@ -197,8 +197,8 @@ class WorkController extends BaseController
*/
public function albumUpdate(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/content/modifyAlbumOpen',$request->all());
return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/modifyAlbumOpen',$request->all());
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
}
/**
......@@ -208,8 +208,8 @@ class WorkController extends BaseController
*/
public function queryAlbumDetail(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/content/album/queryAlbumDetail',$request->all());
return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/album/queryAlbumDetail',$request->all());
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
}
/**
......@@ -219,8 +219,8 @@ class WorkController extends BaseController
*/
public function incomeList(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/cdsp/incomelist',$request->all());
return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/cdsp/incomelist',$request->all());
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
}
/**
......@@ -230,8 +230,8 @@ class WorkController extends BaseController
*/
public function queryTrackAuditDetailByTrackId(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/content/queryTrackAuditDetailByTrackId',$request->all());
return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/queryTrackAuditDetailByTrackId',$request->all());
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
}
/**
......@@ -241,7 +241,7 @@ class WorkController extends BaseController
*/
public function trackAuditDetailUpdate(Request $request)
{
list($code, $msg, $data) = $this->doApi('/invests/content/trackAuditDetailUpdate',$request->all());
return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data);
list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/trackAuditDetailUpdate',$request->all());
return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
}
}
......