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; 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() { async function getCustomerMap() {
const [rows] = await getPool().query('SELECT account_id, login_name FROM aps_customer'); const [rows] = await getPool().query('SELECT account_id, login_name FROM aps_customer');
const map = new Map(); const map = new Map();
@@ -229,7 +271,7 @@ export async function upsertCustomers(records) {
safeString(record.reportType), safeString(record.reportType),
safeString(record.tradeMode), safeString(record.tradeMode),
safeString(record.authStatus), safeString(record.authStatus),
safeString(record.relationTime), safeDateTime(record.relationTime),
safeString(record.owner), safeString(record.owner),
safeString(record.paymentNoticeStatus), safeString(record.paymentNoticeStatus),
safeString(record.inviteType), safeString(record.inviteType),
@@ -238,7 +280,7 @@ export async function upsertCustomers(records) {
safeString(record.customerCategory), safeString(record.customerCategory),
safeString(record.remark), safeString(record.remark),
safeNumber(record.inactiveMonths), safeNumber(record.inactiveMonths),
safeString(record.releasePlanTime), safeDate(record.releasePlanTime),
safeString(record.releasePlanReason), safeString(record.releasePlanReason),
]); ]);
} }