@yjzf/mcp-server-yjzf 0.1.9 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/count_all_statement.d.ts +8 -2
- package/dist/tools/count_all_statement.d.ts.map +1 -1
- package/dist/tools/count_all_statement.js +33 -4
- package/dist/tools/count_all_statement.js.map +1 -1
- package/dist/tools/new_house_contract_export.d.ts +14 -0
- package/dist/tools/new_house_contract_export.d.ts.map +1 -0
- package/dist/tools/new_house_contract_export.js +126 -0
- package/dist/tools/new_house_contract_export.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import * as countAllStatementTool from "./tools/count_all_statement.js";
|
|
|
7
7
|
import * as getCurrentTimeTool from "./tools/get_current_time.js";
|
|
8
8
|
import * as dateToTimestampTool from "./tools/date_to_timestamp.js";
|
|
9
9
|
import * as investmentContractExportTool from "./tools/investment_contract.js";
|
|
10
|
+
import * as newHouseContractExportTool from "./tools/new_house_contract_export.js";
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
// MCP Server
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
@@ -20,6 +21,7 @@ server.registerTool(countAllStatementTool.name, countAllStatementTool.schema, co
|
|
|
20
21
|
server.registerTool(getCurrentTimeTool.name, getCurrentTimeTool.schema, getCurrentTimeTool.handler);
|
|
21
22
|
server.registerTool(dateToTimestampTool.name, dateToTimestampTool.schema, dateToTimestampTool.handler);
|
|
22
23
|
server.registerTool(investmentContractExportTool.name, investmentContractExportTool.schema, investmentContractExportTool.handler);
|
|
24
|
+
server.registerTool(newHouseContractExportTool.name, newHouseContractExportTool.schema, newHouseContractExportTool.handler);
|
|
23
25
|
// ---------------------------------------------------------------------------
|
|
24
26
|
// Start
|
|
25
27
|
// ---------------------------------------------------------------------------
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,kBAAkB,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,mBAAmB,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,4BAA4B,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,kBAAkB,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,mBAAmB,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,4BAA4B,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,0BAA0B,MAAM,sCAAsC,CAAC;AAEnF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,YAAY,CACjB,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,OAAO,CACvB,CAAC;AAEF,MAAM,CAAC,YAAY,CACjB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,MAAM,EACtB,eAAe,CAAC,OAAO,CACxB,CAAC;AAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,CAAC,IAAI,EAC1B,qBAAqB,CAAC,MAAM,EAC5B,qBAAqB,CAAC,OAAO,CAC9B,CAAC;AAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,CAAC,IAAI,EACvB,kBAAkB,CAAC,MAAM,EACzB,kBAAkB,CAAC,OAAO,CAC3B,CAAC;AAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,CAAC,IAAI,EACxB,mBAAmB,CAAC,MAAM,EAC1B,mBAAmB,CAAC,OAAO,CAC5B,CAAC;AAEF,MAAM,CAAC,YAAY,CACjB,4BAA4B,CAAC,IAAI,EACjC,4BAA4B,CAAC,MAAM,EACnC,4BAA4B,CAAC,OAAO,CACrC,CAAC;AAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,CAAC,IAAI,EAC/B,0BAA0B,CAAC,MAAM,EACjC,0BAA0B,CAAC,OAAO,CACnC,CAAC;AAEF,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -2,9 +2,15 @@ import * as z from "zod/v4";
|
|
|
2
2
|
export declare const name = "count_all_statement";
|
|
3
3
|
export declare const schema: {
|
|
4
4
|
description: string;
|
|
5
|
-
inputSchema: z.ZodObject<{
|
|
5
|
+
inputSchema: z.ZodObject<{
|
|
6
|
+
startTime: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
endTime: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strip>;
|
|
6
9
|
};
|
|
7
|
-
export declare function handler(
|
|
10
|
+
export declare function handler(args: {
|
|
11
|
+
startTime?: number;
|
|
12
|
+
endTime?: number;
|
|
13
|
+
}): Promise<{
|
|
8
14
|
content: {
|
|
9
15
|
type: "text";
|
|
10
16
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count_all_statement.d.ts","sourceRoot":"","sources":["../../src/tools/count_all_statement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AA6I5B,eAAO,MAAM,IAAI,wBAAwB,CAAC;AAE1C,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"count_all_statement.d.ts","sourceRoot":"","sources":["../../src/tools/count_all_statement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AA6I5B,eAAO,MAAM,IAAI,wBAAwB,CAAC;AAE1C,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAcF,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAmJ3E"}
|
|
@@ -61,11 +61,40 @@ function buildSheetData(list, fixedColumns) {
|
|
|
61
61
|
}
|
|
62
62
|
export const name = "count_all_statement";
|
|
63
63
|
export const schema = {
|
|
64
|
-
description: "获取总部数据指标报表 生成 Excel
|
|
65
|
-
inputSchema: z.object({
|
|
64
|
+
description: "获取总部数据指标报表 生成 Excel 文件。不传时间时默认查询当月第一天到昨天,最大时间间隔 12 个月。",
|
|
65
|
+
inputSchema: z.object({
|
|
66
|
+
startTime: z.number().optional().describe("开始时间,毫秒时间戳,可选,不传则默认当月第一天"),
|
|
67
|
+
endTime: z.number().optional().describe("结束时间,毫秒时间戳,可选,不传则默认昨天,结束时间不得超过昨天"),
|
|
68
|
+
}),
|
|
66
69
|
};
|
|
67
|
-
|
|
70
|
+
const MAX_INTERVAL_MS = 366 * 24 * 3600 * 1000; // 12 个月(约 366 天)
|
|
71
|
+
function getDefaultTimeRange() {
|
|
72
|
+
const now = new Date();
|
|
73
|
+
const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
|
|
74
|
+
const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, 23, 59, 59, 999);
|
|
75
|
+
return {
|
|
76
|
+
startTime: monthStart.getTime(),
|
|
77
|
+
endTime: yesterday.getTime(),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export async function handler(args) {
|
|
68
81
|
const apiKey = getApiKey();
|
|
82
|
+
const defaults = getDefaultTimeRange();
|
|
83
|
+
const startTime = args.startTime ?? defaults.startTime;
|
|
84
|
+
const endTime = args.endTime ?? defaults.endTime;
|
|
85
|
+
// 校验时间间隔不超过 12 个月
|
|
86
|
+
if (endTime - startTime > MAX_INTERVAL_MS) {
|
|
87
|
+
return {
|
|
88
|
+
content: [
|
|
89
|
+
{
|
|
90
|
+
type: "text",
|
|
91
|
+
text: `时间间隔超过 12 个月限制,请缩小查询范围`,
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
isError: true,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
debug("date range", { startTime, endTime });
|
|
69
98
|
// Build request headers
|
|
70
99
|
const headers = {
|
|
71
100
|
Accept: "application/json",
|
|
@@ -107,7 +136,7 @@ export async function handler() {
|
|
|
107
136
|
const cities2 = await cities2Response.json();
|
|
108
137
|
debug("count_all_step2.json (cities2)", cities2);
|
|
109
138
|
// Step 2: POST to count_all_statement
|
|
110
|
-
const payload = { cities1, cities2 };
|
|
139
|
+
const payload = { cities1, cities2, startTime, endTime };
|
|
111
140
|
const statementResponse = await fetch("https://mcp.yjzf.com/count_all_statement", {
|
|
112
141
|
method: "POST",
|
|
113
142
|
headers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count_all_statement.js","sourceRoot":"","sources":["../../src/tools/count_all_statement.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"count_all_statement.js","sourceRoot":"","sources":["../../src/tools/count_all_statement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as z from "zod/v4";
|
|
2
|
+
export declare const name = "new_house_contract_export";
|
|
3
|
+
export declare const schema: {
|
|
4
|
+
description: string;
|
|
5
|
+
inputSchema: z.ZodObject<{
|
|
6
|
+
startTime: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
endTime: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
};
|
|
10
|
+
export declare function handler(args: {
|
|
11
|
+
startTime?: number;
|
|
12
|
+
endTime?: number;
|
|
13
|
+
}): Promise<import("../utils/http.js").ToolResult>;
|
|
14
|
+
//# sourceMappingURL=new_house_contract_export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new_house_contract_export.d.ts","sourceRoot":"","sources":["../../src/tools/new_house_contract_export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAuE5B,eAAO,MAAM,IAAI,8BAA8B,CAAC;AAEhD,eAAO,MAAM,MAAM;;;;;;CAalB,CAAC;AAEF,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,kDA4EA"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import * as z from "zod/v4";
|
|
4
|
+
import { buildGatewayHeaders, createErrorResult, createSuccessResult } from "../utils/http.js";
|
|
5
|
+
import { getDataDir } from "../utils/env.js";
|
|
6
|
+
import { debug } from "../utils/debug.js";
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// 常量
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
const BRAND_ID = "593347894961426496";
|
|
11
|
+
const CITY_CODE = "450100";
|
|
12
|
+
const ORGAN_ID = "625864877560328320";
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// 工具函数
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
/**
|
|
17
|
+
* 生成文件名:认购合同_20260423_1000.xlsx
|
|
18
|
+
*/
|
|
19
|
+
function buildFileName(label) {
|
|
20
|
+
const now = new Date();
|
|
21
|
+
const Y = now.getFullYear();
|
|
22
|
+
const M = String(now.getMonth() + 1).padStart(2, "0");
|
|
23
|
+
const D = String(now.getDate()).padStart(2, "0");
|
|
24
|
+
const h = String(now.getHours()).padStart(2, "0");
|
|
25
|
+
const m = String(now.getMinutes()).padStart(2, "0");
|
|
26
|
+
return `${label}_${Y}${M}${D}_${h}${m}.xlsx`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 获取默认时间范围:当月第一天 00:00:00 ~ 今天 23:59:59.999(本地时间)。
|
|
30
|
+
*/
|
|
31
|
+
function getDefaultTimeRange() {
|
|
32
|
+
const now = new Date();
|
|
33
|
+
const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
|
|
34
|
+
const todayEnd = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 999);
|
|
35
|
+
return {
|
|
36
|
+
startTime: monthStart.getTime(),
|
|
37
|
+
endTime: todayEnd.getTime(),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 将 base64 编码的 Excel 数据保存为文件,返回文件绝对路径。
|
|
42
|
+
*/
|
|
43
|
+
function saveBase64ToFile(base64Data, fileName) {
|
|
44
|
+
const dataDir = getDataDir();
|
|
45
|
+
fs.mkdirSync(dataDir, { recursive: true });
|
|
46
|
+
const filePath = path.join(dataDir, fileName);
|
|
47
|
+
const buffer = Buffer.from(base64Data, "base64");
|
|
48
|
+
fs.writeFileSync(filePath, buffer);
|
|
49
|
+
return filePath;
|
|
50
|
+
}
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// 工具导出
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
export const name = "new_house_contract_export";
|
|
55
|
+
export const schema = {
|
|
56
|
+
description: "从 ERP 系统导出新房合同数据(认购合同、签约合同、解约合同),生成三个独立的 Excel 文件。不传时间时默认查询当月第一天到今天。",
|
|
57
|
+
inputSchema: z.object({
|
|
58
|
+
startTime: z
|
|
59
|
+
.number()
|
|
60
|
+
.optional()
|
|
61
|
+
.describe("开始时间,毫秒时间戳,可选,不传则默认当月第一天"),
|
|
62
|
+
endTime: z
|
|
63
|
+
.number()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe("结束时间,毫秒时间戳,可选,不传则默认今天"),
|
|
66
|
+
}),
|
|
67
|
+
};
|
|
68
|
+
export async function handler(args) {
|
|
69
|
+
const headers = buildGatewayHeaders();
|
|
70
|
+
const defaults = getDefaultTimeRange();
|
|
71
|
+
const startTime = args.startTime ?? defaults.startTime;
|
|
72
|
+
const endTime = args.endTime ?? defaults.endTime;
|
|
73
|
+
debug("date range", { startTime, endTime });
|
|
74
|
+
// 校验时间范围
|
|
75
|
+
if (startTime > endTime) {
|
|
76
|
+
return createErrorResult("开始时间不能晚于结束时间");
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
// 分别导出认购合同、签约合同和解约合同
|
|
80
|
+
const contractTypes = [
|
|
81
|
+
{ type: "subscription", label: "认购合同" },
|
|
82
|
+
{ type: "signed", label: "签约合同" },
|
|
83
|
+
{ type: "cancelled", label: "解约合同" },
|
|
84
|
+
];
|
|
85
|
+
const results = [];
|
|
86
|
+
for (const ct of contractTypes) {
|
|
87
|
+
console.error(`[new_house_contract_export] 正在导出${ct.label}...`);
|
|
88
|
+
const response = await fetch("https://mcp.yjzf.com/new_house_contract_export", {
|
|
89
|
+
method: "POST",
|
|
90
|
+
headers,
|
|
91
|
+
body: JSON.stringify({
|
|
92
|
+
city_code: CITY_CODE,
|
|
93
|
+
organ_id: ORGAN_ID,
|
|
94
|
+
brand_id: BRAND_ID,
|
|
95
|
+
startTime,
|
|
96
|
+
endTime,
|
|
97
|
+
contractType: ct.type,
|
|
98
|
+
}),
|
|
99
|
+
});
|
|
100
|
+
if (!response.ok) {
|
|
101
|
+
return createErrorResult(`请求 ${ct.label} 导出失败: ${response.status} ${response.statusText}`);
|
|
102
|
+
}
|
|
103
|
+
const apiResponse = await response.json();
|
|
104
|
+
debug(`${ct.label} response`, {
|
|
105
|
+
succeed: apiResponse.succeed,
|
|
106
|
+
msg: apiResponse.msg,
|
|
107
|
+
});
|
|
108
|
+
if (!apiResponse.succeed) {
|
|
109
|
+
return createErrorResult(`${ct.label} 网关返回错误: ${apiResponse.msg}`);
|
|
110
|
+
}
|
|
111
|
+
if (!apiResponse.data?.base64) {
|
|
112
|
+
return createErrorResult(`${ct.label} 返回数据中缺少 base64 字段`);
|
|
113
|
+
}
|
|
114
|
+
// 直接保存原始 Excel 文件
|
|
115
|
+
const fileName = buildFileName(ct.label);
|
|
116
|
+
const filePath = saveBase64ToFile(apiResponse.data.base64, fileName);
|
|
117
|
+
results.push(`${ct.label}\n文件路径: ${filePath}`);
|
|
118
|
+
}
|
|
119
|
+
return createSuccessResult(`成功导出新房合同数据!\n\n${results.join("\n\n")}`);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
123
|
+
return createErrorResult(`执行过程中发生错误: ${errorMessage}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=new_house_contract_export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new_house_contract_export.js","sourceRoot":"","sources":["../../src/tools/new_house_contract_export.ts"],"names":[],"mappings":"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"}
|