(improvement)(headless) Remove the restriction that the time dimension is required when creating data model (#1446)

Co-authored-by: lxwcodemonkey
This commit is contained in:
LXW
2024-07-22 22:49:58 +08:00
committed by GitHub
parent f03e5a0d38
commit 8f55fa0c1e
2 changed files with 4 additions and 9 deletions

View File

@@ -100,7 +100,7 @@ public class ModelServiceImpl implements ModelService {
@Override @Override
@Transactional @Transactional
public ModelResp createModel(ModelReq modelReq, User user) throws Exception { public ModelResp createModel(ModelReq modelReq, User user) throws Exception {
checkName(modelReq); checkParams(modelReq);
ModelDO modelDO = ModelConverter.convert(modelReq, user); ModelDO modelDO = ModelConverter.convert(modelReq, user);
modelRepository.createModel(modelDO); modelRepository.createModel(modelDO);
batchCreateDimension(modelDO, user); batchCreateDimension(modelDO, user);
@@ -111,7 +111,7 @@ public class ModelServiceImpl implements ModelService {
@Override @Override
@Transactional @Transactional
public ModelResp updateModel(ModelReq modelReq, User user) throws Exception { public ModelResp updateModel(ModelReq modelReq, User user) throws Exception {
checkName(modelReq); checkParams(modelReq);
ModelDO modelDO = modelRepository.getModelById(modelReq.getId()); ModelDO modelDO = modelRepository.getModelById(modelReq.getId());
ModelConverter.convert(modelDO, modelReq, user); ModelConverter.convert(modelDO, modelReq, user);
modelRepository.updateModel(modelDO); modelRepository.updateModel(modelDO);
@@ -196,7 +196,7 @@ public class ModelServiceImpl implements ModelService {
metricService.createMetricBatch(metricReqs, user); metricService.createMetricBatch(metricReqs, user);
} }
private void checkName(ModelReq modelReq) { private void checkParams(ModelReq modelReq) {
String forbiddenCharacters = NameCheckUtils.findForbiddenCharacters(modelReq.getName()); String forbiddenCharacters = NameCheckUtils.findForbiddenCharacters(modelReq.getName());
if (StringUtils.isNotBlank(forbiddenCharacters)) { if (StringUtils.isNotBlank(forbiddenCharacters)) {
String message = String.format("模型名称[%s]包含特殊字符(%s), 请修改", modelReq.getName(), forbiddenCharacters); String message = String.format("模型名称[%s]包含特殊字符(%s), 请修改", modelReq.getName(), forbiddenCharacters);
@@ -204,14 +204,10 @@ public class ModelServiceImpl implements ModelService {
} }
List<Dim> dims = modelReq.getModelDetail().getDimensions(); List<Dim> dims = modelReq.getModelDetail().getDimensions();
List<Measure> measures = modelReq.getModelDetail().getMeasures(); List<Measure> measures = modelReq.getModelDetail().getMeasures();
List<Dim> timeDims = modelReq.getTimeDimension();
List<Identify> identifies = modelReq.getModelDetail().getIdentifiers(); List<Identify> identifies = modelReq.getModelDetail().getIdentifiers();
if (CollectionUtils.isEmpty(dims)) { if (CollectionUtils.isEmpty(dims)) {
throw new InvalidArgumentException("缺少维度信息"); throw new InvalidArgumentException("缺少维度信息");
} }
if (!CollectionUtils.isEmpty(measures) && CollectionUtils.isEmpty(timeDims)) {
throw new InvalidArgumentException("有度量时, 不可缺少时间维度");
}
for (Measure measure : measures) { for (Measure measure : measures) {
String measureForbiddenCharacters = NameCheckUtils.findForbiddenCharacters(measure.getName()); String measureForbiddenCharacters = NameCheckUtils.findForbiddenCharacters(measure.getName());
if (StringUtils.isNotBlank(measure.getName()) if (StringUtils.isNotBlank(measure.getName())

View File

@@ -155,8 +155,7 @@ public class ModelConverter {
private static boolean isCreateDimension(Dim dim) { private static boolean isCreateDimension(Dim dim) {
return dim.getIsCreateDimension() == 1 return dim.getIsCreateDimension() == 1
&& StringUtils.isNotBlank(dim.getName()) && StringUtils.isNotBlank(dim.getName());
&& !dim.getType().equalsIgnoreCase(DimensionType.time.name());
} }
private static boolean isCreateDimension(Identify identify) { private static boolean isCreateDimension(Identify identify) {