Просмотр исходного кода

Merge remote-tracking branch 'origin/dev2' into dev2

chendayu 2 лет назад
Родитель
Сommit
a07d390023

+ 1 - 1
PAS/src/main/java/cn/cslg/pas/common/model/dto/SWQueryDTO.java

@@ -21,7 +21,7 @@ public class SWQueryDTO {
     private Integer id;
 
     /**
-     * 创建来源
+     * 创建来源(默认0/专题库1/报告2)
      */
     private Integer createFrom;
 }

+ 22 - 9
PAS/src/main/java/cn/cslg/pas/controller/ScratchWordsController.java

@@ -6,6 +6,7 @@ import cn.cslg.pas.common.model.dto.ScratchWordsDTO;
 import cn.cslg.pas.common.model.dto.ScratchWordsUpdateDTO;
 import cn.cslg.pas.common.model.vo.ScratchWordsVO;
 import cn.cslg.pas.common.utils.*;
+import cn.cslg.pas.common.utils.auth.checkAuth;
 import cn.cslg.pas.service.*;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -23,6 +24,7 @@ import java.util.*;
 public class ScratchWordsController {
     private final ScratchWordsService scratchWordsService;
 
+    @checkAuth(FunId = "/workspace/scratchWords/add")
     @Operation(summary = "新增划词高亮")
     @PostMapping("/add")
     public String add(@RequestBody ScratchWordsDTO scratchWordsDTO) {
@@ -33,25 +35,36 @@ public class ScratchWordsController {
             return Response.success("新增划词高亮完成");
         }
     }
-
+    @checkAuth(FunId = "/workspace/scratchWords/query")
     @Operation(summary = "查询划词高亮")
     @PostMapping("/query")
     public String query(@RequestBody SWQueryDTO swQueryDTO) {
-        List<ScratchWordsVO> scratchWordsVOS = scratchWordsService.queryAll(swQueryDTO);
-        return Response.success(scratchWordsVOS);
+        if (swQueryDTO != null) {
+            return Response.success(scratchWordsService.queryAll(swQueryDTO));
+        } else {
+            return Response.error("查询失败");
+        }
     }
-
+    @checkAuth(FunId = "/workspace/scratchWords/query")
     @Operation(summary = "更新划词高亮")
     @PostMapping("/update")
     public String update(@RequestBody ScratchWordsUpdateDTO scratchWordsUpdateDTO){
-        scratchWordsService.update(scratchWordsUpdateDTO);
-        return Response.success("更新成功");
+        if (scratchWordsUpdateDTO != null) {
+            scratchWordsService.update(scratchWordsUpdateDTO);
+            return Response.success("更新成功");
+        } else {
+            return Response.error("更新失败");
+        }
     }
-
+    @checkAuth(FunId = "/workspace/scratchWords/delete")
     @Operation(summary = "删除划词高亮")
     @PostMapping("/delete")
     public String delete(@RequestBody List<Integer> ids){
-        scratchWordsService.delete(ids);
-        return Response.success("删除成功");
+        if (ids != null && ids.size() != 0) {
+            scratchWordsService.delete(ids);
+            return Response.success("删除成功");
+        } else {
+            return Response.error("删除失败");
+        }
     }
 }

+ 23 - 24
PAS/src/main/java/cn/cslg/pas/service/ScratchWordsService.java

@@ -41,13 +41,15 @@ public class ScratchWordsService extends ServiceImpl<ScratchWordsMapper, Scratch
 
     /**
      * 新增划词高亮
-     *
      * @param scratchWordsDTO
      */
     public void add(ScratchWordsDTO scratchWordsDTO){
-        ScratchWords scratchWords = new ScratchWords();
         //判断传入列表不为空
         if(scratchWordsDTO != null){
+            if(scratchWordsDTO.getCreateFrom() == null){
+                scratchWordsDTO.setCreateFrom(0);
+            }
+            ScratchWords scratchWords = new ScratchWords();
             BeanUtils.copyProperties(scratchWordsDTO, scratchWords);
             //获取当前登陆人信息
             PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
@@ -67,37 +69,48 @@ public class ScratchWordsService extends ServiceImpl<ScratchWordsMapper, Scratch
      * @param scratchWordsUpdateDTO
      */
     public void update(ScratchWordsUpdateDTO scratchWordsUpdateDTO){
-        ScratchWords scratchWords = new ScratchWords();
         //判断传入列表不为空
         if(scratchWordsUpdateDTO != null){
+            ScratchWords scratchWords = this.getById(scratchWordsUpdateDTO.getId());
             BeanUtils.copyProperties(scratchWordsUpdateDTO, scratchWords);
-            scratchWords.updateById();
+            scratchWordsUpdateDTO.updateById();
         } else {
             throw new XiaoShiException("传入对象不能为空");
         }
     }
 
-
+    /**
+     * 查询划词高亮
+     * @param swQueryDTO
+     * @return
+     */
     public List<ScratchWordsVO> queryAll(SWQueryDTO swQueryDTO){
-        if(swQueryDTO.getPatentNo() != null && swQueryDTO.getId() != null && swQueryDTO.getCreateFrom() != null) {
+        if(swQueryDTO.getPatentNo() != null) {
             //获取当前登陆人信息
             PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
             Integer tenantId = personnelVO.getTenantId();
             Integer createId = personnelVO.getId();
-//            Integer tenantId = 10;
-//            Integer createId = 10;
+            //创建来源(默认0/专题库1/报告2)
             if(swQueryDTO.getCreateFrom().equals(1)){
                 Integer projectId = swQueryDTO.getId();
                 Integer reportId = -1;
                 List<ScratchWordsVO> scratchWords = scratchWordsMapper.querySW(swQueryDTO.getPatentNo(), tenantId, createId, projectId, reportId);
                 return scratchWords;
             }
-            if(swQueryDTO.getCreateFrom().equals(2)){
+            //创建来源(默认0/专题库1/报告2)
+           else if(swQueryDTO.getCreateFrom().equals(2)){
                 Integer reportId = swQueryDTO.getId();
                 Integer projectId = -1;
                 List<ScratchWordsVO> scratchWords = scratchWordsMapper.querySW(swQueryDTO.getPatentNo(), tenantId, createId, projectId, reportId);
                 return scratchWords;
-            } else {
+            }
+            //创建来源(默认0/专题库1/报告2)
+           else if(swQueryDTO.getCreateFrom().equals(0)){
+                Integer reportId = -1;
+                Integer projectId = -1;
+                List<ScratchWordsVO> scratchWords = scratchWordsMapper.querySW(swQueryDTO.getPatentNo(), tenantId, createId, projectId, reportId);
+                return scratchWords;
+            }else {
                 throw new XiaoShiException("暂无该情况");
             }
         } else {
@@ -117,18 +130,4 @@ public class ScratchWordsService extends ServiceImpl<ScratchWordsMapper, Scratch
             scratchWords.deleteById();
         }
     }
-//
-//    public List<ScratchWordsVO> querySW(String patentNo, Integer id, Integer type){
-//        //多重情况考虑
-//        //根据tenantId(公司)、patentNo(专利号),
-//        //   permissionType为1,全公司人都可见的批注;
-//        //        查询rangeType为F的(全部地方可见);
-//        //        查询rangeType为T的(只在来源处可见),但是要判断传入type=createFrom创建来源,传入id=rangeId;
-//        //   permissionType为0,只有自己可见的批注,需要满足登陆人信息=createId;
-//        //        查询rangeType为F的(全部地方可见);
-//        //        查询rangeType为T的(只在来源处可见),但是要判断传入type=createFrom创建来源,传入id=rangeId;
-//        List<ScratchWordsVO> swVOS = new ArrayList<>();
-//        List<ScratchWordsVO> swvos = new ArrayList<>();
-//        swVOS.add(swvos);
-//    }
 }

+ 12 - 5
PAS/src/main/resources/mapper/ScratchWordsMapper.xml

@@ -8,12 +8,19 @@
             patent_no = #{patentNo}
             and(
             <if test="projectId != null and reportId != null and createId != null and tenantId != null">
-                      (range_type = "false" and permission_type = 1 and tenant_id = #{tenantId})
+--                 所有地方可见/公开
+                    (range_type = "false" and permission_type = 1 and tenant_id = #{tenantId})
+--                 所有地方可见/私有
                     or(range_type = "false" and permission_type = 0 and create_id = #{createId})
-                    or(range_type = "true" and create_from = 2 and range_id = #{reportId} and permission_type = 1 and tenant_id = #{tenantId})
-                    or(range_type = "true" and create_from = 2 and range_id = #{reportId} and permission_type = 0 and create_id = #{createId})
-                    or(range_type = "true" and create_from = 1 and range_id = #{projectId} and permission_type = 1 and tenant_id = #{tenantId})
-                    or(range_type = "true" and create_from = 1 and range_id = #{projectId} and permission_type = 0 and create_id = #{createId})
+--                 只在来源出可见/公开
+                    or(range_type = "true" and create_from = 2   and range_id = #{reportId}  and permission_type = 1 and tenant_id = #{tenantId})
+                    or(range_type = "true" and create_from = 1   and range_id = #{projectId} and permission_type = 1 and tenant_id = #{tenantId})
+                    or(create_from = 0  and permission_type = 1  and tenant_id = #{tenantId})
+--                 只在来源出可见/私有
+                    or(range_type = "true" and create_from = 2   and range_id = #{reportId}  and permission_type = 0 and create_id = #{createId})
+                    or(range_type = "true" and create_from = 1   and range_id = #{projectId} and permission_type = 0 and create_id = #{createId})
+                    or(create_from = 0  and permission_type = 0  and create_id = #{createId})
+
             </if>
                 )
         </where>