Commit 5a3353da authored by alex yao's avatar alex yao

feat:关闭对话[批量]

parent fa9af058
......@@ -29,4 +29,9 @@ public interface BizAgentApplicationDialoguesRecordService extends BaseService {
*/
List<MemberDialoguesQueryItem> memberDialoguesQuery(Long memberId, PagingInfo pagingInfo);
/**
* 批量删除会话记录
*/
boolean batchDeleteByDialogueId(List<String> dialogueIds);
}
\ No newline at end of file
package cn.com.poc.agent_application.service.impl;
package cn.com.poc.agent_application.service.impl;
import cn.com.poc.agent_application.query.MemberDialoguesQueryCondition;
import cn.com.poc.agent_application.query.MemberDialoguesQueryItem;
import cn.com.poc.common.constant.CommonConstant;
import cn.com.yict.framemax.core.service.impl.BaseServiceImpl;
import cn.com.poc.agent_application.service.BizAgentApplicationDialoguesRecordService;
import cn.com.poc.agent_application.model.BizAgentApplicationDialoguesRecordModel;
......@@ -12,107 +13,109 @@ import cn.com.yict.framemax.data.model.PagingInfo;
import org.springframework.stereotype.Service;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.stream.Collectors;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.util.Assert;
@Service
public class BizAgentApplicationDialoguesRecordServiceImpl extends BaseServiceImpl
implements BizAgentApplicationDialoguesRecordService {
@Resource
private BizAgentApplicationDialoguesRecordRepository repository;
public BizAgentApplicationDialoguesRecordEntity get(java.lang.Long id) throws Exception{
implements BizAgentApplicationDialoguesRecordService {
@Resource
private BizAgentApplicationDialoguesRecordRepository repository;
public BizAgentApplicationDialoguesRecordEntity get(java.lang.Long id) throws Exception {
Assert.notNull(id);
BizAgentApplicationDialoguesRecordModel model = this.repository.get(id);
if (model == null){
BizAgentApplicationDialoguesRecordModel model = this.repository.get(id);
if (model == null) {
return null;
}
if ("Y".equals(model.getIsDeleted())){
if ("Y".equals(model.getIsDeleted())) {
return null;
}
return BizAgentApplicationDialoguesRecordConvert.modelToEntity(model);
}
}
public List<BizAgentApplicationDialoguesRecordEntity> findByExample(BizAgentApplicationDialoguesRecordEntity example,PagingInfo pagingInfo) throws Exception{
List<BizAgentApplicationDialoguesRecordEntity> result = new ArrayList<BizAgentApplicationDialoguesRecordEntity>();
public List<BizAgentApplicationDialoguesRecordEntity> findByExample(BizAgentApplicationDialoguesRecordEntity example, PagingInfo pagingInfo) throws Exception {
List<BizAgentApplicationDialoguesRecordEntity> result = new ArrayList<BizAgentApplicationDialoguesRecordEntity>();
BizAgentApplicationDialoguesRecordModel model = new BizAgentApplicationDialoguesRecordModel();
if (example != null){
if (example != null) {
model = BizAgentApplicationDialoguesRecordConvert.entityToModel(example);
}
model.setIsDeleted("N");
List<BizAgentApplicationDialoguesRecordModel> models = this.repository.findByExample(model,"timestamp asc",pagingInfo);
List<BizAgentApplicationDialoguesRecordModel> models = this.repository.findByExample(model, "timestamp asc", pagingInfo);
if (CollectionUtils.isNotEmpty(models)) {
result = models.stream().map(BizAgentApplicationDialoguesRecordConvert::modelToEntity).collect(Collectors.toList());
}
return result;
}
public BizAgentApplicationDialoguesRecordEntity save(BizAgentApplicationDialoguesRecordEntity entity) throws Exception{
public BizAgentApplicationDialoguesRecordEntity save(BizAgentApplicationDialoguesRecordEntity entity) throws Exception {
Assert.notNull(entity);
entity.setId(null);
entity.setIsDeleted("N");
BizAgentApplicationDialoguesRecordModel model = BizAgentApplicationDialoguesRecordConvert.entityToModel(entity);
BizAgentApplicationDialoguesRecordModel saveModel = this.repository.save(model);
BizAgentApplicationDialoguesRecordModel saveModel = this.repository.save(model);
return BizAgentApplicationDialoguesRecordConvert.modelToEntity(saveModel);
}
public BizAgentApplicationDialoguesRecordEntity update(BizAgentApplicationDialoguesRecordEntity entity) throws Exception{
public BizAgentApplicationDialoguesRecordEntity update(BizAgentApplicationDialoguesRecordEntity entity) throws Exception {
Assert.notNull(entity);
Assert.notNull(entity.getId(),"update pk can not be null");
Assert.notNull(entity.getId(), "update pk can not be null");
BizAgentApplicationDialoguesRecordModel model = this.repository.get(entity.getId());
if (entity.getRole() != null){
model.setRole(entity.getRole());
}
if (entity.getAgentId() != null){
model.setAgentId(entity.getAgentId());
}
if (entity.getMemberId() != null){
model.setMemberId(entity.getMemberId());
}
if (entity.getContent() != null){
model.setContent(entity.getContent());
}
if (entity.getTimestamp() != null){
model.setTimestamp(entity.getTimestamp());
}
if (entity.getIsDeleted() != null){
model.setIsDeleted(entity.getIsDeleted());
}
if (entity.getCreator() != null){
model.setCreator(entity.getCreator());
}
if (entity.getCreatedTime() != null){
model.setCreatedTime(entity.getCreatedTime());
}
if (entity.getModifier() != null){
model.setModifier(entity.getModifier());
}
if (entity.getModifiedTime() != null){
model.setModifiedTime(entity.getModifiedTime());
}
if (entity.getSysVersion() != null){
model.setSysVersion(entity.getSysVersion());
}
BizAgentApplicationDialoguesRecordModel saveModel = this.repository.save(model);
if (entity.getRole() != null) {
model.setRole(entity.getRole());
}
if (entity.getAgentId() != null) {
model.setAgentId(entity.getAgentId());
}
if (entity.getMemberId() != null) {
model.setMemberId(entity.getMemberId());
}
if (entity.getContent() != null) {
model.setContent(entity.getContent());
}
if (entity.getTimestamp() != null) {
model.setTimestamp(entity.getTimestamp());
}
if (entity.getIsDeleted() != null) {
model.setIsDeleted(entity.getIsDeleted());
}
if (entity.getCreator() != null) {
model.setCreator(entity.getCreator());
}
if (entity.getCreatedTime() != null) {
model.setCreatedTime(entity.getCreatedTime());
}
if (entity.getModifier() != null) {
model.setModifier(entity.getModifier());
}
if (entity.getModifiedTime() != null) {
model.setModifiedTime(entity.getModifiedTime());
}
if (entity.getSysVersion() != null) {
model.setSysVersion(entity.getSysVersion());
}
BizAgentApplicationDialoguesRecordModel saveModel = this.repository.save(model);
return BizAgentApplicationDialoguesRecordConvert.modelToEntity(saveModel);
}
public void deletedById(java.lang.Long id) throws Exception{
public void deletedById(java.lang.Long id) throws Exception {
Assert.notNull(id);
BizAgentApplicationDialoguesRecordModel model = this.repository.get(id);
if (model != null){
if ("N".equals(model.getIsDeleted())){
BizAgentApplicationDialoguesRecordModel model = this.repository.get(id);
if (model != null) {
if ("N".equals(model.getIsDeleted())) {
model.setIsDeleted("Y");
this.repository.save(model);
}
}
}
}
}
@Override
public List<BizAgentApplicationDialoguesRecordEntity> getRecord(String agentId, Integer turn) {
......@@ -123,6 +126,25 @@ public class BizAgentApplicationDialoguesRecordServiceImpl extends BaseServiceIm
public List<MemberDialoguesQueryItem> memberDialoguesQuery(Long memberId, PagingInfo pagingInfo) {
MemberDialoguesQueryCondition condition = new MemberDialoguesQueryCondition();
condition.setMemberId(memberId);
return this.sqlDao.query(condition, MemberDialoguesQueryItem.class,pagingInfo);
return this.sqlDao.query(condition, MemberDialoguesQueryItem.class, pagingInfo);
}
@Override
public boolean batchDeleteByDialogueId(List<String> dialogueIds) {
Assert.notEmpty(dialogueIds);
List<BizAgentApplicationDialoguesRecordModel> delModels = new ArrayList<>();
for (String dialogueId : dialogueIds) {
BizAgentApplicationDialoguesRecordModel model = new BizAgentApplicationDialoguesRecordModel();
model.setDialogsId(dialogueId);
model.setIsDeleted(CommonConstant.IsDeleted.N);
List<BizAgentApplicationDialoguesRecordModel> models = this.repository.findByExample(model);
if (CollectionUtils.isNotEmpty(models)) {
model = models.get(0);
model.setIsDeleted(CommonConstant.IsDeleted.Y);
delModels.add(model);
}
}
this.repository.saveAll(delModels);
return true;
}
}
\ No newline at end of file
......@@ -58,6 +58,11 @@ public interface AgentApplicationRest extends BaseRest {
*/
void closeDialogues(@RequestParam String dialogueId) throws Exception;
/**
* 关闭对话[批量]
*/
void batchCloseDialogues(@RequestBody List<String> dialogueIds);
/**
* 获取对话上下文
*/
......
......@@ -138,6 +138,11 @@ public class AgentApplicationRestImpl implements AgentApplicationRest {
}
}
@Override
public void batchCloseDialogues(List<String> dialogueIds) {
bizAgentApplicationDialoguesRecordService.batchDeleteByDialogueId(dialogueIds);
}
@Override
public List<DialoguesContextDto> getDialogueContext(String dialogueId) throws Exception {
Assert.notBlank(dialogueId, "对话ID不能为空");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment