From d20dccf485e496a1cc6eb602b14810199d3b3de3 Mon Sep 17 00:00:00 2001 From: luojiaquan <1583622118@qq.com> Date: Wed, 30 Sep 2026 17:40:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E4=BD=99=E9=A2=9D=E9=A2=9D?= =?UTF-8?q?=E5=BA=A6=E5=88=9D=E5=A7=8B=E5=8C=96=E5=A7=8B=E7=BB=88=E4=B8=BA?= =?UTF-8?q?0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/BmsCustomerMapper.java | 11 +---- .../api/impl/CustomerAccountApiImpl.java | 48 ++++++++----------- .../mapper/customer/BmsCustomerMapper.xml | 9 ---- .../customerinfo/customeredit/index.vue | 26 +++++----- 4 files changed, 35 insertions(+), 59 deletions(-) diff --git a/bms-back/bms-system/src/main/java/com/bms/customer/customerinfo/mapper/BmsCustomerMapper.java b/bms-back/bms-system/src/main/java/com/bms/customer/customerinfo/mapper/BmsCustomerMapper.java index 1aaf712c..2edfef01 100644 --- a/bms-back/bms-system/src/main/java/com/bms/customer/customerinfo/mapper/BmsCustomerMapper.java +++ b/bms-back/bms-system/src/main/java/com/bms/customer/customerinfo/mapper/BmsCustomerMapper.java @@ -26,18 +26,9 @@ public interface BmsCustomerMapper /** 轻量查询客户当前状态;不存在或已逻辑删除时返回 null。 */ public BmsCustomer selectCustomerStatusByCustomerId(Long customerId); - /** - * 只取客户档案物理额度列(credit_ed 在通用查询里是账户可用额度的子查询别名, - * 账户首次初始化时必须读取档案原始值) - * - * @param customerId 客户ID - * @return 仅含 creditEd/tempEd 的客户对象 - */ - public BmsCustomer selectRawCreditByCustomerId(Long customerId); - /** * 查询客户主列表 - * + * * @param bmsCustomer 客户主 * @return 客户主集合 */ diff --git a/bms-back/bms-system/src/main/java/com/bms/customer/customermoney/api/impl/CustomerAccountApiImpl.java b/bms-back/bms-system/src/main/java/com/bms/customer/customermoney/api/impl/CustomerAccountApiImpl.java index cce84f24..0fd436b4 100644 --- a/bms-back/bms-system/src/main/java/com/bms/customer/customermoney/api/impl/CustomerAccountApiImpl.java +++ b/bms-back/bms-system/src/main/java/com/bms/customer/customermoney/api/impl/CustomerAccountApiImpl.java @@ -49,7 +49,7 @@ public class CustomerAccountApiImpl implements ICustomerAccountApi /** 本位币币种 */ private static final String BASE_CURRENCY = BmsExchangeRate.BASE_CURRENCY; - /** 新客户默认总额度(CNY):默认0,信用额度一律通过「申请-审批」分配 */ + /** 账户初始化额度(CNY):信用额度/临时额度一律初始化为0,不取客户档案录入值;额度仅在「客户余额-额度管理」调整时变化 */ private static final BigDecimal DEFAULT_CREDIT = BigDecimal.ZERO; /** 金额保留位数 */ private static final int MONEY_SCALE = 2; @@ -111,27 +111,20 @@ public class CustomerAccountApiImpl implements ICustomerAccountApi { return 1; } - BmsCustomer customer = bmsCustomerMapper.selectRawCreditByCustomerId(customerId); + BmsCustomer customer = bmsCustomerMapper.selectBmsCustomerByCustomerId(customerId); if (customer == null) { throw new ServiceException("客户不存在"); } - BigDecimal initCredit = nz(customer.getCreditEd()); - if (initCredit.compareTo(BigDecimal.ZERO) < 0) - { - initCredit = BigDecimal.ZERO; - } - BigDecimal initTemp = nz(customer.getTempEd()); - account = createCnyAccount(customerId, initCredit, initTemp, username); - // 档案额度与实际初始额度保持一致 - bmsCustomerMapper.updateCustomerCredit(customerId, initCredit, initTemp, username); + // 初始化口径(2026-09-30):信用额度/临时额度一律初始化为0,不从客户档案取值; + // 额度仅在「客户余额-额度管理」调整时变化 + account = createCnyAccount(customerId, DEFAULT_CREDIT, DEFAULT_CREDIT, username); + // 档案物理额度列同步为0,与账户初始额度保持一致 + bmsCustomerMapper.updateCustomerCredit(customerId, DEFAULT_CREDIT, DEFAULT_CREDIT, username); writeInitFlow(account, CustomerCreditFlow.CREDIT_TYPE_CREDIT, - initCredit, null, null, username, "新客户初始化账户,默认信用额度0(需通过额度申请审批分配)"); - if (initTemp.compareTo(BigDecimal.ZERO) > 0) - { - writeInitFlow(account, CustomerCreditFlow.CREDIT_TYPE_TEMP, - initTemp, null, null, username, "新客户初始化临时额度"); - } + DEFAULT_CREDIT, null, null, username, "新客户初始化账户,信用额度默认0,需在客户余额-额度管理中调整"); + writeInitFlow(account, CustomerCreditFlow.CREDIT_TYPE_TEMP, + DEFAULT_CREDIT, null, null, username, "新客户初始化账户,临时额度默认0,需在客户余额-额度管理中调整"); return 1; } @@ -506,7 +499,7 @@ public class CustomerAccountApiImpl implements ICustomerAccountApi return account; } - /** 行锁获取客户CNY账户,不存在则按客户档案当前额度初始化创建 */ + /** 行锁获取客户CNY账户,不存在则初始化创建(信用/临时额度一律初始化为0,不取客户档案值) */ private CustomerAccount getOrInitCnyAccount(Long customerId, String username) { CustomerAccount account = customerMoneyMapper.selectAccountForUpdate(customerId, BASE_CURRENCY); @@ -514,23 +507,20 @@ public class CustomerAccountApiImpl implements ICustomerAccountApi { return account; } - BmsCustomer customer = bmsCustomerMapper.selectRawCreditByCustomerId(customerId); + BmsCustomer customer = bmsCustomerMapper.selectBmsCustomerByCustomerId(customerId); if (customer == null) { throw new ServiceException("客户不存在"); } - BigDecimal initCredit = nz(customer.getCreditEd()); - BigDecimal initTemp = nz(customer.getTempEd()); try { - account = createCnyAccount(customerId, initCredit, initTemp, username); + account = createCnyAccount(customerId, DEFAULT_CREDIT, DEFAULT_CREDIT, username); + // 档案物理额度列同步为0,与账户初始额度保持一致 + bmsCustomerMapper.updateCustomerCredit(customerId, DEFAULT_CREDIT, DEFAULT_CREDIT, username); writeInitFlow(account, CustomerCreditFlow.CREDIT_TYPE_CREDIT, - initCredit, null, null, username, "首次创建CNY账户,从客户档案同步初始额度"); - if (initTemp.compareTo(BigDecimal.ZERO) > 0) - { - writeInitFlow(account, CustomerCreditFlow.CREDIT_TYPE_TEMP, - initTemp, null, null, username, "首次创建CNY账户,从客户档案同步临时额度"); - } + DEFAULT_CREDIT, null, null, username, "首次创建CNY账户,信用额度默认0,需在客户余额-额度管理中调整"); + writeInitFlow(account, CustomerCreditFlow.CREDIT_TYPE_TEMP, + DEFAULT_CREDIT, null, null, username, "首次创建CNY账户,临时额度默认0,需在客户余额-额度管理中调整"); return account; } catch (RuntimeException e) @@ -598,7 +588,7 @@ public class CustomerAccountApiImpl implements ICustomerAccountApi return account; } - /** 账户首次初始化时写额度 INIT 流水(从客户档案额度同步) */ + /** 账户首次初始化时写额度 INIT 流水(初始化额度固定为0) */ private void writeInitFlow(CustomerAccount account, String creditType, BigDecimal initAmount, Date effectiveDate, Date expireDate, String username, String remark) diff --git a/bms-back/bms-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml b/bms-back/bms-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml index 893a3541..29f5d704 100644 --- a/bms-back/bms-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml +++ b/bms-back/bms-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml @@ -236,15 +236,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where customer_id = #{customerId} - - - select customer_id as customerId, - credit_ed as creditEd, - temp_ed as tempEd - from ctr_customer - where customer_id = #{customerId} - - update ctr_customer_attachment set del_flag = '2' where attachment_id in diff --git a/bms-front/src/views/customersuppliermanagement/customerinfo/customeredit/index.vue b/bms-front/src/views/customersuppliermanagement/customerinfo/customeredit/index.vue index 82e97121..a52c7583 100644 --- a/bms-front/src/views/customersuppliermanagement/customerinfo/customeredit/index.vue +++ b/bms-front/src/views/customersuppliermanagement/customerinfo/customeredit/index.vue @@ -130,21 +130,19 @@ - - - - 请在客户余额-额度管理中调整 - + + + CNY + 新建客户初始化为0,需在「客户余额-额度管理」中调整 - - - - 请在客户余额-额度管理中调整 - + + + CNY + 新建客户初始化为0,需在「客户余额-额度管理」中调整 @@ -779,7 +777,7 @@ function buildEmptyForm() { serviceUserId: null, serviceUser: null, settlementType: null, - tempEd: null, + tempEd: 0, accountBalance: null, foreignCurrencyBalance: null, weightThreshold: null, @@ -1321,6 +1319,12 @@ onMounted(() => { color: #909399; font-size: 12px; } +.form-tip-text { + color: #e6a23c; + font-size: 12px; + line-height: 1.4; + margin-top: 2px; +} .bound-table { margin-top: 4px; }