wks před 1 rokem
rodič
revize
09755650b7

+ 1 - 0
src/main/java/com/ydtech/constants/enums/InsuranceRisk.java

@@ -118,6 +118,7 @@ public enum InsuranceRisk {
         }
         return val;
     }
+
     /**
      *  @version
      *  @author: hxl

+ 24 - 5
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.protocol.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -19,10 +20,7 @@ import com.ydtech.modules.order.service.InsCrawlerOrderService;
 import com.ydtech.modules.protocol.constants.HistoryStatusConstants;
 import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
 import com.ydtech.modules.protocol.entity.constants.PtlApiType;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
+import com.ydtech.modules.protocol.entity.dto.*;
 import com.ydtech.modules.protocol.entity.dto.history.PtlAgreementUndwrtRulesHistory;
 import com.ydtech.modules.protocol.entity.po.*;
 import com.ydtech.modules.protocol.entity.vo.*;
@@ -82,6 +80,8 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
 
     private final PtlAgreementTrajectoryService ptlAgreementTrajectoryService;
 
+    private final PtlInsAttributionTemplateService ptlInsAttributionTemplateService;
+
     @Autowired
     private PtlAgreementDeptHistoryService ptlAgreementDeptHistoryService;
 
@@ -106,7 +106,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
                                    PtlAgreementProductCostsHistoryService ptlAgreementProductCostsHistoryService,
                                    PtlAgreementUndwrtRulesHistoryService ptlAgreementUndwrtRulesHistoryService,
                                    PtlAgreementAttributionHistoryService ptlAgreementAttributionHistoryService,
-                                   PtlAgreementTrajectoryService ptlAgreementTrajectoryService) {
+                                   PtlAgreementTrajectoryService ptlAgreementTrajectoryService, PtlInsAttributionTemplateService ptlInsAttributionTemplateService) {
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementAttributionService = ptlAgreementAttributionService;
         this.ptlAgreementDeptService = ptlAgreementDeptService;
@@ -121,6 +121,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         this.ptlAgreementUndwrtRulesHistoryService = ptlAgreementUndwrtRulesHistoryService;
         this.ptlAgreementAttributionHistoryService = ptlAgreementAttributionHistoryService;
         this.ptlAgreementTrajectoryService = ptlAgreementTrajectoryService;
+        this.ptlInsAttributionTemplateService = ptlInsAttributionTemplateService;
     }
 
 
@@ -640,7 +641,25 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
             ptlAgreementAttribution.setUsername("");
             ptlAgreementAttribution.setPassword("");
 
+        }else {
+            PtlInsAttributionTemplate ptlInsAttributionTemplate = ptlInsAttributionTemplateService.lambdaQuery()
+                    .eq(PtlInsAttributionTemplate::getInsCompanyId, ptlAgreementAttribution.getInsCompanyId())
+                    .eq(PtlInsAttributionTemplate::getApiType, ptlAgreementAttribution.getApiType())
+                    .one();
+            // 信息
+            List<PtlAttributionTemplateDto> ptlAttributionTemplateDtoList = ptlAgreementAttribution.getFields().toJavaList(PtlAttributionTemplateDto.class);
+            // 信息
+            Map<String, String> map = ptlAttributionTemplateDtoList.stream().collect(Collectors.toMap(PtlAttributionTemplateDto::getField, PtlAttributionTemplateDto::getValue));
+            // 模版中的数据
+            List<PtlAttributionTemplateDto> ptlAttributionTemplate = ptlInsAttributionTemplate.getFields().toJavaList(PtlAttributionTemplateDto.class);
+            ptlAttributionTemplate.forEach(x->{
+                String s = map.get(x.getField());
+                x.setValue(s);
+            });
+            ptlAgreementAttribution.setFields(JSON.parseArray(JSON.toJSONString(ptlAttributionTemplate)));
         }
+
+
         // 授权查询
         List<PtlAgreementDept> deptList = ptlAgreementDeptService.getByAgreementId(agreementId);
         PtlAgreementQueryVo ptlAgreementQueryVo = new PtlAgreementQueryVo(ptlAgreement, ptlAgreementAttribution, deptList);

+ 28 - 8
src/main/java/com/ydtech/modules/protocol/service/impl/PtlInsAttributionTemplateServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.protocol.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,6 +11,7 @@ import com.ydtech.modules.esm.service.EsmInsCompanyService;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.protocol.dao.PtlInsAttributionTemplateMapper;
 import com.ydtech.modules.protocol.entity.constants.PtlApiType;
+import com.ydtech.modules.protocol.entity.dto.PtlAttributionTemplateDto;
 import com.ydtech.modules.protocol.entity.dto.PtlInsAttributionTemplateQueryDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.entity.po.PtlCrawlerApi;
@@ -31,7 +33,9 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * @author wenks
@@ -51,7 +55,7 @@ public class PtlInsAttributionTemplateServiceImpl extends ServiceImpl<PtlInsAttr
     private final PtlAgreementAttributionService ptlAgreementAttributionService;
 
     public PtlInsAttributionTemplateServiceImpl(EsmInsCompanyService esmInsCompanyService, PtlCrawlerApiService ptlCrawlerApiService,
-                                                @Lazy PtlInsAttributionTemplateService proxyService,PtlAgreementAttributionService ptlAgreementAttributionService) {
+                                                @Lazy PtlInsAttributionTemplateService proxyService, PtlAgreementAttributionService ptlAgreementAttributionService) {
         this.esmInsCompanyService = esmInsCompanyService;
         this.ptlCrawlerApiService = ptlCrawlerApiService;
         this.proxyService = proxyService;
@@ -161,16 +165,32 @@ public class PtlInsAttributionTemplateServiceImpl extends ServiceImpl<PtlInsAttr
         String code = "000000";
         String substring = ptlInsAttributionTemplateVo.getInsCompanyId().substring(0, 5);
         String companyId = substring + code;
-        LambdaQueryWrapper<PtlAgreementAttribution> wrapper = byInsCompanyIdAndApiTypeAndAgreementId(ptlInsAttributionTemplateVo.getAgreementId(),companyId, ptlInsAttributionTemplateVo.getApiType());
+
+        PtlInsAttributionTemplate ptlInsAttributionTemplate = lambdaQuery().eq(PtlInsAttributionTemplate::getInsCompanyId, companyId)
+                .eq(PtlInsAttributionTemplate::getApiType, ptlInsAttributionTemplateVo.getApiType())
+                .one();
+        AssertionUtils.isEmpty(ptlInsAttributionTemplate, "保险公司归属信息模板查询失败");
+
+        // 查询协议信息
+        LambdaQueryWrapper<PtlAgreementAttribution> wrapper = byInsCompanyIdAndApiTypeAndAgreementId(ptlInsAttributionTemplateVo.getAgreementId(), companyId, ptlInsAttributionTemplateVo.getApiType());
         PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getOne(wrapper);
-        if(ObjectUtils.isEmpty(ptlAgreementAttribution)) {
 
-            PtlInsAttributionTemplate ptlInsAttributionTemplate = lambdaQuery().eq(PtlInsAttributionTemplate::getInsCompanyId, companyId)
-                    .eq(PtlInsAttributionTemplate::getApiType, ptlInsAttributionTemplateVo.getApiType())
-                    .one();
-            AssertionUtils.isEmpty(ptlInsAttributionTemplate, "保险公司归属信息模板查询失败");
-            ptlAgreementAttribution = new PtlAgreementAttribution( ptlInsAttributionTemplate);
+        if (ObjectUtils.isEmpty(ptlAgreementAttribution)) {
+            ptlAgreementAttribution = new PtlAgreementAttribution(ptlInsAttributionTemplate);
+        }else {
+            // 信息
+            List<PtlAttributionTemplateDto> ptlAttributionTemplateDtoList = ptlAgreementAttribution.getFields().toJavaList(PtlAttributionTemplateDto.class);
+            // 信息
+            Map<String, String> map = ptlAttributionTemplateDtoList.stream().collect(Collectors.toMap(PtlAttributionTemplateDto::getField, PtlAttributionTemplateDto::getValue));
+            // 模版中的数据
+            List<PtlAttributionTemplateDto> ptlAttributionTemplate = ptlInsAttributionTemplate.getFields().toJavaList(PtlAttributionTemplateDto.class);
+            ptlAttributionTemplate.forEach(x->{
+                String s = map.get(x.getField());
+                x.setValue(s);
+            });
+            ptlAgreementAttribution.setFields(JSON.parseArray(JSON.toJSONString(ptlAttributionTemplate)));
         }
+
         return HttpResult.ok(ptlAgreementAttribution);
     }