Browse Source

作者:张哲
时间:2022/12/2
类型:开发
描述:删除知识和编辑知识接口开发

ZizgZh 2 years ago
parent
commit
706d58f904

+ 10 - 0
src/main/java/com/redxun/knowledge/controller/KnowledgeController.java

@@ -92,5 +92,15 @@ public class KnowledgeController extends BaseController<Knowledge> {
         }
         return jsonResult;
     }
+
+    @ApiOperation(value = "删除知识")
+    @GetMapping("deleteKnowledge")
+    public JsonResult deleteKnowledge(@RequestParam("knowledgeId") String knowledgeId){
+        Boolean result = knowledgeService.deleteKnowledge(knowledgeId);
+        if (!result){
+            return JsonResult.Fail("该知识下还有关联banner,删除失败");
+        }
+        return JsonResult.Success("删除成功!");
+    }
 }
 

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

@@ -17,4 +17,6 @@ public interface KnowledgeMapper extends BaseDao<Knowledge> {
     void create(@Param("param") Knowledge knowledge);
 
     IPage findAllKnowledge(IPage page, @Param("params") Map<String, Object> params,@Param("w") Map<String, Object> order);
+
+    void deleteKnowledge(String knowledgeId);
 }

+ 31 - 4
src/main/java/com/redxun/knowledge/service/KnowledgeServiceImpl.java

@@ -13,14 +13,13 @@ import com.redxun.common.model.JPaasUser;
 import com.redxun.common.tool.IdGenerator;
 import com.redxun.common.service.impl.SuperServiceImpl;
 import com.redxun.knowledge.common.UserService;
-import com.redxun.knowledge.entity.dao.Knowledge;
-import com.redxun.knowledge.entity.dao.KnowledgeApprovalNode;
-import com.redxun.knowledge.entity.dao.KnowledgeApprove;
-import com.redxun.knowledge.entity.dao.KnowledgeLabel;
+import com.redxun.knowledge.entity.dao.*;
 import com.redxun.knowledge.entity.dto.knowledgeDto;
+import com.redxun.knowledge.entity.vo.BannerPcVo;
 import com.redxun.knowledge.entity.vo.KnowledgeApprovalVo;
 import com.redxun.knowledge.entity.vo.KnowledgeCategoryAdminVo;
 import com.redxun.knowledge.entity.vo.KnowledgeVo;
+import com.redxun.knowledge.mapper.BannerMapper;
 import com.redxun.knowledge.mapper.KnowledgeApprovalNodeMapper;
 import com.redxun.knowledge.mapper.KnowledgeApproveMapper;
 import com.redxun.knowledge.mapper.KnowledgeMapper;
@@ -56,6 +55,9 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
     @Autowired
     private KnowledgeCategoryServiceImpl knowledgeCategoryService;
 
+    @Autowired
+    private BannerMapper bannerMapper;
+
     @Override
     public BaseDao<Knowledge> getRepository() {
         return knowledgeMapper;
@@ -72,6 +74,11 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         return knowledgeWikiList;
     }
 
+    /**
+     * 新增知识
+     * @param knowledgeDto
+     * @return
+     */
     public String create(knowledgeDto knowledgeDto) {
         if (knowledgeDto != null) {
             Knowledge knowledge = new Knowledge();
@@ -121,6 +128,11 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         return "";
     }
 
+    /**
+     * 数据回显
+     * @param pkId
+     * @return
+     */
     public KnowledgeVo info(String pkId) {
         Knowledge knowledge = get(pkId);
 
@@ -189,4 +201,19 @@ public class KnowledgeServiceImpl extends SuperServiceImpl<KnowledgeMapper, Know
         });
         return page;
     }
+
+    /**
+     * 删除知识(若关联banner,则无法删除)
+     * @param knowledgeId
+     * @return
+     */
+    public Boolean deleteKnowledge(String knowledgeId) {
+        // 查看是否关联着banner
+        Integer count = bannerMapper.selectCount(new QueryWrapper<Banner>().eq("KNOWLEDGE_ID", knowledgeId));
+        if (count > 0){
+            return false;
+        }
+        knowledgeMapper.deleteKnowledge(knowledgeId);
+        return true;
+    }
 }

+ 7 - 0
src/main/resources/mapper/knowledge/KnowledgeMapper.xml

@@ -79,6 +79,13 @@
     ORDER BY CREATE_TIME_ DESC
     </select>
 
+    <delete id="deleteKnowledge">
+        update KM_KNOWLEDGE
+        SET
+            IS_DEL = 1,UPDATE_TIME_ = sysdate
+        where PK_ID = #{pkId}
+    </delete>
+
 
 </mapper>