'use strict'; const balanceUtil = require('../../../admin/finance/balance/sys/util.js'); module.exports = { /** * 查询当前用户商户的实时余额。 * @url client/userBalanceLog/kh/getMerchantBalance 前端调用的url参数地址 * @param {String} accNo 企业用户号/商户号 */ main: async (event) => { const { data = {}, userInfo = {}, util } = event; const { vk } = util; const requestedAccNo = String(data.accNo || '').trim(); const userAccNo = String(userInfo.merNo || '').trim(); // 商户号来自当前登录用户,避免通过客户端参数查询其他企业的余额。 if (requestedAccNo && userAccNo && requestedAccNo !== userAccNo) { return { code: 403, msg: '无权查询该商户余额' }; } const accNo = userAccNo || requestedAccNo; if (!accNo) { return { code: -1, msg: 'accNo不能为空' }; } const remoteResponse = await balanceUtil.requestMerchantBalance({ vk, accNo }); const merchantBalance = balanceUtil.getRemoteMerchantBalance(remoteResponse); if (merchantBalance === null) { return { code: -1, msg: (remoteResponse && (remoteResponse.msg || remoteResponse.message)) || '未获取到余额' }; } return { code: 0, msg: '', data: { accNo, balance: merchantBalance } }; } };