mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 20:51:48 +00:00
(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:
@@ -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())
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user