feat(server): 短篇小说外部服务配置类和请求 DTO

This commit is contained in:
2026-07-19 12:02:17 +08:00
parent ce244f9ad5
commit 21ce56c6da
4 changed files with 88 additions and 0 deletions
@@ -0,0 +1,29 @@
package com.emotion.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
* 短篇小说外部服务配置
*
* @author huazhongmin
* @date 2026-07-19
*/
@Data
@Configuration
@ConfigurationProperties(prefix = "short-novel")
public class ShortNovelConfig {
/** 外部服务基础 URL */
private String apiBaseUrl;
/** 外部服务 API Token */
private String apiToken;
/** 连接超时(毫秒) */
private Integer connectTimeout = 10000;
/** 读取超时(毫秒) */
private Integer readTimeout = 300000;
}
@@ -0,0 +1,29 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* 短篇小说后续轮次请求(澄清回答、大纲确认/修改等)
*
* @author huazhongmin
* @date 2026-07-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ShortNovelFollowupRequest extends BaseRequest {
/** 外部服务返回的 session_id */
@NotBlank(message = "sessionId 不能为空")
private String sessionId;
/** 操作类型:answer_clarification | confirm_outline | modify_outline | retry */
@NotBlank(message = "action 不能为空")
private String action;
/** 操作载荷(如回答内容、修改意见) */
private Map<String, Object> payload;
}
@@ -0,0 +1,23 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* 短篇小说首次发起请求
*
* @author huazhongmin
* @date 2026-07-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ShortNovelStreamRequest extends BaseRequest {
/** 用户的心愿文本 */
@NotBlank(message = "心愿文本不能为空")
@Size(max = 500, message = "心愿文本不能超过 500 字")
private String query;
}
@@ -142,3 +142,10 @@ async:
queue-capacity: 200
keep-alive-seconds: 60
thread-name-prefix: single-async-
# 短篇小说外部服务配置
short-novel:
api-base-url: http://49.232.138.53:8010
api-token: c67d4a95b0bb92470a24d534302c0d40
connect-timeout: 10000
read-timeout: 300000