mirror of https://gitee.com/stylefeng/roses
Merge remote-tracking branch 'origin/group1-dict'
commit
71a2d44aed
|
@ -40,6 +40,14 @@
|
|||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
|
||||
<!--系统api模块-->
|
||||
<!--用在业务,系统常量-->
|
||||
<dependency>
|
||||
<groupId>cn.stylefeng.roses</groupId>
|
||||
<artifactId>system-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
|
||||
<!--数据库sdk-->
|
||||
<!--数据库初始化-->
|
||||
<dependency>
|
||||
|
|
|
@ -11,10 +11,12 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
|
|||
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
||||
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
||||
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -154,4 +156,18 @@ public class DictController {
|
|||
return new SuccessResponseData(flag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 字典树列表
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @author huangyao
|
||||
* @date 2021/1/10 17:31
|
||||
*/
|
||||
@GetResource(name = "获取zTree形式的字典树(layui版本)", path = "/dict/zTree")
|
||||
@ResponseBody
|
||||
public List<ZTreeNode> layuiSelectParentMenuTreeList(@Validated(DictRequest.dictZTree.class) DictRequest dictRequest) {
|
||||
return this.dictService.dictZTree(dictRequest);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package cn.stylefeng.roses.kernel.dict.modular.controller;
|
||||
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.service.DictTypeService;
|
||||
|
@ -13,6 +14,7 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -79,6 +81,12 @@ public class DictTypeController {
|
|||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
@GetResource(name = "获取字典类型详情", path = "/dictType/getDictDetail", requiredPermission = false)
|
||||
public ResponseData getDictDetail(@RequestParam("dictTypeId") Long dictTypeId) {
|
||||
SysDictType detail = this.dictTypeService.findDetail(dictTypeId);
|
||||
return new SuccessResponseData(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典类型列表
|
||||
*
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.stylefeng.roses.kernel.dict.modular.mapper;
|
||||
|
||||
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
@ -16,6 +17,16 @@ import java.util.List;
|
|||
*/
|
||||
public interface DictTypeMapper extends BaseMapper<SysDictType> {
|
||||
|
||||
/**
|
||||
* 获取字典类型详情
|
||||
*
|
||||
* @param dictTypeId 类型id
|
||||
* @return
|
||||
* @author huangyao
|
||||
* @date 2021/1/10 17:25
|
||||
*/
|
||||
SysDictType findDetail(@Param("dictTypeId") Long dictTypeId);
|
||||
|
||||
/**
|
||||
* 获取字典类型列表
|
||||
*
|
||||
|
|
|
@ -2,6 +2,21 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.stylefeng.roses.kernel.dict.modular.mapper.DictTypeMapper">
|
||||
|
||||
<select id="findDetail" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType" parameterType="long">
|
||||
SELECT dict_type_id AS dictTypeId,
|
||||
dict_type_class AS dictTypeClass,
|
||||
dict_type_bus_code AS dictTypeBusCode,
|
||||
dict_type_code AS dictTypeCode,
|
||||
dict_type_name AS dictTypeName,
|
||||
dict_type_name_pinyin AS dictTypeNamePinyin,
|
||||
dict_type_desc AS dictTypeDesc,
|
||||
status_flag AS statusFlag,
|
||||
dict_type_sort AS dictTypeSort
|
||||
FROM sys_dict_type
|
||||
WHERE del_flag = 'N'
|
||||
AND dict_type_id = #{dictTypeId}
|
||||
</select>
|
||||
|
||||
<!--查询字典类型列表-->
|
||||
<select id="findList" resultType="cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType">
|
||||
SELECT dict_type_id AS dictTypeId,
|
||||
|
|
|
@ -65,7 +65,7 @@ public class DictRequest extends BaseRequest {
|
|||
/**
|
||||
* 字典类型编码
|
||||
*/
|
||||
@NotBlank(message = "字典类型编码不能为空", groups = {add.class, edit.class, treeList.class})
|
||||
@NotBlank(message = "字典类型编码不能为空", groups = {add.class, edit.class, treeList.class, dictZTree.class})
|
||||
private String dictTypeCode;
|
||||
|
||||
/**
|
||||
|
@ -119,4 +119,11 @@ public class DictRequest extends BaseRequest {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验ztree必备参数
|
||||
*/
|
||||
public @interface dictZTree {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import cn.stylefeng.roses.kernel.dict.api.DictApi;
|
|||
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.pojo.TreeDictInfo;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictRequest;
|
||||
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -113,4 +114,13 @@ public interface DictService extends IService<SysDict>, DictApi {
|
|||
*/
|
||||
List<SysDict> getDictListExcludeSub(Long dictId);
|
||||
|
||||
/**
|
||||
* 获取字典的ztree列表
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @author huangyao
|
||||
* @date 2021/1/12 14:27
|
||||
*/
|
||||
List<ZTreeNode> dictZTree(DictRequest dictRequest);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.dict.modular.service;
|
|||
|
||||
|
||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDict;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.entity.SysDictType;
|
||||
import cn.stylefeng.roses.kernel.dict.modular.pojo.request.DictTypeRequest;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
@ -82,4 +83,13 @@ public interface DictTypeService extends IService<SysDictType> {
|
|||
*/
|
||||
boolean validateCodeAvailable(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 获取字典详情
|
||||
*
|
||||
* @param dictTypeId 类型id
|
||||
* @return
|
||||
* @author huangyao
|
||||
* @date 2021/1/10 17:27
|
||||
*/
|
||||
SysDictType findDetail(Long dictTypeId);
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@ import cn.stylefeng.roses.kernel.rule.constants.RuleConstants;
|
|||
import cn.stylefeng.roses.kernel.rule.enums.StatusEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||
import cn.stylefeng.roses.kernel.rule.factory.DefaultTreeBuildFactory;
|
||||
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
|
||||
import cn.stylefeng.roses.kernel.system.pojo.ztree.ZTreeNode;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
@ -153,7 +155,15 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
|||
|
||||
@Override
|
||||
public SysDict findDetail(Long dictId) {
|
||||
return this.baseMapper.findDetail(dictId);
|
||||
SysDict dict = this.baseMapper.findDetail(dictId);
|
||||
// 获取父节点字典名称
|
||||
if (dict.getDictParentId().equals(SystemConstants.DEFAULT_PARENT_ID)) {
|
||||
dict.setParentName("顶级");
|
||||
} else {
|
||||
SysDict parentDict = this.getById(dict.getDictParentId());
|
||||
dict.setParentName(ObjectUtil.isNotEmpty(parentDict) ? parentDict.getDictName() : "");
|
||||
}
|
||||
return dict;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -228,6 +238,38 @@ public class DictServiceImpl extends ServiceImpl<DictMapper, SysDict> implements
|
|||
return baseMapper.findList(null, new DictRequest());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ZTreeNode> dictZTree(DictRequest dictRequest) {
|
||||
// 根据字典类型编码获取字典
|
||||
LambdaQueryWrapper<SysDict> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysDict::getDictTypeCode, dictRequest.getDictTypeCode());
|
||||
List<SysDict> dictList = this.list(queryWrapper);
|
||||
|
||||
// 构建ztree
|
||||
ArrayList<ZTreeNode> zTreeNodes = new ArrayList<>();
|
||||
for (SysDict dict : dictList) {
|
||||
ZTreeNode zTreeNode = new ZTreeNode();
|
||||
zTreeNode.setId(dict.getDictId());
|
||||
zTreeNode.setpId(dict.getDictParentId());
|
||||
zTreeNode.setName(dict.getDictName());
|
||||
zTreeNode.setOpen(true);
|
||||
zTreeNodes.add(zTreeNode);
|
||||
}
|
||||
|
||||
// 创建顶级节点
|
||||
zTreeNodes.add(ZTreeNode.createParent());
|
||||
|
||||
// 构建已选中的状态
|
||||
if (ObjectUtil.isNotEmpty(dictRequest.getDictId())) {
|
||||
for (ZTreeNode zTreeNode : zTreeNodes) {
|
||||
if (zTreeNode.getId().equals(dictRequest.getDictId())) {
|
||||
zTreeNode.setChecked(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
return zTreeNodes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDictNameByDictCode(String dictCode) {
|
||||
LambdaQueryWrapper<SysDict> sysDictLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
|
|
@ -170,6 +170,11 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
|||
return selectCount <= 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysDictType findDetail(Long dictTypeId) {
|
||||
return this.baseMapper.findDetail(dictTypeId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验dictTypeClass是否是系统字典,如果是系统字典只能超级管理员操作
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue