generated-scene: add scheduled monitoring runtime and helper lifecycle hardening

This commit is contained in:
木炎
2026-05-06 09:47:12 +08:00
parent 6cdd71b682
commit 8162118e6d
183 changed files with 103674 additions and 130 deletions

View File

@@ -0,0 +1,63 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Paginated Enrichment Customer Satisfaction Expansion Fixture</title>
</head>
<body>
<script>
const sourceUrl = "http://yx.gs.sgcc.com.cn";
async function getCustomerSatisfactionPage(page, pageSize) {
return $.ajax({
url: "http://yx.gs.sgcc.com.cn/workorder/customerSatisfactionPage",
type: "POST",
contentType: "application/json",
data: JSON.stringify({ page, pageSize, sourceTypes: ["95598"], cycle: "daily" })
});
}
async function getCustomerSatisfactionDetail(ticketNo) {
return $.ajax({
url: "http://yx.gs.sgcc.com.cn/workorder/customerSatisfactionDetail",
type: "POST",
contentType: "application/json",
data: JSON.stringify({ ticketNo })
});
}
async function executeTask() {
const rows = [];
let page = 1;
const pageSize = 20;
while (page < 16) {
const response = await getCustomerSatisfactionPage(page, pageSize);
const list = response.rows || [];
if (!list.length) break;
for (const item of list) {
const detail = await querySecondary(item.ticketNo);
rows.push({
ticketNo: item.ticketNo,
sourceType: detail.sourceType,
satisfactionTag: detail.satisfactionTag
});
}
page += 1;
}
const aggregated = rows.filter(
row => row.sourceType !== "internal" && row.satisfactionTag !== "ignored" && row.ticketNo
);
exportExcel(aggregated);
return aggregated;
}
async function querySecondary(ticketNo) {
return getCustomerSatisfactionDetail(ticketNo);
}
function exportExcel(rows) {
return rows.length;
}
</script>
</body>
</html>