Commit 9e3ed7577224560314b09117cd38318a13ec1df7

Authored by gaibu
1 parent 67435648

fix: 逻辑删除唯一索引冲突的问题

yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dict/DictTypeMapper.java
... ... @@ -7,8 +7,11 @@ import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypeExpo
7 7 import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypePageReqVO;
8 8 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
9 9 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictTypeDO;
  10 +import org.apache.ibatis.annotations.Delete;
10 11 import org.apache.ibatis.annotations.Mapper;
  12 +import org.apache.ibatis.annotations.Param;
11 13  
  14 +import java.time.LocalDateTime;
12 15 import java.util.List;
13 16  
14 17 @Mapper
... ... @@ -39,4 +42,10 @@ public interface DictTypeMapper extends BaseMapperX<DictTypeDO> {
39 42 return selectOne(DictTypeDO::getName, name);
40 43 }
41 44  
  45 + @Delete("UPDATE system_dict_type SET DELETED = 1,DELETED_TIME=#{deletedTime} WHERE id = #{id}")
  46 + int deleteById(@Param("id") Long id, @Param("deletedTime") LocalDateTime deletedTime);
  47 +
  48 + default int deleteById(Long id) {
  49 + return deleteById(id, LocalDateTime.now());
  50 + }
42 51 }
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictTypeServiceImpl.java
... ... @@ -81,9 +81,7 @@ public class DictTypeServiceImpl implements DictTypeService {
81 81 throw exception(DICT_TYPE_HAS_CHILDREN);
82 82 }
83 83 // 删除字典类型
84   - dictType.setDeletedTime(LocalDateTime.now());
85   - dictType.setDeleted(true);
86   - dictTypeMapper.updateById(dictType);
  84 + dictTypeMapper.deleteById(id);
87 85 }
88 86  
89 87 @Override
... ...