Browse Source

fix: 修复 Admin MCP 工具 API 路径和 HTTP 方法

通过 Playwright MCP 访问管理后台并检查后端代码,发现并修复以下问题:

**订单模块 (order-tools.ts)**:
- CREATE: /api/v1/order/createOrder → /api/v1/order/create
- UPDATE: POST /api/v1/order/updateOrder → PUT /api/v1/order/update/{id}
- DELETE: POST /api/v1/order/deleteOrder → DELETE /api/v1/order/delete/{id}

**薪资模块 (salary-tools.ts)**:
- LIST: /api/v1/salary/getAllSalaries → /api/v1/salary/list
- CREATE: /api/v1/salary/createSalary → /api/v1/salary/create
- UPDATE: POST /api/v1/salary/updateSalary → PUT /api/v1/salary/update/{id}
- DELETE: POST /api/v1/salary/deleteSalary → DELETE /api/v1/salary/delete/{id}

**残疾人模块 (disability-tools.ts)**:
- GET: /api/v1/disability/{id} → /api/v1/disability/getDisabledPerson/{id}

**公司模块 (company-tools.ts)**:
- CREATE: POST /api/v1/company → POST /api/v1/company/createCompany
- UPDATE: PUT /api/v1/company/{id} → POST /api/v1/company/updateCompany
- DELETE: DELETE /api/v1/company/{id} → POST /api/v1/company/deleteCompany
- GET: /api/v1/company/{id} → /api/v1/company/getCompany/{id}

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 3 weeks ago
parent
commit
db7543caa9

+ 4 - 4
packages/admin-mcp-server/src/tools/company-tools.ts

@@ -144,7 +144,7 @@ export const companyGetTool = async (args: CompanyGetInput) => {
 
   try {
     const { id } = args;
-    const response = await apiClient.get<Company>(`/api/v1/company/${id}`);
+    const response = await apiClient.get<Company>(`/api/v1/company/getCompany/${id}`);
 
     const company = response;
 
@@ -185,7 +185,7 @@ export const companyCreateTool = async (args: CompanyCreateInput) => {
   const apiClient = getApiClient();
 
   try {
-    const response = await apiClient.post<Company>('/api/v1/company', args);
+    const response = await apiClient.post<Company>('/api/v1/company/createCompany', args);
 
     const company = response;
 
@@ -225,7 +225,7 @@ export const companyUpdateTool = async (args: CompanyUpdateInput) => {
 
   try {
     const { id, ...updateData } = args;
-    const response = await apiClient.put<Company>(`/api/v1/company/${id}`, updateData);
+    const response = await apiClient.post<Company>('/api/v1/company/updateCompany', { id, ...updateData });
 
     const company = response;
 
@@ -265,7 +265,7 @@ export const companyDeleteTool = async (args: CompanyDeleteInput) => {
 
   try {
     const { id } = args;
-    await apiClient.delete<{ success: boolean }>(`/api/v1/company/${id}`);
+    await apiClient.post<{ success: boolean }>('/api/v1/company/deleteCompany', { id });
 
     const markdown = `✅ **Company Deleted Successfully**\n\nCompany ID ${id} has been deleted.`;
 

+ 1 - 1
packages/admin-mcp-server/src/tools/disability-tools.ts

@@ -152,7 +152,7 @@ export const disabledPersonGetTool = async (args: DisabledPersonGetInput) => {
 
   try {
     const { id } = args;
-    const response = await apiClient.get<DisabledPerson>(`/api/v1/disability/${id}`);
+    const response = await apiClient.get<DisabledPerson>(`/api/v1/disability/getDisabledPerson/${id}`);
 
     const person = response;
 

+ 3 - 3
packages/admin-mcp-server/src/tools/order-tools.ts

@@ -186,7 +186,7 @@ export const orderCreateTool = async (args: OrderCreateInput) => {
   const apiClient = getApiClient();
 
   try {
-    const response = await apiClient.post<Order>('/api/v1/order/createOrder', args);
+    const response = await apiClient.post<Order>('/api/v1/order/create', args);
 
     const order = response;
 
@@ -225,7 +225,7 @@ export const orderUpdateTool = async (args: OrderUpdateInput) => {
 
   try {
     const { id, ...updateData } = args;
-    const response = await apiClient.post<Order>('/api/v1/order/updateOrder', { id, ...updateData });
+    const response = await apiClient.put<Order>(`/api/v1/order/update/${id}`, updateData);
 
     const order = response;
 
@@ -264,7 +264,7 @@ export const orderDeleteTool = async (args: OrderDeleteInput) => {
 
   try {
     const { id } = args;
-    await apiClient.post<{ success: boolean }>('/api/v1/order/deleteOrder', { id });
+    await apiClient.delete<{ success: boolean }>(`/api/v1/order/delete/${id}`);
 
     const markdown = `✅ **Order Deleted Successfully**\n\nOrder ID ${id} has been deleted.`;
 

+ 5 - 5
packages/admin-mcp-server/src/tools/salary-tools.ts

@@ -77,8 +77,8 @@ export const salaryListTool = async (args: SalaryListInput) => {
       take: take.toString()
     };
 
-    // Custom route uses getAllSalaries endpoint
-    const response = await apiClient.get<{ data: SalaryLevel[]; total: number }>('/api/v1/salary/getAllSalaries', params);
+    // Custom route uses list endpoint
+    const response = await apiClient.get<{ data: SalaryLevel[]; total: number }>('/api/v1/salary/list', params);
 
     const salaries = response.data || [];
     const total = response.total || 0;
@@ -182,7 +182,7 @@ export const salaryCreateTool = async (args: SalaryCreateInput) => {
   const apiClient = getApiClient();
 
   try {
-    const response = await apiClient.post<SalaryLevel>('/api/v1/salary/createSalary', args);
+    const response = await apiClient.post<SalaryLevel>('/api/v1/salary/create', args);
 
     const salary = response;
 
@@ -223,7 +223,7 @@ export const salaryUpdateTool = async (args: SalaryUpdateInput) => {
 
   try {
     const { id, ...updateData } = args;
-    const response = await apiClient.post<SalaryLevel>('/api/v1/salary/updateSalary', { id, ...updateData });
+    const response = await apiClient.put<SalaryLevel>(`/api/v1/salary/update/${id}`, updateData);
 
     const salary = response;
 
@@ -264,7 +264,7 @@ export const salaryDeleteTool = async (args: SalaryDeleteInput) => {
 
   try {
     const { id } = args;
-    await apiClient.post<{ success: boolean }>('/api/v1/salary/deleteSalary', { id });
+    await apiClient.delete<{ success: boolean }>(`/api/v1/salary/delete/${id}`);
 
     const markdown = `✅ **Salary Level Deleted Successfully**\n\nSalary Level ID ${id} has been deleted.`;