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 ...@@ -17,13 +17,17 @@ class Response
17 * @param array $data 17 * @param array $data
18 * @return \Illuminate\Http\JsonResponse 18 * @return \Illuminate\Http\JsonResponse
19 */ 19 */
20 public static function success($data = [], string $msg = '请求成功') 20 public static function success($data = [], string $msg = '请求成功', string $traceId = '')
21 { 21 {
22 return response()->json([ 22 $resp = [
23 'code' => ErrorCode::SERVER_OK, 23 'code' => ErrorCode::SERVER_OK,
24 'data' => $data instanceof LengthAwarePaginator ? self::paginator($data) : $data, 24 'data' => $data instanceof LengthAwarePaginator ? self::paginator($data) : $data,
25 'msg' => $msg 25 'msg' => $msg
26 ]); 26 ];
27 if ($traceId !== '') {
28 $resp['traceId'] = $traceId;
29 }
30 return response()->json($resp);
27 } 31 }
28 32
29 /** 33 /**
...@@ -31,13 +35,17 @@ class Response ...@@ -31,13 +35,17 @@ class Response
31 * @param int $code 35 * @param int $code
32 * @return mixed 36 * @return mixed
33 */ 37 */
34 public static function error($code = ErrorCode::SERVER_ERROR, string $msg = '',$data = []) 38 public static function error($code = ErrorCode::SERVER_ERROR, string $msg = '', $data = [], string $traceId = '')
35 { 39 {
36 return response()->json([ 40 $resp = [
37 'code' => $code, 41 'code' => $code,
38 'msg' => $msg ?: (ErrorCode::$messages[$code] ?? ErrorCode::$messages[ErrorCode::SERVER_ERROR]), 42 'msg' => $msg ?: (ErrorCode::$messages[$code] ?? ErrorCode::$messages[ErrorCode::SERVER_ERROR]),
39 'data' => $data 43 'data' => $data
40 ]); 44 ];
45 if ($traceId !== '') {
46 $resp['traceId'] = $traceId;
47 }
48 return response()->json($resp);
41 } 49 }
42 50
43 /** 51 /**
......
...@@ -120,14 +120,14 @@ class BaseController extends Controller ...@@ -120,14 +120,14 @@ class BaseController extends Controller
120 Log::channel('api')->info(__METHOD__, ['token'=>$token,'respArr'=>$respArr]); 120 Log::channel('api')->info(__METHOD__, ['token'=>$token,'respArr'=>$respArr]);
121 121
122 if ($respArr['code'] == '0'){ 122 if ($respArr['code'] == '0'){
123 return [(int)$respArr['code'],$respArr['message'] ?? '操作成功',$respArr['data'] ?? []]; 123 return [(int)$respArr['code'], $respArr['message'] ?? '操作成功', $respArr['data'] ?? [], $respArr['traceId'] ?? ''];
124 } else { 124 } else {
125 return [(int)$respArr['code'],$respArr['message'] ?? '操作失败',[$respArr['traceId']]]; 125 return [(int)$respArr['code'], $respArr['message'] ?? '操作失败', [], $respArr['traceId'] ?? ''];
126 } 126 }
127 127
128 } catch (\Exception $e) { 128 } catch (\Exception $e) {
129 Log::channel('api')->error(__METHOD__, ['token'=>$token, 'msg'=>$e->getMessage()]); 129 Log::channel('api')->error(__METHOD__, ['token'=>$token, 'msg'=>$e->getMessage()]);
130 return [-1,'接口请求失败',[]]; 130 return [-1, '接口请求失败', [], ''];
131 } 131 }
132 } 132 }
133 133
......
...@@ -20,11 +20,11 @@ class WorkController extends BaseController ...@@ -20,11 +20,11 @@ class WorkController extends BaseController
20 //if ($param['type'] == 0){ 20 //if ($param['type'] == 0){
21 $param['fileName'] = time() . '.' . last(explode('.',$param['fileName'])); 21 $param['fileName'] = time() . '.' . last(explode('.',$param['fileName']));
22 //} 22 //}
23 list($code,$msg,$data) = $this->doApi('/invests/content/upload',$param); 23 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/upload',$param);
24 if ($code === 0) { 24 if ($code === 0) {
25 return Response::success($data); 25 return Response::success($data, '请求成功', $traceId);
26 } else { 26 } else {
27 return Response::error($code,$msg,$data); 27 return Response::error($code,$msg,$data,$traceId);
28 } 28 }
29 } 29 }
30 30
...@@ -36,11 +36,11 @@ class WorkController extends BaseController ...@@ -36,11 +36,11 @@ class WorkController extends BaseController
36 */ 36 */
37 public function albumOnline(Request $request) 37 public function albumOnline(Request $request)
38 { 38 {
39 list($code,$msg,$data) = $this->doApi('/invests/content/commitContent',$request->all()); 39 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/commitContent',$request->all());
40 if ($code === 0) { 40 if ($code === 0) {
41 return Response::success($data); 41 return Response::success($data, '请求成功', $traceId);
42 } else { 42 } else {
43 return Response::error($code,$msg,$data); 43 return Response::error($code,$msg,$data,$traceId);
44 } 44 }
45 } 45 }
46 46
...@@ -53,11 +53,11 @@ class WorkController extends BaseController ...@@ -53,11 +53,11 @@ class WorkController extends BaseController
53 public function searchSinger(Request $request) 53 public function searchSinger(Request $request)
54 { 54 {
55 // dd(basename($request->getRequestUri())); 55 // dd(basename($request->getRequestUri()));
56 list($code,$msg,$data) = $this->doApi('/invests/content/searchSinger',$request->all()); 56 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/searchSinger',$request->all());
57 if ($code === 0) { 57 if ($code === 0) {
58 return Response::success($data); 58 return Response::success($data, '请求成功', $traceId);
59 } else { 59 } else {
60 return Response::error($code,$msg,$data); 60 return Response::error($code,$msg,$data,$traceId);
61 } 61 }
62 } 62 }
63 63
...@@ -78,18 +78,18 @@ class WorkController extends BaseController ...@@ -78,18 +78,18 @@ class WorkController extends BaseController
78 // 'fileName' =>last(explode('/',$file_name)) ?? '艺人头像.jpg', 78 // 'fileName' =>last(explode('/',$file_name)) ?? '艺人头像.jpg',
79 'fileName' =>time() . '.' . last(explode('.',$file_name)), 79 'fileName' =>time() . '.' . last(explode('.',$file_name)),
80 ]; 80 ];
81 list($code,$msg,$data) = $this->doApi('/invests/content/upload',$param); 81 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/upload',$param);
82 $pic_url = $data['fileUrl'] ?? ''; 82 $pic_url = $data['fileUrl'] ?? '';
83 if($pic_url){ 83 if($pic_url){
84 $singer_param['singerPic'] = $pic_url; 84 $singer_param['singerPic'] = $pic_url;
85 list($code,$msg,$data) = $this->doApi('/invests/content/createSinger',$singer_param); 85 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/createSinger',$singer_param);
86 if ($code === 0) { 86 if ($code === 0) {
87 return Response::success(array_merge($data,['singer_pic'=>$pic_url])); 87 return Response::success(array_merge($data,['singer_pic'=>$pic_url]), '请求成功', $traceId);
88 } else { 88 } else {
89 return Response::error($code,$msg,$data); 89 return Response::error($code,$msg,$data,$traceId);
90 } 90 }
91 } 91 }
92 return Response::error($code,$msg,$data); 92 return Response::error($code,$msg,$data,$traceId);
93 } 93 }
94 94
95 /** 95 /**
...@@ -100,11 +100,11 @@ class WorkController extends BaseController ...@@ -100,11 +100,11 @@ class WorkController extends BaseController
100 */ 100 */
101 public function modifySinger(Request $request) 101 public function modifySinger(Request $request)
102 { 102 {
103 list($code,$msg,$data) = $this->doApi('/invests/content/modifySinger',$request->all()); 103 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/modifySinger',$request->all());
104 if ($code === 0) { 104 if ($code === 0) {
105 return Response::success($data); 105 return Response::success($data, '请求成功', $traceId);
106 } else { 106 } else {
107 return Response::error($code,$msg,$data); 107 return Response::error($code,$msg,$data,$traceId);
108 } 108 }
109 } 109 }
110 110
...@@ -116,11 +116,11 @@ class WorkController extends BaseController ...@@ -116,11 +116,11 @@ class WorkController extends BaseController
116 */ 116 */
117 public function originalCompanyQuery(Request $request) 117 public function originalCompanyQuery(Request $request)
118 { 118 {
119 list($code,$msg,$data) = $this->doApi('/invests/content/queryOriginalCopyrightCompanyList',$request->all()); 119 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/queryOriginalCopyrightCompanyList',$request->all());
120 if ($code === 0) { 120 if ($code === 0) {
121 return Response::success($data); 121 return Response::success($data, '请求成功', $traceId);
122 } else { 122 } else {
123 return Response::error($code,$msg,$data); 123 return Response::error($code,$msg,$data,$traceId);
124 } 124 }
125 } 125 }
126 126
...@@ -132,11 +132,11 @@ class WorkController extends BaseController ...@@ -132,11 +132,11 @@ class WorkController extends BaseController
132 */ 132 */
133 public function queryComitResult(Request $request) 133 public function queryComitResult(Request $request)
134 { 134 {
135 list($code,$msg,$data) = $this->doApi('/invests/content/queryComitResult',$request->all()); 135 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/queryComitResult',$request->all());
136 if ($code === 0) { 136 if ($code === 0) {
137 return Response::success($data); 137 return Response::success($data, '请求成功', $traceId);
138 } else { 138 } else {
139 return Response::error($code,$msg,$data); 139 return Response::error($code,$msg,$data,$traceId);
140 } 140 }
141 } 141 }
142 142
...@@ -147,11 +147,11 @@ class WorkController extends BaseController ...@@ -147,11 +147,11 @@ class WorkController extends BaseController
147 */ 147 */
148 public function queryModifyAuditStatus(Request $request) 148 public function queryModifyAuditStatus(Request $request)
149 { 149 {
150 list($code,$msg,$data) = $this->doApi('/invests/content/queryModifyAuditStatus', $request->all()); 150 list($code,$msg,$data,$traceId) = $this->doApi('/invests/content/queryModifyAuditStatus', $request->all());
151 if ($code === 0) { 151 if ($code === 0) {
152 return Response::success($data); 152 return Response::success($data, '请求成功', $traceId);
153 } else { 153 } else {
154 return Response::error($code,$msg,$data); 154 return Response::error($code,$msg,$data,$traceId);
155 } 155 }
156 } 156 }
157 157
...@@ -163,8 +163,8 @@ class WorkController extends BaseController ...@@ -163,8 +163,8 @@ class WorkController extends BaseController
163 */ 163 */
164 public function authResources(Request $request) 164 public function authResources(Request $request)
165 { 165 {
166 list($code, $msg, $data) = $this->doApi('/invests/content/queryAuthResources',$request->all(), 'GET'); 166 list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/queryAuthResources',$request->all(), 'GET');
167 return $code === 0 ? Response::success($data) : Response::error($code,$msg,$data); 167 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code,$msg,$data,$traceId);
168 } 168 }
169 169
170 /** 170 /**
...@@ -175,8 +175,8 @@ class WorkController extends BaseController ...@@ -175,8 +175,8 @@ class WorkController extends BaseController
175 */ 175 */
176 public function tackList(Request $request) 176 public function tackList(Request $request)
177 { 177 {
178 list($code, $msg, $data) = $this->doApi('/invests/track/tacklist',$request->all(), 'POST'); 178 list($code, $msg, $data, $traceId) = $this->doApi('/invests/track/tacklist',$request->all(), 'POST');
179 return $code === 0 ? Response::success($data) : Response::error($code,$msg,$data); 179 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code,$msg,$data,$traceId);
180 } 180 }
181 181
182 /** 182 /**
...@@ -186,8 +186,8 @@ class WorkController extends BaseController ...@@ -186,8 +186,8 @@ class WorkController extends BaseController
186 */ 186 */
187 public function trackUpdate(Request $request) 187 public function trackUpdate(Request $request)
188 { 188 {
189 list($code, $msg, $data) = $this->doApi('/invests/content/modifyTrackOpen',$request->all()); 189 list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/modifyTrackOpen',$request->all());
190 return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data); 190 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
191 } 191 }
192 192
193 /** 193 /**
...@@ -197,8 +197,8 @@ class WorkController extends BaseController ...@@ -197,8 +197,8 @@ class WorkController extends BaseController
197 */ 197 */
198 public function albumUpdate(Request $request) 198 public function albumUpdate(Request $request)
199 { 199 {
200 list($code, $msg, $data) = $this->doApi('/invests/content/modifyAlbumOpen',$request->all()); 200 list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/modifyAlbumOpen',$request->all());
201 return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data); 201 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
202 } 202 }
203 203
204 /** 204 /**
...@@ -208,8 +208,8 @@ class WorkController extends BaseController ...@@ -208,8 +208,8 @@ class WorkController extends BaseController
208 */ 208 */
209 public function queryAlbumDetail(Request $request) 209 public function queryAlbumDetail(Request $request)
210 { 210 {
211 list($code, $msg, $data) = $this->doApi('/invests/content/album/queryAlbumDetail',$request->all()); 211 list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/album/queryAlbumDetail',$request->all());
212 return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data); 212 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
213 } 213 }
214 214
215 /** 215 /**
...@@ -219,8 +219,8 @@ class WorkController extends BaseController ...@@ -219,8 +219,8 @@ class WorkController extends BaseController
219 */ 219 */
220 public function incomeList(Request $request) 220 public function incomeList(Request $request)
221 { 221 {
222 list($code, $msg, $data) = $this->doApi('/invests/cdsp/incomelist',$request->all()); 222 list($code, $msg, $data, $traceId) = $this->doApi('/invests/cdsp/incomelist',$request->all());
223 return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data); 223 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
224 } 224 }
225 225
226 /** 226 /**
...@@ -230,8 +230,8 @@ class WorkController extends BaseController ...@@ -230,8 +230,8 @@ class WorkController extends BaseController
230 */ 230 */
231 public function queryTrackAuditDetailByTrackId(Request $request) 231 public function queryTrackAuditDetailByTrackId(Request $request)
232 { 232 {
233 list($code, $msg, $data) = $this->doApi('/invests/content/queryTrackAuditDetailByTrackId',$request->all()); 233 list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/queryTrackAuditDetailByTrackId',$request->all());
234 return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data); 234 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
235 } 235 }
236 236
237 /** 237 /**
...@@ -241,7 +241,7 @@ class WorkController extends BaseController ...@@ -241,7 +241,7 @@ class WorkController extends BaseController
241 */ 241 */
242 public function trackAuditDetailUpdate(Request $request) 242 public function trackAuditDetailUpdate(Request $request)
243 { 243 {
244 list($code, $msg, $data) = $this->doApi('/invests/content/trackAuditDetailUpdate',$request->all()); 244 list($code, $msg, $data, $traceId) = $this->doApi('/invests/content/trackAuditDetailUpdate',$request->all());
245 return $code === 0 ? Response::success($data) : Response::error($code, $msg, $data); 245 return $code === 0 ? Response::success($data, '请求成功', $traceId) : Response::error($code, $msg, $data, $traceId);
246 } 246 }
247 } 247 }
......