lqh 1 жил өмнө
parent
commit
9526b79495
17 өөрчлөгдсөн 190 нэмэгдсэн , 12 устгасан
  1. 4 0
      hx-xmhjc/pom.xml
  2. 1 1
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/column/ColumnMenuController.java
  3. 2 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/column/dto/ColumnMenuSelectDto.java
  4. 2 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/column/vo/ColumnArticleVo.java
  5. 2 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/home/po/HomeSetting.java
  6. 2 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductCategoryDto.java
  7. 2 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductCategoryVo.java
  8. 2 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/ColumnArticleService.java
  9. 42 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/impl/ColumnArticleServiceImpl.java
  10. 3 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/impl/ColumnMenuServiceImpl.java
  11. 2 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/home/HomeSettingService.java
  12. 21 1
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/home/impl/HomeSettingServiceImpl.java
  13. 21 2
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductCategoryServiceImpl.java
  14. 23 8
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductInfoServiceImpl.java
  15. 6 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/topic/impl/TopicContentServiceImpl.java
  16. 53 0
      hx-xmhjc/src/main/java/com/fjhx/xmhjc/utils/DictUtilsByOpen.java
  17. 2 0
      hx-xmhjc/src/main/resources/mapper/home/HomeSettingMapper.xml

+ 4 - 0
hx-xmhjc/pom.xml

@@ -22,6 +22,10 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-base</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-common</artifactId>
+        </dependency>
     </dependencies>
 
 

+ 1 - 1
hx-xmhjc/src/main/java/com/fjhx/xmhjc/controller/column/ColumnMenuController.java

@@ -80,7 +80,7 @@ public class ColumnMenuController {
     @PostMapping("/getListByOpen")
     public List<ColumnMenuVo> getListByOpen(@RequestBody ColumnMenuSelectDto dto) {
         dto.setStatus("1");
-        dto.setType("1");
+        dto.setNeType("3");
         return columnMenuService.getList(dto);
     }
 

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/column/dto/ColumnMenuSelectDto.java

@@ -22,4 +22,6 @@ public class ColumnMenuSelectDto extends BaseSelectDto {
      */
     private String type;
 
+    private String neType;
+
 }

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

@@ -27,4 +27,6 @@ public class ColumnArticleVo extends ColumnArticle {
      * 封面
      */
     List<FileInfoVo> coverList;
+
+    List<FileInfoVo> videoList;
 }

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

@@ -29,6 +29,8 @@ public class HomeSetting extends BasePo {
      */
     private String titleEn;
 
+    private String titleAlias;
+
     /**
      * 文章1-
      */

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/dto/ProductCategoryDto.java

@@ -1,5 +1,6 @@
 package com.fjhx.xmhjc.entity.product.dto;
 
+import com.fjhx.file.entity.ObsFile;
 import com.fjhx.xmhjc.entity.product.po.ProductCategory;
 import com.fjhx.xmhjc.entity.product.po.ProductSubCategory;
 import lombok.Getter;
@@ -17,4 +18,5 @@ import java.util.List;
 @Setter
 public class ProductCategoryDto extends ProductCategory {
     private List<ProductSubCategory> subCategoryList;
+    private List<ObsFile> categoryCoverList;
 }

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/entity/product/vo/ProductCategoryVo.java

@@ -1,5 +1,6 @@
 package com.fjhx.xmhjc.entity.product.vo;
 
+import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.xmhjc.entity.product.po.ProductCategory;
 import lombok.Getter;
 import lombok.Setter;
@@ -16,4 +17,5 @@ import java.util.List;
 @Setter
 public class ProductCategoryVo extends ProductCategory {
     private List<ProductSubCategoryVo> subCategoryList;
+    private List<FileInfoVo> categoryCoverList;
 }

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/ColumnArticleService.java

@@ -49,6 +49,8 @@ public interface ColumnArticleService extends BaseService<ColumnArticle> {
      */
     void delete(Long id);
 
+    List<ColumnArticleVo> getArticle(ColumnArticleSelectDto dto);
+
     Page<ColumnArticleVo> getArticleByOpen(ColumnArticleSelectDto dto);
 
     ColumnArticleVo getArticleDetailByOpen(Long id);

+ 42 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/impl/ColumnArticleServiceImpl.java

@@ -15,6 +15,7 @@ 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.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -43,6 +44,8 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
     private ColumnMenuService columnMenuService;
     @Resource
     private ColumnMenuSubService columnMenuSubService;
+    @Resource
+    private HomeSettingService homeSettingService;
 
     @Override
     public List<ColumnArticleVo> getList(ColumnArticleSelectDto dto) {
@@ -112,6 +115,12 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
 
     @Override
     public void edit(ColumnArticleDto columnArticleDto) {
+        if (columnArticleDto.getStatus().equals("0")){
+            //判断文章是否被引用
+            homeSettingService.checkDelete(columnArticleDto.getId());
+        }
+
+
         this.updateById(columnArticleDto);
 
         // 封面
@@ -121,6 +130,7 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
 
     @Override
     public void delete(Long id) {
+        homeSettingService.checkDelete(id);
         this.removeById(id);
     }
 
@@ -150,9 +160,34 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
     }
 
     @Override
+    public List<ColumnArticleVo> getArticle(ColumnArticleSelectDto dto) {
+        List<ColumnArticleVo> list = getList(dto);
+
+        list.forEach(x->{
+            //获取封面图片
+            List<Long> businessIdList = new ArrayList<>();
+            businessIdList.add(x.getId());
+            Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(businessIdList, 1);
+            x.setCoverList(fileMap.get(x.getId()));
+        });
+        return list;
+    }
+
+    @Override
     public ColumnArticleVo getArticleDetailByOpen(Long id) {
         ColumnArticle ColumnArticle = this.getById(id);
         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> 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(),""));
+
+        //获取视频
+        List<Long> businessIdList = new ArrayList<>();
+        businessIdList.add(result.getId());
+        Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(businessIdList, 2);
+        result.setVideoList(fileMap.get(result.getId()));
         return result;
     }
 
@@ -181,6 +216,13 @@ public class ColumnArticleServiceImpl extends ServiceImpl<ColumnArticleMapper, C
         }
         wrapper.orderByDesc("ca", ColumnArticle::getReadNum);
         Page<ColumnArticleVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        page.getRecords().forEach(x->{
+            //获取封面图片
+            List<Long> businessIdList = new ArrayList<>();
+            businessIdList.add(x.getId());
+            Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(businessIdList, 1);
+            x.setCoverList(fileMap.get(x.getId()));
+        });
         return page;
     }
 }

+ 3 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/column/impl/ColumnMenuServiceImpl.java

@@ -46,6 +46,9 @@ public class ColumnMenuServiceImpl extends ServiceImpl<ColumnMenuMapper, ColumnM
         if(StrUtil.isNotBlank(dto.getType())){
             wrapper.eq("cm", ColumnMenu::getType, dto.getType());
         }
+        if(StrUtil.isNotBlank(dto.getNeType())){
+            wrapper.ne("cm", ColumnMenu::getType, dto.getNeType());
+        }
         wrapper.orderByAsc("cm", ColumnMenu::getSort);
         List<ColumnMenuVo> list = this.baseMapper.getList(wrapper);
         return list;

+ 2 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/home/HomeSettingService.java

@@ -54,4 +54,6 @@ public interface HomeSettingService extends BaseService<HomeSetting> {
 
     void handHomeSetting(List<HomeSettingVo> list);
     void handHomeSettingByOpen(List<HomeSettingByOpenVo> list);
+
+    void checkDelete(Long id);
 }

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

@@ -74,6 +74,11 @@ public class HomeSettingServiceImpl extends ServiceImpl<HomeSettingMapper, HomeS
 
     @Override
     public void edit(HomeSettingDto homeSettingDto) {
+//        if (StringUtils.isBlank(homeSettingDto.getArticle1())){
+//
+//        }
+
+
         this.updateById(homeSettingDto);
     }
 
@@ -125,7 +130,7 @@ public class HomeSettingServiceImpl extends ServiceImpl<HomeSettingMapper, HomeS
 
 
         Map<Long, String> menuMap = columnMenuService.getList(new ColumnMenuSelectDto()).stream().collect(Collectors.toMap(ColumnMenuVo::getId, ColumnMenuVo::getName));
-        Map<Long, ColumnArticleVo> articleMap = columnArticleService.getList(new ColumnArticleSelectDto()).stream().collect(Collectors.toMap(ColumnArticleVo::getId, Function.identity()));
+        Map<Long, ColumnArticleVo> articleMap = columnArticleService.getArticle(new ColumnArticleSelectDto()).stream().collect(Collectors.toMap(ColumnArticleVo::getId, Function.identity()));
 
         list.forEach(home ->{
             home.setMenuIdName(Objects.nonNull(home.getMenuId()) ?menuMap.getOrDefault(home.getMenuId(),""):"");
@@ -136,4 +141,19 @@ public class HomeSettingServiceImpl extends ServiceImpl<HomeSettingMapper, HomeS
         } );
 
     }
+
+    @Override
+    public void checkDelete(Long articleId) {
+        List<HomeSetting> list = lambdaQuery().eq(HomeSetting::getArticle1, articleId).or().
+                eq(HomeSetting::getArticle1, articleId).or().
+                eq(HomeSetting::getArticle1, articleId).or().
+                eq(HomeSetting::getArticle1, articleId).list();
+
+        if (!list.isEmpty()){
+            throw new RuntimeException("该文章已被首页配置引用,无法禁用!");
+        }
+
+    }
+
+
 }

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

@@ -3,6 +3,8 @@ package com.fjhx.xmhjc.service.product.impl;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.fjhx.file.entity.FileInfoVo;
+import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.xmhjc.entity.product.po.ProductCategory;
 import com.fjhx.xmhjc.entity.product.po.ProductSubCategory;
 import com.fjhx.xmhjc.entity.product.vo.ProductSubCategoryVo;
@@ -21,7 +23,9 @@ import cn.hutool.core.bean.BeanUtil;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -71,14 +75,19 @@ public class ProductCategoryServiceImpl extends ServiceImpl<ProductCategoryMappe
     public void add(ProductCategoryDto productCategoryDto) {
         this.save(productCategoryDto);
         productSubCategoryService.dealSubCategory(productCategoryDto.getId(), productCategoryDto.getSubCategoryList());
+
+
+        ObsFileUtil.editFile(productCategoryDto.getCategoryCoverList(), productCategoryDto.getId(), 1);
     }
 
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
     public void edit(ProductCategoryDto productCategoryDto) {
         this.updateById(productCategoryDto);
         productSubCategoryService.dealSubCategory(productCategoryDto.getId(), productCategoryDto.getSubCategoryList());
+
+
+        ObsFileUtil.editFile(productCategoryDto.getCategoryCoverList(), productCategoryDto.getId(), 1);
     }
 
     @Override
@@ -90,9 +99,19 @@ public class ProductCategoryServiceImpl extends ServiceImpl<ProductCategoryMappe
     @Override
     public List<ProductCategoryVo> listByOpen() {
         IWrapper<ProductCategory> wrapper = getWrapper();
-        wrapper.orderByDesc("pc", ProductCategory::getId);
+        wrapper.orderByAsc("pc", ProductCategory::getSort);
         wrapper.eq("pc", ProductCategory::getStatus, "1");
         List<ProductCategoryVo> list = this.baseMapper.getList(wrapper);
+
+        list.forEach(x->{
+            //获取公众号图片
+            List<Long> businessIdList = new ArrayList<>();
+            businessIdList.add(x.getId());
+            Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(businessIdList, 1);
+            x.setCategoryCoverList(fileMap.get(x.getId()));
+        });
+
+
         return list;
     }
 }

+ 23 - 8
hx-xmhjc/src/main/java/com/fjhx/xmhjc/service/product/impl/ProductInfoServiceImpl.java

@@ -1,18 +1,14 @@
 package com.fjhx.xmhjc.service.product.impl;
 
 import cn.hutool.core.util.ObjectUtil;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.utils.ObsFileUtil;
-import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
-import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
 import com.fjhx.tenant.service.dict.DictTenantDataService;
-import com.fjhx.tenant.utils.DictUtils;
-import com.fjhx.xmhjc.entity.product.po.ProductCategory;
 import com.fjhx.xmhjc.entity.product.po.ProductInfo;
 import com.fjhx.xmhjc.mapper.product.ProductInfoMapper;
 import com.fjhx.xmhjc.service.product.ProductInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.fjhx.xmhjc.utils.DictUtilsByOpen;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +26,7 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -76,11 +73,26 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
     public ProductInfoVo detail(Long id) {
         ProductInfo productInfo = this.getById(id);
         ProductInfoVo result = BeanUtil.toBean(productInfo, ProductInfoVo.class);
+
+        Map<String, String> dictMap = DictUtilsByOpen.getDictMap("product_spec");
+
         List<String> specList = new ArrayList<>();
         if(StringUtils.isNotBlank(productInfo.getSpec())){
-            specList = Arrays.asList(productInfo.getSpec().split(","));
+
+            specList = Arrays.stream(productInfo.getSpec().split(",")).map(dictMap::get).collect(Collectors.toList());
         }
+
+
+
         result.setSpecList(specList);
+
+
+        //获取图片
+        List<Long> businessIdList = new ArrayList<>();
+        businessIdList.add(result.getId());
+        Map<Long, List<FileInfoVo>> fileMap = ObsFileUtil.getFileMap(businessIdList, 1);
+        result.setFileList(fileMap.get(result.getId()));
+
         return result;
     }
 
@@ -121,7 +133,10 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         wrapper.orderByAsc("pi", ProductInfo::getSort);
         wrapper.eq("pi", ProductInfo::getStatus, "1");
         wrapper.eq("pi", ProductInfo::getCategoryId, categoryId);
-        wrapper.eq("pi", ProductInfo::getSubCategoryId, subCategoryId);
+        //子类目“全部”为 0
+        if (0 != subCategoryId){
+            wrapper.eq("pi", ProductInfo::getSubCategoryId, subCategoryId);
+        }
         Page<ProductInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }

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

@@ -8,6 +8,7 @@ import com.fjhx.xmhjc.service.topic.TopicContentService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.xmhjc.service.website.WebsiteUsersService;
 import com.fjhx.xmhjc.utils.WebsiteUserUtil;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -46,6 +47,11 @@ public class TopicContentServiceImpl extends ServiceImpl<TopicContentMapper, Top
     @Override
     public Page<TopicContentVo> getPage(TopicContentSelectDto dto) {
         IWrapper<TopicContent> wrapper = getWrapper();
+
+        if(StringUtils.isNotEmpty(dto.getToping())){
+            wrapper.eq("tc", TopicContent::getToping,dto.getToping());
+        }
+
         wrapper.orderByDesc("tc", TopicContent::getId);
         wrapper.keyword(dto, new SqlField("tc", TopicContent::getTitle));
         Page<TopicContentVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);

+ 53 - 0
hx-xmhjc/src/main/java/com/fjhx/xmhjc/utils/DictUtilsByOpen.java

@@ -0,0 +1,53 @@
+package com.fjhx.xmhjc.utils;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.mapper.dict.DictTenantDataMapper;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
+import com.ruoyi.common.annotation.TenantIgnore;
+import com.ruoyi.framework.mybatis.holder.TenantHolder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public class DictUtilsByOpen {
+
+
+
+
+    private static final DictTenantDataService dictTenantDataService = SpringUtil.getBean(DictTenantDataService.class);
+    private static final DictTenantDataMapper dictTenantDataMapper = SpringUtil.getBean(DictTenantDataMapper.class);
+
+
+    public static Map<String, String> getDictMap(String code) {
+        List<DictTenantDataVo> dictTenantDataServiceList = getDictList(code);
+        Map<String, String> dictMap = new HashMap<>();
+        if (ObjectUtil.isNotEmpty(dictTenantDataServiceList)) {
+            dictMap = dictTenantDataServiceList.stream().collect(Collectors.toMap(DictTenantDataVo::getDictKey, DictTenantDataVo::getDictValue));
+        }
+        return dictMap;
+    }
+
+    /**
+     * 获取字典map
+     */
+    public static List<DictTenantDataVo> getDictList(String code) {
+        TenantHolder.setIgnore(true);
+
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        DictTenantDataSelectDto dto = new DictTenantDataSelectDto();
+        dto.setDictCode(code);
+        dto.setTenantId("xmhjc");
+        List<DictTenantDataVo> afterSalesType = dictTenantDataMapper.getList(dto);
+        DynamicDataSourceContextHolder.poll();
+        //代码块
+        TenantHolder.clear();
+        return  afterSalesType;
+    }
+}

+ 2 - 0
hx-xmhjc/src/main/resources/mapper/home/HomeSettingMapper.xml

@@ -6,6 +6,7 @@
             hs.id,
             hs.menu_id,
             hs.title_en,
+            hs.title_alias,
             hs.article1,
             hs.article2,
             hs.article3,
@@ -23,6 +24,7 @@
             hs.id,
             hs.menu_id,
             hs.title_en,
+            hs.title_alias,
             hs.article1,
             hs.article2,
             hs.article3,