diff --git a/pom.xml b/pom.xml index fcf22cc..6fe2d02 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 3.3.0 - top.at17.quant + quant.rich.emoney emo-grab 0.0.1-SNAPSHOT EmoGrab @@ -17,9 +17,9 @@ UTF-8 UTF-8 - 18 - 18 - 18 + 22 + 22 + 22 @@ -244,9 +244,9 @@ - com.google.guava - guava - 33.4.8-jre + com.google.guava + guava + 33.4.8-jre cn.hutool @@ -278,23 +278,23 @@ - org.graalvm.polyglot - polyglot - 24.2.1 + org.graalvm.polyglot + polyglot + 24.2.1 - org.graalvm.js - js-scriptengine - 24.2.1 + org.graalvm.js + js-scriptengine + 24.2.1 - org.graalvm.js - js - 24.2.1 - pom + org.graalvm.js + js + 24.2.1 + pom diff --git a/src/main/java/quant/rich/emoney/component/RequireAuthAndProxyAspect.java b/src/main/java/quant/rich/emoney/component/RequireAuthAndProxyAspect.java index 5769f83..ffad611 100644 --- a/src/main/java/quant/rich/emoney/component/RequireAuthAndProxyAspect.java +++ b/src/main/java/quant/rich/emoney/component/RequireAuthAndProxyAspect.java @@ -20,9 +20,8 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.lang.reflect.Method; - -@Aspect @Component +@Aspect public class RequireAuthAndProxyAspect { @Autowired @@ -58,6 +57,9 @@ public class RequireAuthAndProxyAspect { throw new RuntimeException("鉴权登录失败"); } } + else if (!EmoneyClient.relogin()) { + throw new RuntimeException("检查重鉴权失败"); + } return pjp.proceed(); } diff --git a/src/main/java/quant/rich/emoney/config/PostgreMybatisConfig.java b/src/main/java/quant/rich/emoney/config/PostgreMybatisConfig.java index 1448d06..9511549 100644 --- a/src/main/java/quant/rich/emoney/config/PostgreMybatisConfig.java +++ b/src/main/java/quant/rich/emoney/config/PostgreMybatisConfig.java @@ -19,6 +19,8 @@ import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; @Configuration @MapperScan(basePackages = "quant.rich.emoney.mapper.postgre", sqlSessionTemplateRef = "postgreSqlSessionTemplate") public class PostgreMybatisConfig { + + public static final String POSTGRE_TRANSACTION_MANAGER = "postgreTransactionManager"; @Bean("postgreSqlSessionFactory") public SqlSessionFactory postgreSqlSessionFactory( @@ -40,7 +42,7 @@ public class PostgreMybatisConfig { return new SqlSessionTemplate(sqlSessionFactory); } - @Bean("postgreTransactionManager") + @Bean(POSTGRE_TRANSACTION_MANAGER) public DataSourceTransactionManager postgreTransacetionManager(@Qualifier("postgreDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } diff --git a/src/main/java/quant/rich/emoney/config/SqliteMybatisConfig.java b/src/main/java/quant/rich/emoney/config/SqliteMybatisConfig.java index ffb6489..b800482 100644 --- a/src/main/java/quant/rich/emoney/config/SqliteMybatisConfig.java +++ b/src/main/java/quant/rich/emoney/config/SqliteMybatisConfig.java @@ -121,7 +121,7 @@ public class SqliteMybatisConfig { return new SqlSessionTemplate(sqlSessionFactory); } - @Bean("sqliteTransactionManager") + @Bean(SQLITE_TRANSACTION_MANAGER) public DataSourceTransactionManager postgreTransacetionManager(@Qualifier("sqliteDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } diff --git a/src/main/java/quant/rich/emoney/entity/postgre/StockStrategy.java b/src/main/java/quant/rich/emoney/entity/postgre/StockStrategy.java index 00078dc..ea9d0cf 100644 --- a/src/main/java/quant/rich/emoney/entity/postgre/StockStrategy.java +++ b/src/main/java/quant/rich/emoney/entity/postgre/StockStrategy.java @@ -1,5 +1,7 @@ package quant.rich.emoney.entity.postgre; +import java.time.LocalDateTime; + import lombok.Data; import lombok.experimental.Accessors; @@ -12,6 +14,18 @@ public class StockStrategy { private String tsCode; + private LocalDateTime date; + + private String strategyName; + + private Integer strategyId; + + private String poolName; + + private String type; + + private Integer poolId; + public StockStrategy setTsCodeFromGoodsId(Integer goodsId) { // 自动将益盟 goodsId 转换成 tsCode // 1301325 -> 301325.SZ diff --git a/src/main/resources/database.db b/src/main/resources/database.db index 90418f3..4779ce0 100644 Binary files a/src/main/resources/database.db and b/src/main/resources/database.db differ diff --git a/src/test/java/quant/rich/EmoneyStrategyMarkTests.java b/src/test/java/quant/rich/emoney/EmoneyStrategyMarkTests.java similarity index 73% rename from src/test/java/quant/rich/EmoneyStrategyMarkTests.java rename to src/test/java/quant/rich/emoney/EmoneyStrategyMarkTests.java index 3f3a195..c6746b6 100644 --- a/src/test/java/quant/rich/EmoneyStrategyMarkTests.java +++ b/src/test/java/quant/rich/emoney/EmoneyStrategyMarkTests.java @@ -1,8 +1,7 @@ -package quant.rich; +package quant.rich.emoney; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -11,13 +10,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.extern.slf4j.Slf4j; -import nano.CandleStickNewWithIndexExResponse.CandleStickNewWithIndexEx_Response; -import nano.CandleStickRequest.CandleStick_Request; -import nano.CandleStickWithIndexRequest.CandleStickWithIndex_Request; -import nano.CandleStickWithIndexRequest.CandleStickWithIndex_Request.IndexInfo; import nano.StrategyMarkRequest.StrategyMark_Request; import nano.StrategyMarkResponse.StrategyMark_Response; -import quant.rich.emoney.EmoneyAutoApplication; import quant.rich.emoney.client.EmoneyClient; @@ -30,7 +24,6 @@ class EmoneyStrategyMarkTests { @Test void contextLoads() { EmoneyClient.relogin(); - StrategyMark_Request request = new StrategyMark_Request(); request.setGoodsId(600325); diff --git a/src/test/resources/application.yml b/src/test/resources/application.yml index 169cb07..c2d7885 100644 --- a/src/test/resources/application.yml +++ b/src/test/resources/application.yml @@ -1,34 +1,75 @@ -# emoney settings -emoney-client: - emoney-login-form: - acc-id: emy1730978 - acc-type: 1 - app-version: 4.15.0 - channel-id: 1711 - device-name: LIO-AN00 - real-ex-identify: - imei: - android-id: 6e530d685bac6e00 - mac: - os-finger-print: asus/android_x86/x86:5.1.1/LMY47I/8.3.19:user/release-keys - guid: 64de523312b56f1ab10c0423d537e2d6 - hardware: b271c744bf47f195c5786cbb95ea49f9 - hwTrackId: - osVersion: 22 - platform: android - product-id: 4 - pwd: 777988 - ssid: 0 +server: + port: 7790 + compression: #开启gzip压缩,返回内容大于2k的才会进行压缩 + enabled: true + mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain + min-response-size: 2048 - emoney-login-header: - emapp-view-mode: 1 - x-android-agent: EMAPP/4.15.0(Android;22) - x-protocol-id: user%2Fauth%2Flogin - authorization: - user-agent: okhttp/3.12.2 - - emoney-request-header: - emapp-view-mode: 1 - x-android-agent: EMAPP/4.15.0 - authorization: - user-agent: okhttp/3.12.2 \ No newline at end of file +logging.level: + '[quant.rich]': debug + '[org.springframework.security]': info + '[org.springframework.boot.devtools.restart]': debug + +spring: + cache: + type: redis + redis: + key-prefix: 'emoney-auto:' + use-key-prefix: true + devtools: + restart: + enabled: true + additional-exclude: + - '**/*.html' + - '**/*.js' + - '**/*.css' + additional-paths: lib/ + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: Asia/Shanghai + profiles.active: remote + session.timeout: 86400 + thymeleaf: + prefix: classpath:/webpage/ + suffix: .html + mode: HTML + encoding: UTF-8 + cache: false + +mybatis-plus-join.banner: false +mybatis-plus: + global-config: + banner: false + mapper-locations: + - classpath*:mapper/postgre/*.xml + - classpath*:mapper/sqlite/*.xml + type-aliases-package: + - quant.rich.emoney.entity.postgre + - quant.rich.emoney.entity.sqlite + type-handlers-package: quant.rich.emoney.mybatis.typehandler + configuration: + map-underscore-to-camel-case: true + default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler + +kaptcha: + border: "no" + image: + width: 130 + height: 38 + textproducer: + char: + length: 5 + font: + color: 35,37,38,80 + size: 30 + names: Times New Roman,Sans,Microsoft Yahei UI,Consolas + session: + key: code + noise: + color: 35,37,38,80 + +# 程序默认配置,部分内容可以通过数据库覆写 +# 当数据库不存在配置时默认加载文件内配置 +emoney-auto-config: + username: admin + password: Em0nY_4u70~! \ No newline at end of file