(improvement)(chat) show case filter by user name (#245)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2023-10-17 17:52:27 +08:00
committed by GitHub
parent a9bb1c1f68
commit 968d50e071
6 changed files with 19 additions and 18 deletions

View File

@@ -7,6 +7,6 @@ import java.util.List;
@Mapper
public interface ShowCaseCustomMapper {
List<ChatQueryDO> queryShowCase(int start, int limit, int agentId);
List<ChatQueryDO> queryShowCase(int start, int limit, int agentId, String userName);
}

View File

@@ -78,9 +78,10 @@ public class ChatQueryRepositoryImpl implements ChatQueryRepository {
}
@Override
public List<QueryResp> queryShowCase(PageQueryInfoReq pageQueryInfoCommend, int agentId) {
return showCaseCustomMapper.queryShowCase(pageQueryInfoCommend.getCurrent(),
pageQueryInfoCommend.getPageSize(), agentId).stream().map(this::convertTo)
public List<QueryResp> queryShowCase(PageQueryInfoReq pageQueryInfoReq, int agentId) {
return showCaseCustomMapper.queryShowCase(pageQueryInfoReq.getCurrent(),
pageQueryInfoReq.getPageSize(), agentId, pageQueryInfoReq.getUserName())
.stream().map(this::convertTo)
.collect(Collectors.toList());
}

View File

@@ -137,14 +137,14 @@ public class ChatServiceImpl implements ChatService {
}
@Override
public ShowCaseResp queryShowCase(PageQueryInfoReq pageQueryInfoCommend, int agentId) {
public ShowCaseResp queryShowCase(PageQueryInfoReq pageQueryInfoReq, int agentId) {
ShowCaseResp showCaseResp = new ShowCaseResp();
List<QueryResp> queryResps = chatQueryRepository.queryShowCase(pageQueryInfoCommend, agentId);
List<QueryResp> queryResps = chatQueryRepository.queryShowCase(pageQueryInfoReq, agentId);
Map<Long, List<QueryResp>> showCaseMap = queryResps.stream()
.collect(Collectors.groupingBy(QueryResp::getChatId));
showCaseResp.setShowCaseMap(showCaseMap);
showCaseResp.setCurrent(pageQueryInfoCommend.getCurrent());
showCaseResp.setPageSize(pageQueryInfoCommend.getPageSize());
showCaseResp.setCurrent(pageQueryInfoReq.getCurrent());
showCaseResp.setPageSize(pageQueryInfoReq.getPageSize());
return showCaseResp;
}

View File

@@ -60,6 +60,9 @@
select distinct chat_id
from s2_chat_query
where query_state = 1 and agent_id = ${agentId}
<if test="userName != null and userName != ''">
and user_name = #{userName}
</if>
order by chat_id desc
limit #{start}, #{limit}
) q2

View File

@@ -41,19 +41,21 @@ public class DatabaseServiceImpl implements DatabaseService {
@Override
public boolean testConnect(DatabaseReq databaseReq, User user) {
Database database = DatabaseConverter.convert(databaseReq, user);
Database database = DatabaseConverter.convert(databaseReq);
return JdbcDataSourceUtils.testDatabase(database);
}
@Override
public DatabaseResp createOrUpdateDatabase(DatabaseReq databaseReq, User user) {
Database database = DatabaseConverter.convert(databaseReq, user);
Database database = DatabaseConverter.convert(databaseReq);
DatabaseDO databaseDO = getDatabaseDO(databaseReq.getId());
if (databaseDO != null) {
database.updatedBy(user.getName());
DatabaseConverter.convert(database, databaseDO);
databaseRepository.updateDatabase(databaseDO);
return DatabaseConverter.convert(databaseDO);
}
database.createdBy(user.getName());
databaseDO = DatabaseConverter.convert(database);
databaseRepository.createDatabase(databaseDO);
return DatabaseConverter.convert(databaseDO);

View File

@@ -1,21 +1,18 @@
package com.tencent.supersonic.semantic.model.domain.utils;
import com.alibaba.fastjson.JSONObject;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.semantic.api.model.request.DatabaseReq;
import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
import com.tencent.supersonic.semantic.model.domain.dataobject.DatabaseDO;
import com.tencent.supersonic.semantic.model.domain.pojo.ConnectInfo;
import com.tencent.supersonic.semantic.model.domain.pojo.Database;
import java.util.Arrays;
import java.util.Date;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
public class DatabaseConverter {
public static Database convert(DatabaseReq databaseReq, User user) {
public static Database convert(DatabaseReq databaseReq) {
Database database = new Database();
BeanUtils.copyProperties(databaseReq, database);
ConnectInfo connectInfo = new ConnectInfo();
@@ -24,16 +21,14 @@ public class DatabaseConverter {
connectInfo.setUrl(databaseReq.getUrl());
connectInfo.setDatabase(databaseReq.getDatabase());
database.setConnectInfo(connectInfo);
database.setCreatedAt(new Date());
database.setCreatedBy(user.getName());
database.setUpdatedAt(new Date());
database.setUpdatedBy(user.getName());
database.setVersion(databaseReq.getVersion());
return database;
}
public static DatabaseDO convert(Database database, DatabaseDO databaseDO) {
database.setId(databaseDO.getId());
database.setCreatedBy(databaseDO.getCreatedBy());
database.setCreatedAt(databaseDO.getCreatedAt());
BeanUtils.copyProperties(database, databaseDO);
databaseDO.setConfig(JSONObject.toJSONString(database.getConnectInfo()));
databaseDO.setAdmin(String.join(",", database.getAdmins()));