|
|
@@ -77,7 +77,7 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
|
|
|
@Override
|
|
|
public String createDynamicTb(DynamicTbSaveReqVO createReqVO) {
|
|
|
// 校验tbCode唯一性
|
|
|
- validateTbCodeUnique(createReqVO.getTbCode());
|
|
|
+ validateTbCodeUnique(createReqVO.getTbCode(), null);
|
|
|
// 插入
|
|
|
DynamicTbDO dynamicTb = BeanUtils.toBean(createReqVO, DynamicTbDO.class);
|
|
|
dynamicTbMapper.insert(dynamicTb);
|
|
|
@@ -89,8 +89,8 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
|
|
|
public void updateDynamicTb(DynamicTbSaveReqVO updateReqVO) {
|
|
|
// 校验存在
|
|
|
validateDynamicTbExists(updateReqVO.getId());
|
|
|
- // 校验tbCode唯一性
|
|
|
- validateTbCodeUnique(updateReqVO.getTbCode());
|
|
|
+ // 校验tbCode唯一性(排除自身)
|
|
|
+ validateTbCodeUnique(updateReqVO.getTbCode(), updateReqVO.getId());
|
|
|
// 更新
|
|
|
DynamicTbDO updateObj = BeanUtils.toBean(updateReqVO, DynamicTbDO.class);
|
|
|
dynamicTbMapper.updateById(updateObj);
|
|
|
@@ -158,12 +158,17 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void validateTbCodeUnique(String tbCode) {
|
|
|
+ private void validateTbCodeUnique(String tbCode, String excludeId) {
|
|
|
if (StrUtil.isEmpty(tbCode)) {
|
|
|
return;
|
|
|
}
|
|
|
- Long count = dynamicTbMapper.selectCount(new LambdaQueryWrapperX<DynamicTbDO>()
|
|
|
- .eq(DynamicTbDO::getTbCode, tbCode));
|
|
|
+ LambdaQueryWrapperX<DynamicTbDO> wrapper = new LambdaQueryWrapperX<DynamicTbDO>()
|
|
|
+ .eq(DynamicTbDO::getTbCode, tbCode);
|
|
|
+ // 更新时排除自身
|
|
|
+ if (StrUtil.isNotEmpty(excludeId)) {
|
|
|
+ wrapper.ne(DynamicTbDO::getId, excludeId);
|
|
|
+ }
|
|
|
+ Long count = dynamicTbMapper.selectCount(wrapper);
|
|
|
if (count > 0) {
|
|
|
throw exception(DYNAMIC_TB_CODE_EXISTS);
|
|
|
}
|