Parcourir la source

1、修复bug

41235 il y a 1 an
Parent
commit
42c148d193

+ 1 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/open/OpenColumnController.java

@@ -28,7 +28,7 @@ import java.util.List;
  * @since 2023-11-13
  */
 @RestController
-@RequestMapping("/open/aboutUsHonor")
+@RequestMapping("/open/columnArticle")
 public class OpenColumnController {
 
     @Autowired

+ 2 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/open/OpenTopicController.java

@@ -121,7 +121,7 @@ public class OpenTopicController {
      * @date 2023/11/23 22:30
      */
     @PostMapping("/detail/{topicId}")
-    public OpenTopicContentVO detail(@PathVariable Long topicId) {
+    public OpenTopicContentVO detail(@PathVariable Long topicId,@RequestBody TopicRepliesDto topicRepliesDto) {
         TopicContent topicContent = topicContentService.getById(topicId);
         if (ObjectUtil.isNull(topicContent)) {
             throw new RuntimeException("主题不存在");
@@ -133,6 +133,7 @@ public class OpenTopicController {
         openTopicContentVO.setAuthorName(websiteUsersService.getAuthorName(topicContent.getAuthor()));
         //分页查出楼层回复
         TopicRepliesSelectDto dto = new TopicRepliesSelectDto();
+        dto.setTopicId(topicId);
         Page<TopicRepliesVo> page = topicRepliesService.getPageByOpen(dto);
         List<TopicRepliesVo> records = page.getRecords();
         records.forEach(topicRepliesVo -> {

+ 4 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/carousel/po/CarouselManager.java

@@ -41,6 +41,10 @@ public class CarouselManager extends BasePo {
     private String url;
 
     /**
+     * 菜单栏目id
+     */
+    private Long columnId;
+    /**
      * 文章id
      */
     private Long articleId;

+ 5 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/column/vo/ColumnArticleVo.java

@@ -24,6 +24,11 @@ public class ColumnArticleVo extends ColumnArticle {
     private String subIdName;
 
     /**
+     * 是否开启相关文章
+     */
+    private String isRelated;
+
+    /**
      * 封面
      */
     List<FileInfoVo> coverList;

+ 6 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/home/po/HomeSetting.java

@@ -1,5 +1,7 @@
 package com.fjhx.xmhjc.entity.home.po;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.util.Date;
@@ -34,21 +36,25 @@ public class HomeSetting extends BasePo {
     /**
      * 文章1-
      */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Long article1;
 
     /**
      * 文章2
      */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Long article2;
 
     /**
      * 文章3
      */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Long article3;
 
     /**
      * 文章4
      */
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private Long article4;
 
 }

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/carousel/CarouselManagerService.java

@@ -50,4 +50,6 @@ public interface CarouselManagerService extends BaseService<CarouselManager> {
     void delete(Long id);
 
     Page<CarouselManagerVo> pageByOpen(CarouselManagerSelectDto dto);
+
+    void checkDelete(Long id);
 }

+ 10 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/carousel/impl/CarouselManagerServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
 import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.xmhjc.entity.carousel.po.CarouselManager;
+import com.fjhx.xmhjc.entity.home.po.HomeSetting;
 import com.fjhx.xmhjc.mapper.carousel.CarouselManagerMapper;
 import com.fjhx.xmhjc.service.carousel.CarouselManagerService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -68,7 +69,7 @@ public class CarouselManagerServiceImpl extends ServiceImpl<CarouselManagerMappe
     public void edit(CarouselManagerDto carouselManagerDto) {
         this.updateById(carouselManagerDto);
         // 保存图片
-        ObsFileUtil.saveFile(carouselManagerDto.getCarouselUrlList(), carouselManagerDto.getId(), 1);
+        ObsFileUtil.editFile(carouselManagerDto.getCarouselUrlList(), carouselManagerDto.getId(), 1);
     }
 
     @Override
@@ -92,4 +93,12 @@ public class CarouselManagerServiceImpl extends ServiceImpl<CarouselManagerMappe
         page.setRecords(list);
         return page;
     }
+
+    @Override
+    public void checkDelete(Long articleId) {
+        List<CarouselManager> list = lambdaQuery().eq(CarouselManager::getArticleId, articleId).list();
+        if (!list.isEmpty()){
+            throw new RuntimeException("该文章已被轮播图配置引用,无法禁用或删除!");
+        }
+    }
 }

+ 28 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/impl/ColumnArticleServiceImpl.java

@@ -10,12 +10,18 @@ import com.fjhx.xmhjc.entity.column.po.ColumnArticle;
 import com.fjhx.xmhjc.entity.column.po.ColumnMenu;
 import com.fjhx.xmhjc.entity.column.vo.ColumnMenuSubVo;
 import com.fjhx.xmhjc.entity.column.vo.ColumnMenuVo;
+import com.fjhx.xmhjc.entity.topic.dto.TopicContentDto;
+import com.fjhx.xmhjc.entity.topic.dto.TopicRepliesDto;
+import com.fjhx.xmhjc.entity.topic.po.TopicReplies;
 import com.fjhx.xmhjc.mapper.column.ColumnArticleMapper;
+import com.fjhx.xmhjc.service.carousel.CarouselManagerService;
 import com.fjhx.xmhjc.service.column.ColumnArticleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.xmhjc.service.column.ColumnMenuService;
 import com.fjhx.xmhjc.service.column.ColumnMenuSubService;
 import com.fjhx.xmhjc.service.home.HomeSettingService;
+import com.fjhx.xmhjc.service.topic.TopicContentService;
+import com.fjhx.xmhjc.service.topic.TopicRepliesService;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -46,6 +52,10 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
     private ColumnMenuSubService columnMenuSubService;
     @Resource
     private HomeSettingService homeSettingService;
+    @Resource
+    private CarouselManagerService carouselManagerService;
+    @Resource
+    private TopicContentService topicContentService;
 
     @Override
     public List<ColumnArticleVo> getList(ColumnArticleSelectDto dto) {
@@ -111,26 +121,40 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
         // 封面
         ObsFileUtil.saveFile(columnArticleDto.getCoverList(), columnArticleDto.getId(), 1);
         ObsFileUtil.saveFile(columnArticleDto.getVideoList(), columnArticleDto.getId(), 2);
+
+        //如果是视频
+        if ("2".equals(columnArticleDto.getBodyType())){
+            topicContentService.extracted(columnArticleDto);
+        }
+
     }
 
+
+
     @Override
     public void edit(ColumnArticleDto columnArticleDto) {
         if (columnArticleDto.getStatus().equals("0")){
             //判断文章是否被引用
             homeSettingService.checkDelete(columnArticleDto.getId());
+            carouselManagerService.checkDelete(columnArticleDto.getId());
         }
 
-
         this.updateById(columnArticleDto);
 
         // 封面
         ObsFileUtil.editFile(columnArticleDto.getCoverList(), columnArticleDto.getId(), 1);
         ObsFileUtil.editFile(columnArticleDto.getVideoList(), columnArticleDto.getId(), 2);
+
+        //如果是视频
+        if ("2".equals(columnArticleDto.getBodyType())){
+            topicContentService.extracted(columnArticleDto);
+        }
     }
 
     @Override
     public void delete(Long id) {
         homeSettingService.checkDelete(id);
+        carouselManagerService.checkDelete(id);
         this.removeById(id);
     }
 
@@ -179,9 +203,12 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
         ColumnArticleVo result = BeanUtil.toBean(ColumnArticle, ColumnArticleVo.class);
 
         Map<Long, String> map = columnMenuService.getList(new ColumnMenuSelectDto()).stream().collect(Collectors.toMap(ColumnMenuVo::getId, ColumnMenuVo::getName));
+        Map<Long, String> map2 = columnMenuService.getList(new ColumnMenuSelectDto()).stream().collect(Collectors.toMap(ColumnMenuVo::getId, ColumnMenuVo::getIsRelated));
         Map<Long, String> map1 = columnMenuSubService.getList(new ColumnMenuSubSelectDto()).stream().collect(Collectors.toMap(ColumnMenuSubVo::getId, ColumnMenuSubVo::getName));
         result.setColumnIdName(map.getOrDefault(result.getColumnId(),""));
         result.setSubIdName(map1.getOrDefault(result.getSubId(),""));
+        result.setIsRelated(map2.getOrDefault(result.getColumnId(),""));
+
 
         //获取视频
         List<Long> businessIdList = new ArrayList<>();

+ 1 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/home/impl/HomeSettingServiceImpl.java

@@ -150,7 +150,7 @@ public class HomeSettingServiceImpl extends ServiceImpl<HomeSettingMapper, HomeS
                 eq(HomeSetting::getArticle1, articleId).list();
 
         if (!list.isEmpty()){
-            throw new RuntimeException("该文章已被首页配置引用,无法禁用!");
+            throw new RuntimeException("该文章已被首页配置引用,无法禁用或删除!");
         }
 
     }

+ 1 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductCategoryServiceImpl.java

@@ -71,7 +71,7 @@ public class ProductCategoryServiceImpl extends ServiceImpl<ProductCategoryMappe
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
+//    @Transactional(rollbackFor = Exception.class)
     public void add(ProductCategoryDto productCategoryDto) {
         this.save(productCategoryDto);
         productSubCategoryService.dealSubCategory(productCategoryDto.getId(), productCategoryDto.getSubCategoryList());

+ 1 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductSubCategoryServiceImpl.java

@@ -85,7 +85,7 @@ public class ProductSubCategoryServiceImpl extends ServiceImpl<ProductSubCategor
     @Override
     public List<ProductSubCategoryVo> listByOpen(Long categoryId) {
         IWrapper<ProductSubCategory> wrapper = getWrapper();
-        wrapper.orderByDesc("psc", ProductSubCategory::getSort);
+        wrapper.orderByAsc("psc", ProductSubCategory::getSort);
         wrapper.eq("psc", ProductSubCategory::getStatus, "1");
         wrapper.eq("psc", ProductSubCategory::getParentId, categoryId);
         List<ProductSubCategoryVo> list = this.baseMapper.getList(wrapper);

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/topic/TopicContentService.java

@@ -1,5 +1,6 @@
 package com.fjhx.xmhjc.service.topic;
 
+import com.fjhx.xmhjc.entity.column.dto.ColumnArticleDto;
 import com.fjhx.xmhjc.entity.product.vo.ProductCategoryVo;
 import com.fjhx.xmhjc.entity.topic.po.TopicContent;
 import com.fjhx.xmhjc.entity.website.po.WebsiteUsers;
@@ -54,4 +55,5 @@ public interface TopicContentService extends BaseService<TopicContent> {
 
     Page<TopicContentVo> contentPage(TopicContentSelectDto dto, String sortType);
 
+    void extracted(ColumnArticleDto columnArticleDto);
 }

+ 12 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/topic/impl/TopicContentServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.xmhjc.service.topic.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.fjhx.xmhjc.entity.column.dto.ColumnArticleDto;
 import com.fjhx.xmhjc.entity.topic.po.TopicContent;
 import com.fjhx.xmhjc.entity.website.po.WebsiteUsers;
 import com.fjhx.xmhjc.mapper.topic.TopicContentMapper;
@@ -99,4 +100,15 @@ public class TopicContentServiceImpl extends ServiceImpl<TopicContentMapper, Top
         Page<TopicContentVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }
+
+    @Override
+    public void extracted(ColumnArticleDto columnArticleDto) {
+        TopicContent topicContent = getById(columnArticleDto.getId());
+        if (ObjectUtil.isNull(topicContent)){
+            TopicContentDto topicContentDto = new TopicContentDto();
+            topicContentDto.setType("2");
+            topicContentDto.setId(columnArticleDto.getId());
+            add(topicContentDto);
+        }
+    }
 }

+ 2 - 0
hx-xmhjc/src/main/resources/mapper/carousel/CarouselManagerMapper.xml

@@ -9,6 +9,7 @@
             cm.target_type,
             cm.url,
             cm.article_id,
+            cm.column_id,
             cm.sort,
             cm.status,
             cm.create_user,
@@ -28,6 +29,7 @@
             cm.target_type,
             cm.url,
             cm.article_id,
+            cm.column_id,
             cm.sort,
             cm.status,
             cm.create_user,