xiexiang 1 year ago
parent
commit
b666ceec3b

+ 23 - 0
src/main/java/cn/cslg/pas/common/dto/business/TortCompareRecordDTO.java

@@ -0,0 +1,23 @@
+package cn.cslg.pas.common.dto.business;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 侵权分析对比结果保存DTO
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+public class TortCompareRecordDTO {
+    /**
+     * 所属报告
+     */
+    private Integer projectId;
+
+    /**
+     * 特征与侵权分析对比结果DTO
+     */
+    private List<TortDTO> tortDTOS;
+}

+ 42 - 0
src/main/java/cn/cslg/pas/common/dto/business/TortDTO.java

@@ -0,0 +1,42 @@
+package cn.cslg.pas.common.dto.business;
+
+import lombok.Data;
+
+/**
+ * 特征信息与侵权对比结果DTO
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+public class TortDTO {
+    /**
+     * 对应特征
+     */
+    private Integer featureId;
+    private String content;
+    private String explainText;
+    private Integer rightSort;
+    private Integer rightType;
+
+    /**
+     * 侵权分析对比结果字段
+     */
+    private Integer id;
+    /**
+     * 标的说明
+     */
+    private String targetDescription;
+
+    /**
+     * 对比说明
+     */
+    private String compareDescription;
+
+    /**
+     * 对比结果
+     * 0字面相同 1等同 2不等同 3待确定
+     */
+    private Integer compareResult;
+
+
+}

+ 44 - 0
src/main/java/cn/cslg/pas/common/vo/business/TortCompareRecordVO.java

@@ -0,0 +1,44 @@
+package cn.cslg.pas.common.vo.business;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 侵权分析对比结果VO
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+public class TortCompareRecordVO {
+    /**
+     * 所属报告
+     */
+    private Integer projectId;
+
+    private String projectName;
+
+    private Integer projectType;
+
+    /**
+     * 创建人id
+     */
+    private String createId;
+
+    /**
+     * 创建人名称
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 权要信息
+     */
+    private List<TortRightVO> tortRightVOS;
+
+}

+ 62 - 0
src/main/java/cn/cslg/pas/common/vo/business/TortRightVO.java

@@ -0,0 +1,62 @@
+package cn.cslg.pas.common.vo.business;
+
+import cn.cslg.pas.common.vo.CompareMessageVO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 侵权分析对比结果与权要层
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+public class TortRightVO {
+    /**
+     * 权要名
+     */
+    private String RightName;
+    /**
+     * 专利号
+     */
+    private String signPatentNo;
+    /**
+     * 特征拆分人ID
+     */
+    private Integer partnerId;
+    /**
+     * 专利ID
+     */
+    private String patentNo;
+
+    /**
+     * 内容
+     */
+    private String contentOut;
+
+    /**
+     * 内容
+     */
+    private String content;
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    private Integer sort;
+
+    /**
+     * 所属报告
+     */
+    private Integer projectId;
+
+    /**
+     *
+     */
+    private List<CompareMessageVO> compareMessageVOS;
+
+    /**
+     * 特征与侵权分析对比结果信息
+     */
+    private List<TortVO> tortVOS;
+}

+ 77 - 0
src/main/java/cn/cslg/pas/common/vo/business/TortVO.java

@@ -0,0 +1,77 @@
+package cn.cslg.pas.common.vo.business;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 侵权分析对比结果VO
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+public class TortVO {
+    /**
+     * 对应特征
+     */
+    private Integer featureId;
+
+    /**
+     * 特征内容
+     */
+    private String content;
+
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     *
+     */
+    private Integer rightSort;
+
+    private Integer rightType;
+
+    private String explainText;
+
+    private String formId;
+
+    private Integer sysOrder;
+
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 标的说明
+     */
+    private String targetDescription;
+
+    /**
+     * 对比说明
+     */
+    private String compareDescription;
+
+    /**
+     * 对比结果
+     * 0字面相同 1等同 2不等同 3待确定
+     */
+    private Integer compareResult;
+
+    /**
+     * 创建人id
+     */
+    private String createId;
+
+    /**
+     * 创建人名称
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private Date CreateTime;
+}

+ 44 - 0
src/main/java/cn/cslg/pas/controller/FTOReportController.java

@@ -1,16 +1,27 @@
 package cn.cslg.pas.controller;
 
 import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.business.GetAvoidDesignDTO;
 import cn.cslg.pas.common.dto.business.ProductMessageDTO;
+import cn.cslg.pas.common.dto.business.TortCompareRecordDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.vo.business.AvoidDesignWholeVO;
 import cn.cslg.pas.common.vo.business.ProductMessageVO;
+import cn.cslg.pas.common.vo.business.TortCompareRecordVO;
+import cn.cslg.pas.exception.ConditionException;
+import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.service.business.FTOCompareRecordService;
 import cn.cslg.pas.service.business.ProductMessageService;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * FTO
  * @Author xiexiang
@@ -22,6 +33,8 @@ import org.springframework.web.bind.annotation.*;
 public class FTOReportController {
     @Autowired
     private ProductMessageService productMessageService;
+    @Autowired
+    private FTOCompareRecordService ftoCompareRecordService;
 
     @Operation(summary = "编辑/保存标的产品信息")
     @PostMapping("/addProductMessage")
@@ -41,4 +54,35 @@ public class FTOReportController {
         return Response.success(records);
     }
 
+    @Operation(summary = "保存侵权对比结果")
+    @PostMapping("/addTortCompareRecord")
+    public Response addTortCompareRecord(@RequestBody TortCompareRecordDTO tortCompareRecordDTO){
+        if (tortCompareRecordDTO != null) {
+            List<Integer> ids = new ArrayList<>();
+            try {
+                ids = ftoCompareRecordService.addTortCompareRecord(tortCompareRecordDTO);
+            } catch (Exception e) {
+                if (e instanceof XiaoShiException) {
+                    return Response.error(e.getMessage());
+                } else if (e instanceof UnLoginException) {
+                    return Response.unLogin(e.getMessage());
+                } else if (e instanceof ConditionException) {
+                    return Response.conditionError(e.getMessage());
+                }
+            }
+            Records records = new Records();
+            records.setData(ids);
+            return Response.success(records);
+        } else {
+            return Response.error("入参为null");
+        }
+    }
+
+    @Operation(summary = "查询侵权分析对比结果")
+    @PostMapping("/getTortCompareRecord")
+    public Response getTortCompareRecord(@RequestBody GetAvoidDesignDTO getAvoidDesignDTO) throws Exception {
+        TortCompareRecordVO tortCompareRecordVO = ftoCompareRecordService.getTortCompareRecord(getAvoidDesignDTO);
+        return Response.success(tortCompareRecordVO);
+    }
+
 }

+ 70 - 0
src/main/java/cn/cslg/pas/domain/business/FTOCompareRecord.java

@@ -0,0 +1,70 @@
+package cn.cslg.pas.domain.business;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * FTO对比记录
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Data
+@TableName("fto_compare_record")
+public class FTOCompareRecord extends BaseEntity<FTOCompareRecord> {
+    /**
+     * 标的说明
+     */
+    @TableField(value = "target_description")
+    private String targetDescription;
+    /**
+     * 对比说明
+     */
+    @TableField(value = "compare_description")
+    private String compareDescription;
+    /**
+     * 对比文献编号
+     */
+    @TableField(value = "compare_file_number")
+    private String compareFileNumber;
+
+    /**
+     * 报告id
+     */
+    @TableField(value = "project_id")
+    private Integer projectId;
+
+    /**
+     * 0字面相同  1等同  2不相同  3待确定
+     */
+    @TableField(value = "compare_result")
+    private Integer compareResult;
+
+    /**
+     * 特征id
+     */
+    @TableField(value = "featureId")
+    private Integer featureId;
+
+    /**
+     * 任务id
+     */
+    @TableField(value = "project_task_id")
+    private Integer projectTaskId;
+
+    /**
+     * 创建人id
+     */
+    @TableField(value = "create_id")
+    private String createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private Date createTime;
+
+}

+ 14 - 0
src/main/java/cn/cslg/pas/mapper/FTOCompareRecordMapper.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.FTOCompareRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * FTO对比记录的Mapper层
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Repository
+public interface FTOCompareRecordMapper extends BaseMapper<FTOCompareRecord> {
+}

+ 236 - 0
src/main/java/cn/cslg/pas/service/business/FTOCompareRecordService.java

@@ -0,0 +1,236 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.common.dto.business.GetAvoidDesignDTO;
+import cn.cslg.pas.common.dto.business.TortCompareRecordDTO;
+import cn.cslg.pas.common.dto.business.TortDTO;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.common.vo.PatentRightVo;
+import cn.cslg.pas.common.vo.business.SplitVO;
+import cn.cslg.pas.common.vo.business.TortCompareRecordVO;
+import cn.cslg.pas.common.vo.business.TortRightVO;
+import cn.cslg.pas.common.vo.business.TortVO;
+import cn.cslg.pas.domain.business.AvoidDesign;
+import cn.cslg.pas.domain.business.FTOCompareRecord;
+import cn.cslg.pas.domain.business.Feature;
+import cn.cslg.pas.domain.business.ReportProject;
+import cn.cslg.pas.exception.UnLoginException;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.mapper.FTOCompareRecordMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * FTO对比记录的Service层
+ * @Author xiexiang
+ * @Date 2023/12/8
+ */
+@Service
+@Slf4j
+public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper, FTOCompareRecord> {
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
+
+    @Autowired
+    private FeatureService featureService;
+
+    @Autowired
+    private ReportProjectService reportProjectService;
+
+    /**
+     * 新增侵权对比结果
+     *
+     * @param tortCompareRecordDTO
+     * @return
+     */
+    public List<Integer> addTortCompareRecord(TortCompareRecordDTO tortCompareRecordDTO) {
+        //获取登录人信息
+        PersonnelVO personnelVO = new PersonnelVO();
+        try {
+            personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        } catch (Exception e) {
+            throw new UnLoginException("未登录");
+        }
+        Integer projectId = tortCompareRecordDTO.getProjectId();
+        if (projectId == null) {
+            throw new XiaoShiException("projectId不能为空");
+        }
+        //根据projctId查询出专利号
+        LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportProject::getProjectId, projectId);
+        List<ReportProject> reportProjects = reportProjectService.list(queryWrapper);
+        String patentNo = "";
+        if (!reportProjects.isEmpty()) {
+            ReportProject reportProject = reportProjects.get(0);
+            patentNo = reportProject.getSignPatentNo();
+        } else {
+            throw new XiaoShiException("未查询到报告专利号");
+        }
+        List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
+        //根据专利号和projectId,删除特征
+        LambdaQueryWrapper<Feature> deleteWrapper = new LambdaQueryWrapper<>();
+        deleteWrapper.eq(Feature::getPatentNo, patentNo)
+                .eq(Feature::getProjectId, projectId);
+        featureService.remove(deleteWrapper);
+        //根据报告id删除侵权对比结果数据
+        LambdaQueryWrapper<FTOCompareRecord> deleteWrapper2 = new LambdaQueryWrapper<>();
+        deleteWrapper2.eq(FTOCompareRecord::getProjectId, projectId);
+        this.remove(deleteWrapper2);
+        //新增侵权对比结果集合
+        List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
+        //遍历传入集合
+        if (!tortDTOS.isEmpty()) {
+            for (TortDTO tortDTO : tortDTOS) {
+                Feature feature = new Feature();
+                feature.setRightSort(tortDTO.getRightSort());
+                feature.setPatentNo(patentNo);
+                feature.setProjectId(projectId);
+                feature.setContent(tortDTO.getContent());
+                feature.setExplainText(tortDTO.getExplainText());
+                feature.setCreateId(personnelVO.getId());
+                feature.setRightType(tortDTO.getRightType());
+                feature.insert();
+                //获取特征id
+                Integer featureId = feature.getId();
+                if (tortDTO.getCompareResult() != null || tortDTO.getCompareDescription() != null || tortDTO.getTargetDescription() != null) {
+                    //插入侵权分析对比结果
+                    FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
+                    ftoCompareRecord.setProjectId(projectId);
+                    ftoCompareRecord.setFeatureId(featureId);
+                    ftoCompareRecord.setCompareResult(tortDTO.getCompareResult());
+                    ftoCompareRecord.setCompareDescription(tortDTO.getCompareDescription());
+                    ftoCompareRecord.setTargetDescription(tortDTO.getTargetDescription());
+                    ftoCompareRecord.setCreateId(personnelVO.getId());
+                    ftoCompareRecords.add(ftoCompareRecord);
+                }
+            }
+            List<Integer> ids = new ArrayList<>();
+            if (!ftoCompareRecords.isEmpty()) {
+                this.saveBatch(ftoCompareRecords);
+                ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
+            }
+            return ids;
+        } else {
+            throw new XiaoShiException("未传入特征集合");
+        }
+    }
+
+    public TortCompareRecordVO getTortCompareRecord(GetAvoidDesignDTO getAvoidDesignDTO){
+        //判断参数不能为空
+        Integer projectId = getAvoidDesignDTO.getProjectId();
+        if (projectId == null) {
+            throw new XiaoShiException("projectId为空");
+        }
+        if (getAvoidDesignDTO.getIfReSplit() == null) {
+            throw new XiaoShiException("ifReSplit不能为空");
+        }
+        if (getAvoidDesignDTO.getSplitBy() == null) {
+            throw new XiaoShiException("splitBy不能为空");
+        }
+        if (getAvoidDesignDTO.getSplitType() == null) {
+            throw new XiaoShiException("splitType不能为空");
+        }
+        //返回的VO类
+        TortCompareRecordVO tortCompareRecordVO = new TortCompareRecordVO();
+        tortCompareRecordVO.setProjectId(projectId);
+        //根据projectId查询专利号
+        LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportProject::getProjectId, projectId);
+        ReportProject reportProject = reportProjectService.getOne(queryWrapper, false);
+        String patentNo = reportProject.getSignPatentNo();
+        //新建查询拆分特征DTO
+        SplitVO splitVO = new SplitVO();
+        BeanUtils.copyProperties(getAvoidDesignDTO, splitVO);
+        splitVO.setPatentNo(patentNo);
+        List<PatentRightVo> patentRightVos = new ArrayList<>();
+        //判断是否重拆
+        if (getAvoidDesignDTO.getIfReSplit() == true) {//重拆
+            //重拆需要清空原有特征表、对比结果表
+            LambdaQueryWrapper<FTOCompareRecord> deleteWrapper = new LambdaQueryWrapper<>();
+            deleteWrapper.eq(FTOCompareRecord::getProjectId, projectId);
+            this.remove(deleteWrapper);
+            //清空特征表
+            //根据重拆条件拆分权要保存到特征表
+            try {
+                patentRightVos = featureService.splitPatentFeature(splitVO);
+            } catch (Exception e) {
+                throw new XiaoShiException("查询特征出错");
+            }
+        } else {
+            //不重拆
+            try {
+                patentRightVos = featureService.splitPatentFeature(splitVO);
+            } catch (Exception e) {
+                throw new XiaoShiException("查询特征出错");
+            }
+        }
+        if (!patentRightVos.isEmpty()) {
+            //根据projectId查询
+            //新建权要层信息
+            List<TortRightVO> tortRightVOS = new ArrayList<>();
+            //遍历装载权要层信息
+            patentRightVos.forEach(item -> {
+                TortRightVO tortRightVO = new TortRightVO();
+                BeanUtils.copyProperties(item, tortRightVO);
+                //新建特征与侵权分析对比结果VOS
+                List<TortVO> tortVOS = new ArrayList<>();
+                //特征信息
+                List<Feature> features = item.getFeatures();
+                tortVOS = this.loadTortVO(projectId, features);
+                tortRightVO.setTortVOS(tortVOS);
+                tortRightVOS.add(tortRightVO);
+            });
+            tortCompareRecordVO.setTortRightVOS(tortRightVOS);
+        } else {
+            throw new XiaoShiException("特征查询错误");
+        }
+        return tortCompareRecordVO;
+    }
+
+
+
+
+    public List<TortVO> loadTortVO(Integer projectId, List<Feature> features){
+        List<TortVO> tortVOS = new ArrayList<>();
+        LambdaQueryWrapper<FTOCompareRecord> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(FTOCompareRecord::getProjectId, projectId);
+        List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper);
+        for (Feature feature : features) {
+            //新建特征与侵权分析对比结果VO
+            TortVO tortVO = new TortVO();
+            //装载特征部分的信息
+            tortVO.setFeatureId(feature.getId());
+            tortVO.setContent(feature.getContent());
+            tortVO.setPatentNo(feature.getPatentNo());
+            tortVO.setRightSort(feature.getRightSort());
+            tortVO.setRightType(feature.getRightType());
+            tortVO.setExplainText(feature.getExplainText());
+            tortVO.setFormId(feature.getFromId());
+            tortVO.setSysOrder(feature.getSysOrder());
+            //装载侵权分析对比结果的部分(可能为空)
+            if (!ftoCompareRecords.isEmpty()) {
+                FTOCompareRecord ftoCompareRecord = ftoCompareRecords.stream().filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId())).findFirst().orElse(null);
+                if (ftoCompareRecord != null) {
+                    tortVO.setId(ftoCompareRecord.getId());
+                    tortVO.setCompareResult(ftoCompareRecord.getCompareResult());
+                    tortVO.setCompareDescription(ftoCompareRecord.getCompareDescription());
+                    tortVO.setTargetDescription(ftoCompareRecord.getTargetDescription());
+                }
+            }
+            tortVOS.add(tortVO);
+        }
+        return tortVOS;
+    }
+}

+ 5 - 3
src/main/java/cn/cslg/pas/service/business/FeatureService.java

@@ -269,6 +269,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
             flags.add(";");
             flags.add(",");
             flags.add(",");
+        }
             if (splitType.equals(0)) {  //当splitType=0仅拆解主权要
                 partRightSorts = patentRights.stream().filter(item -> item.getType().equals(1)).map(RePatentClaim::getSort).collect(Collectors.toList());
             } else if (splitType.equals(1)) {  //当splitType=1拆解全部权要
@@ -290,6 +291,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
                     feature.setRightSort(patentRights.get(i).getSort());
                     feature.setPatentNo(patentNo);
                     feature.setProjectId(projectId);
+                    feature.setSysOrder(t+1);
                     feature.setContent(contents.get(t));
                     feature.setCreateId(personnelVO.getId());
                     feature.setRightType(patentRights.get(i).getType());
@@ -301,7 +303,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
                     allFeatures.addAll(featureList);
                 }
             }
-        }
+
         return allFeatures;
     }
 
@@ -317,11 +319,11 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
            patentRightVo.setPatentNo(patentRights.get(i).getPatentNo());
            patentRightVo.setFeatures(featureList);
            patentRightVo.setContent(patentRights.get(i).getContent());
-           patentRightVo.setSort(patentRights.get(i).getSort());
+           patentRightVo.setSort(patentRights.get(i).getSort()+1);
            patentRightVo.setType(patentRights.get(i).getType());
            patentRightVo.setContentOut(patentRights.get(i).getContentOut());
            patentRightVo.setProjectId(projectId);
-           patentRightVo.setRightName("权要" + sort);
+           patentRightVo.setRightName("权要" + (sort+1));
            patentRightVo.setSignPatentNo(patentNo);
            patentRightVos.add(patentRightVo);
        }

+ 15 - 11
src/main/java/cn/cslg/pas/service/business/ProductMessageService.java

@@ -126,18 +126,22 @@ public class ProductMessageService extends ServiceImpl<ProductMessageMapper, Pro
             //需要删除的文件
             filesToRemove.removeAll(newFileGuids);
             //先删除
-            LambdaQueryWrapper<AssoProductMessageFile> deleteWrapper = new LambdaQueryWrapper<>();
-            deleteWrapper.in(AssoProductMessageFile::getFileGuid, filesToRemove);
-            assoProductMessageFileService.remove(deleteWrapper);
+            if (!filesToRemove.isEmpty()) {
+                LambdaQueryWrapper<AssoProductMessageFile> deleteWrapper = new LambdaQueryWrapper<>();
+                deleteWrapper.in(AssoProductMessageFile::getFileGuid, filesToRemove);
+                assoProductMessageFileService.remove(deleteWrapper);
+            }
             //后新增
-            List<AssoProductMessageFile> newAssoFile = new ArrayList<>();
-            filesToAdd.forEach(item -> {
-                AssoProductMessageFile assoProductMessageFile = new AssoProductMessageFile();
-                assoProductMessageFile.setFileGuid(item);
-                assoProductMessageFile.setProductMessageId(productMessageId);
-                newAssoFile.add(assoProductMessageFile);
-            });
-            assoProductMessageFileService.saveBatch(newAssoFile);
+            if (!filesToAdd.isEmpty()) {
+                List<AssoProductMessageFile> newAssoFile = new ArrayList<>();
+                filesToAdd.forEach(item -> {
+                    AssoProductMessageFile assoProductMessageFile = new AssoProductMessageFile();
+                    assoProductMessageFile.setFileGuid(item);
+                    assoProductMessageFile.setProductMessageId(productMessageId);
+                    newAssoFile.add(assoProductMessageFile);
+                });
+                assoProductMessageFileService.saveBatch(newAssoFile);
+            }
         }
     }
 

+ 4 - 4
src/main/java/cn/cslg/pas/service/common/PersonFieldService.java

@@ -41,10 +41,10 @@ public class PersonFieldService {
         String key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId);
         String json = redisUtil.get(RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key);
 
-        //如果查到
-        if (StringUtils.isNotEmpty(json)) {
-            return JsonUtils.jsonToList(json, PersonSelfFieldVO.class);
-        }
+//        //如果查到
+//        if (StringUtils.isNotEmpty(json)) {
+//            return JsonUtils.jsonToList(json, PersonSelfFieldVO.class);
+//        }
         String fieldJson = "";
         //如果没查询到,则获取所有栏位添加到redis里
         try {