Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
T
tamp_fund
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周鹏
tamp_fund
Commits
a64cc00a
Commit
a64cc00a
authored
Apr 07, 2021
by
张亚辉
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/v2.0.0'
parents
5d59808a
b8554e10
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1992 additions
and
561 deletions
+1992
-561
.factorypath
.factorypath
+0
-206
.gitignore
.gitignore
+6
-1
pom.xml
pom.xml
+11
-6
ProductApi.java
src/main/java/com/tanpu/fund/api/ProductApi.java
+38
-0
Swagger2Config.java
src/main/java/com/tanpu/fund/config/Swagger2Config.java
+1
-1
ProductController.java
...ain/java/com/tanpu/fund/controller/ProductController.java
+41
-0
FundCount.java
src/main/java/com/tanpu/fund/entity/generator/FundCount.java
+24
-0
FundCountExample.java
...ava/com/tanpu/fund/entity/generator/FundCountExample.java
+78
-0
IfaImportedFundNav.java
...a/com/tanpu/fund/entity/generator/IfaImportedFundNav.java
+24
-1
IfaImportedFundNavExample.java
...anpu/fund/entity/generator/IfaImportedFundNavExample.java
+135
-20
FeignForProduct.java
...in/java/com/tanpu/fund/feign/product/FeignForProduct.java
+20
-0
FeignbackForProduct.java
...ava/com/tanpu/fund/feign/product/FeignbackForProduct.java
+28
-0
FundCountMapper.java
...java/com/tanpu/fund/mapper/generator/FundCountMapper.java
+20
-36
IfaImportedFundNavMapper.java
...tanpu/fund/mapper/generator/IfaImportedFundNavMapper.java
+23
-39
FundInfoCustomMapper.java
...pu/fund/mapper/generator/custom/FundInfoCustomMapper.java
+10
-0
ProductPrivateService.java
...in/java/com/tanpu/fund/service/ProductPrivateService.java
+3
-14
ProductService.java
src/main/java/com/tanpu/fund/service/ProductService.java
+19
-0
ProductPrivateServiceImpl.java
...om/tanpu/fund/service/impl/ProductPrivateServiceImpl.java
+8
-0
ProductServiceImpl.java
.../java/com/tanpu/fund/service/impl/ProductServiceImpl.java
+725
-31
application-test.properties
src/main/resources/application-test.properties
+2
-2
FundInfoCustomMapper.xml
...main/resources/mybatis/customize/FundInfoCustomMapper.xml
+6
-8
FundCountMapper.xml
src/main/resources/mybatis/generator/FundCountMapper.xml
+645
-113
IfaImportedFundNavMapper.xml
.../resources/mybatis/generator/IfaImportedFundNavMapper.xml
+125
-38
BaseTest.java
src/test/java/com/tanpu/fund/BaseTest.java
+0
-16
NetExcel.java
src/test/java/com/tanpu/fund/excel/NetExcel.java
+0
-29
No files found.
.factorypath
deleted
100644 → 0
View file @
5d59808a
<factorypath>
<factorypathentry kind="VARJAR" id="M2_REPO/com/tanpu/common/0.0.1-SNAPSHOT/common-0.0.1-SNAPSHOT.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-data-redis/2.1.6.RELEASE/spring-boot-starter-data-redis-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-redis/2.1.9.RELEASE/spring-data-redis-2.1.9.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-keyvalue/2.1.9.RELEASE/spring-data-keyvalue-2.1.9.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-commons/2.1.9.RELEASE/spring-data-commons-2.1.9.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-oxm/5.1.8.RELEASE/spring-oxm-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-context-support/5.1.8.RELEASE/spring-context-support-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/lettuce/lettuce-core/5.1.7.RELEASE/lettuce-core-5.1.7.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/redisson/redisson/3.13.6/redisson-3.13.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-common/4.1.36.Final/netty-common-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-codec/4.1.36.Final/netty-codec-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-buffer/4.1.36.Final/netty-buffer-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-transport/4.1.36.Final/netty-transport-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-resolver/4.1.36.Final/netty-resolver-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-resolver-dns/4.1.36.Final/netty-resolver-dns-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-codec-dns/4.1.36.Final/netty-codec-dns-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty-handler/4.1.36.Final/netty-handler-4.1.36.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/cache/cache-api/1.1.1/cache-api-1.1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/projectreactor/reactor-core/3.2.10.RELEASE/reactor-core-3.2.10.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/reactivex/rxjava2/rxjava/2.2.9/rxjava-2.2.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/marshalling/jboss-marshalling-river/2.0.10.Final/jboss-marshalling-river-2.0.10.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/marshalling/jboss-marshalling/2.0.10.Final/jboss-marshalling-2.0.10.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.9/jackson-dataformat-yaml-2.9.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/net/bytebuddy/byte-buddy/1.9.13/byte-buddy-1.9.13.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jodd/jodd-bean/5.1.6/jodd-bean-5.1.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jodd/jodd-core/5.1.6/jodd-core-5.1.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/reflections/reflections/0.9.10/reflections-0.9.10.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/javassist/javassist/3.19.0-GA/javassist-3.19.0-GA.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/code/findbugs/annotations/2.0.1/annotations-2.0.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/springfox/springfox-swagger2/2.9.2/springfox-swagger2-2.9.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/springfox/springfox-spi/2.9.2/springfox-spi-2.9.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/springfox/springfox-core/2.9.2/springfox-core-2.9.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/springfox/springfox-schema/2.9.2/springfox-schema-2.9.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/springfox/springfox-swagger-common/2.9.2/springfox-swagger-common-2.9.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/springfox/springfox-spring-web/2.9.2/springfox-spring-web-2.9.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/guava/guava/20.0/guava-20.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/plugin/spring-plugin-metadata/1.2.0.RELEASE/spring-plugin-metadata-1.2.0.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mapstruct/mapstruct/1.2.0.Final/mapstruct-1.2.0.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/swagger/swagger-annotations/1.5.22/swagger-annotations-1.5.22.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/swagger/swagger-models/1.5.22/swagger-models-1.5.22.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/springfox/springfox-swagger-ui/2.9.2/springfox-swagger-ui-2.9.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/auth0/java-jwt/3.2.0/java-jwt-3.2.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-codec/commons-codec/1.11/commons-codec-1.11.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/bouncycastle/bcprov-jdk15on/1.55/bcprov-jdk15on-1.55.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/aliyun/oss/aliyun-sdk-oss/3.8.1/aliyun-sdk-oss-3.8.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/httpcomponents/httpclient/4.5.9/httpclient-4.5.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jdom/jdom/1.1/jdom-1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/codehaus/jettison/jettison/1.1/jettison-1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/aliyun/aliyun-java-sdk-core/3.4.0/aliyun-java-sdk-core-3.4.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/aliyun/aliyun-java-sdk-ram/3.0.0/aliyun-java-sdk-ram-3.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/aliyun/aliyun-java-sdk-sts/3.0.0/aliyun-java-sdk-sts-3.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/aliyun/aliyun-java-sdk-ecs/4.2.0/aliyun-java-sdk-ecs-4.2.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-undertow/2.1.6.RELEASE/spring-boot-starter-undertow-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/undertow/undertow-core/2.0.21.Final/undertow-core-2.0.21.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/xnio/xnio-api/3.3.8.Final/xnio-api-3.3.8.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/xnio/xnio-nio/3.3.8.Final/xnio-nio-3.3.8.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/undertow/undertow-servlet/2.0.21.Final/undertow-servlet-2.0.21.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/spec/javax/annotation/jboss-annotations-api_1.2_spec/1.0.2.Final/jboss-annotations-api_1.2_spec-1.0.2.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/undertow/undertow-websockets-jsr/2.0.21.Final/undertow-websockets-jsr-2.0.21.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/spec/javax/websocket/jboss-websocket-api_1.1_spec/1.1.4.Final/jboss-websocket-api_1.1_spec-1.1.4.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/glassfish/javax.el/3.0.0/javax.el-3.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mybatis/spring/boot/mybatis-spring-boot-starter/2.1.2/mybatis-spring-boot-starter-2.1.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/2.1.2/mybatis-spring-boot-autoconfigure-2.1.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mybatis/mybatis/3.5.4/mybatis-3.5.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mybatis/mybatis-spring/2.0.4/mybatis-spring-2.0.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter-consul-discovery/2.1.2.RELEASE/spring-cloud-starter-consul-discovery-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter-consul/2.1.2.RELEASE/spring-cloud-starter-consul-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-context/2.1.2.RELEASE/spring-cloud-context-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-consul-core/2.1.2.RELEASE/spring-cloud-consul-core-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/ecwid/consul/consul-api/1.4.1/consul-api-1.4.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/httpcomponents/httpcore/4.4.11/httpcore-4.4.11.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-consul-discovery/2.1.2.RELEASE/spring-cloud-consul-discovery-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-configuration/commons-configuration/1.8/commons-configuration-1.8.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-lang/commons-lang/2.6/commons-lang-2.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-netflix-hystrix/2.1.2.RELEASE/spring-cloud-netflix-hystrix-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter-netflix-ribbon/2.1.2.RELEASE/spring-cloud-starter-netflix-ribbon-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-netflix-ribbon/2.1.2.RELEASE/spring-cloud-netflix-ribbon-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-netflix-archaius/2.1.2.RELEASE/spring-cloud-netflix-archaius-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter-netflix-archaius/2.1.2.RELEASE/spring-cloud-starter-netflix-archaius-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/ribbon/ribbon/2.3.0/ribbon-2.3.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/ribbon/ribbon-transport/2.3.0/ribbon-transport-2.3.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/reactivex/rxnetty-contexts/0.4.9/rxnetty-contexts-0.4.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/reactivex/rxnetty-servo/0.4.9/rxnetty-servo-0.4.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/reactivex/rxnetty/0.4.9/rxnetty-0.4.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/ribbon/ribbon-core/2.3.0/ribbon-core-2.3.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/ribbon/ribbon-httpclient/2.3.0/ribbon-httpclient-2.3.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/sun/jersey/jersey-client/1.19.1/jersey-client-1.19.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/sun/jersey/jersey-core/1.19.1/jersey-core-1.19.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/sun/jersey/contribs/jersey-apache-client4/1.19.1/jersey-apache-client4-1.19.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/servo/servo-core/0.12.21/servo-core-0.12.21.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/netflix-commons/netflix-commons-util/0.3.0/netflix-commons-util-0.3.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/ribbon/ribbon-loadbalancer/2.3.0/ribbon-loadbalancer-2.3.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/netflix-commons/netflix-statistics/0.1.1/netflix-statistics-0.1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/reactivex/rxjava/1.3.8/rxjava-1.3.8.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/joda-time/joda-time/2.10.2/joda-time-2.10.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter-openfeign/2.1.2.RELEASE/spring-cloud-starter-openfeign-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter/2.1.2.RELEASE/spring-cloud-starter-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/security/spring-security-rsa/1.0.7.RELEASE/spring-security-rsa-1.0.7.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/bouncycastle/bcpkix-jdk15on/1.60/bcpkix-jdk15on-1.60.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-openfeign-core/2.1.2.RELEASE/spring-cloud-openfeign-core-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/github/openfeign/form/feign-form-spring/3.8.0/feign-form-spring-3.8.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/github/openfeign/form/feign-form/3.8.0/feign-form-3.8.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-io/commons-io/2.2/commons-io-2.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-commons/2.1.2.RELEASE/spring-cloud-commons-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/security/spring-security-crypto/5.1.5.RELEASE/spring-security-crypto-5.1.5.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/github/openfeign/feign-core/10.2.3/feign-core-10.2.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/github/openfeign/feign-slf4j/10.2.3/feign-slf4j-10.2.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/github/openfeign/feign-hystrix/10.2.3/feign-hystrix-10.2.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/archaius/archaius-core/0.7.6/archaius-core-0.7.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-aop/2.1.6.RELEASE/spring-boot-starter-aop-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/aspectj/aspectjweaver/1.9.4/aspectjweaver-1.9.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-jdbc/2.1.6.RELEASE/spring-boot-starter-jdbc-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/zaxxer/HikariCP/3.2.0/HikariCP-3.2.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-jdbc/5.1.8.RELEASE/spring-jdbc-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-tx/5.1.8.RELEASE/spring-tx-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-configuration-processor/2.1.6.RELEASE/spring-boot-configuration-processor-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-actuator/2.1.6.RELEASE/spring-boot-starter-actuator-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-actuator-autoconfigure/2.1.6.RELEASE/spring-boot-actuator-autoconfigure-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-actuator/2.1.6.RELEASE/spring-boot-actuator-2.1.6.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/micrometer/micrometer-core/1.1.5/micrometer-core-1.1.5.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hdrhistogram/HdrHistogram/2.1.9/HdrHistogram-2.1.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/pagehelper/pagehelper-spring-boot-starter/1.2.13/pagehelper-spring-boot-starter-1.2.13.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/pagehelper/pagehelper-spring-boot-autoconfigure/1.2.13/pagehelper-spring-boot-autoconfigure-1.2.13.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/pagehelper/pagehelper/5.1.11/pagehelper-5.1.11.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/jsqlparser/jsqlparser/2.0/jsqlparser-2.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/alibaba/fastjson/1.2.6/fastjson-1.2.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-pool2/2.0/commons-pool2-2.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/ctrip/framework/apollo/apollo-client/1.5.1/apollo-client-1.5.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/ctrip/framework/apollo/apollo-core/1.5.1/apollo-core-1.5.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/inject/guice/4.1.0/guice-4.1.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/yaml/snakeyaml/1.23/snakeyaml-1.23.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/dangdang/elastic-job-lite-core/2.1.5/elastic-job-lite-core-2.1.5.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/dangdang/elastic-job-common-core/2.1.5/elastic-job-common-core-2.1.5.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/quartz-scheduler/quartz/2.3.1/quartz-2.3.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/mchange/mchange-commons-java/0.2.15/mchange-commons-java-0.2.15.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/dangdang/elastic-job-lite-spring/2.1.5/elastic-job-lite-spring-2.1.5.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/curator/curator-framework/2.10.0/curator-framework-2.10.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/curator/curator-client/2.10.0/curator-client-2.10.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/zookeeper/zookeeper/3.4.6/zookeeper-3.4.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/jline/jline/0.9.94/jline-0.9.94.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/netty/netty/3.7.0.Final/netty-3.7.0.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/curator/curator-recipes/2.10.0/curator-recipes-2.10.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/codehaus/janino/janino/3.0.6/janino-3.0.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/codehaus/janino/commons-compiler/3.0.6/commons-compiler-3.0.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-collections4/4.0/commons-collections4-4.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/cn/hutool/hutool-all/5.3.9/hutool-all-5.3.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/projectlombok/lombok/1.18.8/lombok-1.18.8.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter-hystrix/1.3.5.RELEASE/spring-cloud-starter-hystrix-1.3.5.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-netflix-core/2.1.2.RELEASE/spring-cloud-netflix-core-2.1.2.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/cloud/spring-cloud-starter-archaius/1.3.5.RELEASE/spring-cloud-starter-archaius-1.3.5.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/hystrix/hystrix-core/1.5.18/hystrix-core-1.5.18.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/hystrix/hystrix-metrics-event-stream/1.5.18/hystrix-metrics-event-stream-1.5.18.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/hystrix/hystrix-serialization/1.5.18/hystrix-serialization-1.5.18.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/module/jackson-module-afterburner/2.9.9/jackson-module-afterburner-2.9.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/netflix/hystrix/hystrix-javanica/1.5.18/hystrix-javanica-1.5.18.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jetbrains/annotations/13.0/annotations-13.0.jar" enabled="true" runInBatchMode="false"/>
</factorypath>
.gitignore
View file @
a64cc00a
...
...
@@ -75,7 +75,12 @@ gen
.settings
# maven
target
.classpath
.factorypath
.project
.settings/
.vscode/
.history/
src/main/java/pm/Generator.java
prod-fz.sh
...
...
pom.xml
View file @
a64cc00a
...
...
@@ -197,17 +197,22 @@
<version>
3.0.6
</version>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-collections4
</artifactId>
<version>
4.0
</version>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
5.3.9
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml
</artifactId>
<version>
4.1.2
</version>
</dependency>
<dependency>
<groupId>
commons-validator
</groupId>
<artifactId>
commons-validator
</artifactId>
<version>
1.7
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
...
...
src/main/java/com/tanpu/fund/api/ProductApi.java
View file @
a64cc00a
...
...
@@ -2,10 +2,15 @@ package com.tanpu.fund.api;
import
com.tanpu.common.model.Page
;
import
com.tanpu.common.model.Pageable
;
import
com.tanpu.common.model.adm.req.IfaNetImportReq
;
import
com.tanpu.common.model.fund.req.FundRankReq
;
import
com.tanpu.common.model.fund.resq.FundRankResp
;
import
com.tanpu.common.model.privatefund.resp.FundNavMessage
;
import
com.tanpu.common.model.product.req.NetReq
;
import
com.tanpu.common.model.product.req.ProductInfoReq
;
import
com.tanpu.common.model.product.req.ProductListReq
;
import
com.tanpu.common.model.product.resp.*
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
com.tanpu.common.resp.CommonResp
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -14,7 +19,10 @@ import org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
@Api
(
tags
=
"产品服务"
)
...
...
@@ -93,6 +101,10 @@ public interface ProductApi {
@GetMapping
(
"/dynamic/retreat"
)
CommonResp
<
DynamicRetreatVO
>
getDynamicRetreatInfo
(
@RequestParam
(
"id"
)
String
id
);
@ApiOperation
(
"获取产品列表(只返回产品名称)"
)
@GetMapping
(
"/get/fund/info/simple"
)
CommonResp
<
List
<
Type
>>
getSimpleFundList
(
@RequestParam
(
"list"
)
List
<
String
>
list
);
//**********************************************************私有基金start**********************************************************
@ApiOperation
(
"私有基金详情 - 私有基金"
)
@GetMapping
(
"/privatefund/detail"
)
...
...
@@ -137,6 +149,10 @@ public interface ProductApi {
@GetMapping
(
"/private/bonus/ratio"
)
CommonResp
<
List
<
BonusRatioVO
>>
getPrivateBonusRatioInfo
(
@ApiParam
(
"产品id"
)
@RequestParam
(
"id"
)
String
id
);
@ApiOperation
(
"获取产品列表(只返回产品名称)"
)
@GetMapping
(
"/private/get/fund/info/simple"
)
CommonResp
<
List
<
Type
>>
getSimplePrivateFundList
(
@RequestParam
(
"list"
)
List
<
String
>
list
);
//**********************************************************私有基金 end**********************************************************
@ApiOperation
(
value
=
"根据Id查询私募产品基本信息"
)
...
...
@@ -150,4 +166,26 @@ public interface ProductApi {
@ApiOperation
(
"查询同类基金"
)
@GetMapping
(
"/query/samefund"
)
CommonResp
<
List
<
FundSameResp
>>
querySamefund
(
@RequestParam
(
"fundId"
)
String
fundId
);
@ApiOperation
(
"理财师净值导入"
)
@PostMapping
(
"/ifa/net/import"
)
CommonResp
<
List
<
FundNavMessage
>>
importNetInfo
(
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"fundId"
,
required
=
false
)
String
fundId
);
@ApiOperation
(
"理财师净值导入"
)
@PostMapping
(
"/ifa/net/import/check/save"
)
CommonResp
<
List
<
FundNavMessage
>>
importNetCheckSaveInfo
(
@RequestBody
@Valid
@NotEmpty
(
message
=
"请确定需要修改的信息"
)
IfaNetImportReq
req
);
@ApiOperation
(
"私募排行"
)
@PostMapping
(
"/private/rank"
)
CommonResp
<
Page
<
FundRankResp
>>
getFundRankInfo
(
@RequestBody
FundRankReq
req
);
@ApiOperation
(
"私募排行统计"
)
@PostMapping
(
"/private/rank/count"
)
CommonResp
<
Long
>
getFundRankCountInfo
(
@RequestBody
FundRankReq
req
);
@ApiOperation
(
"公募基金模糊匹配"
)
@GetMapping
(
"/private/like"
)
CommonResp
<
List
<
Type
>>
getFundLikeShortNameInfo
(
@Valid
@NotEmpty
(
message
=
"产品名称不能为空"
)
@RequestParam
(
"productName"
)
String
productName
,
Pageable
page
);
}
src/main/java/com/tanpu/fund/config/Swagger2Config.java
View file @
a64cc00a
...
...
@@ -30,7 +30,7 @@ public class Swagger2Config {
public
Docket
customImplementation
(){
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.tanpu.
product
"
))
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.tanpu.
fund
"
))
.
build
()
.
protocols
(
newHashSet
(
"http"
,
"https"
))
// .protocols(newHashSet("ws", "wss"))
...
...
src/main/java/com/tanpu/fund/controller/ProductController.java
View file @
a64cc00a
...
...
@@ -3,10 +3,15 @@ package com.tanpu.fund.controller;
import
com.tanpu.common.auth.mapping.TanpuInterfaceLoginAuth
;
import
com.tanpu.common.model.Page
;
import
com.tanpu.common.model.Pageable
;
import
com.tanpu.common.model.adm.req.IfaNetImportReq
;
import
com.tanpu.common.model.fund.req.FundRankReq
;
import
com.tanpu.common.model.fund.resq.FundRankResp
;
import
com.tanpu.common.model.privatefund.resp.FundNavMessage
;
import
com.tanpu.common.model.product.req.NetReq
;
import
com.tanpu.common.model.product.req.ProductInfoReq
;
import
com.tanpu.common.model.product.req.ProductListReq
;
import
com.tanpu.common.model.product.resp.*
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
com.tanpu.common.resp.CommonResp
;
import
com.tanpu.fund.api.ProductApi
;
import
com.tanpu.fund.feign.publicfund.FeignClientForPublicfund
;
...
...
@@ -15,6 +20,7 @@ import com.tanpu.fund.service.ProductService;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
java.util.List
;
...
...
@@ -112,6 +118,11 @@ public class ProductController implements ProductApi {
return
CommonResp
.
success
(
this
.
productService
.
getDynamicRetreat
(
id
));
}
@Override
public
CommonResp
<
List
<
Type
>>
getSimpleFundList
(
List
<
String
>
list
)
{
return
CommonResp
.
success
(
this
.
productService
.
getSimpleFundList
(
list
));
}
@Override
public
CommonResp
<
ProductInfoVO
>
getPrivateDetail
(
String
id
)
{
if
(
StringUtils
.
isEmpty
(
id
))
{
...
...
@@ -178,6 +189,11 @@ public class ProductController implements ProductApi {
return
CommonResp
.
success
(
this
.
productPrivateService
.
getBonusRatio
(
id
));
}
@Override
public
CommonResp
<
List
<
Type
>>
getSimplePrivateFundList
(
List
<
String
>
list
)
{
return
CommonResp
.
success
(
this
.
productPrivateService
.
getSimplePrivateFundList
(
list
));
}
@Override
public
CommonResp
<
List
<
FundManagerVO
>>
getPrivateFundManagerInfo
(
String
id
,
String
ifaId
)
{
return
CommonResp
.
success
(
this
.
productPrivateService
.
getFundManager
(
id
,
ifaId
));
...
...
@@ -197,4 +213,29 @@ public class ProductController implements ProductApi {
}
return
CommonResp
.
success
(
this
.
productService
.
querySamefund
(
fundId
));
}
@Override
public
CommonResp
<
List
<
FundNavMessage
>>
importNetInfo
(
MultipartFile
file
,
String
fundId
)
{
return
this
.
productService
.
importNet
(
file
,
fundId
);
}
@Override
public
CommonResp
<
List
<
FundNavMessage
>>
importNetCheckSaveInfo
(
IfaNetImportReq
req
)
{
return
this
.
productService
.
importNetCheckSave
(
req
);
}
@Override
public
CommonResp
<
Page
<
FundRankResp
>>
getFundRankInfo
(
FundRankReq
req
)
{
return
CommonResp
.
success
(
this
.
productService
.
getFundRank
(
req
));
}
@Override
public
CommonResp
<
Long
>
getFundRankCountInfo
(
FundRankReq
req
)
{
return
CommonResp
.
success
(
this
.
productService
.
getFundRankCountInfo
(
req
));
}
@Override
public
CommonResp
<
List
<
Type
>>
getFundLikeShortNameInfo
(
String
productName
,
Pageable
page
)
{
return
CommonResp
.
success
(
this
.
productService
.
getFundLikeShortName
(
productName
,
page
));
}
}
src/main/java/com/tanpu/fund/entity/generator/FundCount.java
View file @
a64cc00a
...
...
@@ -7,6 +7,25 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
/**
* 基金历史业绩
*/
...
...
@@ -32,6 +51,11 @@ public class FundCount {
*/
private
Integer
substrategy
;
/**
* 基金成立日期
*/
private
Date
inceptionDate
;
/**
* 是否可预约 0:不可预约 1:可预约
*/
...
...
src/main/java/com/tanpu/fund/entity/generator/FundCountExample.java
View file @
a64cc00a
...
...
@@ -6,6 +6,24 @@ import java.util.Date;
import
java.util.Iterator
;
import
java.util.List
;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
public
class
FundCountExample
{
protected
String
orderByClause
;
...
...
@@ -393,6 +411,66 @@ public class FundCountExample {
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateIsNull
()
{
addCriterion
(
"inception_date is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateIsNotNull
()
{
addCriterion
(
"inception_date is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateEqualTo
(
Date
value
)
{
addCriterionForJDBCDate
(
"inception_date ="
,
value
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateNotEqualTo
(
Date
value
)
{
addCriterionForJDBCDate
(
"inception_date <>"
,
value
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateGreaterThan
(
Date
value
)
{
addCriterionForJDBCDate
(
"inception_date >"
,
value
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateGreaterThanOrEqualTo
(
Date
value
)
{
addCriterionForJDBCDate
(
"inception_date >="
,
value
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateLessThan
(
Date
value
)
{
addCriterionForJDBCDate
(
"inception_date <"
,
value
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateLessThanOrEqualTo
(
Date
value
)
{
addCriterionForJDBCDate
(
"inception_date <="
,
value
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateIn
(
List
<
Date
>
values
)
{
addCriterionForJDBCDate
(
"inception_date in"
,
values
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateNotIn
(
List
<
Date
>
values
)
{
addCriterionForJDBCDate
(
"inception_date not in"
,
values
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateBetween
(
Date
value1
,
Date
value2
)
{
addCriterionForJDBCDate
(
"inception_date between"
,
value1
,
value2
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andInceptionDateNotBetween
(
Date
value1
,
Date
value2
)
{
addCriterionForJDBCDate
(
"inception_date not between"
,
value1
,
value2
,
"inceptionDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andTypeIsNull
()
{
addCriterion
(
"`type` is null"
);
return
(
Criteria
)
this
;
...
...
src/main/java/com/tanpu/fund/entity/generator/IfaImportedFundNav.java
View file @
a64cc00a
...
...
@@ -7,12 +7,30 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public
class
IfaImportedFundNav
{
private
Integer
id
;
private
Long
id
;
/**
* 基金id
...
...
@@ -35,4 +53,9 @@ public class IfaImportedFundNav {
private
BigDecimal
cumulativeNav
;
private
Integer
deleteTag
;
/**
* 机构id
*/
private
String
orgId
;
}
\ No newline at end of file
src/main/java/com/tanpu/fund/entity/generator/IfaImportedFundNavExample.java
View file @
a64cc00a
...
...
@@ -3,8 +3,27 @@ package com.tanpu.fund.entity.generator;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Iterator
;
import
java.util.List
;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
public
class
IfaImportedFundNavExample
{
protected
String
orderByClause
;
...
...
@@ -106,6 +125,32 @@ public class IfaImportedFundNavExample {
criteria
.
add
(
new
Criterion
(
condition
,
value1
,
value2
));
}
protected
void
addCriterionForJDBCDate
(
String
condition
,
Date
value
,
String
property
)
{
if
(
value
==
null
)
{
throw
new
RuntimeException
(
"Value for "
+
property
+
" cannot be null"
);
}
addCriterion
(
condition
,
new
java
.
sql
.
Date
(
value
.
getTime
()),
property
);
}
protected
void
addCriterionForJDBCDate
(
String
condition
,
List
<
Date
>
values
,
String
property
)
{
if
(
values
==
null
||
values
.
size
()
==
0
)
{
throw
new
RuntimeException
(
"Value list for "
+
property
+
" cannot be null or empty"
);
}
List
<
java
.
sql
.
Date
>
dateList
=
new
ArrayList
<>();
Iterator
<
Date
>
iter
=
values
.
iterator
();
while
(
iter
.
hasNext
())
{
dateList
.
add
(
new
java
.
sql
.
Date
(
iter
.
next
().
getTime
()));
}
addCriterion
(
condition
,
dateList
,
property
);
}
protected
void
addCriterionForJDBCDate
(
String
condition
,
Date
value1
,
Date
value2
,
String
property
)
{
if
(
value1
==
null
||
value2
==
null
)
{
throw
new
RuntimeException
(
"Between values for "
+
property
+
" cannot be null"
);
}
addCriterion
(
condition
,
new
java
.
sql
.
Date
(
value1
.
getTime
()),
new
java
.
sql
.
Date
(
value2
.
getTime
()),
property
);
}
public
Criteria
andIdIsNull
()
{
addCriterion
(
"id is null"
);
return
(
Criteria
)
this
;
...
...
@@ -116,52 +161,52 @@ public class IfaImportedFundNavExample {
return
(
Criteria
)
this
;
}
public
Criteria
andIdEqualTo
(
Integer
value
)
{
public
Criteria
andIdEqualTo
(
Long
value
)
{
addCriterion
(
"id ="
,
value
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdNotEqualTo
(
Integer
value
)
{
public
Criteria
andIdNotEqualTo
(
Long
value
)
{
addCriterion
(
"id <>"
,
value
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdGreaterThan
(
Integer
value
)
{
public
Criteria
andIdGreaterThan
(
Long
value
)
{
addCriterion
(
"id >"
,
value
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdGreaterThanOrEqualTo
(
Integer
value
)
{
public
Criteria
andIdGreaterThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"id >="
,
value
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdLessThan
(
Integer
value
)
{
public
Criteria
andIdLessThan
(
Long
value
)
{
addCriterion
(
"id <"
,
value
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdLessThanOrEqualTo
(
Integer
value
)
{
public
Criteria
andIdLessThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"id <="
,
value
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdIn
(
List
<
Integer
>
values
)
{
public
Criteria
andIdIn
(
List
<
Long
>
values
)
{
addCriterion
(
"id in"
,
values
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdNotIn
(
List
<
Integer
>
values
)
{
public
Criteria
andIdNotIn
(
List
<
Long
>
values
)
{
addCriterion
(
"id not in"
,
values
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdBetween
(
Integer
value1
,
Integer
value2
)
{
public
Criteria
andIdBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"id between"
,
value1
,
value2
,
"id"
);
return
(
Criteria
)
this
;
}
public
Criteria
andIdNotBetween
(
Integer
value1
,
Integer
value2
)
{
public
Criteria
andIdNotBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"id not between"
,
value1
,
value2
,
"id"
);
return
(
Criteria
)
this
;
}
...
...
@@ -247,52 +292,52 @@ public class IfaImportedFundNavExample {
}
public
Criteria
andPriceDateEqualTo
(
Date
value
)
{
addCriterion
(
"price_date ="
,
value
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date ="
,
value
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateNotEqualTo
(
Date
value
)
{
addCriterion
(
"price_date <>"
,
value
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date <>"
,
value
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateGreaterThan
(
Date
value
)
{
addCriterion
(
"price_date >"
,
value
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date >"
,
value
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateGreaterThanOrEqualTo
(
Date
value
)
{
addCriterion
(
"price_date >="
,
value
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date >="
,
value
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateLessThan
(
Date
value
)
{
addCriterion
(
"price_date <"
,
value
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date <"
,
value
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateLessThanOrEqualTo
(
Date
value
)
{
addCriterion
(
"price_date <="
,
value
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date <="
,
value
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateIn
(
List
<
Date
>
values
)
{
addCriterion
(
"price_date in"
,
values
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date in"
,
values
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateNotIn
(
List
<
Date
>
values
)
{
addCriterion
(
"price_date not in"
,
values
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date not in"
,
values
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateBetween
(
Date
value1
,
Date
value2
)
{
addCriterion
(
"price_date between"
,
value1
,
value2
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date between"
,
value1
,
value2
,
"priceDate"
);
return
(
Criteria
)
this
;
}
public
Criteria
andPriceDateNotBetween
(
Date
value1
,
Date
value2
)
{
addCriterion
(
"price_date not between"
,
value1
,
value2
,
"priceDate"
);
addCriterion
ForJDBCDate
(
"price_date not between"
,
value1
,
value2
,
"priceDate"
);
return
(
Criteria
)
this
;
}
...
...
@@ -475,6 +520,76 @@ public class IfaImportedFundNavExample {
addCriterion
(
"delete_tag not between"
,
value1
,
value2
,
"deleteTag"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdIsNull
()
{
addCriterion
(
"org_id is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdIsNotNull
()
{
addCriterion
(
"org_id is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdEqualTo
(
String
value
)
{
addCriterion
(
"org_id ="
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdNotEqualTo
(
String
value
)
{
addCriterion
(
"org_id <>"
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdGreaterThan
(
String
value
)
{
addCriterion
(
"org_id >"
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"org_id >="
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdLessThan
(
String
value
)
{
addCriterion
(
"org_id <"
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"org_id <="
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdLike
(
String
value
)
{
addCriterion
(
"org_id like"
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdNotLike
(
String
value
)
{
addCriterion
(
"org_id not like"
,
value
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdIn
(
List
<
String
>
values
)
{
addCriterion
(
"org_id in"
,
values
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"org_id not in"
,
values
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"org_id between"
,
value1
,
value2
,
"orgId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andOrgIdNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"org_id not between"
,
value1
,
value2
,
"orgId"
);
return
(
Criteria
)
this
;
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
...
...
src/main/java/com/tanpu/fund/feign/product/FeignForProduct.java
0 → 100644
View file @
a64cc00a
package
com
.
tanpu
.
fund
.
feign
.
product
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
com.tanpu.common.resp.CommonResp
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
//@FeignClient(value = "service-product", url = "http://127.0.0.1:8194/product")
@FeignClient
(
value
=
"service-product"
,
path
=
"/product"
)
public
interface
FeignForProduct
{
@ApiOperation
(
"获取私募产品列表(只返回产品名称)"
)
@GetMapping
(
"/get/fund/info/simple"
)
CommonResp
<
List
<
Type
>>
getSimpleFundList
(
@RequestParam
(
"list"
)
List
<
String
>
list
);
}
src/main/java/com/tanpu/fund/feign/product/FeignbackForProduct.java
0 → 100644
View file @
a64cc00a
package
com
.
tanpu
.
fund
.
feign
.
product
;
import
com.alibaba.fastjson.JSON
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
com.tanpu.common.resp.CommonResp
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Slf4j
@Component
public
class
FeignbackForProduct
implements
FallbackFactory
<
FeignForProduct
>
{
@Override
public
FeignForProduct
create
(
Throwable
throwable
)
{
return
new
FeignForProduct
()
{
@Override
public
CommonResp
<
List
<
Type
>>
getSimpleFundList
(
List
<
String
>
list
)
{
log
.
error
(
"FeignClientForFund.getSimpleFundList 获取私募产品列表(只返回产品名称参数: {}"
,
JSON
.
toJSONString
(
list
));
log
.
error
(
"FeignClientForFund.getSimpleFundList 获取私募产品列表(只返回产品名称异常"
,
throwable
);
return
CommonResp
.
error
(
"基金信息查询异常"
);
}
};
}
}
src/main/java/com/tanpu/fund/mapper/generator/FundCountMapper.java
View file @
a64cc00a
...
...
@@ -6,71 +6,55 @@ import java.util.List;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
@Mapper
public
interface
FundCountMapper
{
long
countByExample
(
FundCountExample
example
);
int
deleteByExample
(
FundCountExample
example
);
/**
* delete by primary key
*
* @param id primaryKey
* @return deleteCount
*/
int
deleteByPrimaryKey
(
String
id
);
/**
* insert record to table
*
* @param record the record
* @return insert count
*/
int
insert
(
FundCount
record
);
int
insertOrUpdate
(
FundCount
record
);
int
insertOrUpdateSelective
(
FundCount
record
);
/**
* insert record to table selective
*
* @param record the record
* @return insert count
*/
int
insertSelective
(
FundCount
record
);
List
<
FundCount
>
selectByExample
(
FundCountExample
example
);
/**
* select by primary key
*
* @param id primary key
* @return object by primary key
*/
FundCount
selectByPrimaryKey
(
String
id
);
int
updateByExampleSelective
(
@Param
(
"record"
)
FundCount
record
,
@Param
(
"example"
)
FundCountExample
example
);
int
updateByExample
(
@Param
(
"record"
)
FundCount
record
,
@Param
(
"example"
)
FundCountExample
example
);
/**
* update record selective
*
* @param record the updated record
* @return update count
*/
int
updateByPrimaryKeySelective
(
FundCount
record
);
/**
* update record
*
* @param record the updated record
* @return update count
*/
int
updateByPrimaryKey
(
FundCount
record
);
int
updateBatch
(
List
<
FundCount
>
list
);
int
updateBatchSelective
(
List
<
FundCount
>
list
);
int
batchInsert
(
@Param
(
"list"
)
List
<
FundCount
>
list
);
}
\ No newline at end of file
src/main/java/com/tanpu/fund/mapper/generator/IfaImportedFundNavMapper.java
View file @
a64cc00a
...
...
@@ -6,71 +6,55 @@ import java.util.List;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
@Mapper
public
interface
IfaImportedFundNavMapper
{
long
countByExample
(
IfaImportedFundNavExample
example
);
int
deleteByExample
(
IfaImportedFundNavExample
example
);
/**
* delete by primary key
*
* @param id primaryKey
* @return deleteCount
*/
int
deleteByPrimaryKey
(
Integer
id
);
int
deleteByPrimaryKey
(
Long
id
);
/**
* insert record to table
*
* @param record the record
* @return insert count
*/
int
insert
(
IfaImportedFundNav
record
);
int
insertOrUpdate
(
IfaImportedFundNav
record
);
int
insertOrUpdateSelective
(
IfaImportedFundNav
record
);
/**
* insert record to table selective
*
* @param record the record
* @return insert count
*/
int
insertSelective
(
IfaImportedFundNav
record
);
List
<
IfaImportedFundNav
>
selectByExample
(
IfaImportedFundNavExample
example
);
/**
* select by primary key
*
* @param id primary key
* @return object by primary key
*/
IfaImportedFundNav
selectByPrimaryKey
(
Integer
id
);
IfaImportedFundNav
selectByPrimaryKey
(
Long
id
);
int
updateByExampleSelective
(
@Param
(
"record"
)
IfaImportedFundNav
record
,
@Param
(
"example"
)
IfaImportedFundNavExample
example
);
int
updateByExample
(
@Param
(
"record"
)
IfaImportedFundNav
record
,
@Param
(
"example"
)
IfaImportedFundNavExample
example
);
/**
* update record selective
*
* @param record the updated record
* @return update count
*/
int
updateByPrimaryKeySelective
(
IfaImportedFundNav
record
);
/**
* update record
*
* @param record the updated record
* @return update count
*/
int
updateByPrimaryKey
(
IfaImportedFundNav
record
);
int
updateBatch
(
List
<
IfaImportedFundNav
>
list
);
int
updateBatchSelective
(
List
<
IfaImportedFundNav
>
list
);
int
batchInsert
(
@Param
(
"list"
)
List
<
IfaImportedFundNav
>
list
);
}
\ No newline at end of file
src/main/java/com/tanpu/fund/mapper/generator/custom/FundInfoCustomMapper.java
View file @
a64cc00a
package
com
.
tanpu
.
fund
.
mapper
.
generator
.
custom
;
import
com.tanpu.common.model.product.resp.FilePreviewResp
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
com.tanpu.fund.entity.generator.FundNav
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Mapper
;
...
...
@@ -47,4 +48,13 @@ public interface FundInfoCustomMapper {
@Select
(
"select t.id as fileId,t.logical_path as previewUrl from fund_file_record t where t.id in(${list})"
)
List
<
FilePreviewResp
>
getFilePreviewUrl
(
@Param
(
"list"
)
String
list
);
@Select
(
"select t.id as id, t.fund_short_name as `value` from fund_info t where t.id in(${list})"
)
List
<
Type
>
getSimpleFundList
(
@Param
(
"list"
)
String
list
);
@Select
(
"select t.id as id, t.fund_name as `value` from ifa_imported_fund_info t where t.id in(${list})"
)
List
<
Type
>
getSimplePrivateFundList
(
@Param
(
"list"
)
String
list
);
@Select
(
"select t.id as id,t.fund_short_name as value from fund_info t where t.fund_short_name like #{productName}"
)
List
<
Type
>
getFundInfoLikeName
(
@Param
(
"productName"
)
String
productName
);
}
src/main/java/com/tanpu/fund/service/ProductPrivateService.java
View file @
a64cc00a
...
...
@@ -5,20 +5,8 @@ import com.tanpu.common.model.Pageable;
import
com.tanpu.common.model.product.req.NetReq
;
import
com.tanpu.common.model.product.req.ProductInfoReq
;
import
com.tanpu.common.model.product.req.ProductListReq
;
import
com.tanpu.common.model.product.resp.BonusRatioVO
;
import
com.tanpu.common.model.product.resp.DynamicRetreatVO
;
import
com.tanpu.common.model.product.resp.FundCompanyVO
;
import
com.tanpu.common.model.product.resp.FundInfoSimpleListResp
;
import
com.tanpu.common.model.product.resp.FundManagerVO
;
import
com.tanpu.common.model.product.resp.FundRecordVO
;
import
com.tanpu.common.model.product.resp.FundSameResp
;
import
com.tanpu.common.model.product.resp.NetVO
;
import
com.tanpu.common.model.product.resp.ProductInfoVO
;
import
com.tanpu.common.model.product.resp.RiskRatingVO
;
import
com.tanpu.common.model.product.resp.TrackNetVO
;
import
com.tanpu.common.model.product.resp.TrackRecordVO
;
import
com.tanpu.common.model.product.resp.TradeNotesResp
;
import
com.tanpu.common.model.product.resp.UnitNetVO
;
import
com.tanpu.common.model.product.resp.*
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
java.util.List
;
...
...
@@ -81,4 +69,5 @@ public interface ProductPrivateService {
List
<
FundSameResp
>
getRemmendPrivateFundList
();
List
<
Type
>
getSimplePrivateFundList
(
List
<
String
>
list
);
}
src/main/java/com/tanpu/fund/service/ProductService.java
View file @
a64cc00a
...
...
@@ -2,6 +2,10 @@ package com.tanpu.fund.service;
import
com.tanpu.common.model.Page
;
import
com.tanpu.common.model.Pageable
;
import
com.tanpu.common.model.adm.req.IfaNetImportReq
;
import
com.tanpu.common.model.fund.req.FundRankReq
;
import
com.tanpu.common.model.fund.resq.FundRankResp
;
import
com.tanpu.common.model.privatefund.resp.FundNavMessage
;
import
com.tanpu.common.model.product.req.ProductListReq
;
import
com.tanpu.common.model.product.resp.DynamicRetreatVO
;
import
com.tanpu.common.model.product.resp.FundInfoSimpleListResp
;
...
...
@@ -9,6 +13,9 @@ import com.tanpu.common.model.product.resp.ProductInfoVO;
import
com.tanpu.common.model.product.req.NetReq
;
import
com.tanpu.common.model.product.req.ProductInfoReq
;
import
com.tanpu.common.model.product.resp.*
;
import
com.tanpu.common.resp.CommonResp
;
import
org.springframework.web.multipart.MultipartFile
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
java.util.List
;
...
...
@@ -68,4 +75,16 @@ public interface ProductService {
List
<
FundSameResp
>
querySamefund
(
String
fundId
);
List
<
FundSameResp
>
getRemmendPrivateFundList
(
String
fundId
);
CommonResp
<
List
<
FundNavMessage
>>
importNet
(
MultipartFile
file
,
String
fundId
);
List
<
Type
>
getSimpleFundList
(
List
<
String
>
list
);
CommonResp
<
List
<
FundNavMessage
>>
importNetCheckSave
(
IfaNetImportReq
req
);
Page
<
FundRankResp
>
getFundRank
(
FundRankReq
req
);
Long
getFundRankCountInfo
(
FundRankReq
req
);
List
<
Type
>
getFundLikeShortName
(
String
productName
,
Pageable
page
);
}
src/main/java/com/tanpu/fund/service/impl/ProductPrivateServiceImpl.java
View file @
a64cc00a
...
...
@@ -20,6 +20,7 @@ import com.tanpu.fund.entity.generator.*;
import
com.tanpu.fund.enums.ProTypeEnums
;
import
com.tanpu.fund.feign.diagnose.FeignClientForDiagnose
;
import
com.tanpu.fund.mapper.generator.*
;
import
com.tanpu.fund.mapper.generator.custom.FundInfoCustomMapper
;
import
com.tanpu.fund.service.ProductPrivateService
;
import
com.tanpu.fund.utils.LongUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -86,6 +87,9 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan
@Resource
private
FeignClientForDiagnose
diagnose
;
@Resource
private
FundInfoCustomMapper
fundInfoCustomMapper
;
@Override
public
Page
<
ProductInfoVO
>
getProductList
(
ProductInfoReq
req
)
{
return
null
;
...
...
@@ -519,4 +523,8 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan
return
null
;
}
@Override
public
List
<
Type
>
getSimplePrivateFundList
(
List
<
String
>
list
)
{
return
fundInfoCustomMapper
.
getSimplePrivateFundList
(
list
.
stream
().
collect
(
Collectors
.
joining
(
"','"
,
"'"
,
"'"
)));
}
}
src/main/java/com/tanpu/fund/service/impl/ProductServiceImpl.java
View file @
a64cc00a
package
com
.
tanpu
.
fund
.
service
.
impl
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DatePattern
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.poi.excel.ExcelReader
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
com.github.pagehelper.page.PageMethod
;
import
com.google.common.collect.Lists
;
import
com.tanpu.common.auth.UserInfoThreadLocalHolder
;
...
...
@@ -11,35 +15,44 @@ import com.tanpu.common.enums.SysConstEnums;
import
com.tanpu.common.enums.product.ProductEnums
;
import
com.tanpu.common.model.Page
;
import
com.tanpu.common.model.Pageable
;
import
com.tanpu.common.model.adm.req.IfaNetImportReq
;
import
com.tanpu.common.model.fund.req.FundRankReq
;
import
com.tanpu.common.model.fund.resq.FundRankResp
;
import
com.tanpu.common.model.privatefund.resp.FundNavMessage
;
import
com.tanpu.common.model.product.FundInfoVO
;
import
com.tanpu.common.model.product.req.NetReq
;
import
com.tanpu.common.model.product.req.ProductInfoReq
;
import
com.tanpu.common.model.product.req.ProductListReq
;
import
com.tanpu.common.model.product.resp.*
;
import
com.tanpu.common.model.tanpuroom.Type
;
import
com.tanpu.common.model.user.resp.SysConstantResp
;
import
com.tanpu.common.resp.CommonResp
;
import
com.tanpu.common.utils.BigDecimalUtil
;
import
com.tanpu.fund.entity.generator.*
;
import
com.tanpu.fund.enums.FilterTypeEnum
;
import
com.tanpu.fund.feign.diagnose.FeignClientForDiagnose
;
import
com.tanpu.fund.feign.product.FeignForProduct
;
import
com.tanpu.fund.feign.user.FeignClientForFatools
;
import
com.tanpu.fund.mapper.generator.*
;
import
com.tanpu.fund.mapper.generator.custom.FundInfoCustomMapper
;
import
com.tanpu.fund.service.ProductCommonService
;
import
com.tanpu.fund.service.ProductService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.validator.routines.BigDecimalValidator
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicBoolean
;
import
java.util.stream.Collectors
;
import
static
com
.
tanpu
.
common
.
utils
.
BigDecimalUtil
.
multiply100
;
import
static
com
.
tanpu
.
common
.
utils
.
BigDecimalUtil
.
subtract
;
import
static
com
.
tanpu
.
common
.
utils
.
BigDecimalUtil
.*;
import
static
com
.
tanpu
.
fund
.
enums
.
FilterTypeEnum
.
SINCE_ESTABLISHED
;
import
static
com
.
tanpu
.
fund
.
utils
.
LongUtil
.
timeLong
;
...
...
@@ -97,15 +110,15 @@ public class ProductServiceImpl implements ProductService, Constant {
@Resource
private
IfaImportedFundNavMapper
ifaImportedFundNavMapper
;
@Resource
private
ProductCommonService
productCommonService
;
@Resource
private
FeignClientForFatools
fatools
;
@Resource
private
FeignClientForDiagnose
feignClientForDiagnose
;
@Resource
private
FeignForProduct
product
;
@Override
public
Page
<
ProductInfoVO
>
getProductList
(
ProductInfoReq
req
)
{
...
...
@@ -119,7 +132,7 @@ public class ProductServiceImpl implements ProductService, Constant {
List
<
ProductInfoVO
>
vos
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
vos
=
getProductInfoVOS
(
fundCounts
,
list
,
1
);
vos
=
getProductInfoVOS
(
fundCounts
,
list
);
}
return
new
Page
<>(
req
.
getPage
(),
page
.
getTotal
(),
vos
);
...
...
@@ -144,7 +157,6 @@ public class ProductServiceImpl implements ProductService, Constant {
vo
.
setProductName
(
fundInfo
.
getFundShortName
());
vo
.
setDesc
(
fundInfo
.
getDescInfo
());
List
<
String
>
ls
=
Lists
.
newArrayList
(
fundInfo
.
getPrimaryBenchmarkId
());
/*// 产品编码
Map<String, List<IndexesProfile>> indexIdMap = getIndexIdMap(ls);
getProductCode(indexIdMap, vo, fundInfo);*/
...
...
@@ -206,10 +218,10 @@ public class ProductServiceImpl implements ProductService, Constant {
if
(
vo
.
getSubstrategy
()
!=
null
)
{
CommonResp
<
List
<
SysConstantResp
>>
listCommonResp
=
this
.
fatools
.
queryLabels
(
SysConstEnums
.
TAMPSUBSTRATEGY
.
getConstantGroup
());
if
(
listCommonResp
.
isSuccess
())
{
SysConstantResp
sysConstantResp
=
listCommonResp
.
getAttributes
().
stream
().
filter
(
item
->
StringUtils
.
equals
(
String
.
valueOf
(
vo
.
getSubstrategy
()),
item
.
getConstantCode
())).
findFirst
().
orElse
(
null
);
if
(
sysConstantResp
!=
null
)
{
vo
.
setStrategyName
(
sysConstantResp
.
getConstantName
());
}
listCommonResp
.
getAttributes
().
stream
()
.
filter
(
item
->
StringUtils
.
equals
(
String
.
valueOf
(
vo
.
getSubstrategy
()),
item
.
getConstantCode
()))
.
findFirst
()
.
ifPresent
(
sysConstantResp
->
vo
.
setStrategyName
(
sysConstantResp
.
getConstantName
()));
}
}
...
...
@@ -779,7 +791,7 @@ public class ProductServiceImpl implements ProductService, Constant {
if
(
i
<
fundNavs
.
size
()
-
1
)
{
FundNav
pre
=
fundNavs
.
get
(
i
+
1
);
if
(
pre
.
getNav
().
compareTo
(
BigDecimal
.
ZERO
)
==
1
)
{
if
(
pre
.
getNav
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
BigDecimal
dailyIncrease
=
f
.
getNav
().
subtract
(
pre
.
getNav
()).
divide
(
pre
.
getNav
(),
4
,
BigDecimal
.
ROUND_HALF_UP
);
vo
.
setDailyIncrease
(
BigDecimalUtil
.
multiply100
(
dailyIncrease
));
}
...
...
@@ -1021,7 +1033,7 @@ public class ProductServiceImpl implements ProductService, Constant {
List
<
ProductInfoVO
>
vos
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
req
.
getFundIds
()))
{
vos
=
getProductInfoVOS
(
fundCounts
,
req
.
getFundIds
()
,
1
);
vos
=
getProductInfoVOS
(
fundCounts
,
req
.
getFundIds
());
}
return
vos
;
...
...
@@ -1158,7 +1170,7 @@ public class ProductServiceImpl implements ProductService, Constant {
}).
collect
(
Collectors
.
toList
());
}
private
List
<
ProductInfoVO
>
getProductInfoVOS
(
List
<
FundCount
>
fundCounts
,
List
<
String
>
list
,
Integer
productType
)
{
private
List
<
ProductInfoVO
>
getProductInfoVOS
(
List
<
FundCount
>
fundCounts
,
List
<
String
>
list
)
{
FundInfoExample
example
=
new
FundInfoExample
();
example
.
createCriteria
().
andIdIn
(
list
).
andDeleteTagEqualTo
(
ZERO_NUM
);
example
.
setOrderByClause
(
"create_time desc"
);
...
...
@@ -1190,7 +1202,7 @@ public class ProductServiceImpl implements ProductService, Constant {
}
}
return
fundInfos
.
stream
().
map
(
p
->
getProductInfoVO
(
fundCountMap
,
rateMappingMap
,
p
,
null
,
productType
,
fundNavMap
))
return
fundInfos
.
stream
().
map
(
p
->
getProductInfoVO
(
fundCountMap
,
rateMappingMap
,
p
,
fundNavMap
))
.
collect
(
Collectors
.
toList
());
}
...
...
@@ -1201,7 +1213,7 @@ public class ProductServiceImpl implements ProductService, Constant {
private
ProductInfoVO
getProductInfoVO
(
Map
<
String
,
FundCount
>
fundCountMap
,
Map
<
String
,
FundRateMapping
>
rateMappingMap
,
FundInfo
fundInfo
,
Set
<
String
>
fundInfoReports
,
Integer
productType
,
Map
<
String
,
FundNav
>
fundNavMap
)
{
Map
<
String
,
FundNav
>
fundNavMap
)
{
ProductInfoVO
vo
=
new
ProductInfoVO
();
if
(
fundCountMap
.
containsKey
(
fundInfo
.
getId
()))
{
FundCount
fundCount
=
fundCountMap
.
get
(
fundInfo
.
getId
());
...
...
@@ -1212,7 +1224,7 @@ public class ProductServiceImpl implements ProductService, Constant {
vo
.
setRetIncep
(
multiply100
(
fundCount
.
getRetIncep
()));
vo
.
setCumulativeProfit
(
BigDecimalUtil
.
toString
(
fundCount
.
getCumulativeNav
()));
}
vo
.
setProductType
(
productType
);
vo
.
setProductType
(
1
);
String
fundId
=
fundInfo
.
getId
();
vo
.
setFundId
(
fundId
);
...
...
@@ -1226,11 +1238,7 @@ public class ProductServiceImpl implements ProductService, Constant {
// 风险等级
vo
.
setRiskLevel
(
fundInfo
.
getRiskLevel
());
if
(
fundInfoReports
!=
null
&&
fundInfoReports
.
contains
(
fundId
))
{
vo
.
setIsReport
(
1
);
}
else
{
vo
.
setIsReport
(
0
);
}
vo
.
setIsAppoint
(
fundInfo
.
getType
());
// 最新净值
...
...
@@ -1424,10 +1432,10 @@ public class ProductServiceImpl implements ProductService, Constant {
if
(
detailResp
.
getSubstrategy
()
!=
null
)
{
CommonResp
<
List
<
SysConstantResp
>>
listCommonResp
=
this
.
fatools
.
queryLabels
(
SysConstEnums
.
TAMPSUBSTRATEGY
.
getConstantGroup
());
if
(
listCommonResp
.
isSuccess
())
{
SysConstantResp
sysConstantResp
=
listCommonResp
.
getAttributes
().
stream
().
filter
(
item
->
StringUtils
.
equals
(
String
.
valueOf
(
detailResp
.
getSubstrategy
()),
item
.
getConstantCode
())).
findFirst
().
orElse
(
null
);
if
(
sysConstantResp
!=
null
)
{
detailResp
.
setStrategyName
(
sysConstantResp
.
getConstantName
());
}
listCommonResp
.
getAttributes
().
stream
()
.
filter
(
item
->
StringUtils
.
equals
(
String
.
valueOf
(
detailResp
.
getSubstrategy
()),
item
.
getConstantCode
())).
findFirst
()
.
ifPresent
(
sysConstantResp
->
detailResp
.
setStrategyName
(
sysConstantResp
.
getConstantName
()));
}
}
...
...
@@ -1476,7 +1484,8 @@ public class ProductServiceImpl implements ProductService, Constant {
fundNavs
=
fundNavs
.
stream
().
collect
(
Collectors
.
collectingAndThen
(
Collectors
.
toCollection
(()
->
new
TreeSet
<>(
Comparator
.
comparing
(
IfaImportedFundNav:
:
getPriceDate
))),
ArrayList:
:
new
));
new
TreeSet
<>(
Comparator
.
comparing
(
IfaImportedFundNav:
:
getPriceDate
))),
ArrayList:
:
new
))
.
stream
().
sorted
(
Comparator
.
comparing
(
IfaImportedFundNav:
:
getPriceDate
).
reversed
()).
collect
(
Collectors
.
toList
());
//计算 日涨幅=(今日净值-前一日净值)/前一日净值
List
<
TrackNetVO
>
list
=
new
ArrayList
<>();
...
...
@@ -1576,6 +1585,7 @@ public class ProductServiceImpl implements ProductService, Constant {
p
.
setSubstrategy
(
item
.
getSubstrategy
()
+
""
);
p
.
setStrategy
(
item
.
getStrategy
()
+
""
);
p
.
setProductName
(
item
.
getFundName
());
p
.
setRet1y
(
importedFundCount
==
null
?
null
:
BigDecimalUtil
.
multiply100
(
importedFundCount
.
getRet1y
()));
p
.
setRet1m
(
importedFundCount
==
null
?
null
:
BigDecimalUtil
.
multiply100
(
importedFundCount
.
getRet1m
()));
p
.
setRetIncep
(
importedFundCount
==
null
?
null
:
BigDecimalUtil
.
multiply100
(
importedFundCount
.
getRetIncep
()));
p
.
setNet
(
importedFundCount
==
null
?
null
:
Net
.
builder
().
netDate
(
importedFundCount
.
getPriceDate
().
getTime
())
...
...
@@ -1676,7 +1686,7 @@ public class ProductServiceImpl implements ProductService, Constant {
List
<
String
>
checkFundIdList
=
feignClientForDiagnose
.
getFundCollectInfo
(
fundIdList
).
getAttributes
();
importedFundInfoList
.
stream
().
map
(
item
->
{
importedFundInfoList
.
forEach
(
item
->
{
FundSameResp
p
=
FundSameResp
.
builder
()
.
fundId
(
item
.
getId
())
.
fundName
(
item
.
getFundName
())
...
...
@@ -1686,11 +1696,688 @@ public class ProductServiceImpl implements ProductService, Constant {
if
(
fundCountMap
!=
null
&&
fundCountMap
.
containsKey
(
item
.
getId
()))
{
p
.
setRet1y
(
BigDecimalUtil
.
toString
(
fundCountMap
.
get
(
item
.
getId
()).
getRet1y
(),
2
));
}
});
return
p
;
return
new
ArrayList
<>(
0
);
}
@Override
public
List
<
Type
>
getSimpleFundList
(
List
<
String
>
list
)
{
return
fundInfoCustomMapper
.
getSimpleFundList
(
list
.
stream
().
collect
(
Collectors
.
joining
(
"','"
,
"'"
,
"'"
)));
}
@Override
public
CommonResp
<
List
<
FundNavMessage
>>
importNetCheckSave
(
IfaNetImportReq
req
)
{
Map
<
Long
,
IfaImportedFundNav
>
ifaNavMap
;
if
(
StringUtils
.
isEmpty
(
req
.
getFundId
()))
{
ifaNavMap
=
new
HashMap
<>(
0
);
}
else
{
ifaNavMap
=
getIfaNavMap
(
req
.
getFundId
());
}
List
<
FundNavMessage
>
resultMessage
=
new
ArrayList
<>(
req
.
getFundNavMessages
().
size
()
*
2
);
AtomicBoolean
errorStatus
=
new
AtomicBoolean
(
false
);
req
.
setFundNavMessages
(
req
.
getFundNavMessages
()
.
stream
()
.
peek
(
ls
->
{
ls
.
setConfirmStatus
(
null
);
ls
.
setMessage
(
null
);
}).
collect
(
Collectors
.
toList
()));
List
<
List
<
Object
>>
read
=
req
.
getFundNavMessages
().
stream
().
map
(
ls
->
{
List
<
Object
>
linkedList
=
new
LinkedList
<>();
if
(
StringUtils
.
isNotEmpty
(
ls
.
getPrice_date
()))
{
linkedList
.
add
(
ls
.
getPrice_date
());
}
else
{
linkedList
.
add
(
""
);
}
linkedList
.
add
(
ls
.
getNav
());
linkedList
.
add
(
ls
.
getCumulative_nav
());
linkedList
.
add
(
ls
.
getId
());
linkedList
.
add
(
ls
.
getFund_id
());
return
linkedList
;
}).
collect
(
Collectors
.
toList
());
return
new
ArrayList
<>(
0
);
return
getListCommonResp
(
ifaNavMap
,
resultMessage
,
errorStatus
,
read
);
}
@Override
public
Page
<
FundRankResp
>
getFundRank
(
FundRankReq
req
)
{
FundCountExample
example
=
filterFundCountReq
(
req
);
Pageable
pageable
=
new
Pageable
(
req
.
getPageNumber
(),
req
.
getPageSize
());
com
.
github
.
pagehelper
.
Page
<
Object
>
objects
=
PageMethod
.
startPage
(
req
.
getPageNumber
(),
req
.
getPageSize
());
List
<
FundCount
>
fundCounts
=
this
.
fundCountMapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isEmpty
(
fundCounts
))
{
return
new
Page
<>(
pageable
,
new
ArrayList
<>(
0
));
}
FundInfoExample
example1
=
new
FundInfoExample
();
List
<
String
>
ids
=
fundCounts
.
stream
()
.
map
(
FundCount:
:
getFundId
)
.
collect
(
Collectors
.
toList
());
example1
.
createCriteria
().
andIdIn
(
ids
);
Map
<
String
,
String
>
fundNameMap
=
this
.
fundInfoMapper
.
selectByExample
(
example1
)
.
stream
()
.
collect
(
Collectors
.
toMap
(
FundInfo:
:
getId
,
FundInfo:
:
getFundShortName
));
Set
<
String
>
fundSets
=
product
.
getSimpleFundList
(
ids
)
.
getAttributes
()
.
stream
()
.
map
(
Type:
:
getId
)
.
collect
(
Collectors
.
toSet
());
return
new
Page
<>(
pageable
,
objects
.
getTotal
(),
fundCounts
.
stream
()
.
map
(
ls
->
{
FundRankResp
resp
=
new
FundRankResp
();
String
fundId
=
ls
.
getFundId
();
resp
.
setProductName
(
Type
.
builder
().
id
(
fundId
).
value
(
fundNameMap
.
get
(
fundId
)).
build
());
boolean
productType
=
true
;
if
(
fundSets
.
contains
(
fundId
))
{
productType
=
false
;
}
resp
.
setProductType
(
Type
.
builder
().
id
(
productType
?
"1"
:
"2"
).
value
(
productType
?
"私募基金"
:
"探普白名单"
).
build
());
if
(
ls
.
getEndDate
()
!=
null
)
{
resp
.
setNet
(
Net
.
builder
().
netValue
(
BigDecimalUtil
.
toString
(
ls
.
getNetNav
(),
4
)).
netDate
(
ls
.
getEndDate
().
getTime
()).
build
());
}
if
(
req
.
getRank
()
==
null
)
{
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet1y
()));
}
else
{
switch
(
req
.
getRank
())
{
case
"day"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet1day
()));
break
;
case
"week"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet1w
()));
break
;
case
"month"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet1m
()));
break
;
case
"season"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet3m
()));
break
;
case
"halfAYear"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet6m
()));
break
;
case
"year"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet1y
()));
break
;
case
"twoYear"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet2y
()));
break
;
case
"threeYear"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet3y
()));
break
;
case
"fiveYear"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRet5y
()));
break
;
case
"retIncep"
:
resp
.
setRangeOfIncrease
(
BigDecimalUtil
.
multiply100
(
ls
.
getRetIncep
()));
break
;
}
}
return
resp
;
}).
collect
(
Collectors
.
toList
()));
}
private
FundCountExample
filterFundCountReq
(
FundRankReq
req
)
{
FundCountExample
example
=
new
FundCountExample
();
FundCountExample
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
req
==
null
)
{
example
.
setOrderByClause
(
"ret_1y desc"
);
}
else
{
filterInceptionDate
(
req
,
criteria
);
if
(
CollectionUtils
.
isNotEmpty
(
req
.
getStrategys
()))
{
criteria
.
andSubstrategyIn
(
req
.
getStrategys
().
stream
().
map
(
Integer:
:
valueOf
).
collect
(
Collectors
.
toList
()));
}
filterRet
(
req
,
criteria
);
filterMaxdrwadown
(
req
,
criteria
);
filterStddev
(
req
,
criteria
);
filterSharpertio
(
req
,
criteria
);
filterSort
(
req
,
example
);
}
criteria
.
andDeleteTagEqualTo
(
0
);
return
example
;
}
private
void
filterInceptionDate
(
FundRankReq
req
,
FundCountExample
.
Criteria
criteria
)
{
if
(
req
.
getInceptionDate
()
!=
null
)
{
final
DateTime
beginYear
=
DateUtil
.
beginOfYear
(
DateTime
.
now
());
DateTime
endTime
;
DateTime
beginTime
;
if
(
req
.
getInceptionDate
()
==
1
)
{
endTime
=
DateUtil
.
endOfDay
(
new
Date
());
beginTime
=
beginYear
;
}
else
if
(
req
.
getInceptionDate
()
==
2
)
{
endTime
=
DateUtil
.
beginOfYear
(
beginYear
);
beginTime
=
DateUtil
.
offset
(
endTime
,
DateField
.
YEAR
,
-
1
);
}
else
if
(
req
.
getInceptionDate
()
==
3
)
{
endTime
=
DateUtil
.
offset
(
beginYear
,
DateField
.
YEAR
,
-
1
);
beginTime
=
DateUtil
.
offset
(
beginYear
,
DateField
.
YEAR
,
-
2
);
}
else
if
(
req
.
getInceptionDate
()
==
4
)
{
endTime
=
DateUtil
.
offset
(
DateUtil
.
beginOfYear
(
beginYear
),
DateField
.
YEAR
,
-
2
);
beginTime
=
DateUtil
.
offset
(
endTime
,
DateField
.
YEAR
,
-
5
);
}
else
if
(
req
.
getInceptionDate
()
==
5
)
{
endTime
=
DateUtil
.
offset
(
DateUtil
.
beginOfYear
(
beginYear
),
DateField
.
YEAR
,
-
2
);
beginTime
=
DateUtil
.
offset
(
beginYear
,
DateField
.
YEAR
,
-
5
);
}
else
{
endTime
=
DateUtil
.
endOfDay
(
new
Date
());
beginTime
=
beginYear
;
}
if
(
req
.
getInceptionDate
()
!=
5
)
{
criteria
.
andInceptionDateBetween
(
beginTime
,
endTime
);
}
else
{
criteria
.
andInceptionDateLessThanOrEqualTo
(
beginTime
);
}
}
}
private
void
filterSort
(
FundRankReq
req
,
FundCountExample
example
)
{
if
(
StringUtils
.
isNotEmpty
(
req
.
getRank
()))
{
String
sort
=
null
;
if
(
StringUtils
.
isNotEmpty
(
req
.
getRankSort
()))
{
switch
(
req
.
getRank
())
{
case
"day"
:
sort
=
" ret_1day "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"week"
:
sort
=
" ret_1w "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"month"
:
sort
=
" ret_1m "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"season"
:
sort
=
" ret_3m "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"halfAYear"
:
sort
=
" ret_6m "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"year"
:
sort
=
" ret_1y "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"twoYear"
:
sort
=
" ret_2y "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"threeYear"
:
sort
=
" ret_3y "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"fiveYear"
:
sort
=
" ret_5y "
+
req
.
getRankSort
()
+
" , "
;
break
;
case
"retIncep"
:
sort
=
" ret_incep "
+
req
.
getRankSort
()
+
" , "
;
break
;
}
}
sort
=
(
StringUtils
.
isEmpty
(
sort
)
?
""
:
sort
)
+
" net_nav "
;
if
(
StringUtils
.
isNotEmpty
(
req
.
getNetSort
()))
{
sort
=
sort
+
req
.
getNetSort
();
}
else
{
sort
=
sort
+
"desc"
;
}
example
.
setOrderByClause
(
sort
);
}
else
{
example
.
setOrderByClause
(
"ret_1y desc"
);
}
}
private
void
filterRet
(
FundRankReq
req
,
FundCountExample
.
Criteria
criteria
)
{
if
(
req
.
getRet1y
()
!=
null
)
{
switch
(
req
.
getRet1y
().
getYear
())
{
case
"1m"
:
if
(
"+"
.
equals
(
req
.
getRet1y
().
getEnd
()))
{
criteria
.
andRet1mGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRet1mBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
case
"3m"
:
if
(
"+"
.
equals
(
req
.
getRet1y
().
getEnd
()))
{
criteria
.
andRet3mGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRet3mBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
case
"6m"
:
if
(
"+"
.
equals
(
req
.
getRet1y
().
getEnd
()))
{
criteria
.
andRet6mGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRet6mBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
case
"1y"
:
if
(
"+"
.
equals
(
req
.
getRet1y
().
getEnd
()))
{
criteria
.
andRet1yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRet1yBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
case
"thisY"
:
if
(
"+"
.
equals
(
req
.
getRet1y
().
getEnd
()))
{
criteria
.
andRetYtdGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRetYtdBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
case
"2y"
:
if
(
req
.
getRet1y
().
getEnd
().
equals
(
"+"
))
{
criteria
.
andRet2yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRet2yBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
case
"3y"
:
if
(
req
.
getRet1y
().
getEnd
().
equals
(
"+"
))
{
criteria
.
andRet3yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRet3yBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
case
"5y"
:
if
(
req
.
getRet1y
().
getEnd
().
equals
(
"+"
))
{
criteria
.
andRet5yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()));
}
else
{
criteria
.
andRet5yBetween
(
new
BigDecimal
(
req
.
getRet1y
().
getBegin
()),
new
BigDecimal
(
req
.
getRet1y
().
getEnd
()));
}
break
;
}
}
}
private
void
filterMaxdrwadown
(
FundRankReq
req
,
FundCountExample
.
Criteria
criteria
)
{
if
(
req
.
getMaxdrawdown1y
()
!=
null
)
{
switch
(
req
.
getMaxdrawdown1y
().
getYear
())
{
case
"1y"
:
if
((
"-"
).
equals
(
req
.
getMaxdrawdown1y
().
getBegin
()))
{
criteria
.
andMaxdrawdown1yLessThanOrEqualTo
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
else
{
criteria
.
andMaxdrawdown1yBetween
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getBegin
()),
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
break
;
case
"2y"
:
if
((
"-"
).
equals
(
req
.
getMaxdrawdown1y
().
getBegin
()))
{
criteria
.
andMaxdrawdown2yLessThanOrEqualTo
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
else
{
criteria
.
andMaxdrawdown2yBetween
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getBegin
()),
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
break
;
case
"3y"
:
if
((
"-"
).
equals
(
req
.
getMaxdrawdown1y
().
getBegin
()))
{
criteria
.
andMaxdrawdown3yLessThanOrEqualTo
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
else
{
criteria
.
andMaxdrawdown3yBetween
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getBegin
()),
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
break
;
case
"4y"
:
if
((
"-"
).
equals
(
req
.
getMaxdrawdown1y
().
getBegin
()))
{
criteria
.
andMaxdrawdown4yLessThanOrEqualTo
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
else
{
criteria
.
andMaxdrawdown4yBetween
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getBegin
()),
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
break
;
case
"5y"
:
if
((
"-"
).
equals
(
req
.
getMaxdrawdown1y
().
getBegin
()))
{
criteria
.
andMaxdrawdown5yLessThanOrEqualTo
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
else
{
criteria
.
andMaxdrawdown5yBetween
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getBegin
()),
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
break
;
case
"10y"
:
if
((
"-"
).
equals
(
req
.
getMaxdrawdown1y
().
getBegin
()))
{
criteria
.
andMaxdrawdown10yLessThanOrEqualTo
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
else
{
criteria
.
andMaxdrawdown10yBetween
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getBegin
()),
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
break
;
case
"incepY"
:
if
((
"-"
).
equals
(
req
.
getMaxdrawdown1y
().
getBegin
()))
{
criteria
.
andMaxdrawdownIncepLessThanOrEqualTo
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
else
{
criteria
.
andMaxdrawdownIncepBetween
(
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getBegin
()),
new
BigDecimal
(
req
.
getMaxdrawdown1y
().
getEnd
()));
}
break
;
}
}
}
private
void
filterStddev
(
FundRankReq
req
,
FundCountExample
.
Criteria
criteria
)
{
if
(
req
.
getStddev1y
()
!=
null
)
{
switch
(
req
.
getStddev1y
().
getYear
())
{
case
"1y"
:
if
(
"+"
.
equals
(
req
.
getStddev1y
().
getEnd
()))
{
criteria
.
andStddev1yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()));
}
else
{
criteria
.
andStddev1yBetween
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()),
new
BigDecimal
(
req
.
getStddev1y
().
getEnd
()));
}
break
;
case
"2y"
:
if
(
"+"
.
equals
(
req
.
getStddev1y
().
getEnd
()))
{
criteria
.
andStddev2yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()));
}
else
{
criteria
.
andStddev2yBetween
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()),
new
BigDecimal
(
req
.
getStddev1y
().
getEnd
()));
}
break
;
case
"3y"
:
if
(
"+"
.
equals
(
req
.
getStddev1y
().
getEnd
()))
{
criteria
.
andStddev3yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()));
}
else
{
criteria
.
andStddev3yBetween
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()),
new
BigDecimal
(
req
.
getStddev1y
().
getEnd
()));
}
break
;
case
"4y"
:
if
(
"+"
.
equals
(
req
.
getStddev1y
().
getEnd
()))
{
criteria
.
andStddev4yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()));
}
else
{
criteria
.
andStddev4yBetween
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()),
new
BigDecimal
(
req
.
getStddev1y
().
getEnd
()));
}
break
;
case
"5y"
:
if
(
"+"
.
equals
(
req
.
getStddev1y
().
getEnd
()))
{
criteria
.
andStddev5yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()));
}
else
{
criteria
.
andStddev5yBetween
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()),
new
BigDecimal
(
req
.
getStddev1y
().
getEnd
()));
}
break
;
case
"10y"
:
if
(
"+"
.
equals
(
req
.
getStddev1y
().
getEnd
()))
{
criteria
.
andStddev10yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()));
}
else
{
criteria
.
andStddev10yBetween
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()),
new
BigDecimal
(
req
.
getStddev1y
().
getEnd
()));
}
break
;
case
"incepY"
:
if
(
"+"
.
equals
(
req
.
getStddev1y
().
getEnd
()))
{
criteria
.
andStddevIncepGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()));
}
else
{
criteria
.
andStddevIncepBetween
(
new
BigDecimal
(
req
.
getStddev1y
().
getBegin
()),
new
BigDecimal
(
req
.
getStddev1y
().
getEnd
()));
}
break
;
}
}
}
private
void
filterSharpertio
(
FundRankReq
req
,
FundCountExample
.
Criteria
criteria
)
{
if
(
req
.
getSharperatio1y
()
!=
null
)
{
switch
(
req
.
getSharperatio1y
().
getYear
())
{
case
"1y"
:
if
(
"+"
.
equals
(
req
.
getSharperatio1y
().
getEnd
()))
{
criteria
.
andSharperatio1yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()));
}
else
{
criteria
.
andSharperatio1yBetween
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()),
new
BigDecimal
(
req
.
getSharperatio1y
().
getEnd
()));
}
break
;
case
"2y"
:
if
(
"+"
.
equals
(
req
.
getSharperatio1y
().
getEnd
()))
{
criteria
.
andSharperatio2yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()));
}
else
{
criteria
.
andSharperatio2yBetween
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()),
new
BigDecimal
(
req
.
getSharperatio1y
().
getEnd
()));
}
break
;
case
"3y"
:
if
(
"+"
.
equals
(
req
.
getSharperatio1y
().
getEnd
()))
{
criteria
.
andSharperatio3yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()));
}
else
{
criteria
.
andSharperatio3yBetween
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()),
new
BigDecimal
(
req
.
getSharperatio1y
().
getEnd
()));
}
break
;
case
"4y"
:
if
(
"+"
.
equals
(
req
.
getSharperatio1y
().
getEnd
()))
{
criteria
.
andSharperatio4yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()));
}
else
{
criteria
.
andSharperatio4yBetween
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()),
new
BigDecimal
(
req
.
getSharperatio1y
().
getEnd
()));
}
break
;
case
"5y"
:
if
(
"+"
.
equals
(
req
.
getSharperatio1y
().
getEnd
()))
{
criteria
.
andSharperatio5yGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()));
}
else
{
criteria
.
andSharperatio5yBetween
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()),
new
BigDecimal
(
req
.
getSharperatio1y
().
getEnd
()));
}
break
;
case
"incepY"
:
if
(
"+"
.
equals
(
req
.
getSharperatio1y
().
getEnd
()))
{
criteria
.
andSharperatioIncepGreaterThanOrEqualTo
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()));
}
else
{
criteria
.
andSharperatioIncepBetween
(
new
BigDecimal
(
req
.
getSharperatio1y
().
getBegin
()),
new
BigDecimal
(
req
.
getSharperatio1y
().
getEnd
()));
}
break
;
}
}
}
@Override
public
Long
getFundRankCountInfo
(
FundRankReq
req
)
{
FundCountExample
example
=
filterFundCountReq
(
req
);
return
this
.
fundCountMapper
.
countByExample
(
example
);
}
private
CommonResp
<
List
<
FundNavMessage
>>
getListCommonResp
(
Map
<
Long
,
IfaImportedFundNav
>
ifaNavMap
,
List
<
FundNavMessage
>
resultMessage
,
AtomicBoolean
errorStatus
,
List
<
List
<
Object
>>
read
)
{
List
<
FundNavMessage
>
newResultMessage
=
handlerNetImportCheck
(
ifaNavMap
,
resultMessage
,
errorStatus
,
read
);
/* if (errorStatus.get()) {
//只做校验不入库
// this.ifaImportedFundNavMapper.batchInsert(resultMessage.stream().map(ls -> {
// IfaImportedFundNav nav = new IfaImportedFundNav();
// BeanUtils.copyProperties(ls, nav);
// return nav;
// }).collect(Collectors.toList()));
return CommonResp.success();
}*/
newResultMessage
.
sort
(
Comparator
.
comparing
(
FundNavMessage:
:
getPriceDate
).
reversed
());
//return CommonResp.error("0003", "数据错误,请您重新核对", newResultMessage);
return
CommonResp
.
success
(
newResultMessage
);
}
private
static
final
BigDecimal
compare02
=
new
BigDecimal
(
"0.2"
);
@Override
public
CommonResp
<
List
<
FundNavMessage
>>
importNet
(
MultipartFile
file
,
String
fundId
)
{
Map
<
Long
,
IfaImportedFundNav
>
ifaNavMap
;
if
(
StringUtils
.
isEmpty
(
fundId
))
{
ifaNavMap
=
new
HashMap
<>(
0
);
}
else
{
ifaNavMap
=
getIfaNavMap
(
fundId
);
}
try
(
InputStream
inputStream
=
file
.
getInputStream
())
{
ExcelReader
reader
=
ExcelUtil
.
getReader
(
inputStream
);
int
size
=
reader
.
readAll
().
size
();
List
<
FundNavMessage
>
resultMessage
=
new
ArrayList
<>(
size
*
2
);
AtomicBoolean
errorStatus
=
new
AtomicBoolean
(
false
);
List
<
List
<
Object
>>
read
=
reader
.
read
(
1
,
size
);
return
getListCommonResp
(
ifaNavMap
,
resultMessage
,
errorStatus
,
read
);
}
catch
(
Exception
e
)
{
return
CommonResp
.
error
(
"0004"
,
"文件格式错误,无法读取,请您重新下载导入模板"
);
}
}
private
Map
<
Long
,
IfaImportedFundNav
>
getIfaNavMap
(
String
fundId
)
{
IfaImportedFundNavExample
example
=
new
IfaImportedFundNavExample
();
example
.
createCriteria
().
andFundIdEqualTo
(
fundId
);
List
<
IfaImportedFundNav
>
ifaImportedFundNavs
=
this
.
ifaImportedFundNavMapper
.
selectByExample
(
example
);
Map
<
Long
,
IfaImportedFundNav
>
ifaNavMap
;
if
(
CollectionUtils
.
isEmpty
(
ifaImportedFundNavs
))
{
ifaNavMap
=
new
HashMap
<>(
0
);
}
else
{
ifaNavMap
=
ifaImportedFundNavs
.
stream
().
collect
(
Collectors
.
toMap
(
ls
->
ls
.
getPriceDate
().
getTime
(),
ls
->
ls
,
(
newValue
,
oldValue
)
->
newValue
));
}
return
ifaNavMap
;
}
private
List
<
FundNavMessage
>
handlerNetImportCheck
(
Map
<
Long
,
IfaImportedFundNav
>
ifaNavMap
,
List
<
FundNavMessage
>
resultMessage
,
AtomicBoolean
errorStatus
,
List
<
List
<
Object
>>
read
)
{
checkParam
(
ifaNavMap
,
resultMessage
,
errorStatus
,
read
);
duplicateCheck
(
resultMessage
,
errorStatus
);
resultMessage
.
sort
(
Comparator
.
comparing
(
FundNavMessage:
:
getPriceDate
).
reversed
());
return
differCheck
(
resultMessage
);
}
private
void
checkParam
(
Map
<
Long
,
IfaImportedFundNav
>
ifaNavMap
,
List
<
FundNavMessage
>
resultMessage
,
AtomicBoolean
errorStatus
,
List
<
List
<
Object
>>
read
)
{
read
.
forEach
(
ls
->
{
boolean
errorRow
=
false
;
FundNavMessage
message
=
new
FundNavMessage
();
if
(
ls
.
size
()
>
3
)
{
if
(
ls
.
get
(
3
)
!=
null
)
{
message
.
setId
(
Long
.
parseLong
(
ls
.
get
(
3
)
+
""
));
}
if
(
ls
.
get
(
4
)
!=
null
)
{
message
.
setFund_id
(
ls
.
get
(
4
)
+
""
);
}
}
String
row1
=
null
,
row2
,
row3
;
if
(
ls
.
get
(
0
)
==
null
)
{
errorRow
=
true
;
message
.
setMessage
(
"[净值日期不能为空]"
);
}
else
{
row1
=
(
ls
.
get
(
0
)
+
""
).
trim
().
split
(
" "
)[
0
];
Date
date
=
null
;
try
{
date
=
DateUtil
.
parseDate
(
row1
);
}
catch
(
Exception
e
)
{
}
if
(
date
==
null
)
{
errorRow
=
true
;
message
.
setMessage
(
"[净值日期格式错误]"
);
}
else
{
message
.
setPrice_date
(
row1
);
message
.
setPriceDate
(
DateUtil
.
parseDate
(
row1
));
}
}
if
(
ls
.
get
(
1
)
==
null
||
!
BigDecimalValidator
.
getInstance
().
isValid
(
ls
.
get
(
1
)
+
""
))
{
errorRow
=
true
;
if
(
StringUtils
.
isEmpty
(
message
.
getMessage
()))
{
message
.
setMessage
(
"[单位净值为空或格式错误]"
);
}
else
{
message
.
setMessage
(
message
.
getMessage
()
+
",[单位净值为空或格式错误]"
);
}
}
else
{
row2
=
(
ls
.
get
(
1
)
+
""
).
trim
();
message
.
setNav
(
new
BigDecimal
(
row2
));
}
if
(
ls
.
get
(
2
)
==
null
||
!
BigDecimalValidator
.
getInstance
().
isValid
(
ls
.
get
(
2
)
+
""
))
{
errorRow
=
true
;
if
(
StringUtils
.
isEmpty
(
message
.
getMessage
()))
{
message
.
setMessage
(
"[累计分红再投净值为空或格式错误]"
);
}
else
{
message
.
setMessage
(
message
.
getMessage
()
+
",[累计分红再投净值为空或格式错误]"
);
}
}
else
{
row3
=
(
ls
.
get
(
2
)
+
""
).
trim
();
message
.
setCumulative_nav
(
new
BigDecimal
(
row3
));
}
if
(
errorRow
)
{
message
.
setConfirmStatus
(
3
);
resultMessage
.
add
(
message
);
}
else
if
(
StringUtils
.
isNotEmpty
(
row1
)
&&
ifaNavMap
.
containsKey
(
DateUtil
.
parse
(
row1
).
getTime
()))
{
message
.
setConfirmStatus
(
3
);
if
(
StringUtils
.
isEmpty
(
message
.
getMessage
()))
{
message
.
setMessage
(
"[相同日期存在重复数据]"
);
}
else
{
message
.
setMessage
(
message
.
getMessage
()
+
",[累计分红再投净值为空或格式错误]"
);
}
FundNavMessage
messageCopy
=
new
FundNavMessage
();
BeanUtils
.
copyProperties
(
ifaNavMap
.
get
(
Long
.
parseLong
(
row1
)),
messageCopy
);
messageCopy
.
setConfirmStatus
(
3
);
resultMessage
.
add
(
messageCopy
);
}
else
{
resultMessage
.
add
(
message
);
}
});
}
private
List
<
FundNavMessage
>
differCheck
(
List
<
FundNavMessage
>
resultMessage
)
{
int
length
=
resultMessage
.
size
();
List
<
FundNavMessage
>
newResultMessage
=
new
ArrayList
<>(
length
);
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
FundNavMessage
message
=
resultMessage
.
get
(
i
);
if
(
message
.
getConfirmStatus
()
==
1
&&
(
i
+
1
)
<
length
)
{
FundNavMessage
messageAdd
=
resultMessage
.
get
(
i
+
1
);
if
(
resultMessage
.
get
(
i
+
1
).
getConfirmStatus
()
==
1
)
{
BigDecimal
navSubtract
=
subtractAbs
(
message
.
getNav
(),
messageAdd
.
getNav
());
if
(
compare02
.
compareTo
(
navSubtract
)
<
0
)
{
message
.
setConfirmStatus
(
2
);
message
.
setMessage
(
"[单位净值]与上次对比相差超过20%"
);
}
BigDecimal
cumSubtract
=
subtractAbs
(
message
.
getCumulative_nav
(),
messageAdd
.
getCumulative_nav
());
if
(
compare02
.
compareTo
(
cumSubtract
)
<
0
)
{
message
.
setConfirmStatus
(
2
);
if
(
StringUtils
.
isNotEmpty
(
message
.
getMessage
()))
{
message
.
setMessage
(
message
.
getMessage
()
+
",[累计分红再投净值]与上次对比相差超过20%"
);
}
else
{
message
.
setMessage
(
"[累计分红再投净值]与上次对比相差超过20%"
);
}
}
}
newResultMessage
.
add
(
message
);
}
else
{
newResultMessage
.
add
(
message
);
}
}
return
newResultMessage
;
}
private
void
duplicateCheck
(
List
<
FundNavMessage
>
resultMessage
,
AtomicBoolean
errorStatus
)
{
Map
<
Long
,
Long
>
priceDateCountMap
=
resultMessage
.
stream
()
.
filter
(
message
->
!
message
.
getConfirmStatus
().
equals
(
3
))
.
collect
(
Collectors
.
groupingBy
(
ls
->
ls
.
getPriceDate
().
getTime
(),
Collectors
.
counting
()));
Set
<
Long
>
duplicateSet
=
new
HashSet
<>(
priceDateCountMap
.
size
()
>>
1
);
priceDateCountMap
.
forEach
((
key
,
value
)
->
{
if
(
value
>
1
)
{
duplicateSet
.
add
(
key
);
}
});
resultMessage
.
forEach
(
message
->
{
Date
priceDate
=
message
.
getPriceDate
();
if
(
priceDate
!=
null
&&
duplicateSet
.
contains
(
priceDate
.
getTime
()))
{
errorStatus
.
set
(
true
);
message
.
setConfirmStatus
(
3
);
if
(
StringUtils
.
isEmpty
(
message
.
getMessage
()))
{
message
.
setMessage
(
"[相同日期存在重复数据]"
);
}
else
{
if
(
StringUtils
.
isEmpty
(
message
.
getMessage
()))
{
message
.
setMessage
(
"[累计分红再投净值为空或格式错误]"
);
}
else
{
message
.
setMessage
(
message
.
getMessage
()
+
",[累计分红再投净值为空或格式错误]"
);
}
}
}
});
}
private
ArrayList
<
TrackRecordVO
>
getPrivateFundTrackRecordVOS
(
IfaImportedFundCount
fundCount
)
{
...
...
@@ -1706,4 +2393,11 @@ public class ProductServiceImpl implements ProductService, Constant {
}
@Override
public
List
<
Type
>
getFundLikeShortName
(
String
productName
,
Pageable
page
)
{
PageMethod
.
startPage
(
page
.
getPageNumber
(),
page
.
getPageSize
());
return
this
.
fundInfoCustomMapper
.
getFundInfoLikeName
(
"%"
+
productName
+
"%"
);
}
}
src/main/resources/application-test.properties
View file @
a64cc00a
...
...
@@ -10,8 +10,8 @@ management.endpoints.web.base-path = /myhealth
management.endpoint.health.enabled
=
true
management.endpoint.health.show-details
=
always
spring.datasource.url
=
jdbc:mysql://
118.190.63.109
:3306/tamp_fund?autoReconnect=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username
=
root
spring.datasource.url
=
jdbc:mysql://
rm-uf6r22t3d798q4kmkao.mysql.rds.aliyuncs.com
:3306/tamp_fund?autoReconnect=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false
spring.datasource.username
=
tamp_admin
spring.datasource.password
=
@imeng123
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
...
...
src/main/resources/mybatis/customize/FundInfoCustomMapper.xml
View file @
a64cc00a
...
...
@@ -41,12 +41,11 @@
res.ishigh_or_low as ishighOrLow,
res.tohigh_nav_ratio as tohighNavRatio
from
(SELECT
*
FROM fund_nav WHERE fund_id in
(SELECT
fund_id, max(price_date) as price_date
FROM fund_nav WHERE fund_id in
<foreach
close=
")"
collection=
"list"
item=
"fundId"
open=
"("
separator=
","
>
#{fundId}
</foreach>
order BY price_date desc) res
GROUP BY res.fund_id
</foreach>
GROUP by fund_id) t
left join fund_nav res on t.fund_id = res.fund_id and t.price_date = res.price_date
</select>
<select
id=
"getPrivateFundInfoNewNet"
parameterType=
"java.lang.String"
resultType=
"com.tanpu.fund.entity.generator.FundNav"
>
...
...
@@ -60,12 +59,11 @@
res.ishigh_or_low as ishighOrLow,
res.tohigh_nav_ratio as tohighNavRatio
from
(SELECT
*
FROM ifa_imported_fund_nav WHERE fund_id in
(SELECT
fund_id, max(price_date) as price_date
FROM ifa_imported_fund_nav WHERE fund_id in
<foreach
close=
")"
collection=
"list"
item=
"fundId"
open=
"("
separator=
","
>
#{fundId}
</foreach>
order BY price_date desc) res
GROUP BY res.fund_id
</foreach>
GROUP by fund_id) t
left join ifa_imported_fund_nav res on t.fund_id = res.fund_id and t.price_date = res.price_date
</select>
</mapper>
src/main/resources/mybatis/generator/FundCountMapper.xml
View file @
a64cc00a
...
...
@@ -8,6 +8,7 @@
<result
column=
"fund_id"
jdbcType=
"VARCHAR"
property=
"fundId"
/>
<result
column=
"strategy"
jdbcType=
"INTEGER"
property=
"strategy"
/>
<result
column=
"substrategy"
jdbcType=
"INTEGER"
property=
"substrategy"
/>
<result
column=
"inception_date"
jdbcType=
"DATE"
property=
"inceptionDate"
/>
<result
column=
"type"
jdbcType=
"INTEGER"
property=
"type"
/>
<result
column=
"end_date"
jdbcType=
"DATE"
property=
"endDate"
/>
<result
column=
"price_date"
jdbcType=
"DATE"
property=
"priceDate"
/>
...
...
@@ -137,16 +138,16 @@
</sql>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
id, fund_id, strategy, substrategy,
`type`, end_date, price_date, net_nav, cumulative_nav
,
ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1, ret_3m, ret_3
m_bm1,
ret_
6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y_a, ret_2y_bm1
_a,
ret_
3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1, ret_4y_a, ret_4y_bm1
_a,
ret_
5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_incep, ret_incep_bm1
,
ret_incep_
a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4
y,
sharperatio_
5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3y, stddev_4y, stddev_5
y,
stddev_
10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y, maxdrawdown_3
y,
maxdrawdown_
4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep, data_sources
,
update_time, create_time, `status`, sort, delete_tag
id, fund_id, strategy, substrategy,
inception_date, `type`, end_date, price_date
,
net_nav, cumulative_nav, ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1
m_bm1,
ret_
3m, ret_3m_bm1, ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y
_a,
ret_
2y_bm1_a, ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1, ret_4y
_a,
ret_
4y_bm1_a, ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_incep
,
ret_incep_
bm1, ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3
y,
sharperatio_
4y, sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3
y,
stddev_
4y, stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2
y,
maxdrawdown_
3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep
,
data_sources,
update_time, create_time, `status`, sort, delete_tag
</sql>
<select
id=
"selectByExample"
parameterType=
"com.tanpu.fund.entity.generator.FundCountExample"
resultMap=
"BaseResultMap"
>
<!--@mbg.generated-->
...
...
@@ -185,53 +186,53 @@
<insert
id=
"insert"
parameterType=
"com.tanpu.fund.entity.generator.FundCount"
>
<!--@mbg.generated-->
insert into fund_count (id, fund_id, strategy,
substrategy,
`type`, end_date
,
price_date, net_nav, cumulative
_nav,
ret_1day, ret_1day_bm1, ret_1w
,
ret_1w
_bm1, ret_1m, ret_1m_bm1
,
ret_
3m, ret_3m_bm1, ret_6m
,
ret_6m
_bm1, ret_1y, ret_1y_bm1
,
ret_
2y, ret_2y_bm1, ret_2y_a
,
ret_2y_
bm1_a, ret_3y, ret_3y_bm1
,
ret_3y_
a, ret_3y_bm1_a, ret_4y
,
ret_4y
_bm1, ret_4y_a, ret_4y_bm1
_a,
ret_
5y, ret_5y_bm1, ret_5y_a
,
ret_5y_
bm1_a, ret_ytd, ret_ytd_bm1
,
ret_
incep, ret_incep_bm1, ret_incep_a
,
ret_incep_
bm1_a, sharperatio_1y, sharperatio_2
y,
sharperatio_
3y, sharperatio_4y, sharperatio_5
y,
sharperatio_
incep, stddev_1y, stddev_2
y,
stddev_
3y, stddev_4y, stddev_5
y,
stddev_
10y, stddev_incep, stddev_ytd
,
maxdrawdown_1y, maxdrawdown_2y, maxdrawdown_3
y,
maxdrawdown_
4y, maxdrawdown_5y, maxdrawdown_10
y,
maxdrawdown_
incep, data_sources, update_time
,
create_time, `status`, sort
,
delete_tag)
substrategy,
inception_date, `type`
,
end_date, price_date, net
_nav,
cumulative_nav, ret_1day, ret_1day_bm1
,
ret_1w
, ret_1w_bm1, ret_1m
,
ret_
1m_bm1, ret_3m, ret_3m_bm1
,
ret_6m
, ret_6m_bm1, ret_1y
,
ret_
1y_bm1, ret_2y, ret_2y_bm1
,
ret_2y_
a, ret_2y_bm1_a, ret_3y
,
ret_3y_
bm1, ret_3y_a, ret_3y_bm1_a
,
ret_4y
, ret_4y_bm1, ret_4y
_a,
ret_
4y_bm1_a, ret_5y, ret_5y_bm1
,
ret_5y_
a, ret_5y_bm1_a, ret_ytd
,
ret_
ytd_bm1, ret_incep, ret_incep_bm1
,
ret_incep_
a, ret_incep_bm1_a, sharperatio_1
y,
sharperatio_
2y, sharperatio_3y, sharperatio_4
y,
sharperatio_
5y, sharperatio_incep, stddev_1
y,
stddev_
2y, stddev_3y, stddev_4
y,
stddev_
5y, stddev_10y, stddev_incep
,
stddev_ytd, maxdrawdown_1y, maxdrawdown_2
y,
maxdrawdown_
3y, maxdrawdown_4y, maxdrawdown_5
y,
maxdrawdown_
10y, maxdrawdown_incep, data_sources
,
update_time, create_time, `status`
,
sort,
delete_tag)
values (#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{strategy,jdbcType=INTEGER},
#{substrategy,jdbcType=INTEGER}, #{
type,jdbcType=INTEGER}, #{endDate,jdbcType=DATE
},
#{
priceDate,jdbcType=DATE}, #{netNav,jdbcType=DECIMAL}, #{cumulative
Nav,jdbcType=DECIMAL},
#{
ret1day,jdbcType=DECIMAL}, #{ret1dayBm1,jdbcType=DECIMAL}, #{ret1w
,jdbcType=DECIMAL},
#{ret1w
Bm1,jdbcType=DECIMAL}, #{ret1m,jdbcType=DECIMAL}, #{ret1mBm1
,jdbcType=DECIMAL},
#{ret
3m,jdbcType=DECIMAL}, #{ret3mBm1,jdbcType=DECIMAL}, #{ret6m
,jdbcType=DECIMAL},
#{ret6m
Bm1,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL}, #{ret1yBm1
,jdbcType=DECIMAL},
#{ret
2y,jdbcType=DECIMAL}, #{ret2yBm1,jdbcType=DECIMAL}, #{ret2yA
,jdbcType=DECIMAL},
#{ret2y
Bm1A,jdbcType=DECIMAL}, #{ret3y,jdbcType=DECIMAL}, #{ret3yBm1
,jdbcType=DECIMAL},
#{ret3y
A,jdbcType=DECIMAL}, #{ret3yBm1A,jdbcType=DECIMAL}, #{ret4y
,jdbcType=DECIMAL},
#{ret4y
Bm1,jdbcType=DECIMAL}, #{ret4yA,jdbcType=DECIMAL}, #{ret4yBm1
A,jdbcType=DECIMAL},
#{ret
5y,jdbcType=DECIMAL}, #{ret5yBm1,jdbcType=DECIMAL}, #{ret5yA
,jdbcType=DECIMAL},
#{ret5y
Bm1A,jdbcType=DECIMAL}, #{retYtd,jdbcType=DECIMAL}, #{retYtdBm1
,jdbcType=DECIMAL},
#{ret
Incep,jdbcType=DECIMAL}, #{retIncepBm1,jdbcType=DECIMAL}, #{retIncepA
,jdbcType=DECIMAL},
#{retIncep
Bm1A,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL}, #{sharperatio2
y,jdbcType=DECIMAL},
#{sharperatio
3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL}, #{sharperatio5
y,jdbcType=DECIMAL},
#{sharperatio
Incep,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL}, #{stddev2
y,jdbcType=DECIMAL},
#{stddev
3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL}, #{stddev5
y,jdbcType=DECIMAL},
#{stddev
10y,jdbcType=DECIMAL}, #{stddevIncep,jdbcType=DECIMAL}, #{stddevYtd
,jdbcType=DECIMAL},
#{
maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL}, #{maxdrawdown3
y,jdbcType=DECIMAL},
#{maxdrawdown
4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL}, #{maxdrawdown10
y,jdbcType=DECIMAL},
#{maxdrawdown
Incep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP
},
#{
createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{sort
,jdbcType=INTEGER},
#{deleteTag,jdbcType=INTEGER})
#{substrategy,jdbcType=INTEGER}, #{
inceptionDate,jdbcType=DATE}, #{type,jdbcType=INTEGER
},
#{
endDate,jdbcType=DATE}, #{priceDate,jdbcType=DATE}, #{net
Nav,jdbcType=DECIMAL},
#{
cumulativeNav,jdbcType=DECIMAL}, #{ret1day,jdbcType=DECIMAL}, #{ret1dayBm1
,jdbcType=DECIMAL},
#{ret1w
,jdbcType=DECIMAL}, #{ret1wBm1,jdbcType=DECIMAL}, #{ret1m
,jdbcType=DECIMAL},
#{ret
1mBm1,jdbcType=DECIMAL}, #{ret3m,jdbcType=DECIMAL}, #{ret3mBm1
,jdbcType=DECIMAL},
#{ret6m
,jdbcType=DECIMAL}, #{ret6mBm1,jdbcType=DECIMAL}, #{ret1y
,jdbcType=DECIMAL},
#{ret
1yBm1,jdbcType=DECIMAL}, #{ret2y,jdbcType=DECIMAL}, #{ret2yBm1
,jdbcType=DECIMAL},
#{ret2y
A,jdbcType=DECIMAL}, #{ret2yBm1A,jdbcType=DECIMAL}, #{ret3y
,jdbcType=DECIMAL},
#{ret3y
Bm1,jdbcType=DECIMAL}, #{ret3yA,jdbcType=DECIMAL}, #{ret3yBm1A
,jdbcType=DECIMAL},
#{ret4y
,jdbcType=DECIMAL}, #{ret4yBm1,jdbcType=DECIMAL}, #{ret4y
A,jdbcType=DECIMAL},
#{ret
4yBm1A,jdbcType=DECIMAL}, #{ret5y,jdbcType=DECIMAL}, #{ret5yBm1
,jdbcType=DECIMAL},
#{ret5y
A,jdbcType=DECIMAL}, #{ret5yBm1A,jdbcType=DECIMAL}, #{retYtd
,jdbcType=DECIMAL},
#{ret
YtdBm1,jdbcType=DECIMAL}, #{retIncep,jdbcType=DECIMAL}, #{retIncepBm1
,jdbcType=DECIMAL},
#{retIncep
A,jdbcType=DECIMAL}, #{retIncepBm1A,jdbcType=DECIMAL}, #{sharperatio1
y,jdbcType=DECIMAL},
#{sharperatio
2y,jdbcType=DECIMAL}, #{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4
y,jdbcType=DECIMAL},
#{sharperatio
5y,jdbcType=DECIMAL}, #{sharperatioIncep,jdbcType=DECIMAL}, #{stddev1
y,jdbcType=DECIMAL},
#{stddev
2y,jdbcType=DECIMAL}, #{stddev3y,jdbcType=DECIMAL}, #{stddev4
y,jdbcType=DECIMAL},
#{stddev
5y,jdbcType=DECIMAL}, #{stddev10y,jdbcType=DECIMAL}, #{stddevIncep
,jdbcType=DECIMAL},
#{
stddevYtd,jdbcType=DECIMAL}, #{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2
y,jdbcType=DECIMAL},
#{maxdrawdown
3y,jdbcType=DECIMAL}, #{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5
y,jdbcType=DECIMAL},
#{maxdrawdown
10y,jdbcType=DECIMAL}, #{maxdrawdownIncep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER
},
#{
updateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{status
,jdbcType=INTEGER},
#{
sort,jdbcType=INTEGER}, #{
deleteTag,jdbcType=INTEGER})
</insert>
<insert
id=
"insertSelective"
parameterType=
"com.tanpu.fund.entity.generator.FundCount"
>
<!--@mbg.generated-->
...
...
@@ -249,6 +250,9 @@
<if
test=
"substrategy != null"
>
substrategy,
</if>
<if
test=
"inceptionDate != null"
>
inception_date,
</if>
<if
test=
"type != null"
>
`type`,
</if>
...
...
@@ -461,6 +465,9 @@
<if
test=
"substrategy != null"
>
#{substrategy,jdbcType=INTEGER},
</if>
<if
test=
"inceptionDate != null"
>
#{inceptionDate,jdbcType=DATE},
</if>
<if
test=
"type != null"
>
#{type,jdbcType=INTEGER},
</if>
...
...
@@ -684,6 +691,9 @@
<if
test=
"record.substrategy != null"
>
substrategy = #{record.substrategy,jdbcType=INTEGER},
</if>
<if
test=
"record.inceptionDate != null"
>
inception_date = #{record.inceptionDate,jdbcType=DATE},
</if>
<if
test=
"record.type != null"
>
`type` = #{record.type,jdbcType=INTEGER},
</if>
...
...
@@ -894,6 +904,7 @@
fund_id = #{record.fundId,jdbcType=VARCHAR},
strategy = #{record.strategy,jdbcType=INTEGER},
substrategy = #{record.substrategy,jdbcType=INTEGER},
inception_date = #{record.inceptionDate,jdbcType=DATE},
`type` = #{record.type,jdbcType=INTEGER},
end_date = #{record.endDate,jdbcType=DATE},
price_date = #{record.priceDate,jdbcType=DATE},
...
...
@@ -977,6 +988,9 @@
<if
test=
"substrategy != null"
>
substrategy = #{substrategy,jdbcType=INTEGER},
</if>
<if
test=
"inceptionDate != null"
>
inception_date = #{inceptionDate,jdbcType=DATE},
</if>
<if
test=
"type != null"
>
`type` = #{type,jdbcType=INTEGER},
</if>
...
...
@@ -1184,6 +1198,7 @@
set fund_id = #{fundId,jdbcType=VARCHAR},
strategy = #{strategy,jdbcType=INTEGER},
substrategy = #{substrategy,jdbcType=INTEGER},
inception_date = #{inceptionDate,jdbcType=DATE},
`type` = #{type,jdbcType=INTEGER},
end_date = #{endDate,jdbcType=DATE},
price_date = #{priceDate,jdbcType=DATE},
...
...
@@ -1271,334 +1286,839 @@
when id = #{item.id,jdbcType=VARCHAR} then #{item.substrategy,jdbcType=INTEGER}
</foreach>
</trim>
<trim
prefix=
"inception_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.inceptionDate,jdbcType=DATE}
</foreach>
</trim>
<trim
prefix=
"`type` = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=INTEGER}
</foreach>
</trim>
<trim
prefix=
"end_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.endDate,jdbcType=DATE}
</foreach>
</trim>
<trim
prefix=
"price_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.priceDate,jdbcType=DATE}
</foreach>
</trim>
<trim
prefix=
"net_nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.netNav,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"cumulative_nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNav,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1day = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1day,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1day_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1dayBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1w = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1w,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1w_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1wBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1m = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1m,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1m_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1mBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_3m = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3m,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_3m_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3mBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_6m = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6m,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_6m_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6mBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_1y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1yBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_2y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_2y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yA,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_2y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1A,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_3y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_3y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yA,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_3y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1A,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_4y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_4y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yA,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_4y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1A,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_5y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_5y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yA,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_5y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1A,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_ytd = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtd,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_ytd_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtdBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncep,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_incep_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_incep_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepA,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"ret_incep_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1A,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"sharperatio_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio1y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"sharperatio_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio2y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"sharperatio_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio3y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"sharperatio_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio4y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"sharperatio_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio5y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"sharperatio_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatioIncep,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev1y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev2y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev3y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev4y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev5y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_10y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev10y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevIncep,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"stddev_ytd = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevYtd,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown1y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown2y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown3y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown4y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown5y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_10y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown10y,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdownIncep,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"data_sources = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.dataSources,jdbcType=INTEGER}
</foreach>
</trim>
<trim
prefix=
"update_time = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim
prefix=
"create_time = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim
prefix=
"`status` = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.status,jdbcType=INTEGER}
</foreach>
</trim>
<trim
prefix=
"sort = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sort,jdbcType=INTEGER}
</foreach>
</trim>
<trim
prefix=
"delete_tag = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.deleteTag,jdbcType=INTEGER}
</foreach>
</trim>
</trim>
where id in
<foreach
close=
")"
collection=
"list"
item=
"item"
open=
"("
separator=
", "
>
#{item.id,jdbcType=VARCHAR}
</foreach>
</update>
<update
id=
"updateBatchSelective"
parameterType=
"java.util.List"
>
<!--@mbg.generated-->
update fund_count
<trim
prefix=
"set"
suffixOverrides=
","
>
<trim
prefix=
"fund_id = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.fundId != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.fundId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim
prefix=
"strategy = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.strategy != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.strategy,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim
prefix=
"substrategy = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.substrategy != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.substrategy,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim
prefix=
"inception_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.inceptionDate != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.inceptionDate,jdbcType=DATE}
</if>
</foreach>
</trim>
<trim
prefix=
"`type` = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.type != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim
prefix=
"end_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.endDate != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.endDate,jdbcType=DATE}
</if>
</foreach>
</trim>
<trim
prefix=
"price_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.priceDate != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.priceDate,jdbcType=DATE}
</if>
</foreach>
</trim>
<trim
prefix=
"net_nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.netNav != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.netNav,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"cumulative_nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.cumulativeNav != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNav,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1day = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1day != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1day,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1day_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1dayBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1dayBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1w = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1w != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1w,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1w_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1wBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1wBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1m = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1m != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1m,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1m_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1mBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1mBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_3m = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret3m != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3m,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_3m_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret3mBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3mBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_6m = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret6m != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6m,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_6m_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret6mBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6mBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_1y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret1yBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1yBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret2y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_2y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret2yBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_2y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret2yA != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yA,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_2y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret2yBm1A != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1A,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret3y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_3y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret3yBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_3y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret3yA != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yA,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_3y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret3yBm1A != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1A,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret4y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_4y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret4yBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_4y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret4yA != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yA,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_4y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret4yBm1A != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1A,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret5y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_5y_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret5yBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_5y_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret5yA != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yA,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_5y_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.ret5yBm1A != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1A,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_ytd = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.retYtd != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtd,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_ytd_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.retYtdBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtdBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.retIncep != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncep,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_incep_bm1 = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.retIncepBm1 != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_incep_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.retIncepA != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepA,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"ret_incep_bm1_a = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.retIncepBm1A != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1A,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"sharperatio_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.sharperatio1y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio1y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"sharperatio_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.sharperatio2y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio2y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"sharperatio_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.sharperatio3y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio3y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"sharperatio_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.sharperatio4y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio4y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"sharperatio_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.sharperatio5y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio5y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"sharperatio_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.sharperatioIncep != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatioIncep,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddev1y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev1y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddev2y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev2y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddev3y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev3y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddev4y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev4y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddev5y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev5y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_10y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddev10y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev10y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddevIncep != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevIncep,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"stddev_ytd = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.stddevYtd != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevYtd,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_1y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.maxdrawdown1y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown1y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_2y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.maxdrawdown2y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown2y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_3y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.maxdrawdown3y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown3y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_4y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.maxdrawdown4y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown4y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_5y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.maxdrawdown5y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown5y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_10y = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.maxdrawdown10y != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown10y,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"maxdrawdown_incep = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.maxdrawdownIncep != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdownIncep,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"data_sources = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.dataSources != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.dataSources,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim
prefix=
"update_time = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.updateTime != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim
prefix=
"create_time = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.createTime != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim
prefix=
"`status` = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.status != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.status,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim
prefix=
"sort = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.sort != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.sort,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim
prefix=
"delete_tag = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.deleteTag != null"
>
when id = #{item.id,jdbcType=VARCHAR} then #{item.deleteTag,jdbcType=INTEGER}
</if>
</foreach>
</trim>
</trim>
...
...
@@ -1610,33 +2130,34 @@
<insert
id=
"batchInsert"
parameterType=
"map"
>
<!--@mbg.generated-->
insert into fund_count
(id, fund_id, strategy, substrategy, `type`, end_date, price_date, net_nav, cumulative_nav,
ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1, ret_3m, ret_3m_bm1,
ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y_a, ret_2y_bm1_a,
ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1, ret_4y_a, ret_4y_bm1_a,
ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_incep, ret_incep_bm1,
ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y,
sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3y, stddev_4y,
stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y,
maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep,
data_sources, update_time, create_time, `status`, sort, delete_tag)
(id, fund_id, strategy, substrategy, inception_date, `type`, end_date, price_date,
net_nav, cumulative_nav, ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1,
ret_3m, ret_3m_bm1, ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1,
ret_2y_a, ret_2y_bm1_a, ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1,
ret_4y_a, ret_4y_bm1_a, ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1,
ret_incep, ret_incep_bm1, ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y,
sharperatio_3y, sharperatio_4y, sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y,
stddev_3y, stddev_4y, stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y,
maxdrawdown_2y, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y,
maxdrawdown_incep, data_sources, update_time, create_time, `status`, sort, delete_tag
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.id,jdbcType=VARCHAR}, #{item.fundId,jdbcType=VARCHAR}, #{item.strategy,jdbcType=INTEGER},
#{item.substrategy,jdbcType=INTEGER}, #{item.
type,jdbcType=INTEGER}, #{item.endDate,jdbcType=DATE
},
#{item.
priceDate,jdbcType=DATE}, #{item.netNav,jdbcType=DECIMAL}, #{item.cumulative
Nav,jdbcType=DECIMAL},
#{item.
ret1day,jdbcType=DECIMAL}, #{item.ret1dayBm1,jdbcType=DECIMAL}, #{item.ret1w
,jdbcType=DECIMAL},
#{item.ret1w
Bm1,jdbcType=DECIMAL}, #{item.ret1m,jdbcType=DECIMAL}, #{item.ret1mBm1
,jdbcType=DECIMAL},
#{item.ret
3m,jdbcType=DECIMAL}, #{item.ret3mBm1,jdbcType=DECIMAL}, #{item.ret6m
,jdbcType=DECIMAL},
#{item.ret6m
Bm1,jdbcType=DECIMAL}, #{item.ret1y,jdbcType=DECIMAL}, #{item.ret1yBm1
,jdbcType=DECIMAL},
#{item.ret
2y,jdbcType=DECIMAL}, #{item.ret2yBm1,jdbcType=DECIMAL}, #{item.ret2yA
,jdbcType=DECIMAL},
#{item.ret2y
Bm1A,jdbcType=DECIMAL}, #{item.ret3y,jdbcType=DECIMAL}, #{item.ret3yBm1
,jdbcType=DECIMAL},
#{item.ret3y
A,jdbcType=DECIMAL}, #{item.ret3yBm1A,jdbcType=DECIMAL}, #{item.ret4y
,jdbcType=DECIMAL},
#{item.ret4y
Bm1,jdbcType=DECIMAL}, #{item.ret4yA,jdbcType=DECIMAL}, #{item.ret4yBm1
A,jdbcType=DECIMAL},
#{item.ret
5y,jdbcType=DECIMAL}, #{item.ret5yBm1,jdbcType=DECIMAL}, #{item.ret5yA
,jdbcType=DECIMAL},
#{item.ret5y
Bm1A,jdbcType=DECIMAL}, #{item.retYtd,jdbcType=DECIMAL}, #{item.retYtdBm1
,jdbcType=DECIMAL},
#{item.ret
Incep,jdbcType=DECIMAL}, #{item.retIncepBm1,jdbcType=DECIMAL}, #{item.retIncepA
,jdbcType=DECIMAL},
#{item.retIncepBm1A,jdbcType=DECIMAL}, #{item.sharperatio1y,jdbcType=DECIMAL},
#{item.substrategy,jdbcType=INTEGER}, #{item.
inceptionDate,jdbcType=DATE}, #{item.type,jdbcType=INTEGER
},
#{item.
endDate,jdbcType=DATE}, #{item.priceDate,jdbcType=DATE}, #{item.net
Nav,jdbcType=DECIMAL},
#{item.
cumulativeNav,jdbcType=DECIMAL}, #{item.ret1day,jdbcType=DECIMAL}, #{item.ret1dayBm1
,jdbcType=DECIMAL},
#{item.ret1w
,jdbcType=DECIMAL}, #{item.ret1wBm1,jdbcType=DECIMAL}, #{item.ret1m
,jdbcType=DECIMAL},
#{item.ret
1mBm1,jdbcType=DECIMAL}, #{item.ret3m,jdbcType=DECIMAL}, #{item.ret3mBm1
,jdbcType=DECIMAL},
#{item.ret6m
,jdbcType=DECIMAL}, #{item.ret6mBm1,jdbcType=DECIMAL}, #{item.ret1y
,jdbcType=DECIMAL},
#{item.ret
1yBm1,jdbcType=DECIMAL}, #{item.ret2y,jdbcType=DECIMAL}, #{item.ret2yBm1
,jdbcType=DECIMAL},
#{item.ret2y
A,jdbcType=DECIMAL}, #{item.ret2yBm1A,jdbcType=DECIMAL}, #{item.ret3y
,jdbcType=DECIMAL},
#{item.ret3y
Bm1,jdbcType=DECIMAL}, #{item.ret3yA,jdbcType=DECIMAL}, #{item.ret3yBm1A
,jdbcType=DECIMAL},
#{item.ret4y
,jdbcType=DECIMAL}, #{item.ret4yBm1,jdbcType=DECIMAL}, #{item.ret4y
A,jdbcType=DECIMAL},
#{item.ret
4yBm1A,jdbcType=DECIMAL}, #{item.ret5y,jdbcType=DECIMAL}, #{item.ret5yBm1
,jdbcType=DECIMAL},
#{item.ret5y
A,jdbcType=DECIMAL}, #{item.ret5yBm1A,jdbcType=DECIMAL}, #{item.retYtd
,jdbcType=DECIMAL},
#{item.ret
YtdBm1,jdbcType=DECIMAL}, #{item.retIncep,jdbcType=DECIMAL}, #{item.retIncepBm1
,jdbcType=DECIMAL},
#{item.retIncep
A,jdbcType=DECIMAL}, #{item.retIncep
Bm1A,jdbcType=DECIMAL}, #{item.sharperatio1y,jdbcType=DECIMAL},
#{item.sharperatio2y,jdbcType=DECIMAL}, #{item.sharperatio3y,jdbcType=DECIMAL},
#{item.sharperatio4y,jdbcType=DECIMAL}, #{item.sharperatio5y,jdbcType=DECIMAL},
#{item.sharperatioIncep,jdbcType=DECIMAL}, #{item.stddev1y,jdbcType=DECIMAL}, #{item.stddev2y,jdbcType=DECIMAL},
...
...
@@ -1653,46 +2174,48 @@
<insert
id=
"insertOrUpdate"
parameterType=
"com.tanpu.fund.entity.generator.FundCount"
>
<!--@mbg.generated-->
insert into fund_count
(id, fund_id, strategy, substrategy, `type`, end_date, price_date, net_nav, cumulative_nav,
ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1, ret_3m, ret_3m_bm1,
ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y_a, ret_2y_bm1_a,
ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1, ret_4y_a, ret_4y_bm1_a,
ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_incep, ret_incep_bm1,
ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y,
sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3y, stddev_4y,
stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y,
maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep,
data_sources, update_time, create_time, `status`, sort, delete_tag)
(id, fund_id, strategy, substrategy, inception_date, `type`, end_date, price_date,
net_nav, cumulative_nav, ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1,
ret_3m, ret_3m_bm1, ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1,
ret_2y_a, ret_2y_bm1_a, ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1,
ret_4y_a, ret_4y_bm1_a, ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1,
ret_incep, ret_incep_bm1, ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y,
sharperatio_3y, sharperatio_4y, sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y,
stddev_3y, stddev_4y, stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y,
maxdrawdown_2y, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y,
maxdrawdown_incep, data_sources, update_time, create_time, `status`, sort, delete_tag
)
values
(#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{strategy,jdbcType=INTEGER},
#{substrategy,jdbcType=INTEGER}, #{
type,jdbcType=INTEGER}, #{endDate,jdbcType=DATE
},
#{
priceDate,jdbcType=DATE}, #{netNav,jdbcType=DECIMAL}, #{cumulative
Nav,jdbcType=DECIMAL},
#{
ret1day,jdbcType=DECIMAL}, #{ret1dayBm1,jdbcType=DECIMAL}, #{ret1w
,jdbcType=DECIMAL},
#{ret1w
Bm1,jdbcType=DECIMAL}, #{ret1m,jdbcType=DECIMAL}, #{ret1mBm1
,jdbcType=DECIMAL},
#{ret
3m,jdbcType=DECIMAL}, #{ret3mBm1,jdbcType=DECIMAL}, #{ret6m
,jdbcType=DECIMAL},
#{ret6m
Bm1,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL}, #{ret1yBm1
,jdbcType=DECIMAL},
#{ret
2y,jdbcType=DECIMAL}, #{ret2yBm1,jdbcType=DECIMAL}, #{ret2yA
,jdbcType=DECIMAL},
#{ret2y
Bm1A,jdbcType=DECIMAL}, #{ret3y,jdbcType=DECIMAL}, #{ret3yBm1
,jdbcType=DECIMAL},
#{ret3y
A,jdbcType=DECIMAL}, #{ret3yBm1A,jdbcType=DECIMAL}, #{ret4y
,jdbcType=DECIMAL},
#{ret4y
Bm1,jdbcType=DECIMAL}, #{ret4yA,jdbcType=DECIMAL}, #{ret4yBm1
A,jdbcType=DECIMAL},
#{ret
5y,jdbcType=DECIMAL}, #{ret5yBm1,jdbcType=DECIMAL}, #{ret5yA
,jdbcType=DECIMAL},
#{ret5y
Bm1A,jdbcType=DECIMAL}, #{retYtd,jdbcType=DECIMAL}, #{retYtdBm1
,jdbcType=DECIMAL},
#{ret
Incep,jdbcType=DECIMAL}, #{retIncepBm1,jdbcType=DECIMAL}, #{retIncepA
,jdbcType=DECIMAL},
#{retIncep
Bm1A,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL}, #{sharperatio2
y,jdbcType=DECIMAL},
#{sharperatio
3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL}, #{sharperatio5
y,jdbcType=DECIMAL},
#{sharperatio
Incep,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL}, #{stddev2
y,jdbcType=DECIMAL},
#{stddev
3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL}, #{stddev5
y,jdbcType=DECIMAL},
#{stddev
10y,jdbcType=DECIMAL}, #{stddevIncep,jdbcType=DECIMAL}, #{stddevYtd
,jdbcType=DECIMAL},
#{
maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL}, #{maxdrawdown3
y,jdbcType=DECIMAL},
#{maxdrawdown
4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL}, #{maxdrawdown10
y,jdbcType=DECIMAL},
#{maxdrawdown
Incep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP
},
#{
createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{sort
,jdbcType=INTEGER},
#{deleteTag,jdbcType=INTEGER})
#{substrategy,jdbcType=INTEGER}, #{
inceptionDate,jdbcType=DATE}, #{type,jdbcType=INTEGER
},
#{
endDate,jdbcType=DATE}, #{priceDate,jdbcType=DATE}, #{net
Nav,jdbcType=DECIMAL},
#{
cumulativeNav,jdbcType=DECIMAL}, #{ret1day,jdbcType=DECIMAL}, #{ret1dayBm1
,jdbcType=DECIMAL},
#{ret1w
,jdbcType=DECIMAL}, #{ret1wBm1,jdbcType=DECIMAL}, #{ret1m
,jdbcType=DECIMAL},
#{ret
1mBm1,jdbcType=DECIMAL}, #{ret3m,jdbcType=DECIMAL}, #{ret3mBm1
,jdbcType=DECIMAL},
#{ret6m
,jdbcType=DECIMAL}, #{ret6mBm1,jdbcType=DECIMAL}, #{ret1y
,jdbcType=DECIMAL},
#{ret
1yBm1,jdbcType=DECIMAL}, #{ret2y,jdbcType=DECIMAL}, #{ret2yBm1
,jdbcType=DECIMAL},
#{ret2y
A,jdbcType=DECIMAL}, #{ret2yBm1A,jdbcType=DECIMAL}, #{ret3y
,jdbcType=DECIMAL},
#{ret3y
Bm1,jdbcType=DECIMAL}, #{ret3yA,jdbcType=DECIMAL}, #{ret3yBm1A
,jdbcType=DECIMAL},
#{ret4y
,jdbcType=DECIMAL}, #{ret4yBm1,jdbcType=DECIMAL}, #{ret4y
A,jdbcType=DECIMAL},
#{ret
4yBm1A,jdbcType=DECIMAL}, #{ret5y,jdbcType=DECIMAL}, #{ret5yBm1
,jdbcType=DECIMAL},
#{ret5y
A,jdbcType=DECIMAL}, #{ret5yBm1A,jdbcType=DECIMAL}, #{retYtd
,jdbcType=DECIMAL},
#{ret
YtdBm1,jdbcType=DECIMAL}, #{retIncep,jdbcType=DECIMAL}, #{retIncepBm1
,jdbcType=DECIMAL},
#{retIncep
A,jdbcType=DECIMAL}, #{retIncepBm1A,jdbcType=DECIMAL}, #{sharperatio1
y,jdbcType=DECIMAL},
#{sharperatio
2y,jdbcType=DECIMAL}, #{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4
y,jdbcType=DECIMAL},
#{sharperatio
5y,jdbcType=DECIMAL}, #{sharperatioIncep,jdbcType=DECIMAL}, #{stddev1
y,jdbcType=DECIMAL},
#{stddev
2y,jdbcType=DECIMAL}, #{stddev3y,jdbcType=DECIMAL}, #{stddev4
y,jdbcType=DECIMAL},
#{stddev
5y,jdbcType=DECIMAL}, #{stddev10y,jdbcType=DECIMAL}, #{stddevIncep
,jdbcType=DECIMAL},
#{
stddevYtd,jdbcType=DECIMAL}, #{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2
y,jdbcType=DECIMAL},
#{maxdrawdown
3y,jdbcType=DECIMAL}, #{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5
y,jdbcType=DECIMAL},
#{maxdrawdown
10y,jdbcType=DECIMAL}, #{maxdrawdownIncep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER
},
#{
updateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{status
,jdbcType=INTEGER},
#{
sort,jdbcType=INTEGER}, #{
deleteTag,jdbcType=INTEGER})
on duplicate key update
id = #{id,jdbcType=VARCHAR},
fund_id = #{fundId,jdbcType=VARCHAR},
strategy = #{strategy,jdbcType=INTEGER},
substrategy = #{substrategy,jdbcType=INTEGER},
inception_date = #{inceptionDate,jdbcType=DATE},
`type` = #{type,jdbcType=INTEGER},
end_date = #{endDate,jdbcType=DATE},
price_date = #{priceDate,jdbcType=DATE},
...
...
@@ -1776,6 +2299,9 @@
<if
test=
"substrategy != null"
>
substrategy,
</if>
<if
test=
"inceptionDate != null"
>
inception_date,
</if>
<if
test=
"type != null"
>
`type`,
</if>
...
...
@@ -1989,6 +2515,9 @@
<if
test=
"substrategy != null"
>
#{substrategy,jdbcType=INTEGER},
</if>
<if
test=
"inceptionDate != null"
>
#{inceptionDate,jdbcType=DATE},
</if>
<if
test=
"type != null"
>
#{type,jdbcType=INTEGER},
</if>
...
...
@@ -2202,6 +2731,9 @@
<if
test=
"substrategy != null"
>
substrategy = #{substrategy,jdbcType=INTEGER},
</if>
<if
test=
"inceptionDate != null"
>
inception_date = #{inceptionDate,jdbcType=DATE},
</if>
<if
test=
"type != null"
>
`type` = #{type,jdbcType=INTEGER},
</if>
...
...
src/main/resources/mybatis/generator/IfaImportedFundNavMapper.xml
View file @
a64cc00a
...
...
@@ -4,12 +4,13 @@
<resultMap
id=
"BaseResultMap"
type=
"com.tanpu.fund.entity.generator.IfaImportedFundNav"
>
<!--@mbg.generated-->
<!--@Table ifa_imported_fund_nav-->
<id
column=
"id"
jdbcType=
"
INTEGER
"
property=
"id"
/>
<id
column=
"id"
jdbcType=
"
BIGINT
"
property=
"id"
/>
<result
column=
"fund_id"
jdbcType=
"VARCHAR"
property=
"fundId"
/>
<result
column=
"price_date"
jdbcType=
"
TIMESTAMP
"
property=
"priceDate"
/>
<result
column=
"price_date"
jdbcType=
"
DATE
"
property=
"priceDate"
/>
<result
column=
"nav"
jdbcType=
"DECIMAL"
property=
"nav"
/>
<result
column=
"cumulative_nav"
jdbcType=
"DECIMAL"
property=
"cumulativeNav"
/>
<result
column=
"delete_tag"
jdbcType=
"INTEGER"
property=
"deleteTag"
/>
<result
column=
"org_id"
jdbcType=
"VARCHAR"
property=
"orgId"
/>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<!--@mbg.generated-->
...
...
@@ -73,7 +74,7 @@
</sql>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
id, fund_id, price_date, nav, cumulative_nav, delete_tag
id, fund_id, price_date, nav, cumulative_nav, delete_tag
, org_id
</sql>
<select
id=
"selectByExample"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNavExample"
resultMap=
"BaseResultMap"
>
<!--@mbg.generated-->
...
...
@@ -90,17 +91,17 @@
order by ${orderByClause}
</if>
</select>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.
Integer
"
resultMap=
"BaseResultMap"
>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.
Long
"
resultMap=
"BaseResultMap"
>
<!--@mbg.generated-->
select
<include
refid=
"Base_Column_List"
/>
from ifa_imported_fund_nav
where id = #{id,jdbcType=
INTEGER
}
where id = #{id,jdbcType=
BIGINT
}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.
Integer
"
>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.
Long
"
>
<!--@mbg.generated-->
delete from ifa_imported_fund_nav
where id = #{id,jdbcType=
INTEGER
}
where id = #{id,jdbcType=
BIGINT
}
</delete>
<delete
id=
"deleteByExample"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNavExample"
>
<!--@mbg.generated-->
...
...
@@ -112,9 +113,11 @@
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNav"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into ifa_imported_fund_nav (fund_id, price_date, nav,
cumulative_nav, delete_tag)
values (#{fundId,jdbcType=VARCHAR}, #{priceDate,jdbcType=TIMESTAMP}, #{nav,jdbcType=DECIMAL},
#{cumulativeNav,jdbcType=DECIMAL}, #{deleteTag,jdbcType=INTEGER})
cumulative_nav, delete_tag, org_id
)
values (#{fundId,jdbcType=VARCHAR}, #{priceDate,jdbcType=DATE}, #{nav,jdbcType=DECIMAL},
#{cumulativeNav,jdbcType=DECIMAL}, #{deleteTag,jdbcType=INTEGER}, #{orgId,jdbcType=VARCHAR}
)
</insert>
<insert
id=
"insertSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNav"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
...
...
@@ -135,13 +138,16 @@
<if
test=
"deleteTag != null"
>
delete_tag,
</if>
<if
test=
"orgId != null"
>
org_id,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"fundId != null"
>
#{fundId,jdbcType=VARCHAR},
</if>
<if
test=
"priceDate != null"
>
#{priceDate,jdbcType=
TIMESTAMP
},
#{priceDate,jdbcType=
DATE
},
</if>
<if
test=
"nav != null"
>
#{nav,jdbcType=DECIMAL},
...
...
@@ -152,6 +158,9 @@
<if
test=
"deleteTag != null"
>
#{deleteTag,jdbcType=INTEGER},
</if>
<if
test=
"orgId != null"
>
#{orgId,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select
id=
"countByExample"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNavExample"
resultType=
"java.lang.Long"
>
...
...
@@ -166,13 +175,13 @@
update ifa_imported_fund_nav
<set>
<if
test=
"record.id != null"
>
id = #{record.id,jdbcType=
INTEGER
},
id = #{record.id,jdbcType=
BIGINT
},
</if>
<if
test=
"record.fundId != null"
>
fund_id = #{record.fundId,jdbcType=VARCHAR},
</if>
<if
test=
"record.priceDate != null"
>
price_date = #{record.priceDate,jdbcType=
TIMESTAMP
},
price_date = #{record.priceDate,jdbcType=
DATE
},
</if>
<if
test=
"record.nav != null"
>
nav = #{record.nav,jdbcType=DECIMAL},
...
...
@@ -183,6 +192,9 @@
<if
test=
"record.deleteTag != null"
>
delete_tag = #{record.deleteTag,jdbcType=INTEGER},
</if>
<if
test=
"record.orgId != null"
>
org_id = #{record.orgId,jdbcType=VARCHAR},
</if>
</set>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
...
@@ -191,12 +203,13 @@
<update
id=
"updateByExample"
parameterType=
"map"
>
<!--@mbg.generated-->
update ifa_imported_fund_nav
set id = #{record.id,jdbcType=
INTEGER
},
set id = #{record.id,jdbcType=
BIGINT
},
fund_id = #{record.fundId,jdbcType=VARCHAR},
price_date = #{record.priceDate,jdbcType=
TIMESTAMP
},
price_date = #{record.priceDate,jdbcType=
DATE
},
nav = #{record.nav,jdbcType=DECIMAL},
cumulative_nav = #{record.cumulativeNav,jdbcType=DECIMAL},
delete_tag = #{record.deleteTag,jdbcType=INTEGER}
delete_tag = #{record.deleteTag,jdbcType=INTEGER},
org_id = #{record.orgId,jdbcType=VARCHAR}
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
...
...
@@ -209,7 +222,7 @@
fund_id = #{fundId,jdbcType=VARCHAR},
</if>
<if
test=
"priceDate != null"
>
price_date = #{priceDate,jdbcType=
TIMESTAMP
},
price_date = #{priceDate,jdbcType=
DATE
},
</if>
<if
test=
"nav != null"
>
nav = #{nav,jdbcType=DECIMAL},
...
...
@@ -220,18 +233,22 @@
<if
test=
"deleteTag != null"
>
delete_tag = #{deleteTag,jdbcType=INTEGER},
</if>
<if
test=
"orgId != null"
>
org_id = #{orgId,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=
INTEGER
}
where id = #{id,jdbcType=
BIGINT
}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNav"
>
<!--@mbg.generated-->
update ifa_imported_fund_nav
set fund_id = #{fundId,jdbcType=VARCHAR},
price_date = #{priceDate,jdbcType=
TIMESTAMP
},
price_date = #{priceDate,jdbcType=
DATE
},
nav = #{nav,jdbcType=DECIMAL},
cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
delete_tag = #{deleteTag,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
delete_tag = #{deleteTag,jdbcType=INTEGER},
org_id = #{orgId,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
<update
id=
"updateBatch"
parameterType=
"java.util.List"
>
<!--@mbg.generated-->
...
...
@@ -239,43 +256,101 @@
<trim
prefix=
"set"
suffixOverrides=
","
>
<trim
prefix=
"fund_id = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=
INTEGER
} then #{item.fundId,jdbcType=VARCHAR}
when id = #{item.id,jdbcType=
BIGINT
} then #{item.fundId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim
prefix=
"price_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=
INTEGER} then #{item.priceDate,jdbcType=TIMESTAMP
}
when id = #{item.id,jdbcType=
BIGINT} then #{item.priceDate,jdbcType=DATE
}
</foreach>
</trim>
<trim
prefix=
"nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=
INTEGER
} then #{item.nav,jdbcType=DECIMAL}
when id = #{item.id,jdbcType=
BIGINT
} then #{item.nav,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"cumulative_nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=
INTEGER
} then #{item.cumulativeNav,jdbcType=DECIMAL}
when id = #{item.id,jdbcType=
BIGINT
} then #{item.cumulativeNav,jdbcType=DECIMAL}
</foreach>
</trim>
<trim
prefix=
"delete_tag = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=INTEGER} then #{item.deleteTag,jdbcType=INTEGER}
when id = #{item.id,jdbcType=BIGINT} then #{item.deleteTag,jdbcType=INTEGER}
</foreach>
</trim>
<trim
prefix=
"org_id = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
when id = #{item.id,jdbcType=BIGINT} then #{item.orgId,jdbcType=VARCHAR}
</foreach>
</trim>
</trim>
where id in
<foreach
close=
")"
collection=
"list"
item=
"item"
open=
"("
separator=
", "
>
#{item.id,jdbcType=INTEGER}
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<update
id=
"updateBatchSelective"
parameterType=
"java.util.List"
>
<!--@mbg.generated-->
update ifa_imported_fund_nav
<trim
prefix=
"set"
suffixOverrides=
","
>
<trim
prefix=
"fund_id = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.fundId != null"
>
when id = #{item.id,jdbcType=BIGINT} then #{item.fundId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim
prefix=
"price_date = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.priceDate != null"
>
when id = #{item.id,jdbcType=BIGINT} then #{item.priceDate,jdbcType=DATE}
</if>
</foreach>
</trim>
<trim
prefix=
"nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.nav != null"
>
when id = #{item.id,jdbcType=BIGINT} then #{item.nav,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"cumulative_nav = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.cumulativeNav != null"
>
when id = #{item.id,jdbcType=BIGINT} then #{item.cumulativeNav,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim
prefix=
"delete_tag = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.deleteTag != null"
>
when id = #{item.id,jdbcType=BIGINT} then #{item.deleteTag,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim
prefix=
"org_id = case"
suffix=
"end,"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
>
<if
test=
"item.orgId != null"
>
when id = #{item.id,jdbcType=BIGINT} then #{item.orgId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach
close=
")"
collection=
"list"
item=
"item"
open=
"("
separator=
", "
>
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
<insert
id=
"batchInsert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"map"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into ifa_imported_fund_nav
(fund_id, price_date, nav, cumulative_nav, delete_tag)
(fund_id, price_date, nav, cumulative_nav, delete_tag
, org_id
)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.fundId,jdbcType=VARCHAR}, #{item.priceDate,jdbcType=TIMESTAMP}, #{item.nav,jdbcType=DECIMAL},
#{item.cumulativeNav,jdbcType=DECIMAL}, #{item.deleteTag,jdbcType=INTEGER})
(#{item.fundId,jdbcType=VARCHAR}, #{item.priceDate,jdbcType=DATE}, #{item.nav,jdbcType=DECIMAL},
#{item.cumulativeNav,jdbcType=DECIMAL}, #{item.deleteTag,jdbcType=INTEGER}, #{item.orgId,jdbcType=VARCHAR}
)
</foreach>
</insert>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNav"
useGeneratedKeys=
"true"
>
...
...
@@ -290,28 +365,31 @@
nav,
cumulative_nav,
delete_tag,
org_id,
</trim>
values
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
#{id,jdbcType=
INTEGER
},
#{id,jdbcType=
BIGINT
},
</if>
#{fundId,jdbcType=VARCHAR},
#{priceDate,jdbcType=
TIMESTAMP
},
#{priceDate,jdbcType=
DATE
},
#{nav,jdbcType=DECIMAL},
#{cumulativeNav,jdbcType=DECIMAL},
#{deleteTag,jdbcType=INTEGER},
#{orgId,jdbcType=VARCHAR},
</trim>
on duplicate key update
<trim
suffixOverrides=
","
>
<if
test=
"id != null"
>
id = #{id,jdbcType=
INTEGER
},
id = #{id,jdbcType=
BIGINT
},
</if>
fund_id = #{fundId,jdbcType=VARCHAR},
price_date = #{priceDate,jdbcType=
TIMESTAMP
},
price_date = #{priceDate,jdbcType=
DATE
},
nav = #{nav,jdbcType=DECIMAL},
cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
delete_tag = #{deleteTag,jdbcType=INTEGER},
org_id = #{orgId,jdbcType=VARCHAR},
</trim>
</insert>
<insert
id=
"insertOrUpdateSelective"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.tanpu.fund.entity.generator.IfaImportedFundNav"
useGeneratedKeys=
"true"
>
...
...
@@ -336,17 +414,20 @@
<if
test=
"deleteTag != null"
>
delete_tag,
</if>
<if
test=
"orgId != null"
>
org_id,
</if>
</trim>
values
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
#{id,jdbcType=
INTEGER
},
#{id,jdbcType=
BIGINT
},
</if>
<if
test=
"fundId != null"
>
#{fundId,jdbcType=VARCHAR},
</if>
<if
test=
"priceDate != null"
>
#{priceDate,jdbcType=
TIMESTAMP
},
#{priceDate,jdbcType=
DATE
},
</if>
<if
test=
"nav != null"
>
#{nav,jdbcType=DECIMAL},
...
...
@@ -357,17 +438,20 @@
<if
test=
"deleteTag != null"
>
#{deleteTag,jdbcType=INTEGER},
</if>
<if
test=
"orgId != null"
>
#{orgId,jdbcType=VARCHAR},
</if>
</trim>
on duplicate key update
<trim
suffixOverrides=
","
>
<if
test=
"id != null"
>
id = #{id,jdbcType=
INTEGER
},
id = #{id,jdbcType=
BIGINT
},
</if>
<if
test=
"fundId != null"
>
fund_id = #{fundId,jdbcType=VARCHAR},
</if>
<if
test=
"priceDate != null"
>
price_date = #{priceDate,jdbcType=
TIMESTAMP
},
price_date = #{priceDate,jdbcType=
DATE
},
</if>
<if
test=
"nav != null"
>
nav = #{nav,jdbcType=DECIMAL},
...
...
@@ -378,6 +462,9 @@
<if
test=
"deleteTag != null"
>
delete_tag = #{deleteTag,jdbcType=INTEGER},
</if>
<if
test=
"orgId != null"
>
org_id = #{orgId,jdbcType=VARCHAR},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
src/test/java/com/tanpu/fund/BaseTest.java
deleted
100644 → 0
View file @
5d59808a
package
com
.
tanpu
.
fund
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.ActiveProfiles
;
import
org.springframework.test.context.junit4.SpringRunner
;
/**
* @author: zhoupeng
* @email: zhoupeng_08@163.com
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
(
classes
=
FundApplication
.
class
)
@ActiveProfiles
(
"dev"
)
public
class
BaseTest
{
}
src/test/java/com/tanpu/fund/excel/NetExcel.java
deleted
100644 → 0
View file @
5d59808a
package
com
.
tanpu
.
fund
.
excel
;
import
cn.hutool.poi.excel.ExcelReader
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
com.tanpu.fund.BaseTest
;
import
org.junit.Test
;
import
java.util.List
;
/**
* @author: zhoupeng
* @email: zhoupeng_08@163.com
*/
public
class
NetExcel
extends
BaseTest
{
public
static
final
String
URL
=
"https://mylolis-my.sharepoint.com/personal/f3101_365up_site/Documents/工作簿2.xlsx"
;
@Test
public
void
productNetAnalysis
()
{
ExcelReader
reader
=
ExcelUtil
.
getReader
(
URL
);
List
<
List
<
Object
>>
read
=
reader
.
read
();
System
.
out
.
println
(
read
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment