VoiceQueryDTO.java
2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.xly.tts.bean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 语音查询条件数据传输对象
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VoiceQueryDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 语言代码(如:zh, en, ja)
*/
private String languageCode;
/**
* 国家/地区代码(如:CN, US, JP)
*/
private String countryCode;
/**
* 完整区域代码(如:zh-CN, en-US)
*/
private String locale;
/**
* 性别:Male, Female, Any
*/
private String gender;
/**
* 语音类型:Standard, Neural, All
*/
private String voiceType;
/**
* 是否只返回默认语音
*/
private Boolean defaultOnly;
/**
* 是否只返回推荐语音
*/
private Boolean recommendedOnly;
/**
* 是否返回本地可用语音
*/
@Builder.Default
private Boolean localAvailable = true;
/**
* 状态:available, unavailable, all
*/
@Builder.Default
private String status = "available";
/**
* 搜索关键词(名称或显示名称)
*/
private String keyword;
/**
* 页码(从1开始)
*/
@Builder.Default
private Integer page = 1;
/**
* 每页大小
*/
@Builder.Default
private Integer pageSize = 20;
/**
* 排序字段
*/
private String sortField;
/**
* 排序方向:asc, desc
*/
private String sortDirection;
// 便捷方法
/**
* 获取偏移量
*/
public Integer getOffset() {
return (page - 1) * pageSize;
}
/**
* 是否查询所有语音
*/
public Boolean isQueryAll() {
return "all".equalsIgnoreCase(status);
}
/**
* 是否查询女性语音
*/
public Boolean isQueryFemale() {
return "female".equalsIgnoreCase(gender);
}
/**
* 是否查询男性语音
*/
public Boolean isQueryMale() {
return "male".equalsIgnoreCase(gender);
}
/**
* 是否为Neural语音
*/
public Boolean isNeuralVoice() {
return "neural".equalsIgnoreCase(voiceType);
}
}