diff --git a/src/main/java/quant/rich/emoney/annotation/ResponseDecodeExtension.java b/src/main/java/quant/rich/emoney/annotation/ResponseDecodeExtension.java index 247b9a0..24cc825 100644 --- a/src/main/java/quant/rich/emoney/annotation/ResponseDecodeExtension.java +++ b/src/main/java/quant/rich/emoney/annotation/ResponseDecodeExtension.java @@ -8,7 +8,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; /** - * 注解在方法上以获取对 EmoneyProtocol 的额外操作 + * 注解在方法上以获取对 Emoney Protocol 的额外操作 *
* 目前方法必须是受 spring 管理类下的公共成员方法,且接受参数为单参数 JsonNode. *
@@ -21,18 +21,15 @@ import java.lang.annotation.Target;
@Target(METHOD)
public @interface ResponseDecodeExtension {
/**
- * 指定的 protocolId
- * @return
+ * @return 指定的 protocolId
*/
String protocolId();
/**
- * inspect 的排序
- * @return
+ * @return inspect 的排序
*/
int order() default -1;
/**
- * 是否在模拟客户端请求和返回时启用, 默认 true
- * @return
+ * @return 是否在模拟客户端请求和返回时启用, 默认 true
*/
boolean client() default true;
}
diff --git a/src/main/java/quant/rich/emoney/controller/manage/ProxySettingControllerV1.java b/src/main/java/quant/rich/emoney/controller/manage/ProxySettingControllerV1.java
index 6e73a3b..53e561e 100644
--- a/src/main/java/quant/rich/emoney/controller/manage/ProxySettingControllerV1.java
+++ b/src/main/java/quant/rich/emoney/controller/manage/ProxySettingControllerV1.java
@@ -47,23 +47,31 @@ public class ProxySettingControllerV1 extends UpdateBoolServiceController
+ * SQLite 表 proxy_setting 使用触发器维护默认代理的一致性:新增或更新 is_default = 1
+ * 时会把其他记录置为非默认;不允许把最后一条默认代理改为非默认,也不允许删除默认代理。
+ * 这部分约束不在 Java 代码里重复实现,调整表结构或导入数据时需要同步检查触发器。
+ */
+@Data
+@Accessors(chain = true)
+@NoArgsConstructor
@TableName(value = "proxy_setting", autoResultMap = true)
@ProxySettingValid
public class ProxySetting {
diff --git a/src/main/java/quant/rich/emoney/entity/sqlite/RequestInfo.java b/src/main/java/quant/rich/emoney/entity/sqlite/RequestInfo.java
index 7da1d92..0205eaa 100644
--- a/src/main/java/quant/rich/emoney/entity/sqlite/RequestInfo.java
+++ b/src/main/java/quant/rich/emoney/entity/sqlite/RequestInfo.java
@@ -30,12 +30,16 @@ import quant.rich.emoney.validator.RequestInfoValid;
/**
* 用于配置请求时的请求行为,一般而言,请求头与安卓系统的信息有关(build.prop)
* 虽然部分请求对应服务器可能不进行审核,但合理的请求头能尽可能模仿真机行为,避免风险
- * @see DeviceInfoConfig
- * @see AndroidSdkLevelConfig
- * @see ChromeVersionsConfig
- */
-@Data
-@EqualsAndHashCode(callSuper=false)
+ * @see DeviceInfoConfig
+ * @see AndroidSdkLevelConfig
+ * @see ChromeVersionsConfig
+ *
+ * SQLite 表 request_info 使用触发器维护默认请求配置的一致性:新增或更新 is_default = 1
+ * 时会把其他记录置为非默认;不允许把最后一条默认请求配置改为非默认,也不允许删除默认请求配置。
+ * 这部分约束不在 Java 代码里重复实现,调整表结构或导入数据时需要同步检查触发器。
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
@Accessors(chain = true)
@Slf4j
@RequestInfoValid
diff --git a/src/main/java/quant/rich/emoney/entity/sqlite/StrategyAndPool.java b/src/main/java/quant/rich/emoney/entity/sqlite/StrategyAndPool.java
index 5f5e78d..86f283b 100644
--- a/src/main/java/quant/rich/emoney/entity/sqlite/StrategyAndPool.java
+++ b/src/main/java/quant/rich/emoney/entity/sqlite/StrategyAndPool.java
@@ -9,11 +9,14 @@ import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;
-/**
- * 益盟策略和策略池
- */
-@Data
-@Accessors(chain=true)
+/**
+ * 益盟策略和策略池
+ *
+ * SQLite 表 strategy_and_pool 对 pool_id 设置了 UNIQUE_POOL_ID 唯一约束,并使用
+ * ON CONFLICT REPLACE。重复写入同一 pool_id 时会由 SQLite 替换旧记录。
+ */
+@Data
+@Accessors(chain=true)
@TableName(value="strategy_and_pool")
@ToString
public class StrategyAndPool implements Comparable