Browse Source

optimizer: 配置文件优化

1. 将配置文件中公共的配置提取到application.yml 中,将application-dev,test,prod 等配置文件中的移除
2. 完善登录过程中的日志
3. 完善log.error记录异常e的记录方式,不需要借助{}进行占位
4. 移除类中没有使用的import
5. 完善README.md 文件,在里面补充对不同服务功能描述以及端口描述
6. 修改查看订单详情接口NPL报错的问题。
lipf 6 months ago
parent
commit
983f327d05

+ 5 - 0
authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java

@@ -29,6 +29,8 @@ import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
 import me.chanjar.weixin.common.error.WxErrorException;
 import me.chanjar.weixin.mp.api.WxMpService;
 import org.redisson.api.RedissonClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.AuthenticationProvider;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -46,6 +48,8 @@ import java.util.stream.Collectors;
 
 public class JzgAuthenticationProvider implements AuthenticationProvider {
 
+    private static final Logger log = LoggerFactory.getLogger(JzgAuthenticationProvider.class);
+
     private UserDetailsService userDetailsService;
 
     private SysUserService sysUserService;
@@ -251,6 +255,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
                 .collect(Collectors.toList());
         //APP 是手机端,不进行权限校验
         if(!authorities.stream().anyMatch(x->x.getSystem().equals(system)) && !username.equals("admin") && !StringUtils.equals("APP",system) & !appLogin){
+            log.info("没有权限访问系统。system=[{}],username=[{}],appLogin=[{}]",system, username,appLogin);
             throw new SystemException("没有权限访问系统");
         }
         SysUserJzgVo jzgUserInfo = new SysUserJzgVo();

+ 23 - 18
commons/src/main/java/com/jzg/commons/entity/quote/vo/aggregated/QuoteEchoVo.java

@@ -369,27 +369,32 @@ public class QuoteEchoVo extends QuoteVo {
 
         //费用处理
         this.costs = new OrdersCostsVo();
-        this.costs.setCiPremium(insOrdersVo.getInsOrdersCosts().getJqPremium());
-        this.costs.setBiPremium(insOrdersVo.getInsOrdersCosts().getSyPremium());
-        this.costs.setNiPremium(insOrdersVo.getInsOrdersCosts().getJyPremium());
-        this.costs.setVvTax(insOrdersVo.getInsOrdersCosts().getTaxPremium());
-        this.costs.setSumPremium(insOrdersVo.getInsOrdersCosts().getSumPremium());
-        this.costs.setCiRatio(insOrdersVo.getInsOrdersCosts().getJqRatio());
-        this.costs.setBiRatio(insOrdersVo.getInsOrdersCosts().getSyRatio());
+        if(insOrdersVo.getInsOrdersCosts() != null){
+            this.costs.setCiPremium(insOrdersVo.getInsOrdersCosts().getJqPremium());
+            this.costs.setBiPremium(insOrdersVo.getInsOrdersCosts().getSyPremium());
+            this.costs.setNiPremium(insOrdersVo.getInsOrdersCosts().getJyPremium());
+            this.costs.setVvTax(insOrdersVo.getInsOrdersCosts().getTaxPremium());
+            this.costs.setSumPremium(insOrdersVo.getInsOrdersCosts().getSumPremium());
+            this.costs.setCiRatio(insOrdersVo.getInsOrdersCosts().getJqRatio());
+            this.costs.setBiRatio(insOrdersVo.getInsOrdersCosts().getSyRatio());
+        }
 
         //保单号信息
         this.policy = new OrdersPolicyVo();
-        this.policy.setCiApplyNumber(insOrdersVo.getInsOrdersPolicy().getJqApplyNo());
-        this.policy.setCiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getJqPolicyNo());
-        this.policy.setBiApplyNumber(insOrdersVo.getInsOrdersPolicy().getSyApplyNo());
-        this.policy.setBiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getSyPolicyNo());
-        this.policy.setNiApplyNumber(insOrdersVo.getInsOrdersPolicy().getJyApplyNo());
-        this.policy.setNiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getJyPolicyNo());
-        this.policy.setCiPolicyUrl(insOrdersVo.getInsOrdersPdfUrl().getJqUrl());
-        this.policy.setBiPolicyUrl(insOrdersVo.getInsOrdersPdfUrl().getSyUrl());
-        this.policy.setNiPolicyUrl(insOrdersVo.getInsOrdersPdfUrl().getJyUrl());
-        this.policy.setCiPolicySignUrl(insOrdersVo.getInsOrdersPdfUrl().getJqSignUrl());
-
+        if(insOrdersVo.getInsOrdersPolicy() != null){
+            this.policy.setCiApplyNumber(insOrdersVo.getInsOrdersPolicy().getJqApplyNo());
+            this.policy.setCiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getJqPolicyNo());
+            this.policy.setBiApplyNumber(insOrdersVo.getInsOrdersPolicy().getSyApplyNo());
+            this.policy.setBiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getSyPolicyNo());
+            this.policy.setNiApplyNumber(insOrdersVo.getInsOrdersPolicy().getJyApplyNo());
+            this.policy.setNiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getJyPolicyNo());
+        }
+        if(insOrdersVo.getInsOrdersPdfUrl() != null){
+            this.policy.setCiPolicyUrl(insOrdersVo.getInsOrdersPdfUrl().getJqUrl());
+            this.policy.setBiPolicyUrl(insOrdersVo.getInsOrdersPdfUrl().getSyUrl());
+            this.policy.setNiPolicyUrl(insOrdersVo.getInsOrdersPdfUrl().getJyUrl());
+            this.policy.setCiPolicySignUrl(insOrdersVo.getInsOrdersPdfUrl().getJqSignUrl());
+        }
 
         //评分信息
         this.scoreVo = new QuoteResultsVo.ScoreVo();

+ 9 - 1
platform/src/main/java/com/jzg/mapper/PtlAgreementMapper.java

@@ -9,5 +9,13 @@ import java.util.List;
 @Mapper
 public interface PtlAgreementMapper extends BaseMapper<PtlAgreement> {
 
-    public List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds);
+    /**
+     * 查询租户下可用的协议
+     *
+     * @param deptId 租户序号
+     * @param companyIds 保司序号集
+     * @author lipf
+     * @date 2026/3/31 9:55
+     */
+    List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds);
 }

+ 5 - 4
platform/src/main/java/com/jzg/service/PtlAgreementService.java

@@ -9,10 +9,11 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
 
     /**
      * 根据用户的机构与保司 获取可报价的协议
-     * @param deptId
-     * @param companyIds
-     * @return
+     *
+     * @param deptId 租户编码
+     * @param companyIds 保司id信息
+     * @return List<PtlAgreement> 不同保司的协议
      */
-    public List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds);
+    List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds);
 
 }

+ 16 - 1
platform/src/main/java/com/jzg/service/impl/PtlAgreementServiceImpl.java

@@ -1,9 +1,12 @@
 package com.jzg.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.entity.po.PtlAgreement;
 import com.jzg.mapper.PtlAgreementMapper;
 import com.jzg.service.PtlAgreementService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -15,8 +18,20 @@ import java.util.List;
 
 @Service
 public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, PtlAgreement> implements PtlAgreementService {
+
+    private static final Logger log = LoggerFactory.getLogger(PtlAgreementServiceImpl.class);
+
+    /**
+     * 根据用户的机构与保司 获取可报价的协议
+     *
+     * @param deptId 租户编码
+     * @param companyIds 保司id信息
+     * @return List<PtlAgreement> 不同保司的协议
+     */
     @Override
     public List<PtlAgreement> getUserAgreementByCompanyIds(String deptId, List<String> companyIds) {
-        return baseMapper.getUserAgreementByCompanyIds(deptId,companyIds);
+        List<PtlAgreement> userAgreementByCompanyIds = baseMapper.getUserAgreementByCompanyIds(deptId, companyIds);
+        log.info("租户[{}]匹配到[{}]个公司的[{}]个协议", deptId, CollUtil.size(companyIds), CollUtil.size(userAgreementByCompanyIds));
+        return userAgreementByCompanyIds;
     }
 }

+ 15 - 17
platform/src/main/java/com/jzg/service/impl/SysSystemServiceImpl.java

@@ -2,6 +2,7 @@ package com.jzg.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.convert.Convert;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -379,7 +380,7 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
                 .eq(SysConfig::getSystemCode, SystemConstants.SYSTEM_PLATFORM.getCode()));
         this.saveConfig(configs.get(0), sysSystem.getSysCode());
 
-        List<SysSystemPermsVo.PermsVo> permsList = JSON.parseArray(configs.get(0).getSysPerms(),SysSystemPermsVo.PermsVo.class);;
+        List<SysSystemPermsVo.PermsVo> permsList = JSON.parseArray(configs.get(0).getSysPerms(),SysSystemPermsVo.PermsVo.class);
 
         this.savePerms(permsList, role.getId());
         // 租户绑定管理员信息
@@ -474,13 +475,9 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
     @Transactional(rollbackFor = Exception.class)
     public void upAndDown(UpAndDownVo upAndDownVo) {
         if(YesNoEnum.YES.equals(upAndDownVo.getOpType())) {
-            upAndDownVo.getIds().forEach(id->{
-                reDeploy(Convert.toStr(id));
-            });
+            upAndDownVo.getIds().forEach(id-> reDeploy(Convert.toStr(id)));
         } else {
-            upAndDownVo.getIds().forEach(id->{
-                unDeploy(Convert.toStr(id));
-            });
+            upAndDownVo.getIds().forEach(id-> unDeploy(Convert.toStr(id)));
         }
     }
 
@@ -557,9 +554,7 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
         sysSystemBusPermsLinkMapper.delete(new LambdaQueryWrapper<SysSystemBusPermsLink>()
                 .eq(SysSystemBusPermsLink::getPermsId, sysSystemBusPermsVo.getId())
         );
-        sysSystemBusPermsLink.forEach(link->{
-            link.setPermsId(sysSystemBusPerms.getId());
-        });
+        sysSystemBusPermsLink.forEach(link-> link.setPermsId(sysSystemBusPerms.getId()));
         sysSystemBusPermsLinkMapper.insert(sysSystemBusPermsLink);
         return true;
     }
@@ -594,31 +589,34 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
             companyIds = busPerms.getQuoteCompanyList();
         }
         List<EsmInsCompany> companyList = new ArrayList<>();
-//        if(!companyIds.isEmpty()) {
         companyList = baseMapper.getCompanyList(companyIds);
-//        }
-        System.out.printf("------------------------------------------------------------1");
+        log.info("租户代码[{}]匹配到保险公司[{}]个。",systemCode, CollUtil.size(companyList));
+        //log.debug("匹配到的保险公司分别是[{}]", JSONUtil.toJsonStr(companyList));
         // 根据用户权限获取 可使用的协议
-        List<String> companyIdList = companyList.stream().map(x -> x.getId()).collect(Collectors.toList());
+        List<String> companyIdList = companyList.stream().map(EsmInsCompany::getId).collect(Collectors.toList());
         String userDeptId = baseController.getUserDeptId();
         if (StringUtils.isEmpty(userDeptId)){
             SysUserJzgInfo userByUserId = sysUserJzgInfoService.getUserByUserId(baseController.getUserId(), systemCode);
             userDeptId = userByUserId.getDeptId();
         }
-        log.info("------------------------------------------------------------2");
         List<PtlAgreement> userAgreement = ptlAgreementService.getUserAgreementByCompanyIds(userDeptId, companyIdList);
+        log.info("租户[{}],userDeptId= [{}] 匹配保险公司的协议[{}]个", systemCode, userDeptId, CollUtil.size(userAgreement));
 
         Map<String, List<PtlAgreement>> groupedMap = userAgreement.stream()
                 .collect(Collectors.groupingBy(PtlAgreement::getCompanyId));
-        log.info("------------------------------------------------------------3");
+        log.info("租户[{}]匹配到的协议按照保司分类,分为[{}]个", systemCode, CollUtil.size(groupedMap));
+        log.info("groupedMap.keys = [{}]", JSONUtil.toJsonPrettyStr(groupedMap.keySet()));
+        var ids = companyList.stream().map(EsmInsCompany::getId).toList();
+        log.info("ids=[{}]",JSONUtil.toJsonStr(ids));
         companyList.forEach(company->{
             if(groupedMap.containsKey(company.getId())){
                 company.setAgreements(groupedMap.get(company.getId()));
             }
         });
 
-        companyList = companyList.stream().filter(x -> Objects.nonNull(x.getAgreements()) && x.getAgreements().size() > 0).collect(Collectors.toList());
+        companyList = companyList.stream().filter(x -> Objects.nonNull(x.getAgreements()) && !x.getAgreements().isEmpty()).collect(Collectors.toList());
 
+        log.info("租户匹配到的保司个数[{}]",CollUtil.size(companyList));
         return companyList;
     }
 

+ 1 - 5
tenant/organization/src/main/java/com/jzg/organization/service/PtlSchemeService.java

@@ -2,14 +2,10 @@ package com.jzg.organization.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.jzg.commons.entity.po.EsmInsCompany;
 import com.jzg.commons.entity.po.PtlAgreementUndwrtRulesAttr;
-import com.jzg.commons.entity.po.SysArea;
 import com.jzg.commons.entity.scheme.po.PtlScheme;
 import com.jzg.commons.entity.scheme.vo.*;
-import com.jzg.commons.entity.vo.AgreementRulesVo;
 import com.jzg.commons.entity.vo.EsmInsCompanyResVo;
-import com.jzg.commons.entity.vo.SysAreaVo;
 
 import java.util.List;
 
@@ -74,7 +70,7 @@ public interface PtlSchemeService extends IService<PtlScheme> {
      * @param schemeRuleFilterVo
      * @return
      */
-    public List<PtlAgreementInsCompanyVo> ruleFilterCompany(SchemeRuleFilterVo schemeRuleFilterVo);
+    List<PtlAgreementInsCompanyVo> ruleFilterCompany(SchemeRuleFilterVo schemeRuleFilterVo);
 
     /**
      * 获取方案结果

+ 4 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java

@@ -2,6 +2,7 @@ package com.jzg.organization.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -317,6 +318,7 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
 
     @Override
     public List<PtlAgreementInsCompanyVo> ruleFilterCompany(SchemeRuleFilterVo schemeRuleFilterVo) {
+        log.info("租户匹配保司以及保司下的协议等信息。 schemeRuleFilterVo=[{}]", JSONUtil.toJsonStr(schemeRuleFilterVo));
         //如果用户租户code为App  则使用参数传来的租户code
         String systemCode = "";
         if ("APP".equals(baseController.getUserSystemCode())) {
@@ -326,9 +328,11 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
         }
         //根据权限获取所有保司
         HttpResult<List<EsmInsCompany>> companyListResult = esmInsCompanyClient.getUserCompany(systemCode);
+        log.info("租户[{}]有权限的保司有[{}]个", systemCode, CollUtil.size(companyListResult.getData()));
         AssertionUtils.isFail(companyListResult.getCode() != 200, companyListResult.getMsg());
         List<EsmInsCompany> companyList = companyListResult.getData();
         log.info("根据权限获取到的保司个数是[{}].systemCode=[{}],systemCode=[{}]", CollUtil.size(companyList),systemCode,systemCode);
+        AssertionUtils.isFail(companyList.isEmpty(), "没有可报价的保险公司");
         //根据基本规则 能源、车辆类型、使用性质获取方案
         List<PtlScheme> ptlSchemes = ptlSchemeMapper.selectList(new LambdaQueryWrapper<PtlScheme>()
                 .eq(PtlScheme::getEnergyType, schemeRuleFilterVo.getCarInfo().getEnergyTypeCode())