Sfoglia il codice sorgente

:zap: 系统字典、业务字典增加树形结构

smallchill 6 anni fa
parent
commit
9aebab7c2b

+ 2 - 2
src/main/java/org/springblade/modules/system/controller/DictBizController.java

@@ -103,8 +103,8 @@ public class DictBizController extends BladeController {
 	})
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "列表", notes = "传入dict")
-	public R<IPage<DictBizVO>> childList(@ApiIgnore @RequestParam Map<String, Object> dict, @RequestParam(required = false, defaultValue = "-1") Long parentId, Query query) {
-		return R.data(dictService.childList(dict, parentId, query));
+	public R<List<DictBizVO>> childList(@ApiIgnore @RequestParam Map<String, Object> dict, @RequestParam(required = false, defaultValue = "-1") Long parentId) {
+		return R.data(dictService.childList(dict, parentId));
 	}
 
 	/**

+ 2 - 2
src/main/java/org/springblade/modules/system/controller/DictController.java

@@ -103,8 +103,8 @@ public class DictController extends BladeController {
 	})
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "列表", notes = "传入dict")
-	public R<IPage<DictVO>> childList(@ApiIgnore @RequestParam Map<String, Object> dict, @RequestParam(required = false, defaultValue = "-1") Long parentId, Query query) {
-		return R.data(dictService.childList(dict, parentId, query));
+	public R<List<DictVO>> childList(@ApiIgnore @RequestParam Map<String, Object> dict, @RequestParam(required = false, defaultValue = "-1") Long parentId) {
+		return R.data(dictService.childList(dict, parentId));
 	}
 
 	/**

+ 3 - 2
src/main/java/org/springblade/modules/system/service/IDictBizService.java

@@ -81,6 +81,7 @@ public interface IDictBizService extends IService<DictBiz> {
 
 	/**
 	 * 顶级列表
+	 *
 	 * @param dict
 	 * @param query
 	 * @return
@@ -89,11 +90,11 @@ public interface IDictBizService extends IService<DictBiz> {
 
 	/**
 	 * 子列表
+	 *
 	 * @param dict
 	 * @param parentId
-	 * @param query
 	 * @return
 	 */
-	IPage<DictBizVO> childList(Map<String, Object> dict, Long parentId, Query query);
+	List<DictBizVO> childList(Map<String, Object> dict, Long parentId);
 
 }

+ 3 - 2
src/main/java/org/springblade/modules/system/service/IDictService.java

@@ -90,6 +90,7 @@ public interface IDictService extends IService<Dict> {
 
 	/**
 	 * 顶级列表
+	 *
 	 * @param dict
 	 * @param query
 	 * @return
@@ -98,11 +99,11 @@ public interface IDictService extends IService<Dict> {
 
 	/**
 	 * 子列表
+	 *
 	 * @param dict
 	 * @param parentId
-	 * @param query
 	 * @return
 	 */
-	IPage<DictVO> childList(Map<String, Object> dict, Long parentId, Query query);
+	List<DictVO> childList(Map<String, Object> dict, Long parentId);
 
 }

+ 9 - 3
src/main/java/org/springblade/modules/system/service/impl/DictBizServiceImpl.java

@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.cache.DictBizCache;
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
@@ -36,6 +37,7 @@ import org.springblade.modules.system.vo.DictBizVO;
 import org.springblade.modules.system.wrapper.DictBizWrapper;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -100,9 +102,13 @@ public class DictBizServiceImpl extends ServiceImpl<DictBizMapper, DictBiz> impl
 	}
 
 	@Override
-	public IPage<DictBizVO> childList(Map<String, Object> dict, Long parentId, Query query) {
+	public List<DictBizVO> childList(Map<String, Object> dict, Long parentId) {
+		if (parentId < 0) {
+			return new ArrayList<>();
+		}
 		dict.remove("parentId");
-		IPage<DictBiz> page = this.page(Condition.getPage(query), Condition.getQueryWrapper(dict, DictBiz.class).lambda().eq(DictBiz::getParentId, parentId).orderByAsc(DictBiz::getSort));
-		return DictBizWrapper.build().pageVO(page);
+		DictBiz parentDict = DictBizCache.getById(parentId);
+		List<DictBiz> list = this.list(Condition.getQueryWrapper(dict, DictBiz.class).lambda().ne(DictBiz::getId, parentId).eq(DictBiz::getCode, parentDict.getCode()).orderByAsc(DictBiz::getSort));
+		return DictBizWrapper.build().listNodeVO(list);
 	}
 }

+ 9 - 3
src/main/java/org/springblade/modules/system/service/impl/DictServiceImpl.java

@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.cache.DictCache;
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.exception.ServiceException;
@@ -36,6 +37,7 @@ import org.springblade.modules.system.vo.DictVO;
 import org.springblade.modules.system.wrapper.DictWrapper;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -105,9 +107,13 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, Dict> implements ID
 	}
 
 	@Override
-	public IPage<DictVO> childList(Map<String, Object> dict, Long parentId, Query query) {
+	public List<DictVO> childList(Map<String, Object> dict, Long parentId) {
+		if (parentId < 0) {
+			return new ArrayList<>();
+		}
 		dict.remove("parentId");
-		IPage<Dict> page = this.page(Condition.getPage(query), Condition.getQueryWrapper(dict, Dict.class).lambda().eq(Dict::getParentId, parentId).orderByAsc(Dict::getSort));
-		return DictWrapper.build().pageVO(page);
+		Dict parentDict = DictCache.getById(parentId);
+		List<Dict> list = this.list(Condition.getQueryWrapper(dict, Dict.class).lambda().ne(Dict::getId, parentId).eq(Dict::getCode, parentDict.getCode()).orderByAsc(Dict::getSort));
+		return DictWrapper.build().listNodeVO(list);
 	}
 }