Prechádzať zdrojové kódy

作者:张哲
时间:2022/12/1
类型:开发
描述:删除时修改sort排序

ZizgZh 2 rokov pred
rodič
commit
c29de27519

+ 9 - 6
src/main/java/com/redxun/knowledge/controller/KnowledgeCategoryController.java

@@ -4,13 +4,11 @@ package com.redxun.knowledge.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.redxun.common.annotation.ClassDefine;
 import com.redxun.common.base.db.BaseService;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.redxun.common.base.entity.JsonPageResult;
 import com.redxun.common.base.entity.JsonResult;
 import com.redxun.common.base.entity.QueryData;
 import com.redxun.common.base.search.QueryFilter;
 import com.redxun.common.base.search.QueryFilterBuilder;
-import com.redxun.common.tool.StringUtils;
 import com.redxun.common.utils.ExceptionUtil;
 import com.redxun.knowledge.entity.dao.KnowledgeCategory;
 import com.redxun.knowledge.entity.vo.KnowledgeCategoryAdminVo;
@@ -23,9 +21,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.List;
-
 @Slf4j
 @RestController
 @RequestMapping("/api-knowledge/knowledge/knowledgeCategory")
@@ -65,6 +60,15 @@ public class KnowledgeCategoryController extends BaseController<KnowledgeCategor
         return jsonResult;
     }
 
+    @ApiOperation("根据id查询(数据回显)")
+    @GetMapping("findByCategoryId")
+    public JsonResult findByCategoryId(@RequestParam("pkId") String pkId){
+        JsonResult jsonResult = JsonResult.getSuccessResult("获取数据成功");
+        KnowledgeCategoryAdminVo knowledgeCategoryAdminVo = knowledgeCategoryService.findByCategoryId(pkId);
+        jsonResult.setData(knowledgeCategoryAdminVo);
+        return jsonResult;
+    }
+
 
 
     @ApiOperation("根据id查询其下级分类信息(懒加载)")
@@ -85,6 +89,5 @@ public class KnowledgeCategoryController extends BaseController<KnowledgeCategor
         return jsonResult;
     }
 
-
 }
 

+ 2 - 0
src/main/java/com/redxun/knowledge/mapper/BannerMapper.java

@@ -30,4 +30,6 @@ public interface BannerMapper extends BaseDao<Banner> {
      * @param sort
      */
     void insertOrUpdateBySort(Integer sort);
+
+    void deleteBySort(Integer sort);
 }

+ 7 - 1
src/main/java/com/redxun/knowledge/mapper/NewsMapper.java

@@ -26,11 +26,17 @@ public interface NewsMapper extends BaseDao<News> {
     IPage findAllPcNews(IPage page,@Param("params") Map<String,Object> params);
 
     /**
-     * 新增/修改时候变更sort
+     * 新增/修改时候变更sort(后面sort依次加1)
      * @param sort
      */
     void insertOrUpdateBySort(Integer sort);
 
+    /**
+     * 删除时变更sort(后面sort依次减1)
+     * @param sort
+     */
+    void deleteBySort(Integer sort);
+
     void deleteNews(Serializable id);
 
     void swapSort(@Param("newsId") String newsId, @Param("sort") Integer sort);

+ 3 - 0
src/main/java/com/redxun/knowledge/service/BannerServiceImpl.java

@@ -186,6 +186,9 @@ public class BannerServiceImpl extends SuperServiceImpl<BannerMapper, Banner> im
      * @param pkId
      */
     public void deleteBanner(String pkId) {
+        // 修改sort
+        Banner banner = this.bannerMapper.selectById(pkId);
+        bannerMapper.deleteBySort(banner.getSort());
         bannerMapper.deleteBanner(pkId);
     }
 

+ 23 - 1
src/main/java/com/redxun/knowledge/service/KnowledgeCategoryServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.redxun.common.base.db.BaseDao;
 import com.redxun.common.base.db.BaseService;
 import com.redxun.common.base.db.PageHelper;
+import com.redxun.common.base.entity.BaseEntity;
 import com.redxun.common.base.search.QueryFilter;
 import com.redxun.common.service.impl.SuperServiceImpl;
 import com.redxun.common.tool.BeanUtil;
@@ -13,9 +14,11 @@ import com.redxun.common.tool.IdGenerator;
 import com.redxun.knowledge.entity.dao.KnowledgeCategory;
 import com.redxun.knowledge.entity.vo.KnowledgeCategoryAdminVo;
 import com.redxun.knowledge.mapper.KnowledgeCategoryMapper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -41,7 +44,6 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
         KnowledgeCategory knowledgeCategory = knowledgeCategoryMapper.selectById(categoryId);
         Boolean hasChild = findHasChirld(knowledgeCategory);
         knowledgeCategory.setHasChild(hasChild);
-
         if (hasChild){
             List<KnowledgeCategory> allChildren = findAllChildren(knowledgeCategory);
             knowledgeCategory.setChildren(allChildren);
@@ -132,6 +134,26 @@ public class KnowledgeCategoryServiceImpl extends SuperServiceImpl<KnowledgeCate
         return this.getRepository().updateById(entity);
     }
 
+    @Override
+    public KnowledgeCategory get(Serializable id) {
+        KnowledgeCategory knowledgeCategory = this.getRepository().selectById(id);
+        return knowledgeCategory;
+    }
+
+    /**
+     * 根据id进行数据回显
+     * @param pkId
+     * @return
+     */
+    public KnowledgeCategoryAdminVo findByCategoryId(String pkId) {
+        KnowledgeCategoryAdminVo knowledgeCategoryAdminVo = knowledgeCategoryMapper.selectByCategoryId(pkId);
+        KnowledgeCategoryAdminVo allParent = findAllParent(knowledgeCategoryAdminVo.getParent());
+        knowledgeCategoryAdminVo.setParents(allParent);
+        return knowledgeCategoryAdminVo;
+    }
+
+
+
     // 查询孩子节点(非递归)
     private List<KnowledgeCategory> findAllChildren(KnowledgeCategory knowledgeCategory) {
         QueryWrapper<KnowledgeCategory> queryWrapper = new QueryWrapper<>();

+ 0 - 3
src/main/java/com/redxun/knowledge/service/KnowledgeServiceImpl.java

@@ -56,9 +56,6 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
      * 查询全部维基知识
      */
     public List<Knowledge> findAllWiki(String categoryId) {
-        //List<Knowledge> knowledges = knowledgeMapper.selectList(null);
-        //List<Knowledge> knowledgeWikiList = knowledges.stream().
-        //        filter(knowledge -> knowledge.getType() == 2).collect(Collectors.toList());
         QueryWrapper<Knowledge> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("CATEGORY_ID", categoryId);
         queryWrapper.eq("TYPE", 2);

+ 3 - 0
src/main/java/com/redxun/knowledge/service/NewsServiceImpl.java

@@ -114,6 +114,9 @@ public class NewsServiceImpl extends SuperServiceImpl<NewsMapper, News> implemen
 
     @Override
     public void delete(Serializable id) {
+        // 修改sort
+        News news = this.baseMapper.selectById(id);
+        newsMapper.deleteBySort(news.getSort());
         newsMapper.deleteNews(id);
     }
 

+ 6 - 0
src/main/resources/mapper/knowledge/BannerMapper.xml

@@ -100,6 +100,12 @@
         where SORT >= #{sort} AND IS_DEL = 0
     </update>
 
+    <update id="deleteBySort">
+        update KM_BANNER
+        set SORT = SORT - 1
+        where SORT > #{sort}
+    </update>
+
 
 </mapper>
 

+ 6 - 0
src/main/resources/mapper/knowledge/NewsMapper.xml

@@ -98,6 +98,12 @@
         where SORT >= #{sort} AND IS_DEL = 0
     </update>
 
+    <update id="deleteBySort">
+        update KM_NEWS
+        set SORT = SORT - 1
+        where SORT > #{sort}
+    </update>
+
     <update id="swapSort">
         update KM_NEWS
         set