枚举类配置,判断枚举是否重复

This commit is contained in:
yu 2024-10-22 14:09:47 +08:00
parent 0a005f0478
commit db84ae4478
4 changed files with 42 additions and 4 deletions

View File

@ -1,9 +1,13 @@
package com.das.modules.equipment.mapper; package com.das.modules.equipment.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.das.modules.equipment.domain.dto.SysEnumTypesDto;
import com.das.modules.equipment.entity.SysEnumTypes; import com.das.modules.equipment.entity.SysEnumTypes;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper @Mapper
public interface SysEnumTypesMapper extends BaseMapper<SysEnumTypes> { public interface SysEnumTypesMapper extends BaseMapper<SysEnumTypes> {
Long queryEnumTypesByName(@Param("sysDto") SysEnumTypesDto sysDto);
} }

View File

@ -1,8 +1,10 @@
package com.das.modules.equipment.service.impl; package com.das.modules.equipment.service.impl;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.das.common.config.SessionUtil; import com.das.common.config.SessionUtil;
import com.das.common.exceptions.ServiceException;
import com.das.common.utils.BeanCopyUtils; import com.das.common.utils.BeanCopyUtils;
import com.das.common.utils.PageDataInfo; import com.das.common.utils.PageDataInfo;
import com.das.common.utils.PageQuery; import com.das.common.utils.PageQuery;
@ -35,13 +37,18 @@ public class SysEnumServiceImpl implements SysEnumService {
/** 新增枚举类型 */ /** 新增枚举类型 */
@Override @Override
public SysEnumTypesVo addEnumTypes(SysEnumTypesDto sysEnumTypesDto) { public SysEnumTypesVo addEnumTypes(SysEnumTypesDto sysEnumTypesDto) {
//判断枚举类型,是否重复
Long count = sysEnumTypesMapper.queryEnumTypesByName(sysEnumTypesDto);
if (count >0){
throw new ServiceException("枚举类型,不可重复!");
}
SysEnumTypes sysEnumTypes = new SysEnumTypes(); SysEnumTypes sysEnumTypes = new SysEnumTypes();
BeanCopyUtils.copy(sysEnumTypesDto, sysEnumTypes); BeanCopyUtils.copy(sysEnumTypesDto, sysEnumTypes);
SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY);
sysEnumTypes.setCreatedTime(new Date());
sysEnumTypes.setUpdatedTime(new Date());
sysEnumTypes.setCreatedBy(sysUserVo.getAccount()); sysEnumTypes.setCreatedBy(sysUserVo.getAccount());
sysEnumTypes.setUpdatedBy(sysUserVo.getAccount()); sysEnumTypes.setUpdatedBy(sysUserVo.getAccount());
sysEnumTypes.setCreatedTime(new Date());
sysEnumTypes.setUpdatedTime(new Date());
sysEnumTypes.setRevision(1); sysEnumTypes.setRevision(1);
sysEnumTypesMapper.insert(sysEnumTypes); sysEnumTypesMapper.insert(sysEnumTypes);
SysEnumTypesVo sysEnumTypesVo = new SysEnumTypesVo(); SysEnumTypesVo sysEnumTypesVo = new SysEnumTypesVo();
@ -54,11 +61,18 @@ public class SysEnumServiceImpl implements SysEnumService {
public SysEnumValuesVo addEnumValues(SysEnumValuesDto sysEnumValuesDto) { public SysEnumValuesVo addEnumValues(SysEnumValuesDto sysEnumValuesDto) {
SysEnumValues sysEnumValues = new SysEnumValues(); SysEnumValues sysEnumValues = new SysEnumValues();
BeanCopyUtils.copy(sysEnumValuesDto,sysEnumValues); BeanCopyUtils.copy(sysEnumValuesDto,sysEnumValues);
QueryWrapper<SysEnumValues> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("enum_type_id",sysEnumValuesDto.getEnumTypeId());
queryWrapper.eq("description",sysEnumValuesDto.getDescription());
Long count = sysEnumValuesMapper.selectCount(queryWrapper);
if (count >0){
throw new ServiceException("枚举值描述,不可重复!");
}
SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY);
sysEnumValues.setCreatedTime(new Date());
sysEnumValues.setUpdatedTime(new Date());
sysEnumValues.setCreatedBy(sysUserVo.getAccount()); sysEnumValues.setCreatedBy(sysUserVo.getAccount());
sysEnumValues.setUpdatedBy(sysUserVo.getAccount()); sysEnumValues.setUpdatedBy(sysUserVo.getAccount());
sysEnumValues.setCreatedTime(new Date());
sysEnumValues.setUpdatedTime(new Date());
sysEnumValues.setRevision(1); sysEnumValues.setRevision(1);
sysEnumValuesMapper.insert(sysEnumValues); sysEnumValuesMapper.insert(sysEnumValues);
SysEnumValuesVo sysEnumValuesVo = new SysEnumValuesVo(); SysEnumValuesVo sysEnumValuesVo = new SysEnumValuesVo();

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.das.modules.equipment.mapper.SysEnumTypesMapper">
<select id="queryEnumTypesByName" resultType="long">
select
count(*)
from
public.sys_enum_types
where
"name" = #{sysDto.name}
or description = #{sysDto.description}
</select>
</mapper>

View File

@ -22,6 +22,7 @@
<if test="sysEnumValuesDto.isActive != null and sysEnumValuesDto.isActive != ''"> <if test="sysEnumValuesDto.isActive != null and sysEnumValuesDto.isActive != ''">
and e.is_active =#{sysEnumValuesDto.isActive} and e.is_active =#{sysEnumValuesDto.isActive}
</if> </if>
order by e.order_number asc
</where> </where>
</select> </select>