feat: 补齐客户端/管理端服务模块与数据库 schema,完善登录短信、法大大签署及公共函数

This commit is contained in:
2026-10-14 21:55:08 +08:00
parent 3481fda7a0
commit 55bcf96889
545 changed files with 28151 additions and 415 deletions
@@ -0,0 +1,63 @@
'use strict';
const dayjs = require('dayjs');
const balanceUtil = require('../../../admin/finance/balance/sys/util.js');
module.exports = {
/**
* 定时同步企业余额
* @url client/timedTask/pub/syncMerchantBalance 前端调用的url参数地址
*/
main: async (event) => {
let { data = {}, util } = event;
let { vk } = util;
let res = { code: 0, msg: '', data: [] };
if (data.key !== 'lsgjoksdjf') return { code: 1, msg: '非法请求' };
const updateTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
for (const merchant of balanceUtil.MERCHANT_OPTIONS) {
try {
const requestRes = await balanceUtil.requestMerchantBalance({
vk,
accNo: merchant.accNo
});
const merchantBalance = balanceUtil.getRemoteMerchantBalance(requestRes);
if (merchantBalance === null) {
throw new Error('未获取到余额字段');
}
const syncRes = await balanceUtil.syncMerchantBalance({
vk,
accNo: merchant.accNo,
merchantBalance,
updateTime
});
res.data.push({
accNo: merchant.accNo,
merchantName: merchant.label,
balance: syncRes.merchantBalance,
updateTime,
success: true
});
} catch (err) {
console.error(`syncMerchantBalance error: ${merchant.accNo}`, err);
res.data.push({
accNo: merchant.accNo,
merchantName: merchant.label,
success: false,
msg: err.message || '同步失败'
});
}
}
const failList = res.data.filter(item => !item.success);
if (failList.length) {
res.code = -1;
res.msg = `部分企业余额同步失败:${failList.map(item => item.accNo).join(',')}`;
}
return res;
}
};