Bläddra i källkod

特征历史接口框架搭建

lwhhszx 1 år sedan
förälder
incheckning
a43158dfda

+ 13 - 0
src/main/java/cn/cslg/pas/common/dto/QueryFeatureHistoryDTO.java

@@ -0,0 +1,13 @@
+package cn.cslg.pas.common.dto;
+
+import lombok.Data;
+
+/**
+ *
+ * @Author lrj
+ * @Date 2023/12/26
+ */
+@Data
+public class QueryFeatureHistoryDTO {
+    private Integer featureGroupId;
+}

+ 14 - 0
src/main/java/cn/cslg/pas/common/dto/invalidDTO/RemoveGroupFeatureDTO.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.common.dto.invalidDTO;
+
+import lombok.Data;
+
+/**
+ *
+ * @Author lrj
+ * @Date 2023/12/26
+ */
+@Data
+public class RemoveGroupFeatureDTO {
+    private Integer featureId;
+    private Boolean ifFirstEdit;
+}

+ 19 - 0
src/main/java/cn/cslg/pas/common/dto/invalidDTO/UpdateGroupFeatureDTO.java

@@ -0,0 +1,19 @@
+package cn.cslg.pas.common.dto.invalidDTO;
+
+import lombok.Data;
+
+/**
+ * 证据组合
+ * @Author xiexiang
+ * @Date 2023/12/25
+ */
+@Data
+public class UpdateGroupFeatureDTO {
+    private Integer featureId;
+    //特征内容
+    private String featureContent;
+    //特征说明
+    private String common;
+    //是否第一次修改
+    private Boolean ifFirstEdit;
+}

+ 82 - 0
src/main/java/cn/cslg/pas/controller/AssoGroupFeatureController.java

@@ -0,0 +1,82 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.QueryFeatureHistoryDTO;
+import cn.cslg.pas.common.dto.invalidDTO.RemoveGroupFeatureDTO;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.dto.invalidDTO.UpdateGroupFeatureDTO;
+import cn.cslg.pas.service.business.invalidReport.AssoGroupFeatureService;
+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.*;
+
+
+/**
+ * 特征Controller层
+ *
+ * @Author lrj
+ * @Date 2023/12/5
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/groupFeature")
+@RestController
+public class AssoGroupFeatureController {
+    @Autowired
+    private AssoGroupFeatureService assoGroupFeatureService;
+
+    @Operation(summary = "修改特征")
+    @PostMapping("/updateGroupFeature")
+    public Response updateGroupFeature(@RequestBody UpdateGroupFeatureDTO updateGroupFeatureDTO) throws Exception {
+        try {
+            Records records = new Records();
+            records.setData(assoGroupFeatureService.updateGroupFeature(updateGroupFeatureDTO));
+            return Response.success(records);
+
+        } catch (Exception e) {
+            return Response.error(e.getMessage());
+        }
+    }
+
+    @Operation(summary = "删除特征")
+    @PostMapping("/removeGroupFeature")
+    public Response removeGroupFeature(@RequestBody RemoveGroupFeatureDTO removeGroupFeatureDTO) throws Exception {
+        try {
+            Records records = new Records();
+            records.setData(assoGroupFeatureService.removeGroupFeature(removeGroupFeatureDTO));
+            return Response.success(records);
+
+        } catch (Exception e) {
+            return Response.error(e.getMessage());
+        }
+    }
+
+
+    @Operation(summary = "查询特征修改历史")
+    @PostMapping("/queryFeatureHistory")
+    public Response queryFeatureHistory(@RequestBody QueryFeatureHistoryDTO queryFeatureHistoryDTO) throws Exception {
+        try {
+            Records records = new Records();
+            records.setData(assoGroupFeatureService.queryFeatureHistory(queryFeatureHistoryDTO));
+            return Response.success(records);
+
+        } catch (Exception e) {
+            return Response.error(e.getMessage());
+        }
+    }
+
+    @Operation(summary = "更新特征")
+    @PostMapping("/updateFeature")
+    public Response updateFeature(@RequestBody UpdateGroupFeatureDTO updateGroupFeatureDTO) throws Exception {
+        try {
+            Records records = new Records();
+            records.setData(assoGroupFeatureService.updateFeature(updateGroupFeatureDTO));
+            return Response.success(records);
+
+        } catch (Exception e) {
+            return Response.error(e.getMessage());
+        }
+    }
+
+}

+ 59 - 4
src/main/java/cn/cslg/pas/service/business/invalidReport/AssoGroupFeatureService.java

@@ -1,13 +1,14 @@
 package cn.cslg.pas.service.business.invalidReport;
 
-import cn.cslg.pas.domain.business.AssoEventFile;
+import cn.cslg.pas.common.dto.QueryFeatureHistoryDTO;
+import cn.cslg.pas.common.dto.invalidDTO.QueryClaimSplitHistoryDTO;
+import cn.cslg.pas.common.dto.invalidDTO.RemoveGroupFeatureDTO;
+import cn.cslg.pas.common.dto.invalidDTO.UpdateGroupFeatureDTO;
 import cn.cslg.pas.domain.business.AssoGroupFeature;
-import cn.cslg.pas.mapper.AssoEventFileMapper;
+import cn.cslg.pas.domain.business.Feature;
 import cn.cslg.pas.mapper.InvalidReport.AssoGroupFeatureMapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -38,4 +39,58 @@ public class AssoGroupFeatureService extends ServiceImpl<AssoGroupFeatureMapper,
         }
         return featureIds;
     }
+
+
+    //
+    public Boolean updateGroupFeature(UpdateGroupFeatureDTO updateGroupFeatureVO) {
+        Integer featureId = updateGroupFeatureVO.getFeatureId();
+        Boolean ifFirstEdit = updateGroupFeatureVO.getIfFirstEdit();
+        String featureContent = updateGroupFeatureVO.getFeatureContent();
+        Integer featureGen = 1;
+        if (ifFirstEdit != null && ifFirstEdit.equals(false)) {
+            featureGen = 2;
+        }
+        //根据特征id查询证据组合和特征关联
+        LambdaQueryWrapper<AssoGroupFeature> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoGroupFeature::getFeatureId, featureId);
+        List<AssoGroupFeature> assoGroupFeatures = this.list(queryWrapper);
+        Integer newFeatureId = this.addFeature(featureContent);
+        //更新特征内容
+        if(assoGroupFeatures.size()!=0){
+            //查询是否有第一世代
+
+
+        }
+        //更新
+        return true;
+    }
+
+
+    public Boolean removeGroupFeature(RemoveGroupFeatureDTO removeGroupFeatureDTO) {
+        Integer featureId = removeGroupFeatureDTO.getFeatureId();
+        //根据特征id查询证据组合和特征关联
+        LambdaQueryWrapper<AssoGroupFeature> queryWrapper = new LambdaQueryWrapper<>();
+        return true;
+    }
+
+    public Boolean queryFeatureHistory(QueryFeatureHistoryDTO queryFeatureHistoryDTO) {
+        Integer featureGroupId = queryFeatureHistoryDTO.getFeatureGroupId();
+        //根据特征id查询证据组合和特征关联
+        LambdaQueryWrapper<AssoGroupFeature> queryWrapper = new LambdaQueryWrapper<>();
+        return true;
+    }
+
+    public Boolean updateFeature(UpdateGroupFeatureDTO updateGroupFeatureDTO) {
+        Integer featureId = updateGroupFeatureDTO.getFeatureId();
+        //根据特征id查询证据组合和特征关联
+        LambdaQueryWrapper<AssoGroupFeature> queryWrapper = new LambdaQueryWrapper<>();
+        return true;
+    }
+
+    public Integer addFeature(String featureContent) {
+        Feature feature = new Feature();
+        feature.setContent(featureContent);
+        feature.insert();
+        return feature.getId();
+    }
 }

+ 14 - 10
src/main/java/cn/cslg/pas/service/business/invalidReport/EvidenceReasonService.java

@@ -64,6 +64,17 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
             }
 
         });
+
+        //遍历插入无id特征
+        addEvidenceReasonsDTOList.forEach(item->{
+            if(item.getFeatureId()==null){
+                Feature feature = new Feature();
+                feature.setContent(item.getFeatureText());
+                feature.insert();
+              item.setFeatureId(feature.getId());
+            }
+
+        });
         //获得所有的特征id
         List<Integer> featureIds = addEvidenceReasonsDTOs.stream()
                 .filter(item -> item.getFeatureId() != null)
@@ -75,20 +86,13 @@ public class EvidenceReasonService extends ServiceImpl<EvidenceReasonMapper, Evi
             //获得特征信息
             Integer featureId = addEvidenceReasonsDTO.getFeatureId();
             Integer featureOrder = addEvidenceReasonsDTO.getFeatureOrder();
-            if (featureId == null) {
                 //判断
                 AddEvidenceReasonsDTO tem = addEvidenceReasonsDTOList.stream()
-                        .filter(item -> addEvidenceReasonsDTO.equals(item.getFeatureOrder())).findFirst().orElse(null);
+                        .filter(item -> addEvidenceReasonsDTO.getFeatureOrder().equals(item.getFeatureOrder())).findFirst().orElse(null);
                 if (tem == null) {
-                    //添加特征
-                    Feature feature = new Feature();
-                    feature.setContent(addEvidenceReasonsDTO.getFeatureText());
-                    feature.insert();
-                    featureId = feature.getId();
-                    //添加特征和证据组合关联
-                    addEvidenceReasonsDTOList.add(addEvidenceReasonsDTO);
+                   featureId = tem.getFeatureId();
                 }
-            }
+
 
             //添加无效理由
             Integer reasonId = this.addEvidenceReason(addEvidenceReasonsDTO, personnelVO.getId());