(improvement)(headless) Batch Update dimension sensitiveLevel (#1275)

Co-authored-by: lxwcodemonkey
This commit is contained in:
LXW
2024-06-28 21:07:32 +08:00
committed by GitHub
parent e939869348
commit af0fe6d1b1
5 changed files with 38 additions and 8 deletions

View File

@@ -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());
} }
} }

View File

@@ -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,

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;