mirror of https://gitee.com/stylefeng/roses
【dict type】更新字典类型
parent
afa215faa4
commit
7670753007
|
@ -13,7 +13,6 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
|||
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||
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 javax.annotation.Resource;
|
||||
|
@ -44,6 +43,18 @@ public class DictTypeController {
|
|||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除字典类型
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2018/7/25 下午12:36
|
||||
*/
|
||||
@PostResource(name = "删除字典类型", path = "/dictType/deleteDictType", requiredPermission = false)
|
||||
public ResponseData deleteDictType(@RequestBody @Validated(DictTypeRequest.delete.class) DictTypeRequest dictTypeRequest) {
|
||||
this.dictTypeService.del(dictTypeRequest);
|
||||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改字典类型
|
||||
*
|
||||
|
@ -68,18 +79,6 @@ public class DictTypeController {
|
|||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除字典类型
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2018/7/25 下午12:36
|
||||
*/
|
||||
@PostResource(name = "删除字典类型", path = "/dictType/deleteDictType", requiredPermission = false)
|
||||
public ResponseData deleteDictType(@RequestBody @Validated(DictTypeRequest.delete.class) DictTypeRequest dictTypeRequest) {
|
||||
this.dictTypeService.del(dictTypeRequest);
|
||||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典类型详情
|
||||
*
|
||||
|
@ -87,34 +86,8 @@ public class DictTypeController {
|
|||
* @date 2021/1/13 11:25
|
||||
*/
|
||||
@GetResource(name = "获取字典类型详情", path = "/dictType/getDictDetail", requiredPermission = false)
|
||||
public ResponseData getDictDetail(@RequestParam("dictTypeId") Long dictTypeId) {
|
||||
SysDictType detail = this.dictTypeService.findDetail(dictTypeId);
|
||||
return new SuccessResponseData(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典类型详情
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/1/13 11:25
|
||||
*/
|
||||
@GetResource(name = "获取系统配置字典类型详情", path = "/dictType/getConfigDictTypeDetail", requiredPermission = false)
|
||||
public ResponseData getConfigDictTypeDetail(DictTypeRequest dictTypeRequest) {
|
||||
dictTypeRequest.setDictTypeCode(DictConstants.CONFIG_GROUP_DICT_TYPE_CODE);
|
||||
SysDictType detail = this.dictTypeService.detailBy(dictTypeRequest);
|
||||
return new SuccessResponseData(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典类型详情
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/1/13 11:25
|
||||
*/
|
||||
@GetResource(name = "获取语种字典类型型详情", path = "/dictType/getTranslationDetail", requiredPermission = false)
|
||||
public ResponseData getTranslationDetail(DictTypeRequest dictTypeRequest) {
|
||||
dictTypeRequest.setDictTypeCode(DictConstants.LANGUAGES_DICT_TYPE_CODE);
|
||||
SysDictType detail = this.dictTypeService.detailBy(dictTypeRequest);
|
||||
public ResponseData getDictDetail(@RequestBody @Validated(BaseRequest.detail.class) DictTypeRequest dictTypeRequest) {
|
||||
SysDictType detail = this.dictTypeService.detail(dictTypeRequest);
|
||||
return new SuccessResponseData(detail);
|
||||
}
|
||||
|
||||
|
@ -154,4 +127,31 @@ public class DictTypeController {
|
|||
return new SuccessResponseData(flag);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取字典类型详情
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/1/13 11:25
|
||||
*/
|
||||
@GetResource(name = "获取系统配置字典类型详情", path = "/dictType/getConfigDictTypeDetail", requiredPermission = false)
|
||||
public ResponseData getConfigDictTypeDetail(DictTypeRequest dictTypeRequest) {
|
||||
dictTypeRequest.setDictTypeCode(DictConstants.CONFIG_GROUP_DICT_TYPE_CODE);
|
||||
SysDictType detail = this.dictTypeService.detail(dictTypeRequest);
|
||||
return new SuccessResponseData(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取字典类型详情
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/1/13 11:25
|
||||
*/
|
||||
@GetResource(name = "获取语种字典类型型详情", path = "/dictType/getTranslationDetail", requiredPermission = false)
|
||||
public ResponseData getTranslationDetail(DictTypeRequest dictTypeRequest) {
|
||||
dictTypeRequest.setDictTypeCode(DictConstants.LANGUAGES_DICT_TYPE_CODE);
|
||||
SysDictType detail = this.dictTypeService.detail(dictTypeRequest);
|
||||
return new SuccessResponseData(detail);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,12 +1,7 @@
|
|||
package cn.stylefeng.roses.kernel.dict.modular.mapper;
|
||||
|
||||
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;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字典类型表 Mapper 接口
|
||||
|
@ -16,24 +11,4 @@ import java.util.List;
|
|||
*/
|
||||
public interface DictTypeMapper extends BaseMapper<SysDictType> {
|
||||
|
||||
/**
|
||||
* 获取字典类型详情
|
||||
*
|
||||
* @param dictTypeId 类型id
|
||||
* @author huangyao
|
||||
* @date 2021/1/10 17:25
|
||||
*/
|
||||
SysDictType findDetail(@Param("dictTypeId") Long dictTypeId);
|
||||
|
||||
/**
|
||||
* 获取字典类型列表
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param dictTypeRequest 字典类型对象
|
||||
* @return 字典列表
|
||||
* @author fengshuonan
|
||||
* @date 2020/10/29 17:41
|
||||
*/
|
||||
List<SysDictType> findList(Page<SysDictType> page, @Param("dictTypeRequest") DictTypeRequest dictTypeRequest);
|
||||
|
||||
}
|
||||
|
|
|
@ -2,55 +2,4 @@
|
|||
<!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,
|
||||
dict_type_class AS dictTypeClass,
|
||||
dict_type_bus_code AS dictTypeBusCode,
|
||||
dict_type_name_pinyin AS dictTypeNamePinyin,
|
||||
dict_type_code AS dictTypeCode,
|
||||
dict_type_name AS dictTypeName,
|
||||
dict_type_desc AS dictTypeDesc,
|
||||
status_flag AS statusFlag,
|
||||
dict_type_sort AS dictTypeSort
|
||||
FROM sys_dict_type
|
||||
WHERE del_flag = 'N'
|
||||
<if test="dictTypeRequest.dictTypeName != null and dictTypeRequest.dictTypeName !=''">
|
||||
AND
|
||||
(
|
||||
dict_type_name like CONCAT('%', #{dictTypeRequest.dictTypeName}, '%')
|
||||
OR
|
||||
dict_type_name_pinyin like concat('%', #{dictTypeRequest.dictTypeName}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test="dictTypeRequest.dictTypeClass != null and dictTypeRequest.dictTypeClass !=''">
|
||||
AND dict_type_class = #{dictTypeRequest.dictTypeClass}
|
||||
</if>
|
||||
<if test="dictTypeRequest.dictTypeDesc != null and dictTypeRequest.dictTypeDesc !=''">
|
||||
AND dict_type_desc like CONCAT('%', #{dictTypeRequest.dictTypeDesc}, '%')
|
||||
</if>
|
||||
<if test="dictTypeRequest.dictTypeCode != null and dictTypeRequest.dictTypeCode !=''">
|
||||
AND dict_type_code like CONCAT('%', #{dictTypeRequest.dictTypeCode}, '%')
|
||||
</if>
|
||||
<if test="dictTypeRequest.statusFlag != null and dictTypeRequest.statusFlag !=''">
|
||||
AND status_flag = #{dictTypeRequest.statusFlag}
|
||||
</if>
|
||||
ORDER BY dict_type_sort
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -25,6 +25,15 @@ public interface DictTypeService extends IService<SysDictType> {
|
|||
*/
|
||||
void add(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 删除字典类型
|
||||
*
|
||||
* @param dictTypeRequest 字典类型请求
|
||||
* @author fengshuonan
|
||||
* @date 2020/10/29 18:55
|
||||
*/
|
||||
void del(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 修改字典类型
|
||||
*
|
||||
|
@ -44,13 +53,13 @@ public interface DictTypeService extends IService<SysDictType> {
|
|||
void editStatus(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 删除字典类型
|
||||
* 查询-详情-按实体对象
|
||||
*
|
||||
* @param dictTypeRequest 字典类型请求
|
||||
* @author fengshuonan
|
||||
* @date 2020/10/29 18:55
|
||||
* @param dictTypeRequest 参数对象
|
||||
* @author chenjinlong
|
||||
* @date 2021/1/26 12:52
|
||||
*/
|
||||
void del(DictTypeRequest dictTypeRequest);
|
||||
SysDictType detail(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 获取字典类型列表
|
||||
|
@ -81,31 +90,4 @@ public interface DictTypeService extends IService<SysDictType> {
|
|||
* @date 2020/10/29 18:56
|
||||
*/
|
||||
boolean validateCodeAvailable(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 获取字典详情
|
||||
*
|
||||
* @param dictTypeId 类型id
|
||||
* @author huangyao
|
||||
* @date 2021/1/10 17:27
|
||||
*/
|
||||
SysDictType findDetail(Long dictTypeId);
|
||||
|
||||
/**
|
||||
* 查询-详情-按实体对象
|
||||
*
|
||||
* @param dictTypeRequest 参数对象
|
||||
* @author chenjinlong
|
||||
* @date 2021/1/26 12:52
|
||||
*/
|
||||
SysDictType detailBy(DictTypeRequest dictTypeRequest);
|
||||
|
||||
/**
|
||||
* 查询-列表-按实体对象
|
||||
*
|
||||
* @param dictTypeRequest 参数对象
|
||||
* @author chenjinlong
|
||||
* @date 2021/1/26 12:52
|
||||
*/
|
||||
List<SysDictType> listBy(DictTypeRequest dictTypeRequest);
|
||||
}
|
||||
|
|
|
@ -62,17 +62,35 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
|||
this.baseMapper.insert(sysDictType);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void del(DictTypeRequest dictTypeRequest) {
|
||||
|
||||
// 如果是系统级字典,只允许管理员操作
|
||||
validateSystemTypeClassOperate(dictTypeRequest);
|
||||
|
||||
// 获取字典类型
|
||||
SysDictType oldSysDictType = querySysDictType(dictTypeRequest);
|
||||
|
||||
// 字典类型删除
|
||||
oldSysDictType.setDelFlag(YesOrNotEnum.Y.getCode());
|
||||
this.baseMapper.updateById(oldSysDictType);
|
||||
|
||||
// 逻辑删除所有改类型下的字典
|
||||
LambdaUpdateWrapper<SysDict> lambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaQueryWrapper.eq(SysDict::getDictTypeCode, oldSysDictType.getDictTypeCode());
|
||||
lambdaQueryWrapper.set(SysDict::getDelFlag, YesOrNotEnum.Y.getCode());
|
||||
dictService.update(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(DictTypeRequest dictTypeRequest) {
|
||||
|
||||
// 如果是系统级字典,只允许管理员操作
|
||||
validateSystemTypeClassOperate(dictTypeRequest);
|
||||
|
||||
// 获取字典类型是否存在
|
||||
SysDictType oldSysDictType = this.baseMapper.selectById(dictTypeRequest.getDictTypeId());
|
||||
if (oldSysDictType == null) {
|
||||
throw new DictException(DictExceptionEnum.DICT_TYPE_NOT_EXISTED, dictTypeRequest.getDictTypeId());
|
||||
}
|
||||
// 获取字典类型
|
||||
SysDictType oldSysDictType = querySysDictType(dictTypeRequest);
|
||||
|
||||
// 模型转化
|
||||
BeanUtil.copyProperties(dictTypeRequest, oldSysDictType);
|
||||
|
@ -92,11 +110,8 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
|||
// 如果是系统级字典,只允许管理员操作
|
||||
validateSystemTypeClassOperate(dictTypeRequest);
|
||||
|
||||
// 获取字典类型是否存在
|
||||
SysDictType oldSysDictType = this.baseMapper.selectById(dictTypeRequest.getDictTypeId());
|
||||
if (oldSysDictType == null) {
|
||||
throw new DictException(DictExceptionEnum.DICT_TYPE_NOT_EXISTED, dictTypeRequest.getDictTypeId());
|
||||
}
|
||||
// 获取字典类型
|
||||
SysDictType oldSysDictType = querySysDictType(dictTypeRequest);
|
||||
|
||||
// 修改状态
|
||||
oldSysDictType.setStatusFlag(dictTypeRequest.getStatusFlag());
|
||||
|
@ -113,46 +128,25 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void del(DictTypeRequest dictTypeRequest) {
|
||||
|
||||
// 如果是系统级字典,只允许管理员操作
|
||||
validateSystemTypeClassOperate(dictTypeRequest);
|
||||
|
||||
// 获取字典类型是否存在
|
||||
SysDictType sysDictType = this.baseMapper.selectById(dictTypeRequest.getDictTypeId());
|
||||
if (sysDictType == null) {
|
||||
throw new DictException(DictExceptionEnum.DICT_TYPE_NOT_EXISTED, dictTypeRequest.getDictTypeId());
|
||||
public SysDictType detail(DictTypeRequest dictTypeRequest) {
|
||||
List<SysDictType> list = this.findList(dictTypeRequest);
|
||||
if (list.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 字典类型删除
|
||||
sysDictType.setDelFlag(YesOrNotEnum.Y.getCode());
|
||||
this.baseMapper.updateById(sysDictType);
|
||||
|
||||
// 逻辑删除所有改类型下的字典
|
||||
LambdaUpdateWrapper<SysDict> lambdaQueryWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaQueryWrapper.eq(SysDict::getDictTypeCode, sysDictType.getDictTypeCode());
|
||||
lambdaQueryWrapper.set(SysDict::getDelFlag, YesOrNotEnum.Y.getCode());
|
||||
dictService.update(lambdaQueryWrapper);
|
||||
return list.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysDictType> findList(DictTypeRequest dictTypeRequest) {
|
||||
return this.baseMapper.findList(null, dictTypeRequest);
|
||||
LambdaQueryWrapper<SysDictType> queryWrapper = this.createWrapper(dictTypeRequest);
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<SysDictType> findPage(DictTypeRequest dictTypeRequest) {
|
||||
|
||||
Page<SysDictType> page = PageFactory.defaultPage();
|
||||
|
||||
if (dictTypeRequest == null) {
|
||||
dictTypeRequest = new DictTypeRequest();
|
||||
}
|
||||
|
||||
List<SysDictType> list = this.baseMapper.findList(page, dictTypeRequest);
|
||||
|
||||
return PageResultFactory.createPageResult(page.setRecords(list));
|
||||
LambdaQueryWrapper<SysDictType> queryWrapper = this.createWrapper(dictTypeRequest);
|
||||
Page<SysDictType> page = this.page(PageFactory.defaultPage(), queryWrapper);
|
||||
return PageResultFactory.createPageResult(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -170,26 +164,6 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
|||
return selectCount <= 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysDictType findDetail(Long dictTypeId) {
|
||||
return this.baseMapper.findDetail(dictTypeId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysDictType detailBy(DictTypeRequest dictTypeRequest) {
|
||||
List<SysDictType> list = this.listBy(dictTypeRequest);
|
||||
if (list.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return list.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysDictType> listBy(DictTypeRequest dictTypeRequest) {
|
||||
LambdaQueryWrapper<SysDictType> queryWrapper = this.createWrapper(dictTypeRequest);
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验dictTypeClass是否是系统字典,如果是系统字典只能超级管理员操作
|
||||
*
|
||||
|
@ -207,15 +181,13 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
|||
/**
|
||||
* 根据主键id获取对象
|
||||
*
|
||||
* @param
|
||||
* @return
|
||||
* @author chenjinlong
|
||||
* @date 2021/1/26 13:28
|
||||
*/
|
||||
private SysDictType querySysDictType(DictTypeRequest dictTypeRequest) {
|
||||
SysDictType sysDictType = this.getById(dictTypeRequest.getDictTypeId());
|
||||
if (ObjectUtil.isEmpty(sysDictType)) {
|
||||
throw new DictException(DictExceptionEnum.SYSTEM_DICT_NOT_ALLOW_OPERATION);
|
||||
throw new DictException(DictExceptionEnum.DICT_TYPE_NOT_EXISTED, dictTypeRequest.getDictTypeId());
|
||||
}
|
||||
return sysDictType;
|
||||
}
|
||||
|
@ -228,11 +200,21 @@ public class DictTypeServiceImpl extends ServiceImpl<DictTypeMapper, SysDictType
|
|||
*/
|
||||
private LambdaQueryWrapper<SysDictType> createWrapper(DictTypeRequest translationRequest) {
|
||||
LambdaQueryWrapper<SysDictType> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
// 查询未删除的
|
||||
queryWrapper.eq(SysDictType::getDelFlag, YesOrNotEnum.N.getCode());
|
||||
|
||||
if (ObjectUtil.isEmpty(translationRequest)) {
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
Long dictTypeId = translationRequest.getDictTypeId();
|
||||
String dictTypeCode = translationRequest.getDictTypeCode();
|
||||
String dictTypeName = translationRequest.getDictTypeName();
|
||||
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(dictTypeId), SysDictType::getDictTypeId, dictTypeId);
|
||||
queryWrapper.eq(ObjectUtil.isNotNull(dictTypeCode), SysDictType::getDictTypeCode, dictTypeCode);
|
||||
queryWrapper.like(ObjectUtil.isNotNull(dictTypeName), SysDictType::getDictTypeName, dictTypeName);
|
||||
queryWrapper.eq(SysDictType::getDelFlag, YesOrNotEnum.N.getCode());
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue