023/Chatbot
/Chatbot/Chatbot/src/main/java/com/tencent/chatbot/service/ChatBotService.java
package com.tencent.chatbot.service;
import com.tencent.chatbot.dto.request.ChatBotRequest;
import com.tencent.chatbot.dto.response.ChatBotResponse;
import com.tencent.chatbot.entity.ChatBotEntity;
/**
* @description: 聊天机器人服务接口
* @author: qwen
* @date: 2023/1/16
*/
public interface ChatBotService {
/**
* 获取聊天机器人实体
* @return 聊天机器人实体
*/
ChatBotEntity getChatBotEntity();
/**
* 聊天机器人请求
* @param request 请求信息
* @return 响应信息
*/
ChatBotResponse chatBotRequest(ChatBotRequest request);
}
/Chatbot/Chatbot/src/main/java/com/tencent/chatbot/service/impl/ChatBotServiceImpl.java
package com.tencent.chatbot.service.impl;
import com.tencent.chatbot.entity.ChatBotEntity;
import com.tencent.chatbot.repository.ChatBotRepository;
import com.tencent.chatbot.service.ChatBotService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @description: 聊天机器人服务实现类
* @author: qwen
* @date: 2023/1/16
*/
@Service
public class ChatBotServiceImpl implements ChatBotService {
@Autowired
private ChatBotRepository chatBotRepository;
@Override
public ChatBotEntity getChatBotEntity() {
return chatBotRepository.findById("123456").orElse(null);
}
@Override
public ChatBotResponse chatBotRequest(ChatBotRequest request) {
return new ChatBotResponse(request.getMsg(), "聊天机器人返回的消息");
}
}
/Chatbot/Chatbot/src/main/java/com/tencent/chatbot/dao/ChatBotRepository.java
package com.tencent.chatbot.dao;
import com.tencent.chatbot.entity.ChatBotEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* @description: 聊天机器人数据访问接口
* @author: qwen
* @date: 2023/1/16
*/
@Repository
public interface ChatBotRepository extends JpaRepository<ChatBotEntity, String> {
}
/Chatbot/Chatbot/src/main/java/com/tencent/chatbot/entity/ChatBotEntity.java
package com.tencent.chatbot.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion;
import com.tencent.chatbot.dto.request.ChatBotRequest;
import com.tencent.chatbot.dto.response.ChatBotResponse;
import com.tencent.chatbot.enums.ResponseType;
import com.tencent.chatbot.enums.TimeFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @description: 聊天机器人实体
* @author: qwen
* @date: 2023/1/16
*/
public class ChatBotEntity {
// 标识
@JsonProperty("id")
private String id;
// 请求者信息
@JsonProperty("user")
private UserEntity user;
// 请求内容
@JsonProperty("msg")
private String msg;
// 响应内容
@JsonProperty("response")
private String response;
// 响应类型
@JsonProperty("response_type")
private ResponseType responseType;
// 时间格式
@JsonProperty("time_format")
private TimeFormat timeFormat;
// 响应时间
@JsonProperty("response_time")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Date responseTime;
// 会话记录
@JsonProperty("conversation")
private List<ChatBotEntity> conversation;
// 会话信息
@JsonProperty("conversation_info")
private Map<String, Object> conversationInfo;
// 会话内容
@JsonProperty("conversation_content")
private List<String> conversationContent;
// 会话类型
@JsonProperty("conversation_type")
private String conversationType;
// 响应信息
@JsonProperty("response_info")
private ChatBotResponse responseInfo;
// 请求时间
@JsonProperty("request_time")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Date requestTime;
// 请求者
@JsonProperty("requester")
private String requester;
// 状态
@JsonProperty("status")
private String status;
// 父节点
@JsonProperty("parent_id")
private String parentId;
// 子节点
@JsonProperty("child_id")
private String childId;
// 会话类型
@JsonProperty("conversation_type")
private String conversationType;
// 会话内容
@JsonProperty("conversation_content")
private List<String> conversationContent;
// 会话信息
@JsonProperty("conversation_info")
private Map<String, Object> conversationInfo;
// 请求者信息
@JsonProperty("user_info")
private UserEntity user;
// 请求者
@JsonProperty("requester")
private String requester;
// 请求内容
@JsonProperty("msg")
private String msg;
// 响应内容
@JsonProperty("response")
private String response;
// 响应类型
@JsonProperty("response_type")
private ResponseType responseType;
// 时间