jiakai пре 3 месеци
родитељ
комит
f1013d00d2

+ 25 - 4
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeOrdersServiceImpl.java

@@ -92,6 +92,18 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
         return insFeeOrders;
     }
 
+    /**
+     * 获取并计算保险费用订单的完整信息
+     * 主要流程:
+     * 1. 查询订单、费用、协议等基础数据
+     * 2. 校验并调整手续费比例(手续费比例不能大于入口比例,超出时强制调整为入口比例)
+     * 3. 保存各项比例信息(手续费、入口、跟单、加投、出口、留点)
+     * 4. 按险种(交强险、商业险、驾乘险)重新计算所有费用
+     * 5. 汇总总应收和总应付金额
+     *
+     * @param ptlAgreementCostRatioVo 协议成本比例VO对象,包含订单号和各险种的比例配置
+     * @return 计算后的保险费用订单对象
+     */
     private InsFeeOrders getInsFeeOrders(PtlAgreementCostRatioVo ptlAgreementCostRatioVo) {
         // 常量定义 保留小数5位
         final int SCALE = 5;
@@ -440,6 +452,15 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
         return insFeeOrdersMapper.getInsFeeOrderByOrderNo(orderNo);
     }
 
+    /**
+     * 更新订单的可用金额,同时调整剩余金额
+     * 更新前会校验:订单存在性、出口留点比例必须为0、新可用金额不能大于当前金额
+     * 剩余金额调整规则:剩余金额 = 原剩余金额 + (原可用金额 - 新可用金额)
+     *
+     * @param orderNo 订单号
+     * @param availableAmount 新的可用金额,必须大于等于0且小于等于当前可用金额
+     * @return 更新结果,成功返回"更新成功"
+     */
     @Override
     public HttpResult updateAvailableAmount(String orderNo, BigDecimal availableAmount) {
         // 1. 参数校验
@@ -479,11 +500,11 @@ public class InsFeeOrdersServiceImpl extends ServiceImpl<InsFeeOrdersMapper, Ins
     }
 
     /**
-     * 查询指定订单的应收总额
+     * 查询指定订单列表的应收保费总额
+     * 支持批量查询,内部按3000个订单分批处理以避免SQL参数过多
      *
-     * @param orderNos 订单编号
-     * @author lipf
-     * @date 2026/6/4 10:17
+     * @param orderNos 订单号列表
+     * @return 所有订单的应收保费总和,无数据时返回0
      */
     @Override
     public BigDecimal queryAllTotalReceivablePremiumByOrderNo(List<String> orderNos) {