sql修改提交

This commit is contained in:
ray
2026-04-28 17:12:33 +08:00
parent 5ead561b94
commit c7908bf39e

View File

@@ -87,6 +87,48 @@ function safeNumber(value) {
return Number.isFinite(normalized) ? normalized : null;
}
function safeDate(value) {
const normalized = safeString(value);
if (!normalized) {
return null;
}
if (normalized === '- -' || normalized === '--' || normalized === '-') {
return null;
}
if (/^\d{4}-\d{2}-\d{2}$/.test(normalized)) {
return normalized;
}
const parsed = new Date(normalized.replace(/\./g, '-').replace(' ', 'T'));
if (Number.isNaN(parsed.getTime())) {
return null;
}
const year = parsed.getFullYear();
const month = String(parsed.getMonth() + 1).padStart(2, '0');
const day = String(parsed.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
}
function safeDateTime(value) {
const normalized = safeString(value);
if (!normalized) {
return null;
}
if (normalized === '- -' || normalized === '--' || normalized === '-') {
return null;
}
const parsed = new Date(normalized.replace(/\./g, '-').replace(' ', 'T'));
if (Number.isNaN(parsed.getTime())) {
return null;
}
const year = parsed.getFullYear();
const month = String(parsed.getMonth() + 1).padStart(2, '0');
const day = String(parsed.getDate()).padStart(2, '0');
const hours = String(parsed.getHours()).padStart(2, '0');
const minutes = String(parsed.getMinutes()).padStart(2, '0');
const seconds = String(parsed.getSeconds()).padStart(2, '0');
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
async function getCustomerMap() {
const [rows] = await getPool().query('SELECT account_id, login_name FROM aps_customer');
const map = new Map();
@@ -229,7 +271,7 @@ export async function upsertCustomers(records) {
safeString(record.reportType),
safeString(record.tradeMode),
safeString(record.authStatus),
safeString(record.relationTime),
safeDateTime(record.relationTime),
safeString(record.owner),
safeString(record.paymentNoticeStatus),
safeString(record.inviteType),
@@ -238,7 +280,7 @@ export async function upsertCustomers(records) {
safeString(record.customerCategory),
safeString(record.remark),
safeNumber(record.inactiveMonths),
safeString(record.releasePlanTime),
safeDate(record.releasePlanTime),
safeString(record.releasePlanReason),
]);
}