diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/mapper/AgreementMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/mapper/AgreementMapper.xml
index 1449ec4..963e43d 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/mapper/AgreementMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/agreement/mapper/AgreementMapper.xml
@@ -69,7 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
     <select id="selectDistinct" resultType="com.ruoyi.bst.agreement.domain.AgreementVO">
         <include refid="selectAgreementVo"/>
-        where store_id = #{storeId} and agreement_type = #{agreementType}
+        where bag.store_id = #{storeId} and bag.agreement_type = #{agreementType} and (bag.id != #{id} or #{id} is null)
     </select>
 
     <insert id="insertAgreement" parameterType="Agreement" useGeneratedKeys="true" keyProperty="id">
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java
index 501b244..3b527df 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/article/service/impl/ArticleServiceImpl.java
@@ -5,6 +5,8 @@ import java.util.List;
 import com.ruoyi.bst.area.service.AreaService;
 import com.ruoyi.bst.article.service.ArticleService;
 import com.ruoyi.bst.articleCategory.domain.ArticleCategoryQuery;
+import com.ruoyi.bst.articleCategory.domain.ArticleCategoryVO;
+import com.ruoyi.bst.articleCategory.domain.enums.ArticleCategoryStatus;
 import com.ruoyi.bst.articleCategory.service.ArticleCategoryService;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
@@ -17,6 +19,8 @@ import com.ruoyi.bst.article.domain.ArticleVO;
 import com.ruoyi.bst.article.domain.ArticleQuery;
 import com.ruoyi.bst.article.service.ArticleService;
 
+import javax.print.ServiceUI;
+
 /**
  * 文章Service业务层处理
  *
@@ -65,11 +69,11 @@ public class ArticleServiceImpl implements ArticleService
     @Override
     public int insertArticle(Article article)
     {
-        //分类必须存在
-        if(articleCategoryService.selectArticleCategoryById(article.getCategoryId()) ==null){
-            throw new ServiceException("当前分类不存在");
+        ArticleCategoryVO articleCategoryVO = articleCategoryService.selectArticleCategoryById(article.getCategoryId());
+        ServiceUtil.assertion(articleCategoryVO ==null,"当前分类不存在");
+        if (articleCategoryVO.getCategoryStatus().equals(ArticleCategoryStatus.DISABLED.getCode())){
+            ServiceUtil.assertion(true,"该分类已被禁用");
         }
-
         article.setCreateTime(DateUtils.getNowDate());
         return articleMapper.insertArticle(article);
     }
@@ -83,11 +87,11 @@ public class ArticleServiceImpl implements ArticleService
     @Override
     public int updateArticle(Article article)
     {
-        //分类必须存在
-        if(articleCategoryService.selectArticleCategoryById(article.getCategoryId()) ==null){
-            throw new ServiceException("当前分类不存在");
+        ArticleCategoryVO articleCategoryVO = articleCategoryService.selectArticleCategoryById(article.getCategoryId());
+        ServiceUtil.assertion(articleCategoryVO ==null,"当前分类不存在");
+        if (articleCategoryVO.getCategoryStatus().equals(ArticleCategoryStatus.DISABLED.getCode())){
+            ServiceUtil.assertion(true,"该分类已被禁用");
         }
-
         article.setUpdateTime(DateUtils.getNowDate());
         return articleMapper.updateArticle(article);
     }
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java
index 1d00bd3..28b1662 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/articleCategory/service/impl/ArticleCategoryServiceImpl.java
@@ -115,21 +115,28 @@ public class ArticleCategoryServiceImpl implements ArticleCategoryService
         ArticleCategoryVO vo = articleCategoryMapper.selectArticleCategoryById(articleCategory.getId());
         //检查是否仅修改排序或状态字段
         if (vo != null && vo.getParentId().equals(articleCategory.getParentId())&&vo.getCategoryName().equals(articleCategory.getCategoryName())) {
-            if (vo.getCategoryStatus()!=null) {
-                if (vo.getParentId() != null) {
-                    ArticleCategoryVO parentVO = articleCategoryMapper.selectArticleCategoryById(vo.getParentId());
-                    ServiceUtil.assertion(parentVO.getCategoryStatus().equals(ArticleCategoryStatus.DISABLED.getCode()),"该分类所属分类已禁用,无法启用该分类");
+            // 新增状态变更方向判断
+            boolean isEnabling = vo.getCategoryStatus().equals(ArticleCategoryStatus.DISABLED.getCode())
+                    && articleCategory.getCategoryStatus().equals(ArticleCategoryStatus.ENABLED.getCode());
 
+            boolean isDisabling = vo.getCategoryStatus().equals(ArticleCategoryStatus.ENABLED.getCode())
+                    && articleCategory.getCategoryStatus().equals(ArticleCategoryStatus.DISABLED.getCode());
+            // 启用操作校验
+            if (isEnabling) {
+                if (articleCategory.getParentId() != null) {
+                    ArticleCategoryVO parentVO = articleCategoryMapper.selectArticleCategoryById(articleCategory.getParentId());
+                    ServiceUtil.assertion(parentVO.getCategoryStatus().equals(ArticleCategoryStatus.DISABLED.getCode()),
+                            "该分类所属分类已禁用,无法启用该分类");
                 }
-                // 判断当前分类下是否有启用的分类
-                List<ArticleCategoryVO> childrenCategoryList = articleCategoryMapper.selectChildrenCategory(articleCategory.getId());
-                childrenCategoryList.forEach(child -> {
-                    if (Objects.equals(child.getCategoryStatus(), ArticleCategoryStatus.ENABLED.getCode())) {
-                        ServiceUtil.assertion(!childrenCategoryList.isEmpty(),"当前分类下有启用的分类,不可禁用");
-                    }
-                });
             }
-        return articleCategoryMapper.updateArticleCategorySortAndStatusOnly(articleCategory);
+            // 禁用操作校验
+            else if (isDisabling) {
+                List<ArticleCategoryVO> childrenCategoryList = articleCategoryMapper.selectChildrenCategory(articleCategory.getId());
+                boolean hasEnabledChild = childrenCategoryList.stream()
+                        .anyMatch(child -> child.getCategoryStatus().equals(ArticleCategoryStatus.ENABLED.getCode()));
+                ServiceUtil.assertion(hasEnabledChild, "当前分类下有启用的分类,不可禁用");
+            }
+            return articleCategoryMapper.updateArticleCategorySortAndStatusOnly(articleCategory);
         }
         //目标分类不允许子分类重名
         Boolean flag = articleCategoryMapper.checkByNameAndParetId(articleCategory);