feat: 补齐客户端/管理端服务模块与数据库 schema,完善登录短信、法大大签署及公共函数
This commit is contained in:
+63
@@ -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;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user