Explorar el Código

【平台】-账号管理配置缺少相关的操作按钮, 并且新增的时候,字段没有做唯一性限制。

lipf hace 5 meses
padre
commit
4b22dcfa47

+ 2 - 3
platform/src/main/java/com/jzg/controller/AttributionTemplateController.java

@@ -8,7 +8,6 @@ import com.jzg.commons.entity.agreement.vo.PtlInsAttributionTemplateSaveVo;
 import com.jzg.commons.entity.agreement.vo.PtlInsAttributionTemplateVo;
 import com.jzg.service.PtlInsAttributionTemplateService;
 import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -37,9 +36,9 @@ public class AttributionTemplateController {
 
     @Operation(summary = "提交模板信息",description = "提交模板信息")
     @PostMapping(value = "submit")
-    public HttpResult<Object> saveTemplate(@RequestBody List<PtlInsAttributionTemplateSaveVo> ptlInsAttributionTemplateSaveVo) {
+    public HttpResult<Boolean> saveTemplate(@RequestBody List<PtlInsAttributionTemplateSaveVo> ptlInsAttributionTemplateSaveVo) {
         ptlInsAttributionTemplateSaveVo.forEach(PtlInsAttributionTemplateSaveVo::converApi);
-        return ptlInsAttributionTemplateService.submit(ptlInsAttributionTemplateSaveVo) ? HttpResult.ok("提交模版信息成功") : HttpResult.error("提交模版信息失败");
+        return ptlInsAttributionTemplateService.submit(ptlInsAttributionTemplateSaveVo);
     }
 
     @PostMapping("/getPtlInsAttributionTemplate")

+ 3 - 3
platform/src/main/java/com/jzg/service/PtlInsAttributionTemplateService.java

@@ -36,10 +36,10 @@ public interface PtlInsAttributionTemplateService extends IService<PtlInsAttribu
     /**
      * 保存 保险公司归属信息模版
      *
-     * @param ptlInsAttributionTemplateSaveVo
-     * @return
+     * @param ptlInsAttributionTemplateSaveVo 保险公司归属信息模版, 内部包含多个对象
+     * @return boolean
      */
-    boolean submit(List<PtlInsAttributionTemplateSaveVo> ptlInsAttributionTemplateSaveVo);
+    HttpResult<Boolean> submit(List<PtlInsAttributionTemplateSaveVo> ptlInsAttributionTemplateSaveVo);
 
     HttpResult<PtlInsAttributionTemplate> getPtlInsAttributionTemplate(PtlInsAttributionTemplateVo ptlInsAttributionTemplateVo);
 

+ 30 - 3
platform/src/main/java/com/jzg/service/impl/PtlInsAttributionTemplateServiceImpl.java

@@ -1,9 +1,11 @@
 package com.jzg.service.impl;
 
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.constants.PtlApiType;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.agreement.dto.PtlAttributionTemplateDto;
 import com.jzg.commons.entity.agreement.po.PtlAgreementAttribution;
 import com.jzg.commons.entity.agreement.po.PtlCrawlerApi;
 import com.jzg.commons.entity.agreement.po.PtlInsAttributionTemplate;
@@ -21,15 +23,22 @@ import com.jzg.service.PtlAgreementService;
 import com.jzg.service.PtlCrawlerApiService;
 import com.jzg.service.PtlInsAttributionTemplateService;
 import jakarta.annotation.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Collections;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 @Service
 public class PtlInsAttributionTemplateServiceImpl extends ServiceImpl<PtlInsAttributionTemplateMapper, PtlInsAttributionTemplate> implements PtlInsAttributionTemplateService {
 
+    private static final Logger log = LoggerFactory.getLogger(PtlInsAttributionTemplateServiceImpl.class);
+
     @Autowired
     EsmInsCompanyService esmInsCompanyService;
 
@@ -64,12 +73,30 @@ public class PtlInsAttributionTemplateServiceImpl extends ServiceImpl<PtlInsAttr
         return baseMapper.selectOne(wrapper);
     }
 
+    /**
+     * 保存 保险公司归属信息模版
+     *
+     * @param ptlInsAttributionTemplateSaveVo 保险公司归属信息模版, 内部包含多个对象
+     * @return HttpResult<Boolean>
+     */
     @Override
     @Transactional
-    public boolean submit(List<PtlInsAttributionTemplateSaveVo> ptlInsAttributionTemplateSaveVo) {
+    public HttpResult<Boolean> submit(List<PtlInsAttributionTemplateSaveVo> ptlInsAttributionTemplateSaveVo) {
+        log.info("保存保险公司归属信息模板: ptlInsAttributionTemplateSaveVo=[{}]", JSONUtil.toJsonStr(ptlInsAttributionTemplateSaveVo));
         // 一个保险公司,一种api方式只能配置一种
         ptlInsAttributionTemplateSaveVo.forEach(this::validate);
-
+        List<PtlAttributionTemplateDto> fields = ptlInsAttributionTemplateSaveVo.get(0).getFields();
+        List<String> fieldList = fields.stream().map(PtlAttributionTemplateDto::getField).toList();
+        Set<String> duplicates = fieldList.stream()
+                .filter(n -> Collections.frequency(fieldList, n) > 1)
+                .collect(Collectors.toSet());
+        if(!duplicates.isEmpty()) {
+            log.info("存在字段名称重复的设置。duplicates=[{}]", JSONUtil.toJsonStr(duplicates));
+            HttpResult<Boolean> res = new HttpResult<Boolean>();
+            res.setData(Boolean.FALSE);
+            res.setMsg("存在字段名称重复的设置. 重复字段是" + JSONUtil.toJsonStr(duplicates));
+            return res;
+        }
         ptlInsAttributionTemplateSaveVo.forEach(saveVo -> {
             EsmInsCompany esmInsCompany = esmInsCompanyService.isExists(saveVo.getInsCompanyId());
             PtlInsAttributionTemplate ptlInsAttributionTemplate = new PtlInsAttributionTemplate(saveVo, esmInsCompany.getCnName());
@@ -86,7 +113,7 @@ public class PtlInsAttributionTemplateServiceImpl extends ServiceImpl<PtlInsAttr
                 AssertionUtils.isSucceed(b, "保险公司api请求插入失败");
             }
         });
-        return true;
+        return HttpResult.ok("提交模板信息成功");
     }
 
     private void validate(PtlInsAttributionTemplateSaveVo ptlInsAttributionTemplateSaveVo) {

+ 0 - 2
tenant/costsorrule/src/main/java/com/jzg/costsorrule/CostsOrRuleApplication.java

@@ -3,11 +3,9 @@ package com.jzg.costsorrule;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.context.annotation.ComponentScan;
 
 @SpringBootApplication
-//@EnableDiscoveryClient
 @ComponentScan(basePackages = {"com.jzg.commons","com.jzg.costsorrule"})
 @MapperScan({"com.jzg.costsorrule.mapper","com.jzg.commons.mapper"})
 public class CostsOrRuleApplication {

+ 7 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -3,6 +3,7 @@ package com.jzg.quotation.summary.controller;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.nacos.common.utils.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -49,7 +50,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.RequiredArgsConstructor;
-import lombok.val;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.context.request.RequestContextHolder;
@@ -67,6 +69,8 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor
 public class UnifyOrderManager {
 
+    private static final Logger log = LoggerFactory.getLogger(UnifyOrderManager.class);
+
     @Autowired
     private SysQuoteRedisService sysQuoteRedisService;
 
@@ -178,7 +182,7 @@ public class UnifyOrderManager {
      * 统一报价
      *
      * @param quoteVo
-     * @return
+     * @return HttpResult<QuoteResultsVo>
      */
     @OrderOperationLog(
             module = "车险订单",
@@ -192,6 +196,7 @@ public class UnifyOrderManager {
     @PostMapping("/quote")
     @QuoteVerification
     public HttpResult<QuoteResultsVo> quote(@RequestBody QuoteVo quoteVo) throws Exception {
+        log.info("进行车险报价:quoteVo=[{}]", JSONUtil.toJsonStr(quoteVo));
         HttpResult<EsmInsCompany> esmInsCompanyHttpResult = platformClient.findById(quoteVo.getOrder().getInsuranceCompanyCode());
         AssertionUtils.isFail(esmInsCompanyHttpResult.getCode() != 200, esmInsCompanyHttpResult.getMsg());
         String systemCode = getSystemCode();

+ 1 - 0
tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/componet/YangGuangApiRequestComponent.java

@@ -62,6 +62,7 @@ public class YangGuangApiRequestComponent {
         try {
             jsonObject = JSON.parseObject(decryptedResponse);
         }catch (Exception e){
+            log.error("解密decryptedResponse=[{}]异常。 请检查summary微服务中关于解密的配置", decryptedResponse, e);
             throw new SystemException(type + "解密失败");
         }
         S t = jsonObject.toJavaObject(tClass);