Browse Source

【灵山街道】新增:文章栏目curd

master
wxz 2 years ago
committed by luyan
parent
commit
9e325f770a
  1. 2
      epmet-cloud-generator/src/main/resources/application.yml
  2. 4
      epmet-module/gov-voice/gov-voice-server/pom.xml
  3. 85
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/CategoryDictController.java
  4. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/CategoryDictService.java
  5. 26
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/CategoryDictServiceImpl.java

2
epmet-cloud-generator/src/main/resources/application.yml

@ -9,7 +9,7 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
#MySQL配置 #MySQL配置
driverClassName: com.mysql.jdbc.Driver driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.140:3306/epmet_user?useUnicode=true&characterEncoding=UTF-8&useSSL=false url: jdbc:mysql://192.168.1.140:3306/epmet_gov_voice?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root username: root
password: root password: root
#oracle配置 #oracle配置

4
epmet-module/gov-voice/gov-voice-server/pom.xml

@ -164,8 +164,8 @@
<spring.datasource.druid.url> <spring.datasource.druid.url>
<![CDATA[jdbc:mysql://192.168.1.140:3306/epmet_gov_voice?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]> <![CDATA[jdbc:mysql://192.168.1.140:3306/epmet_gov_voice?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url> </spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username> <spring.datasource.druid.username>root</spring.datasource.druid.username>
<spring.datasource.druid.password>EpmEt_lsjd@@</spring.datasource.druid.password> <spring.datasource.druid.password>root</spring.datasource.druid.password>
<!-- redis配置 --> <!-- redis配置 -->
<spring.redis.index>0</spring.redis.index> <spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.140</spring.redis.host> <spring.redis.host>192.168.1.140</spring.redis.host>

85
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/CategoryDictController.java

@ -10,20 +10,10 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.CategoryDictDTO; import com.epmet.dto.CategoryDictDTO;
import com.epmet.service.CategoryDictService; import com.epmet.service.CategoryDictService;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -41,87 +31,12 @@ public class CategoryDictController {
@Autowired @Autowired
private CategoryDictService categoryDictService; private CategoryDictService categoryDictService;
@Data
@NoArgsConstructor
public static class TreeNode {
private String pid;
private String id;
private String categoryName;
private List<TreeNode> children = new ArrayList<>();
public TreeNode(String pid, String id, String categoryName) {
this.pid = pid;
this.id = id;
this.categoryName = categoryName;
}
}
@GetMapping("tree")
public Result<List<TreeNode>> tree() {
List<TreeNode> treeNodes = buildTree(categoryDictService.list(1, 100));
return new Result().ok(treeNodes);
}
/**
* 树形结构输出
*/
@RequestMapping("list") @RequestMapping("list")
public Result<List<CategoryDictDTO>> list(@RequestParam Integer pageNo, @RequestParam Integer pageSize){ public Result<List<CategoryDictDTO>> list(@RequestParam Integer pageNo, @RequestParam Integer pageSize){
List<CategoryDictDTO> list = categoryDictService.list(pageNo, pageSize); List<CategoryDictDTO> list = categoryDictService.list(pageNo, pageSize);
return new Result<List<CategoryDictDTO>>().ok(list); return new Result<List<CategoryDictDTO>>().ok(list);
} }
/**
* @description: 根据父级栏目id查询子栏目列表
* @param parentCategoryId: 父级栏目id
* @return
* @author: WangXianZhang
* @date: 2023/4/25 3:33 PM
*/
@GetMapping("subCategories")
public Result<List<CategoryDictDTO>> listSubCategories(@RequestParam("parentCategoryId") String parentCategoryId) {
List<CategoryDictDTO> list = categoryDictService.listSubCategories(parentCategoryId);
return new Result<List<CategoryDictDTO>>().ok(list);
}
/**
* @description: 构建树状结构
* @param list:
* @return
* @author: WangXianZhang
* @date: 2023/4/25 3:38 PM
*/
private List<TreeNode> buildTree(List<CategoryDictDTO> list) {
//总共2级,直接构建就行了。
List<TreeNode> pNodes = new ArrayList<>();
List<TreeNode> sNodes = new ArrayList<>();
// 过滤出一级和二级节点
for (CategoryDictDTO ele : list) {
if (StringUtils.isBlank(ele.getPid()) || "0".equals(ele.getPid())) {
// 是一级节点
pNodes.add(new TreeNode(ele.getPid(), ele.getId(), ele.getCategoryName()));
} else {
// 二级节点
sNodes.add(new TreeNode(ele.getPid(), ele.getId(), ele.getCategoryName()));
}
}
// 追加二级节点
for (TreeNode sNode : sNodes) {
for (TreeNode pNode : pNodes) {
if (pNode.getId().equals(sNode.getPid())) {
pNode.getChildren().add(sNode);
}
}
}
return pNodes;
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<CategoryDictDTO> get(@PathVariable("id") String id){ public Result<CategoryDictDTO> get(@PathVariable("id") String id){
CategoryDictDTO data = categoryDictService.get(id); CategoryDictDTO data = categoryDictService.get(id);

2
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/CategoryDictService.java

@ -85,6 +85,4 @@ public interface CategoryDictService extends BaseService<CategoryDictEntity> {
* @date: 2023/4/11 7:06 PM * @date: 2023/4/11 7:06 PM
*/ */
List<CategoryDictDTO> list(Integer pageNo, Integer pageSize); List<CategoryDictDTO> list(Integer pageNo, Integer pageSize);
List<CategoryDictDTO> listSubCategories(String parentCategoryId);
} }

26
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/CategoryDictServiceImpl.java

@ -25,7 +25,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 文章栏目表 * 文章栏目表
@ -140,34 +139,11 @@ public class CategoryDictServiceImpl extends BaseServiceImpl<CategoryDictDao, Ca
public void delete(String[] ids) { public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解) // 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
List<String> idList = Arrays.asList(ids);
List<Boolean> idList2Del = idList.stream().map(id -> {
CategoryDictEntity dict = baseDao.selectById(id);
if (dict == null || StringUtils.isBlank(dict.getPid().trim()) || "0".equals(dict.getPid())) {
// 一级分类的情况下,不执行删除。一级分类的id已经被固定到了菜单中,要删除了,就对应不起来了
return false;
}
return true;
}).collect(Collectors.toList());
baseDao.deleteBatchIds(idList2Del);
} }
@Override @Override
public List<CategoryDictDTO> list(Integer pageNo, Integer pageSize) { public List<CategoryDictDTO> list(Integer pageNo, Integer pageSize) {
LambdaQueryWrapper<CategoryDictEntity> query = new LambdaQueryWrapper<>(); List<CategoryDictEntity> list = baseDao.selectList(null);
query.eq(CategoryDictEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
List<CategoryDictEntity> list = baseDao.selectList(query);
return ConvertUtils.sourceToTarget(list, CategoryDictDTO.class);
}
@Override
public List<CategoryDictDTO> listSubCategories(String parentCategoryId) {
LambdaQueryWrapper<CategoryDictEntity> query = new LambdaQueryWrapper<>();
query.eq(CategoryDictEntity::getCustomerId, EpmetRequestHolder.getLoginUserCustomerId());
query.eq(CategoryDictEntity::getPid, parentCategoryId);
List<CategoryDictEntity> list = baseDao.selectList(query);
return ConvertUtils.sourceToTarget(list, CategoryDictDTO.class); return ConvertUtils.sourceToTarget(list, CategoryDictDTO.class);
} }
} }
Loading…
Cancel
Save