mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-13 13:07:32 +00:00
(improvement)(chat) show case filter by user name (#245)
Co-authored-by: jolunoluo
This commit is contained in:
@@ -7,6 +7,6 @@ import java.util.List;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface ShowCaseCustomMapper {
|
public interface ShowCaseCustomMapper {
|
||||||
|
|
||||||
List<ChatQueryDO> queryShowCase(int start, int limit, int agentId);
|
List<ChatQueryDO> queryShowCase(int start, int limit, int agentId, String userName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,9 +78,10 @@ public class ChatQueryRepositoryImpl implements ChatQueryRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QueryResp> queryShowCase(PageQueryInfoReq pageQueryInfoCommend, int agentId) {
|
public List<QueryResp> queryShowCase(PageQueryInfoReq pageQueryInfoReq, int agentId) {
|
||||||
return showCaseCustomMapper.queryShowCase(pageQueryInfoCommend.getCurrent(),
|
return showCaseCustomMapper.queryShowCase(pageQueryInfoReq.getCurrent(),
|
||||||
pageQueryInfoCommend.getPageSize(), agentId).stream().map(this::convertTo)
|
pageQueryInfoReq.getPageSize(), agentId, pageQueryInfoReq.getUserName())
|
||||||
|
.stream().map(this::convertTo)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -137,14 +137,14 @@ public class ChatServiceImpl implements ChatService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ShowCaseResp queryShowCase(PageQueryInfoReq pageQueryInfoCommend, int agentId) {
|
public ShowCaseResp queryShowCase(PageQueryInfoReq pageQueryInfoReq, int agentId) {
|
||||||
ShowCaseResp showCaseResp = new ShowCaseResp();
|
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()
|
Map<Long, List<QueryResp>> showCaseMap = queryResps.stream()
|
||||||
.collect(Collectors.groupingBy(QueryResp::getChatId));
|
.collect(Collectors.groupingBy(QueryResp::getChatId));
|
||||||
showCaseResp.setShowCaseMap(showCaseMap);
|
showCaseResp.setShowCaseMap(showCaseMap);
|
||||||
showCaseResp.setCurrent(pageQueryInfoCommend.getCurrent());
|
showCaseResp.setCurrent(pageQueryInfoReq.getCurrent());
|
||||||
showCaseResp.setPageSize(pageQueryInfoCommend.getPageSize());
|
showCaseResp.setPageSize(pageQueryInfoReq.getPageSize());
|
||||||
return showCaseResp;
|
return showCaseResp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,9 @@
|
|||||||
select distinct chat_id
|
select distinct chat_id
|
||||||
from s2_chat_query
|
from s2_chat_query
|
||||||
where query_state = 1 and agent_id = ${agentId}
|
where query_state = 1 and agent_id = ${agentId}
|
||||||
|
<if test="userName != null and userName != ''">
|
||||||
|
and user_name = #{userName}
|
||||||
|
</if>
|
||||||
order by chat_id desc
|
order by chat_id desc
|
||||||
limit #{start}, #{limit}
|
limit #{start}, #{limit}
|
||||||
) q2
|
) q2
|
||||||
|
|||||||
@@ -41,19 +41,21 @@ public class DatabaseServiceImpl implements DatabaseService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean testConnect(DatabaseReq databaseReq, User user) {
|
public boolean testConnect(DatabaseReq databaseReq, User user) {
|
||||||
Database database = DatabaseConverter.convert(databaseReq, user);
|
Database database = DatabaseConverter.convert(databaseReq);
|
||||||
return JdbcDataSourceUtils.testDatabase(database);
|
return JdbcDataSourceUtils.testDatabase(database);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DatabaseResp createOrUpdateDatabase(DatabaseReq databaseReq, User user) {
|
public DatabaseResp createOrUpdateDatabase(DatabaseReq databaseReq, User user) {
|
||||||
Database database = DatabaseConverter.convert(databaseReq, user);
|
Database database = DatabaseConverter.convert(databaseReq);
|
||||||
DatabaseDO databaseDO = getDatabaseDO(databaseReq.getId());
|
DatabaseDO databaseDO = getDatabaseDO(databaseReq.getId());
|
||||||
if (databaseDO != null) {
|
if (databaseDO != null) {
|
||||||
|
database.updatedBy(user.getName());
|
||||||
DatabaseConverter.convert(database, databaseDO);
|
DatabaseConverter.convert(database, databaseDO);
|
||||||
databaseRepository.updateDatabase(databaseDO);
|
databaseRepository.updateDatabase(databaseDO);
|
||||||
return DatabaseConverter.convert(databaseDO);
|
return DatabaseConverter.convert(databaseDO);
|
||||||
}
|
}
|
||||||
|
database.createdBy(user.getName());
|
||||||
databaseDO = DatabaseConverter.convert(database);
|
databaseDO = DatabaseConverter.convert(database);
|
||||||
databaseRepository.createDatabase(databaseDO);
|
databaseRepository.createDatabase(databaseDO);
|
||||||
return DatabaseConverter.convert(databaseDO);
|
return DatabaseConverter.convert(databaseDO);
|
||||||
|
|||||||
@@ -1,21 +1,18 @@
|
|||||||
package com.tencent.supersonic.semantic.model.domain.utils;
|
package com.tencent.supersonic.semantic.model.domain.utils;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
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.request.DatabaseReq;
|
||||||
import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
|
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.dataobject.DatabaseDO;
|
||||||
import com.tencent.supersonic.semantic.model.domain.pojo.ConnectInfo;
|
import com.tencent.supersonic.semantic.model.domain.pojo.ConnectInfo;
|
||||||
import com.tencent.supersonic.semantic.model.domain.pojo.Database;
|
import com.tencent.supersonic.semantic.model.domain.pojo.Database;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
||||||
public class DatabaseConverter {
|
public class DatabaseConverter {
|
||||||
|
|
||||||
|
|
||||||
public static Database convert(DatabaseReq databaseReq, User user) {
|
public static Database convert(DatabaseReq databaseReq) {
|
||||||
Database database = new Database();
|
Database database = new Database();
|
||||||
BeanUtils.copyProperties(databaseReq, database);
|
BeanUtils.copyProperties(databaseReq, database);
|
||||||
ConnectInfo connectInfo = new ConnectInfo();
|
ConnectInfo connectInfo = new ConnectInfo();
|
||||||
@@ -24,16 +21,14 @@ public class DatabaseConverter {
|
|||||||
connectInfo.setUrl(databaseReq.getUrl());
|
connectInfo.setUrl(databaseReq.getUrl());
|
||||||
connectInfo.setDatabase(databaseReq.getDatabase());
|
connectInfo.setDatabase(databaseReq.getDatabase());
|
||||||
database.setConnectInfo(connectInfo);
|
database.setConnectInfo(connectInfo);
|
||||||
database.setCreatedAt(new Date());
|
|
||||||
database.setCreatedBy(user.getName());
|
|
||||||
database.setUpdatedAt(new Date());
|
|
||||||
database.setUpdatedBy(user.getName());
|
|
||||||
database.setVersion(databaseReq.getVersion());
|
database.setVersion(databaseReq.getVersion());
|
||||||
return database;
|
return database;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DatabaseDO convert(Database database, DatabaseDO databaseDO) {
|
public static DatabaseDO convert(Database database, DatabaseDO databaseDO) {
|
||||||
database.setId(databaseDO.getId());
|
database.setId(databaseDO.getId());
|
||||||
|
database.setCreatedBy(databaseDO.getCreatedBy());
|
||||||
|
database.setCreatedAt(databaseDO.getCreatedAt());
|
||||||
BeanUtils.copyProperties(database, databaseDO);
|
BeanUtils.copyProperties(database, databaseDO);
|
||||||
databaseDO.setConfig(JSONObject.toJSONString(database.getConnectInfo()));
|
databaseDO.setConfig(JSONObject.toJSONString(database.getConnectInfo()));
|
||||||
databaseDO.setAdmin(String.join(",", database.getAdmins()));
|
databaseDO.setAdmin(String.join(",", database.getAdmins()));
|
||||||
|
|||||||
Reference in New Issue
Block a user