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

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;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.das.modules.equipment.domain.dto.SysEnumTypesDto;
import com.das.modules.equipment.entity.SysEnumTypes;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
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;
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.das.common.config.SessionUtil;
import com.das.common.exceptions.ServiceException;
import com.das.common.utils.BeanCopyUtils;
import com.das.common.utils.PageDataInfo;
import com.das.common.utils.PageQuery;
@ -35,13 +37,18 @@ public class SysEnumServiceImpl implements SysEnumService {
/** 新增枚举类型 */
@Override
public SysEnumTypesVo addEnumTypes(SysEnumTypesDto sysEnumTypesDto) {
//判断枚举类型,是否重复
Long count = sysEnumTypesMapper.queryEnumTypesByName(sysEnumTypesDto);
if (count >0){
throw new ServiceException("枚举类型,不可重复!");
}
SysEnumTypes sysEnumTypes = new SysEnumTypes();
BeanCopyUtils.copy(sysEnumTypesDto, sysEnumTypes);
SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY);
sysEnumTypes.setCreatedTime(new Date());
sysEnumTypes.setUpdatedTime(new Date());
sysEnumTypes.setCreatedBy(sysUserVo.getAccount());
sysEnumTypes.setUpdatedBy(sysUserVo.getAccount());
sysEnumTypes.setCreatedTime(new Date());
sysEnumTypes.setUpdatedTime(new Date());
sysEnumTypes.setRevision(1);
sysEnumTypesMapper.insert(sysEnumTypes);
SysEnumTypesVo sysEnumTypesVo = new SysEnumTypesVo();
@ -54,11 +61,18 @@ public class SysEnumServiceImpl implements SysEnumService {
public SysEnumValuesVo addEnumValues(SysEnumValuesDto sysEnumValuesDto) {
SysEnumValues sysEnumValues = new 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);
sysEnumValues.setCreatedTime(new Date());
sysEnumValues.setUpdatedTime(new Date());
sysEnumValues.setCreatedBy(sysUserVo.getAccount());
sysEnumValues.setUpdatedBy(sysUserVo.getAccount());
sysEnumValues.setCreatedTime(new Date());
sysEnumValues.setUpdatedTime(new Date());
sysEnumValues.setRevision(1);
sysEnumValuesMapper.insert(sysEnumValues);
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 != ''">
and e.is_active =#{sysEnumValuesDto.isActive}
</if>
order by e.order_number asc
</where>
</select>