Przeglądaj źródła

Merge branch 'dev_jzg_lipf_v20260518'

lipf 3 miesięcy temu
rodzic
commit
d1c9c89254

+ 30 - 30
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeAuditServiceImpl.java

@@ -428,14 +428,14 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         SysUserAccount userAccount = null;
         String jzgInfoId = null;
         if(param.getAuditStatus().equals(1)){
-            List<SysUserAccountChangeLog> incomeLogs = new ArrayList<>();
             StateResult stateFailResult = auditStateListener.statusChange(AuditState.AuditStateEnum.SUCCESS_AUDIT,audit.getAuditStatus()+"");
             audit.setAuditStatus(stateFailResult.getCurrentState());
 
             // 更新用户账户
             feeOrders = feeOrdersService.getById(param.getOrderNo());
             HttpResult<SysUser> sysUserResult = orgClient.getUserOnlyIdByMobile(orders.getRealQuoteUserId());
-            HttpResult<SysUserAccount> result = orgClient.accountGet(sysUserResult.getData().getId());
+            SysUser ywySysUser = sysUserResult.getData();
+            HttpResult<SysUserAccount> result = orgClient.accountGet(ywySysUser.getId());
             AssertionUtils.isFail(result.getCode() != 200,"获取用户账户失败!");
             userAccount = result.getData();
 
@@ -454,16 +454,24 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 userAccount.setUserId(sysUserResult.getData().getId());
                 userAccount.setSystemCode(systemCode);
             }
-            BigDecimal sumAmount = userAccount.getSumAmount();
-            BigDecimal amount = feeOrders.getTotalReceivablePremium();
+            BigDecimal sumAmountUnpaid = userAccount.getSumAmountUnpaid();
+            BigDecimal amount = feeOrders.getTotalPayablePremium();
+            userAccount.setSumAmount(BigDecimalUtil.add(amount,userAccount.getSumAmount()));
+            userAccount.setSumAmountUnpaid(BigDecimalUtil.add(amount, sumAmountUnpaid));
+            orgClient.saveOrUpdate(userAccount);
 
-            SysUserAccountChangeLog changeLog = new SysUserAccountChangeLog(systemCode, userId,jzgInfoId);
-            changeLog.setAmount(amount);
-            changeLog.setAmountBefore(sumAmount);
+            // 出口费用
+            SysUserAccountChangeLog exportChangeLog = new SysUserAccountChangeLog();
+            exportChangeLog.setRelatedOrderId(param.getOrderNo());
+            exportChangeLog.setUserId(userAccount.getUserId());
+            exportChangeLog.setUserName(ywySysUser.getUsername());
+            exportChangeLog.setAmount(feeOrders.getTotalPayablePremium());
+            exportChangeLog.setOperType(1);
+            exportChangeLog.setIsDelete(0);
+            exportChangeLog.setRemark("订单提成");
+            exportChangeLog.setAmountBefore(sumAmountUnpaid);
+            orgClient.addUserAccountChangeLog(exportChangeLog);
 
-            userAccount.setSumAmount(BigDecimalUtil.add(feeOrders.getTotalReceivablePremium(),userAccount.getSumAmount()));
-            userAccount.setSumAmountUnpaid(BigDecimalUtil.add(feeOrders.getTotalReceivablePremium(), userAccount.getSumAmount()));
-            orgClient.saveOrUpdate(userAccount);
             // 进入应收表
             List<String> orderNos = new ArrayList<>();
             orderNos.add(audit.getOrderNo());
@@ -495,9 +503,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
     /**
      * 分销逻辑处理 (抽取原来的方法)
-     *      根据分销逻辑更新业务员账户的金额信息
+     * 根据分销逻辑更新业务员账户的金额信息
      *
-     * @param feeOrders 订单费用
+     * @param feeOrders   订单费用
      * @param userAccount 业务员账户信息
      * @author lipf
      * @date 2026/6/6 10:49
@@ -652,12 +660,13 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
     /**
      * 生成收入明细日志
-     * @param orderNo       订单号
-     * @param feeOrders     费用
-     * @param userAccount   分账用户
-     * @param distributor1  1级分销人员
-     * @param distributor2  2级分销人员
-     * @param distributor3  3级分销人员
+     *
+     * @param orderNo      订单号
+     * @param feeOrders    费用
+     * @param userAccount  分账用户
+     * @param distributor1 1级分销人员
+     * @param distributor2 2级分销人员
+     * @param distributor3 3级分销人员
      * @return
      */
     private List<SysUserAccountChangeLog> builderIncomeLog(String orderNo,
@@ -669,23 +678,14 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         log.info("生成收入明细日志:feeOrders=[{}],userAccount=[{}],distributor1=[{}],distributor2=[{}],distributor3=[{}]",
                 JSONUtil.toJsonStr(feeOrders), JSONUtil.toJsonStr(userAccount), JSONUtil.toJsonStr(distributor1), JSONUtil.toJsonStr(distributor2), JSONUtil.toJsonStr(distributor3));
         List<SysUserAccountChangeLog> incomeLogs = new ArrayList<>();
-        // 出口费用
-        SysUserAccountChangeLog exportIncomeLog = new SysUserAccountChangeLog();
-        exportIncomeLog.setRelatedOrderId(orderNo);
-        exportIncomeLog.setUserId(userAccount.getUserId());
-        exportIncomeLog.setAmount(feeOrders.getJqExportPremium().add(feeOrders.getSyExportPremium()).add(feeOrders.getJyExportPremium()));
-        //exportIncomeLog.setProperty(1);
-        exportIncomeLog.setAmountBefore(userAccount.getSumAmount());
-        incomeLogs.add(exportIncomeLog);
-
         // 1级分销费
         if (feeOrders.getFirstDistributorId() != null && feeOrders.getFirstDistributionFee().compareTo(BigDecimal.ZERO) > 0) {
             SysUserAccountChangeLog distributor1IncomeLog = new SysUserAccountChangeLog();
             distributor1IncomeLog.setRelatedOrderId(orderNo);
             distributor1IncomeLog.setUserId(distributor1.getUserId());
             distributor1IncomeLog.setAmount(feeOrders.getFirstDistributionFee());
-            //distributor1IncomeLog.setProperty(2);
             distributor1IncomeLog.setAmountBefore(userAccount.getSumAmount());
+            //distributor1IncomeLog.setUserName(); TODO
             incomeLogs.add(distributor1IncomeLog);
         }
 
@@ -695,8 +695,8 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
             distributor2IncomeLog.setRelatedOrderId(orderNo);
             distributor2IncomeLog.setUserId(distributor2.getUserId());
             distributor2IncomeLog.setAmount(feeOrders.getFirstDistributionFee());
-            //distributor2IncomeLog.setProperty(2);
             distributor2IncomeLog.setAmountBefore(userAccount.getSumAmount());
+            //distributor2IncomeLog.setUserName(); TODO
             incomeLogs.add(distributor2IncomeLog);
         }
 
@@ -706,8 +706,8 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
             distributor3IncomeLog.setRelatedOrderId(orderNo);
             distributor3IncomeLog.setUserId(distributor3.getUserId());
             distributor3IncomeLog.setAmount(feeOrders.getFirstDistributionFee());
-            //distributor3IncomeLog.setProperty(2);
             distributor3IncomeLog.setAmountBefore(userAccount.getSumAmount());
+            //distributor3IncomeLog.setUserName(); TODO
             incomeLogs.add(distributor3IncomeLog);
         }
         return incomeLogs;

+ 18 - 9
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserJzgAppServiceImpl.java

@@ -1,6 +1,7 @@
 package com.jzg.organization.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -36,6 +37,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -297,15 +299,22 @@ public class SysUserJzgAppServiceImpl extends ServiceImpl<SysUserJzgAppMapper, S
                 sysUserId = user.getId();
             }
             // add by lipf 2026年6月9日15:16:39 向 sys_user_jzg_info_salesman 表中插入一条记录 
-            SysUserJzgInfoSalesman salesman = new SysUserJzgInfoSalesman();
-            salesman.setSysUserJzgInfoId(userId);
-            salesman.setTypeAttr("6");
-            salesman.setIsDelete(0);
-            salesman.setCreateBy("sys");
-            salesman.setCreateTime(LocalDateTime.now());
-            salesman.setUpdateBy("sys");
-            salesman.setUpdateTime(LocalDateTime.now());
-            sysUserJzgInfoSalesmanService.save(salesman);
+            // add by lipf 2026年6月9日15:16:39 向 sys_user_jzg_info_salesman 表中插入一条记录
+            Map<String, String> stringStringMap = sysUserJzgInfoSalesmanService.queryAllTypeAttrMap();
+            String typeAttrs = stringStringMap.getOrDefault(yqrInfo.getId(), "");
+            if(StrUtil.isNotEmpty(typeAttrs)){
+                for (String s : typeAttrs.split(",")) {
+                    SysUserJzgInfoSalesman salesman = new SysUserJzgInfoSalesman();
+                    salesman.setSysUserJzgInfoId(userId);
+                    salesman.setTypeAttr(s);
+                    salesman.setIsDelete(0);
+                    salesman.setCreateBy("sys");
+                    salesman.setCreateTime(LocalDateTime.now());
+                    salesman.setUpdateBy("sys");
+                    salesman.setUpdateTime(LocalDateTime.now());
+                    sysUserJzgInfoSalesmanService.save(salesman);
+                }
+            }
             this.teamInvitation(yqrInfo, param, userId, sysUserId);
             return invitationVo;
         } catch (Exception e) {