瀏覽代碼

作者:张哲
时间:2023/03/02
类型:优化
描述:里程碑(2)bug修复

ZizgZh 2 年之前
父節點
當前提交
a6208b8e97

+ 7 - 0
src/main/java/com/redxun/knowledge/album/mapper/AlbumApproveMapper.java

@@ -22,4 +22,11 @@ public interface AlbumApproveMapper extends BaseDao<AlbumApprove> {
      * @param pkId
      */
     void deleteByVersionId(String pkId);
+
+    /**
+     * 根据专辑Id查询审核表中批次(每次生成批次+1)(删除的审批记录批次也要)
+     * @param albumId
+     * @return
+     */
+    List<AlbumApprove> selectAlbumApproveListBatch(String albumId);
 }

+ 6 - 3
src/main/java/com/redxun/knowledge/album/service/AlbumCatalogueServiceImpl.java

@@ -69,9 +69,9 @@ public class AlbumCatalogueServiceImpl extends SuperServiceImpl<AlbumCatalogueMa
             //查询版本对应信息(生效中 可移除知识)
             String  versionId = (String) queryFilter.getParams().get("versionId");
             AlbumVersion albumVersion = albumVersionMapper.selectById(versionId);
-            //判断该专辑是否有审核中的版本
-            // TODO: 2023/3/2
-            albumVersion.getAlbumId();
+            //判断该专辑是否有审核中或驳回的版本
+            List<AlbumVersion> albumVersions = albumVersionMapper.
+                    selectList(new LambdaQueryWrapper<AlbumVersion>().eq(AlbumVersion::getAlbumId,albumVersion.getAlbumId()));
             List<AlbumCatalogueVo> albumCatalogueVoList = (List<AlbumCatalogueVo>) page.getRecords().parallelStream().map(e -> {
                 AlbumCatalogueVo albumCatalogueVo = new AlbumCatalogueVo();
                 BeanUtils.copyProperties(e, albumCatalogueVo);
@@ -80,6 +80,9 @@ public class AlbumCatalogueServiceImpl extends SuperServiceImpl<AlbumCatalogueMa
                     actionFlag.add("delete");
                     albumCatalogueVo.setActionFlag(actionFlag);
                 }
+                if (albumVersions.stream().filter(h -> h.getState() == 1).count() > 0 || albumVersions.stream().filter(g -> g.getState() == 4).count() > 0){
+                    albumCatalogueVo.setActionFlag(new ArrayList<>());
+                }
                 return albumCatalogueVo;
             }).collect(Collectors.toList());
             //目录下的知识内容

+ 6 - 3
src/main/java/com/redxun/knowledge/album/service/AlbumInfoServiceImpl.java

@@ -96,6 +96,9 @@ public class AlbumInfoServiceImpl extends SuperServiceImpl<AlbumInfoMapper, Albu
     @Autowired
     private ThreadPoolExecutor threadPoolExecutor;
 
+    @Autowired
+    private AlbumApproveMapper albumApproveMapper;
+
     @Override
     public BaseDao<AlbumInfo> getRepository() {
         return albumInfoMapper;
@@ -704,9 +707,9 @@ public class AlbumInfoServiceImpl extends SuperServiceImpl<AlbumInfoMapper, Albu
      * 生成最新版审核流程数据
      */
     private void createAlbumApprove(String albumId, String versionId) {
-        //根据专辑Id查询审核表中批次(每次生成批次+1)
-        List<AlbumApprove> albumApproveListBatch = albumApproveService.findAll(new LambdaQueryWrapper<AlbumApprove>().eq(AlbumApprove::getAlbumId, albumId));
-        //删除老版本审核流程
+        //根据专辑Id查询审核表中批次(每次生成批次+1)(删除的审批记录批次也要)
+        List<AlbumApprove> albumApproveListBatch = albumApproveMapper.selectAlbumApproveListBatch(albumId);
+        //删除老版本审核流程(驳回情况)
         albumApproveService.deleteByVersionId(versionId);
         //拉取专辑审核节点表
         List<AlbumApprovalNode> albumApprovalNodeList = albumApprovalNodeService.

+ 8 - 0
src/main/resources/mapper/knowledge/album/AlbumApproveMapper.xml

@@ -118,6 +118,14 @@
         where VERSION_ID = #{versionId}
     </delete>
 
+    <select id="selectAlbumApproveListBatch" resultType="com.redxun.knowledge.album.entity.dao.AlbumApprove">
+        select
+        <include refid="COLUMNS"/>
+        from KM_ALBUM_APPROVE aa
+        where aa.ALBUM_ID = #{albumId}
+        order by aa.CREATE_TIME_ desc
+    </select>
+
 </mapper>
 
 

+ 2 - 2
src/main/resources/mapper/knowledge/album/AlbumYelpMapper.xml

@@ -77,7 +77,7 @@
         UPDATE_BY_,UPDATE_TIME_,APPROVAL_STATE
         from KM_ALBUM_YELP
         <where>
-            CREATE_BY_ = #{userId} and ALBUM_ID = #{albumId} and TYPE = 1 and IS_DEL = 0
+            CREATE_BY_ = #{userId} and ALBUM_ID = #{albumId} and TYPE = 1 and IS_DEL = 0 and STATE != 2
         </where>
         order by CREATE_TIME_ desc
     </select>
@@ -92,7 +92,7 @@
             <if test="yelpId != null and yelpId != ''">
                 and YELP_ID = #{yelpId}
             </if>
-            and TYPE = 2 and IS_DEL = 0
+            and TYPE = 2 and IS_DEL = 0 and STATE != 2
         </where>
         order by CREATE_TIME_ desc
     </select>