Files
jjx-web/uniCloud-tcb/cloudfunctions/router/service/client/userBalanceLog/kh/getMerchantBalance.js
T
2026-10-08 18:18:21 +08:00

56 lines
1.6 KiB
JavaScript

'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
}
};
}
};