mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
(improvement)(headless) Batch Update dimension sensitiveLevel (#1275)
Co-authored-by: lxwcodemonkey
This commit is contained in:
@@ -14,6 +14,7 @@ import com.tencent.supersonic.headless.chat.query.llm.s2sql.LLMSqlQuery;
|
|||||||
import com.tencent.supersonic.headless.server.facade.service.ChatQueryService;
|
import com.tencent.supersonic.headless.server.facade.service.ChatQueryService;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
public class SqlExecutor implements ChatExecutor {
|
public class SqlExecutor implements ChatExecutor {
|
||||||
|
|
||||||
@@ -37,6 +38,8 @@ public class SqlExecutor implements ChatExecutor {
|
|||||||
.question(chatExecuteContext.getQueryText())
|
.question(chatExecuteContext.getQueryText())
|
||||||
.s2sql(chatExecuteContext.getParseInfo().getSqlInfo().getS2SQL())
|
.s2sql(chatExecuteContext.getParseInfo().getSqlInfo().getS2SQL())
|
||||||
.dbSchema(buildSchemaStr(chatExecuteContext.getParseInfo()))
|
.dbSchema(buildSchemaStr(chatExecuteContext.getParseInfo()))
|
||||||
|
.createdBy(chatExecuteContext.getUser().getName())
|
||||||
|
.createdAt(new Date())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,15 @@ public class DimensionController {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/batchUpdateSensitiveLevel")
|
||||||
|
public Boolean batchUpdateSensitiveLevel(@RequestBody MetaBatchReq metaBatchReq,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
User user = UserHolder.findUser(request, response);
|
||||||
|
dimensionService.batchUpdateSensitiveLevel(metaBatchReq, user);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/mockDimensionAlias")
|
@PostMapping("/mockDimensionAlias")
|
||||||
public List<String> mockMetricAlias(@RequestBody DimensionReq dimensionReq,
|
public List<String> mockMetricAlias(@RequestBody DimensionReq dimensionReq,
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
|
|||||||
@@ -34,6 +34,8 @@ public interface DimensionService {
|
|||||||
|
|
||||||
List<DimensionResp> queryDimensions(DimensionsFilter dimensionsFilter);
|
List<DimensionResp> queryDimensions(DimensionsFilter dimensionsFilter);
|
||||||
|
|
||||||
|
void batchUpdateSensitiveLevel(MetaBatchReq metaBatchReq, User user);
|
||||||
|
|
||||||
void deleteDimension(Long id, User user);
|
void deleteDimension(Long id, User user);
|
||||||
|
|
||||||
List<DimensionResp> getDimensionInModelCluster(Long modelId);
|
List<DimensionResp> getDimensionInModelCluster(Long modelId);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.tencent.supersonic.headless.server.web.service.impl;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.TypeReference;
|
import com.alibaba.fastjson.TypeReference;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
@@ -15,7 +16,6 @@ import com.tencent.supersonic.common.pojo.enums.EventType;
|
|||||||
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
|
||||||
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
|
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
|
||||||
import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
|
import com.tencent.supersonic.common.pojo.exception.InvalidArgumentException;
|
||||||
import com.tencent.supersonic.headless.server.utils.AliasGenerateHelper;
|
|
||||||
import com.tencent.supersonic.headless.api.pojo.DimValueMap;
|
import com.tencent.supersonic.headless.api.pojo.DimValueMap;
|
||||||
import com.tencent.supersonic.headless.api.pojo.ModelDetail;
|
import com.tencent.supersonic.headless.api.pojo.ModelDetail;
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType;
|
import com.tencent.supersonic.headless.api.pojo.enums.TagDefineType;
|
||||||
@@ -30,20 +30,22 @@ import com.tencent.supersonic.headless.api.pojo.response.SemanticQueryResp;
|
|||||||
import com.tencent.supersonic.headless.api.pojo.response.TagItem;
|
import com.tencent.supersonic.headless.api.pojo.response.TagItem;
|
||||||
import com.tencent.supersonic.headless.server.persistence.dataobject.DimensionDO;
|
import com.tencent.supersonic.headless.server.persistence.dataobject.DimensionDO;
|
||||||
import com.tencent.supersonic.headless.server.persistence.dataobject.TagDO;
|
import com.tencent.supersonic.headless.server.persistence.dataobject.TagDO;
|
||||||
|
import com.tencent.supersonic.headless.server.persistence.mapper.DimensionDOMapper;
|
||||||
import com.tencent.supersonic.headless.server.persistence.repository.DimensionRepository;
|
import com.tencent.supersonic.headless.server.persistence.repository.DimensionRepository;
|
||||||
import com.tencent.supersonic.headless.server.pojo.DimensionFilter;
|
import com.tencent.supersonic.headless.server.pojo.DimensionFilter;
|
||||||
import com.tencent.supersonic.headless.server.pojo.DimensionsFilter;
|
import com.tencent.supersonic.headless.server.pojo.DimensionsFilter;
|
||||||
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
|
import com.tencent.supersonic.headless.server.pojo.MetaFilter;
|
||||||
import com.tencent.supersonic.headless.server.pojo.ModelFilter;
|
import com.tencent.supersonic.headless.server.pojo.ModelFilter;
|
||||||
import com.tencent.supersonic.headless.server.pojo.TagFilter;
|
import com.tencent.supersonic.headless.server.pojo.TagFilter;
|
||||||
|
import com.tencent.supersonic.headless.server.utils.AliasGenerateHelper;
|
||||||
|
import com.tencent.supersonic.headless.server.utils.DimensionConverter;
|
||||||
|
import com.tencent.supersonic.headless.server.utils.NameCheckUtils;
|
||||||
import com.tencent.supersonic.headless.server.web.service.DataSetService;
|
import com.tencent.supersonic.headless.server.web.service.DataSetService;
|
||||||
import com.tencent.supersonic.headless.server.web.service.DatabaseService;
|
import com.tencent.supersonic.headless.server.web.service.DatabaseService;
|
||||||
import com.tencent.supersonic.headless.server.web.service.DimensionService;
|
import com.tencent.supersonic.headless.server.web.service.DimensionService;
|
||||||
import com.tencent.supersonic.headless.server.web.service.ModelRelaService;
|
import com.tencent.supersonic.headless.server.web.service.ModelRelaService;
|
||||||
import com.tencent.supersonic.headless.server.web.service.ModelService;
|
import com.tencent.supersonic.headless.server.web.service.ModelService;
|
||||||
import com.tencent.supersonic.headless.server.web.service.TagMetaService;
|
import com.tencent.supersonic.headless.server.web.service.TagMetaService;
|
||||||
import com.tencent.supersonic.headless.server.utils.DimensionConverter;
|
|
||||||
import com.tencent.supersonic.headless.server.utils.NameCheckUtils;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@@ -62,7 +64,8 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class DimensionServiceImpl implements DimensionService {
|
public class DimensionServiceImpl extends ServiceImpl<DimensionDOMapper, DimensionDO>
|
||||||
|
implements DimensionService {
|
||||||
|
|
||||||
|
|
||||||
private DimensionRepository dimensionRepository;
|
private DimensionRepository dimensionRepository;
|
||||||
@@ -177,6 +180,19 @@ public class DimensionServiceImpl implements DimensionService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void batchUpdateSensitiveLevel(MetaBatchReq metaBatchReq, User user) {
|
||||||
|
DimensionFilter metaFilter = new DimensionFilter();
|
||||||
|
metaFilter.setIds(metaBatchReq.getIds());
|
||||||
|
List<DimensionDO> dimensionDOS = queryDimension(metaFilter);
|
||||||
|
for (DimensionDO dimensionDO : dimensionDOS) {
|
||||||
|
dimensionDO.setUpdatedAt(new Date());
|
||||||
|
dimensionDO.setUpdatedBy(user.getName());
|
||||||
|
dimensionDO.setSensitiveLevel(metaBatchReq.getSensitiveLevel());
|
||||||
|
}
|
||||||
|
updateBatchById(dimensionDOS);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteDimension(Long id, User user) {
|
public void deleteDimension(Long id, User user) {
|
||||||
DimensionDO dimensionDO = dimensionRepository.getDimensionById(id);
|
DimensionDO dimensionDO = dimensionRepository.getDimensionById(id);
|
||||||
|
|||||||
@@ -147,10 +147,10 @@ CREATE TABLE IF NOT EXISTS `s2_chat_memory` (
|
|||||||
`llm_comment` TEXT COMMENT '大模型评估意见' ,
|
`llm_comment` TEXT COMMENT '大模型评估意见' ,
|
||||||
`human_review` char(10) COMMENT '管理员评估结果',
|
`human_review` char(10) COMMENT '管理员评估结果',
|
||||||
`human_comment` TEXT COMMENT '管理员评估意见',
|
`human_comment` TEXT COMMENT '管理员评估意见',
|
||||||
`created_at` datetime NOT NULL ,
|
`created_at` datetime DEFAULT NULL ,
|
||||||
`updated_at` datetime NOT NULL ,
|
`updated_at` datetime DEFAULT NULL ,
|
||||||
`created_by` varchar(100) NOT NULL ,
|
`created_by` varchar(100) DEFAULT NULL ,
|
||||||
`updated_by` varchar(100) NOT NULL ,
|
`updated_by` varchar(100) DEFAULT NULL ,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user