mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 12:37:55 +00:00
(feature)(headless) Add a new headless-api module and Change old headless-api module to headless-common (#582)
* (improvement)(headless) Add headless-api module * (improvement)(headless) Change old headless-api module to headless-common --------- Co-authored-by: jolunoluo <jolunoluo@tencent.com>
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.tencent.supersonic</groupId>
|
||||
<artifactId>headless-api</artifactId>
|
||||
<artifactId>headless-common</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -1,225 +0,0 @@
|
||||
package com.tencent.supersonic.headless.model.application;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
|
||||
import com.tencent.supersonic.common.pojo.exception.InvalidPermissionException;
|
||||
import com.tencent.supersonic.common.util.BeanMapper;
|
||||
import com.tencent.supersonic.common.util.PageUtils;
|
||||
import com.tencent.supersonic.headless.api.model.enums.AppStatusEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.AppConfig;
|
||||
import com.tencent.supersonic.headless.api.model.request.AppQueryReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.AppReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.AppDetailResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.AppResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.model.domain.AppService;
|
||||
import com.tencent.supersonic.headless.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.headless.model.domain.MetricService;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.AppDO;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
|
||||
import com.tencent.supersonic.headless.model.infrastructure.mapper.AppMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Service
|
||||
public class AppServiceImpl extends ServiceImpl<AppMapper, AppDO> implements AppService {
|
||||
|
||||
private AppMapper appMapper;
|
||||
|
||||
private MetricService metricService;
|
||||
|
||||
private DimensionService dimensionService;
|
||||
|
||||
public AppServiceImpl(AppMapper appMapper, MetricService metricService,
|
||||
DimensionService dimensionService) {
|
||||
this.appMapper = appMapper;
|
||||
this.metricService = metricService;
|
||||
this.dimensionService = dimensionService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDetailResp save(AppReq app, User user) {
|
||||
app.createdBy(user.getName());
|
||||
AppDO appDO = new AppDO();
|
||||
BeanMapper.mapper(app, appDO);
|
||||
appDO.setStatus(AppStatusEnum.INIT.getCode());
|
||||
appDO.setConfig(JSONObject.toJSONString(app.getConfig()));
|
||||
appDO.setAppSecret(getUniqueId());
|
||||
appMapper.insert(appDO);
|
||||
return convertDetail(appDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDetailResp update(AppReq app, User user) {
|
||||
app.updatedBy(user.getName());
|
||||
AppDO appDO = getById(app.getId());
|
||||
checkAuth(appDO, user);
|
||||
BeanMapper.mapper(app, appDO);
|
||||
appDO.setConfig(JSONObject.toJSONString(app.getConfig()));
|
||||
appMapper.updateById(appDO);
|
||||
return convertDetail(appDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void online(Integer id, User user) {
|
||||
AppDO appDO = getAppDO(id);
|
||||
checkAuth(appDO, user);
|
||||
appDO.setStatus(AppStatusEnum.ONLINE.getCode());
|
||||
appDO.setUpdatedAt(new Date());
|
||||
appDO.setUpdatedBy(user.getName());
|
||||
updateById(appDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void offline(Integer id, User user) {
|
||||
AppDO appDO = getAppDO(id);
|
||||
checkAuth(appDO, user);
|
||||
appDO.setStatus(AppStatusEnum.OFFLINE.getCode());
|
||||
appDO.setUpdatedAt(new Date());
|
||||
appDO.setUpdatedBy(user.getName());
|
||||
updateById(appDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(Integer id, User user) {
|
||||
AppDO appDO = getAppDO(id);
|
||||
checkAuth(appDO, user);
|
||||
appDO.setStatus(AppStatusEnum.DELETED.getCode());
|
||||
appDO.setUpdatedAt(new Date());
|
||||
appDO.setUpdatedBy(user.getName());
|
||||
updateById(appDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<AppResp> pageApp(AppQueryReq appQueryReq, User user) {
|
||||
PageInfo<AppDO> appDOPageInfo = PageHelper.startPage(appQueryReq.getCurrent(),
|
||||
appQueryReq.getPageSize())
|
||||
.doSelectPageInfo(() -> queryApp(appQueryReq));
|
||||
PageInfo<AppResp> appPageInfo = PageUtils.pageInfo2PageInfoVo(appDOPageInfo);
|
||||
Map<Long, MetricResp> metricResps = metricService.getMetrics(new MetaFilter())
|
||||
.stream().collect(Collectors.toMap(MetricResp::getId, m -> m));
|
||||
Map<Long, DimensionResp> dimensionResps = dimensionService.getDimensions(new MetaFilter())
|
||||
.stream().collect(Collectors.toMap(DimensionResp::getId, m -> m));
|
||||
appPageInfo.setList(appDOPageInfo.getList().stream().map(appDO
|
||||
-> convert(appDO, dimensionResps, metricResps, user))
|
||||
.collect(Collectors.toList()));
|
||||
return appPageInfo;
|
||||
}
|
||||
|
||||
public List<AppDO> queryApp(AppQueryReq appQueryReq) {
|
||||
QueryWrapper<AppDO> appDOQueryWrapper = new QueryWrapper<>();
|
||||
appDOQueryWrapper.lambda().ne(AppDO::getStatus, AppStatusEnum.DELETED.getCode());
|
||||
if (StringUtils.isNotBlank(appQueryReq.getName())) {
|
||||
appDOQueryWrapper.lambda().like(AppDO::getName, appQueryReq.getName());
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(appQueryReq.getStatus())) {
|
||||
appDOQueryWrapper.lambda().in(AppDO::getStatus, appQueryReq.getStatus());
|
||||
}
|
||||
if (StringUtils.isNotBlank(appQueryReq.getCreatedBy())) {
|
||||
appDOQueryWrapper.lambda().eq(AppDO::getCreatedBy, appQueryReq.getCreatedBy());
|
||||
}
|
||||
return list(appDOQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDetailResp getApp(Integer id, User user) {
|
||||
AppDO appDO = getAppDO(id);
|
||||
Map<Long, MetricResp> metricResps = metricService.getMetrics(new MetaFilter())
|
||||
.stream().collect(Collectors.toMap(MetricResp::getId, m -> m));
|
||||
Map<Long, DimensionResp> dimensionResps = dimensionService.getDimensions(new MetaFilter())
|
||||
.stream().collect(Collectors.toMap(DimensionResp::getId, m -> m));
|
||||
checkAuth(appDO, user);
|
||||
return convertDetail(appDO, dimensionResps, metricResps);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppDetailResp getApp(Integer id) {
|
||||
AppDO appDO = getAppDO(id);
|
||||
return convertDetail(appDO, new HashMap<>(), new HashMap<>());
|
||||
}
|
||||
|
||||
private AppDO getAppDO(Integer id) {
|
||||
AppDO appDO = getById(id);
|
||||
if (appDO == null) {
|
||||
throw new InvalidArgumentException("该应用不存在");
|
||||
}
|
||||
return appDO;
|
||||
}
|
||||
|
||||
private void checkAuth(AppDO appDO, User user) {
|
||||
if (!hasAuth(appDO, user)) {
|
||||
throw new InvalidPermissionException("您不是该应用的负责人, 暂无权查看或者修改");
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasAuth(AppDO appDO, User user) {
|
||||
if (appDO.getCreatedBy().equalsIgnoreCase(user.getName())) {
|
||||
return true;
|
||||
}
|
||||
return StringUtils.isNotBlank(appDO.getOwner())
|
||||
&& appDO.getOwner().contains(user.getName());
|
||||
}
|
||||
|
||||
private AppResp convert(AppDO appDO, Map<Long, DimensionResp> dimensionMap,
|
||||
Map<Long, MetricResp> metricMap, User user) {
|
||||
AppResp app = new AppResp();
|
||||
BeanMapper.mapper(appDO, app);
|
||||
AppConfig appConfig = JSONObject.parseObject(appDO.getConfig(), AppConfig.class);
|
||||
fillItemName(appConfig, dimensionMap, metricMap);
|
||||
app.setConfig(appConfig);
|
||||
app.setAppStatus(AppStatusEnum.fromCode(appDO.getStatus()));
|
||||
app.setHasAdminRes(hasAuth(appDO, user));
|
||||
return app;
|
||||
}
|
||||
|
||||
private AppDetailResp convertDetail(AppDO appDO) {
|
||||
return convertDetail(appDO, new HashMap<>(), new HashMap<>());
|
||||
}
|
||||
|
||||
private AppDetailResp convertDetail(AppDO appDO, Map<Long, DimensionResp> dimensionMap,
|
||||
Map<Long, MetricResp> metricMap) {
|
||||
AppDetailResp app = new AppDetailResp();
|
||||
BeanMapper.mapper(appDO, app);
|
||||
AppConfig appConfig = JSONObject.parseObject(appDO.getConfig(), AppConfig.class);
|
||||
fillItemName(appConfig, dimensionMap, metricMap);
|
||||
app.setConfig(appConfig);
|
||||
app.setAppStatus(AppStatusEnum.fromCode(appDO.getStatus()));
|
||||
return app;
|
||||
}
|
||||
|
||||
private void fillItemName(AppConfig appConfig, Map<Long, DimensionResp> dimensionMap,
|
||||
Map<Long, MetricResp> metricMap) {
|
||||
appConfig.getItems().forEach(metricItem -> {
|
||||
metricItem.setName(metricMap.getOrDefault(metricItem.getId(), new MetricResp()).getName());
|
||||
metricItem.setBizName(metricMap.getOrDefault(metricItem.getId(), new MetricResp()).getBizName());
|
||||
metricItem.setCreatedBy(metricMap.getOrDefault(metricItem.getId(), new MetricResp()).getCreatedBy());
|
||||
metricItem.getRelateItems().forEach(dimensionItem -> {
|
||||
dimensionItem.setName(dimensionMap.getOrDefault(dimensionItem.getId(), new DimensionResp()).getName());
|
||||
dimensionItem.setBizName(dimensionMap.getOrDefault(dimensionItem.getId(),
|
||||
new DimensionResp()).getBizName());
|
||||
dimensionItem.setCreatedBy(dimensionMap.getOrDefault(dimensionItem.getId(),
|
||||
new DimensionResp()).getCreatedBy());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private String getUniqueId() {
|
||||
return UUID.randomUUID().toString().replaceAll("_", "");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,14 +3,14 @@ package com.tencent.supersonic.headless.model.application;
|
||||
import com.tencent.supersonic.common.pojo.ItemDateResp;
|
||||
import com.tencent.supersonic.common.pojo.ModelRela;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.Catalog;
|
||||
import com.tencent.supersonic.headless.model.domain.DatabaseService;
|
||||
import com.tencent.supersonic.headless.model.domain.DimensionService;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.tencent.supersonic.headless.model.application;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.headless.api.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DatabaseService;
|
||||
import com.tencent.supersonic.headless.model.domain.ModelService;
|
||||
import com.tencent.supersonic.headless.model.domain.adaptor.engineadapter.EngineAdaptor;
|
||||
|
||||
@@ -15,15 +15,15 @@ import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
|
||||
import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
|
||||
import com.tencent.supersonic.common.util.ChatGptHelper;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.common.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DatabaseService;
|
||||
import com.tencent.supersonic.headless.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.headless.model.domain.ModelRelaService;
|
||||
|
||||
@@ -6,10 +6,10 @@ import com.tencent.supersonic.auth.api.authentication.service.UserService;
|
||||
import com.tencent.supersonic.common.pojo.enums.AuthType;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.common.util.BeanMapper;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DomainService;
|
||||
import com.tencent.supersonic.headless.model.domain.ModelService;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.DomainDO;
|
||||
|
||||
@@ -15,16 +15,16 @@ import com.tencent.supersonic.common.pojo.enums.TypeEnums;
|
||||
import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
|
||||
import com.tencent.supersonic.common.util.BeanMapper;
|
||||
import com.tencent.supersonic.common.util.ChatGptHelper;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.MetricQueryDefaultConfig;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.MetricQueryDefaultConfig;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.model.domain.CollectService;
|
||||
import com.tencent.supersonic.headless.model.domain.DomainService;
|
||||
import com.tencent.supersonic.headless.model.domain.MetricService;
|
||||
|
||||
@@ -10,29 +10,29 @@ import com.tencent.supersonic.common.pojo.enums.EventType;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
|
||||
import com.tencent.supersonic.common.util.JsonUtil;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
|
||||
import com.tencent.supersonic.headless.api.model.request.DateInfoReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MeasureResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.RelateDimension;
|
||||
import com.tencent.supersonic.headless.common.model.request.DateInfoReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.ModelSchemaFilterReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MeasureResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.DatabaseService;
|
||||
import com.tencent.supersonic.headless.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.headless.model.domain.DomainService;
|
||||
@@ -116,11 +116,11 @@ public class ModelServiceImpl implements ModelService {
|
||||
@Transactional
|
||||
public ModelResp createModel(ModelReq modelReq, User user) throws Exception {
|
||||
checkName(modelReq);
|
||||
ModelDO datasourceDO = ModelConverter.convert(modelReq, user);
|
||||
modelRepository.createModel(datasourceDO);
|
||||
batchCreateDimension(datasourceDO, user);
|
||||
batchCreateMetric(datasourceDO, user);
|
||||
return ModelConverter.convert(datasourceDO);
|
||||
ModelDO modelDO = ModelConverter.convert(modelReq, user);
|
||||
modelRepository.createModel(modelDO);
|
||||
batchCreateDimension(modelDO, user);
|
||||
batchCreateMetric(modelDO, user);
|
||||
return ModelConverter.convert(modelDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,11 +4,11 @@ package com.tencent.supersonic.headless.model.application;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.pojo.enums.AuthType;
|
||||
import com.tencent.supersonic.headless.api.model.request.ViewInfoReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelSchemaRelaResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.ViewInfoReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelSchemaRelaResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.headless.model.domain.MetricService;
|
||||
import com.tencent.supersonic.headless.model.domain.ModelService;
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
package com.tencent.supersonic.headless.model.domain;
|
||||
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.headless.api.model.request.AppQueryReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.AppReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.AppDetailResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.AppResp;
|
||||
|
||||
public interface AppService {
|
||||
|
||||
AppDetailResp save(AppReq app, User user);
|
||||
|
||||
AppDetailResp update(AppReq app, User user);
|
||||
|
||||
void online(Integer id, User user);
|
||||
|
||||
void offline(Integer id, User user);
|
||||
|
||||
void delete(Integer id, User user);
|
||||
|
||||
PageInfo<AppResp> pageApp(AppQueryReq appQueryReq, User user);
|
||||
|
||||
AppDetailResp getApp(Integer id, User user);
|
||||
|
||||
AppDetailResp getApp(Integer id);
|
||||
}
|
||||
@@ -2,14 +2,14 @@ package com.tencent.supersonic.headless.model.domain;
|
||||
|
||||
import com.tencent.supersonic.common.pojo.ItemDateResp;
|
||||
import com.tencent.supersonic.common.pojo.ModelRela;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MetricYamlTpl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.tencent.supersonic.headless.model.domain;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.headless.api.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@ import com.github.pagehelper.PageInfo;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.pojo.DataItem;
|
||||
import com.tencent.supersonic.common.pojo.enums.EventType;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.common.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -2,9 +2,9 @@ package com.tencent.supersonic.headless.model.domain;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.pojo.enums.AuthType;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DomainResp;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -4,12 +4,12 @@ import com.github.pagehelper.PageInfo;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.pojo.DataItem;
|
||||
import com.tencent.supersonic.common.pojo.enums.EventType;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.MetricQueryDefaultConfig;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.MetricQueryDefaultConfig;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -3,17 +3,17 @@ package com.tencent.supersonic.headless.model.domain;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.pojo.ItemDateResp;
|
||||
import com.tencent.supersonic.common.pojo.enums.AuthType;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MeasureResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.ModelSchemaFilterReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MeasureResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.ModelFilter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package com.tencent.supersonic.headless.model.domain.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName("s2_app")
|
||||
public class AppDO {
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String description;
|
||||
|
||||
private String config;
|
||||
|
||||
private Date endDate;
|
||||
|
||||
private Integer qps;
|
||||
|
||||
private String owner;
|
||||
|
||||
private Integer status;
|
||||
|
||||
private String appSecret;
|
||||
|
||||
private String createdBy;
|
||||
|
||||
private String updatedBy;
|
||||
|
||||
private Date createdAt;
|
||||
|
||||
private Date updatedAt;
|
||||
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
package com.tencent.supersonic.headless.model.domain.manager;
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionTimeTypeParamsTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.IdentifyYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MeasureYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.enums.ModelSourceTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DataModelYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionTimeTypeParamsTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.IdentifyYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MeasureYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.Datasource;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.DatasourceQueryEnum;
|
||||
import com.tencent.supersonic.headless.model.domain.adaptor.engineadapter.EngineAdaptor;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.tencent.supersonic.headless.model.domain.manager;
|
||||
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.Dimension;
|
||||
import com.tencent.supersonic.headless.model.domain.utils.DimensionConverter;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.tencent.supersonic.headless.model.domain.manager;
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.Metric;
|
||||
import com.tencent.supersonic.headless.model.domain.utils.MetricConverter;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.tencent.supersonic.headless.model.domain.pojo;
|
||||
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package com.tencent.supersonic.headless.model.domain.pojo;
|
||||
|
||||
|
||||
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.tencent.supersonic.headless.model.domain.pojo;
|
||||
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Entity;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Entity;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainReq;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
@@ -6,8 +6,8 @@ import com.alibaba.druid.filter.Filter;
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.wall.WallConfig;
|
||||
import com.alibaba.druid.wall.WallFilter;
|
||||
import com.tencent.supersonic.headless.api.model.enums.DataTypeEnum;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.enums.DataTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.model.domain.utils.JdbcDataSourceUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.tencent.supersonic.headless.model.domain.pojo;
|
||||
|
||||
import com.tencent.supersonic.common.pojo.DataFormat;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.RelateDimension;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.tencent.supersonic.headless.model.domain.pojo;
|
||||
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Entity;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Entity;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.SchemaItem;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.tencent.supersonic.headless.model.domain.repository;
|
||||
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.api.model.request.DateInfoReq;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.common.model.request.DateInfoReq;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.DateInfoDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.tencent.supersonic.headless.model.domain.utils;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.tencent.supersonic.headless.api.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.DatabaseDO;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.ConnectInfo;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.Database;
|
||||
|
||||
@@ -5,11 +5,11 @@ import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.common.util.BeanMapper;
|
||||
import com.tencent.supersonic.common.util.JsonUtil;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.common.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.DimensionYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.DimensionDO;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.Dimension;
|
||||
import org.apache.logging.log4j.util.Strings;
|
||||
|
||||
@@ -3,10 +3,10 @@ package com.tencent.supersonic.headless.model.domain.utils;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.DomainDO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
@@ -10,8 +10,8 @@ import static com.tencent.supersonic.common.pojo.Constants.PATTERN_JDBC_TYPE;
|
||||
import static com.tencent.supersonic.common.pojo.Constants.SPACE;
|
||||
|
||||
import com.alibaba.druid.util.StringUtils;
|
||||
import com.tencent.supersonic.headless.api.model.enums.DataTypeEnum;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.enums.DataTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.common.util.MD5Util;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.Database;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.JdbcDataSource;
|
||||
|
||||
@@ -5,15 +5,15 @@ import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.common.pojo.DataFormat;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.common.util.BeanMapper;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MeasureYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MetricTypeParamsYamlTpl;
|
||||
import com.tencent.supersonic.headless.api.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.RelateDimension;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MeasureYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MetricTypeParamsYamlTpl;
|
||||
import com.tencent.supersonic.headless.common.model.yaml.MetricYamlTpl;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.MetricDO;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.Metric;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
@@ -6,19 +6,22 @@ import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.common.util.BeanMapper;
|
||||
import com.tencent.supersonic.common.util.JsonUtil;
|
||||
import com.tencent.supersonic.headless.api.model.enums.MetricTypeEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.MeasureResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.enums.DimensionTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.enums.IdentifyTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.enums.MetricTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.enums.SemanticTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.MetricTypeParams;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.common.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.MeasureResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.ModelDO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -74,6 +77,9 @@ public class ModelConverter {
|
||||
public static ModelDO convert(ModelDO modelDO, ModelReq modelReq, User user) {
|
||||
ModelDetail modelDetail = getModelDetail(modelReq);
|
||||
BeanMapper.mapper(modelReq, modelDO);
|
||||
if (modelReq.getDrillDownDimensions() != null) {
|
||||
modelDO.setDrillDownDimensions(JSONObject.toJSONString(modelReq.getDrillDownDimensions()));
|
||||
}
|
||||
modelDO.setModelDetail(JSONObject.toJSONString((modelDetail)));
|
||||
modelDO.setUpdatedBy(user.getName());
|
||||
modelDO.setUpdatedAt(new Date());
|
||||
@@ -95,10 +101,10 @@ public class ModelConverter {
|
||||
dimensionReq.setName(dim.getName());
|
||||
dimensionReq.setBizName(dim.getBizName());
|
||||
dimensionReq.setDescription(dim.getName());
|
||||
dimensionReq.setSemanticType("CATEGORY");
|
||||
dimensionReq.setSemanticType(SemanticTypeEnum.CATEGORY.name());
|
||||
dimensionReq.setModelId(modelDO.getId());
|
||||
dimensionReq.setExpr(dim.getBizName());
|
||||
dimensionReq.setType("categorical");
|
||||
dimensionReq.setType(DimensionTypeEnum.categorical.name());
|
||||
dimensionReq.setDescription(Objects.isNull(dim.getDescription()) ? "" : dim.getDescription());
|
||||
dimensionReq.setIsTag(dim.getIsTag());
|
||||
return dimensionReq;
|
||||
@@ -123,7 +129,7 @@ public class ModelConverter {
|
||||
dimensionReq.setName(identify.getName());
|
||||
dimensionReq.setBizName(identify.getBizName());
|
||||
dimensionReq.setDescription(identify.getName());
|
||||
dimensionReq.setSemanticType("CATEGORY");
|
||||
dimensionReq.setSemanticType(SemanticTypeEnum.CATEGORY.name());
|
||||
dimensionReq.setModelId(modelDO.getId());
|
||||
dimensionReq.setExpr(identify.getBizName());
|
||||
dimensionReq.setType(identify.getType());
|
||||
@@ -141,7 +147,7 @@ public class ModelConverter {
|
||||
private static boolean isCreateDimension(Dim dim) {
|
||||
return dim.getIsCreateDimension() == 1
|
||||
&& StringUtils.isNotBlank(dim.getName())
|
||||
&& !dim.getType().equalsIgnoreCase("time");
|
||||
&& !dim.getType().equalsIgnoreCase(DimensionTypeEnum.time.name());
|
||||
}
|
||||
|
||||
private static boolean isCreateMetric(Measure measure) {
|
||||
@@ -175,7 +181,7 @@ public class ModelConverter {
|
||||
return dimensionReqs;
|
||||
}
|
||||
dimensionReqs.addAll(identifies.stream()
|
||||
.filter(i -> i.getType().equalsIgnoreCase("primary"))
|
||||
.filter(i -> i.getType().equalsIgnoreCase(IdentifyTypeEnum.primary.name()))
|
||||
.filter(i -> StringUtils.isNotBlank(i.getName()))
|
||||
.map(identify -> convert(identify, modelDO)).collect(Collectors.toList()));
|
||||
return dimensionReqs;
|
||||
@@ -196,17 +202,18 @@ public class ModelConverter {
|
||||
BeanMapper.mapper(modelReq.getModelDetail(), modelDetail);
|
||||
List<Measure> measures = modelDetail.getMeasures();
|
||||
for (Measure measure : measures) {
|
||||
if (StringUtils.isBlank(measure.getExpr())) {
|
||||
measure.setExpr(measure.getBizName());
|
||||
if (StringUtils.isBlank(measure.getBizName())) {
|
||||
continue;
|
||||
}
|
||||
if (StringUtils.isBlank(measure.getConstraint())) {
|
||||
measure.setConstraint(null);
|
||||
//Compatible with front-end tmp
|
||||
String oriFieldName = measure.getBizName()
|
||||
.replaceFirst(modelReq.getBizName() + "_", "");
|
||||
measure.setExpr(oriFieldName);
|
||||
if (!measure.getBizName().startsWith(modelReq.getBizName())) {
|
||||
measure.setBizName(String.format("%s_%s", modelReq.getBizName(), oriFieldName));
|
||||
}
|
||||
if (StringUtils.isBlank(measure.getAlias())) {
|
||||
measure.setAlias(null);
|
||||
}
|
||||
measure.setBizName(String.format("%s_%s", modelReq.getBizName(), measure.getBizName()));
|
||||
}
|
||||
return modelDetail;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@ import static com.tencent.supersonic.common.pojo.Constants.AT_SYMBOL;
|
||||
|
||||
import com.tencent.supersonic.common.pojo.QueryColumn;
|
||||
import com.tencent.supersonic.common.util.DateUtils;
|
||||
import com.tencent.supersonic.headless.api.model.enums.DataTypeEnum;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.enums.DataTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.JdbcDataSource;
|
||||
import java.rmi.ServerException;
|
||||
import java.sql.Connection;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.tencent.supersonic.headless.model.domain.utils;
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.enums.DimensionTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.enums.DimensionTypeEnum;
|
||||
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DimensionTimeTypeParams;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DimensionTimeTypeParams;
|
||||
import com.tencent.supersonic.headless.model.domain.adaptor.engineadapter.EngineAdaptor;
|
||||
import java.util.List;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.tencent.supersonic.headless.model.infrastructure.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.AppDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface AppMapper extends BaseMapper<AppDO> {
|
||||
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.tencent.supersonic.headless.model.infrastructure.mapper;
|
||||
|
||||
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.DateInfoDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface DateInfoMapper {
|
||||
|
||||
@@ -3,22 +3,23 @@ package com.tencent.supersonic.headless.model.infrastructure.repository;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.api.model.request.DateInfoReq;
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ItemDateFilter;
|
||||
import com.tencent.supersonic.headless.common.model.request.DateInfoReq;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.DateInfoDO;
|
||||
import com.tencent.supersonic.headless.model.domain.repository.DateInfoRepository;
|
||||
import com.tencent.supersonic.headless.model.infrastructure.mapper.DateInfoMapper;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Slf4j
|
||||
@Repository
|
||||
public class DateInfoRepositoryImpl implements DateInfoRepository {
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
package com.tencent.supersonic.headless.model.rest;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
|
||||
import com.tencent.supersonic.headless.api.model.request.AppQueryReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.AppReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.AppDetailResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.AppResp;
|
||||
import com.tencent.supersonic.headless.model.domain.AppService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/semantic/app")
|
||||
public class AppController {
|
||||
|
||||
@Autowired
|
||||
private AppService appService;
|
||||
|
||||
@PostMapping
|
||||
public boolean save(@RequestBody AppReq app,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
User user = UserHolder.findUser(request, response);
|
||||
appService.save(app, user);
|
||||
return true;
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public boolean update(@RequestBody AppReq app,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
User user = UserHolder.findUser(request, response);
|
||||
appService.update(app, user);
|
||||
return true;
|
||||
}
|
||||
|
||||
@PutMapping("/online/{id}")
|
||||
public boolean online(@PathVariable("id") Integer id,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
User user = UserHolder.findUser(request, response);
|
||||
appService.online(id, user);
|
||||
return true;
|
||||
}
|
||||
|
||||
@PutMapping("/offline/{id}")
|
||||
public boolean offline(@PathVariable("id") Integer id,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
User user = UserHolder.findUser(request, response);
|
||||
appService.offline(id, user);
|
||||
return true;
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public boolean delete(@PathVariable("id") Integer id,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
User user = UserHolder.findUser(request, response);
|
||||
appService.delete(id, user);
|
||||
return true;
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public AppDetailResp getApp(@PathVariable("id") Integer id,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
User user = UserHolder.findUser(request, response);
|
||||
return appService.getApp(id, user);
|
||||
}
|
||||
|
||||
@PostMapping("/page")
|
||||
public PageInfo<AppResp> pageApp(@RequestBody AppQueryReq appQueryReq,
|
||||
HttpServletRequest request, HttpServletResponse response) {
|
||||
User user = UserHolder.findUser(request, response);
|
||||
return appService.pageApp(appQueryReq, user);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,10 +2,10 @@ package com.tencent.supersonic.headless.model.rest;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
|
||||
import com.tencent.supersonic.headless.api.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.SqlExecuteReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DatabaseReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.SqlExecuteReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.QueryResultWithSchemaResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DatabaseService;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@@ -5,11 +5,11 @@ import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
|
||||
import com.tencent.supersonic.common.pojo.enums.SensitiveLevelEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.api.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DimValueMap;
|
||||
import com.tencent.supersonic.headless.common.model.request.DimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.PageDimensionReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.DimensionFilter;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
|
||||
|
||||
@@ -2,9 +2,9 @@ package com.tencent.supersonic.headless.model.rest;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.DomainUpdateReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DomainResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DomainService;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -6,12 +6,12 @@ import com.google.common.collect.Lists;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
|
||||
import com.tencent.supersonic.common.pojo.enums.SensitiveLevelEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.MetricQueryDefaultConfig;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DrillDownDimension;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.MetricQueryDefaultConfig;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.PageMetricReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.MetricResp;
|
||||
import com.tencent.supersonic.headless.model.domain.MetricService;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.MetricFilter;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
|
||||
|
||||
@@ -3,10 +3,10 @@ package com.tencent.supersonic.headless.model.rest;
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
|
||||
import com.tencent.supersonic.common.pojo.enums.AuthType;
|
||||
import com.tencent.supersonic.headless.api.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.api.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.MetaBatchReq;
|
||||
import com.tencent.supersonic.headless.common.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.DatabaseResp;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.model.domain.ModelService;
|
||||
import com.tencent.supersonic.headless.model.domain.pojo.ModelFilter;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@@ -3,8 +3,8 @@ package com.tencent.supersonic.headless.model.rest;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
|
||||
import com.tencent.supersonic.headless.api.model.request.ViewInfoReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelSchemaRelaResp;
|
||||
import com.tencent.supersonic.headless.common.model.request.ViewInfoReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelSchemaRelaResp;
|
||||
import com.tencent.supersonic.headless.model.domain.dataobject.ViewInfoDO;
|
||||
import com.tencent.supersonic.headless.model.application.ViewInfoServiceImpl;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
|
||||
@@ -5,15 +5,15 @@ import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.auth.api.authentication.service.UserService;
|
||||
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
|
||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||
import com.tencent.supersonic.headless.api.model.enums.DimensionTypeEnum;
|
||||
import com.tencent.supersonic.headless.api.model.enums.IdentifyTypeEnum;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.DimensionTimeTypeParams;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.api.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.api.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.common.model.enums.DimensionTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.enums.IdentifyTypeEnum;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Dim;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.DimensionTimeTypeParams;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Identify;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.Measure;
|
||||
import com.tencent.supersonic.headless.common.model.pojo.ModelDetail;
|
||||
import com.tencent.supersonic.headless.common.model.request.ModelReq;
|
||||
import com.tencent.supersonic.headless.common.model.response.ModelResp;
|
||||
import com.tencent.supersonic.headless.model.domain.DatabaseService;
|
||||
import com.tencent.supersonic.headless.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.headless.model.domain.DomainService;
|
||||
|
||||
Reference in New Issue
Block a user