mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-28 03:14:18 +08:00
refactor(model): 移除模型关联检查中的外键验证逻辑
- 删除了 fromModel 和 toModel 的获取逻辑 - 移除了 JoinCondition 中外键与主键关联的验证规则 - 简化了 check 方法的实现,只保留关联条件非空检查
This commit is contained in:
@@ -47,22 +47,9 @@ public class ModelRelaServiceImpl extends ServiceImpl<ModelRelaDOMapper, ModelRe
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void check(ModelRela modelRela) {
|
private void check(ModelRela modelRela) {
|
||||||
ModelResp fromModel = modelService.getModel(modelRela.getFromModelId());
|
|
||||||
ModelResp toModel = modelService.getModel(modelRela.getToModelId());
|
|
||||||
if (CollectionUtils.isEmpty(modelRela.getJoinConditions())) {
|
if (CollectionUtils.isEmpty(modelRela.getJoinConditions())) {
|
||||||
throw new RuntimeException("关联关系不可为空");
|
throw new RuntimeException("关联关系不可为空");
|
||||||
}
|
}
|
||||||
for (JoinCondition joinCondition : modelRela.getJoinConditions()) {
|
|
||||||
IdentifyType identifyTypeLeft = fromModel.getIdentifyType(joinCondition.getLeftField());
|
|
||||||
IdentifyType identifyTypeRight = toModel.getIdentifyType(joinCondition.getRightField());
|
|
||||||
if (IdentifyType.foreign.equals(identifyTypeLeft)
|
|
||||||
|| IdentifyType.foreign.equals(identifyTypeRight)) {
|
|
||||||
if (!IdentifyType.primary.equals(identifyTypeLeft)
|
|
||||||
&& !IdentifyType.primary.equals(identifyTypeRight)) {
|
|
||||||
throw new RuntimeException("外键必须跟主键关联");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user