Commit a64cc00a authored by 张亚辉's avatar 张亚辉

Merge remote-tracking branch 'origin/v2.0.0'

parents 5d59808a b8554e10
<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>
...@@ -75,7 +75,12 @@ gen ...@@ -75,7 +75,12 @@ gen
.settings .settings
# maven # maven
target target
.classpath
.factorypath
.project
.settings/
.vscode/
.history/
src/main/java/pm/Generator.java src/main/java/pm/Generator.java
prod-fz.sh prod-fz.sh
......
...@@ -197,17 +197,22 @@ ...@@ -197,17 +197,22 @@
<version>3.0.6</version> <version>3.0.6</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
<version>5.3.9</version> <version>5.3.9</version>
</dependency> </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> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
......
...@@ -2,10 +2,15 @@ package com.tanpu.fund.api; ...@@ -2,10 +2,15 @@ package com.tanpu.fund.api;
import com.tanpu.common.model.Page; import com.tanpu.common.model.Page;
import com.tanpu.common.model.Pageable; 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.NetReq;
import com.tanpu.common.model.product.req.ProductInfoReq; import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.*; import com.tanpu.common.model.product.resp.*;
import com.tanpu.common.model.tanpuroom.Type;
import com.tanpu.common.resp.CommonResp; import com.tanpu.common.resp.CommonResp;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -14,7 +19,10 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -14,7 +19,10 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; 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; import java.util.List;
@Api(tags = "产品服务") @Api(tags = "产品服务")
...@@ -93,6 +101,10 @@ public interface ProductApi { ...@@ -93,6 +101,10 @@ public interface ProductApi {
@GetMapping("/dynamic/retreat") @GetMapping("/dynamic/retreat")
CommonResp<DynamicRetreatVO> getDynamicRetreatInfo(@RequestParam("id") String id); CommonResp<DynamicRetreatVO> getDynamicRetreatInfo(@RequestParam("id") String id);
@ApiOperation("获取产品列表(只返回产品名称)")
@GetMapping("/get/fund/info/simple")
CommonResp<List<Type>> getSimpleFundList(@RequestParam("list") List<String> list);
//**********************************************************私有基金start********************************************************** //**********************************************************私有基金start**********************************************************
@ApiOperation("私有基金详情 - 私有基金") @ApiOperation("私有基金详情 - 私有基金")
@GetMapping("/privatefund/detail") @GetMapping("/privatefund/detail")
...@@ -137,6 +149,10 @@ public interface ProductApi { ...@@ -137,6 +149,10 @@ public interface ProductApi {
@GetMapping("/private/bonus/ratio") @GetMapping("/private/bonus/ratio")
CommonResp<List<BonusRatioVO>> getPrivateBonusRatioInfo(@ApiParam("产品id") @RequestParam("id") String id); 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********************************************************** //**********************************************************私有基金 end**********************************************************
@ApiOperation(value = "根据Id查询私募产品基本信息") @ApiOperation(value = "根据Id查询私募产品基本信息")
...@@ -150,4 +166,26 @@ public interface ProductApi { ...@@ -150,4 +166,26 @@ public interface ProductApi {
@ApiOperation("查询同类基金") @ApiOperation("查询同类基金")
@GetMapping("/query/samefund") @GetMapping("/query/samefund")
CommonResp<List<FundSameResp>> querySamefund(@RequestParam("fundId") String fundId); 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);
} }
...@@ -30,7 +30,7 @@ public class Swagger2Config { ...@@ -30,7 +30,7 @@ public class Swagger2Config {
public Docket customImplementation(){ public Docket customImplementation(){
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.select() .select()
.apis(RequestHandlerSelectors.basePackage("com.tanpu.product")) .apis(RequestHandlerSelectors.basePackage("com.tanpu.fund"))
.build() .build()
.protocols(newHashSet("http", "https")) .protocols(newHashSet("http", "https"))
// .protocols(newHashSet("ws", "wss")) // .protocols(newHashSet("ws", "wss"))
......
...@@ -3,10 +3,15 @@ package com.tanpu.fund.controller; ...@@ -3,10 +3,15 @@ package com.tanpu.fund.controller;
import com.tanpu.common.auth.mapping.TanpuInterfaceLoginAuth; import com.tanpu.common.auth.mapping.TanpuInterfaceLoginAuth;
import com.tanpu.common.model.Page; import com.tanpu.common.model.Page;
import com.tanpu.common.model.Pageable; 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.NetReq;
import com.tanpu.common.model.product.req.ProductInfoReq; import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.*; import com.tanpu.common.model.product.resp.*;
import com.tanpu.common.model.tanpuroom.Type;
import com.tanpu.common.resp.CommonResp; import com.tanpu.common.resp.CommonResp;
import com.tanpu.fund.api.ProductApi; import com.tanpu.fund.api.ProductApi;
import com.tanpu.fund.feign.publicfund.FeignClientForPublicfund; import com.tanpu.fund.feign.publicfund.FeignClientForPublicfund;
...@@ -15,6 +20,7 @@ import com.tanpu.fund.service.ProductService; ...@@ -15,6 +20,7 @@ import com.tanpu.fund.service.ProductService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
...@@ -112,6 +118,11 @@ public class ProductController implements ProductApi { ...@@ -112,6 +118,11 @@ public class ProductController implements ProductApi {
return CommonResp.success(this.productService.getDynamicRetreat(id)); return CommonResp.success(this.productService.getDynamicRetreat(id));
} }
@Override
public CommonResp<List<Type>> getSimpleFundList(List<String> list) {
return CommonResp.success(this.productService.getSimpleFundList(list));
}
@Override @Override
public CommonResp<ProductInfoVO> getPrivateDetail(String id) { public CommonResp<ProductInfoVO> getPrivateDetail(String id) {
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {
...@@ -178,6 +189,11 @@ public class ProductController implements ProductApi { ...@@ -178,6 +189,11 @@ public class ProductController implements ProductApi {
return CommonResp.success(this.productPrivateService.getBonusRatio(id)); return CommonResp.success(this.productPrivateService.getBonusRatio(id));
} }
@Override
public CommonResp<List<Type>> getSimplePrivateFundList(List<String> list) {
return CommonResp.success(this.productPrivateService.getSimplePrivateFundList(list));
}
@Override @Override
public CommonResp<List<FundManagerVO>> getPrivateFundManagerInfo(String id, String ifaId) { public CommonResp<List<FundManagerVO>> getPrivateFundManagerInfo(String id, String ifaId) {
return CommonResp.success(this.productPrivateService.getFundManager(id, ifaId)); return CommonResp.success(this.productPrivateService.getFundManager(id, ifaId));
...@@ -197,4 +213,29 @@ public class ProductController implements ProductApi { ...@@ -197,4 +213,29 @@ public class ProductController implements ProductApi {
} }
return CommonResp.success(this.productService.querySamefund(fundId)); 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));
}
} }
...@@ -7,6 +7,25 @@ import lombok.Builder; ...@@ -7,6 +7,25 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
/** /**
* 基金历史业绩 * 基金历史业绩
*/ */
...@@ -32,6 +51,11 @@ public class FundCount { ...@@ -32,6 +51,11 @@ public class FundCount {
*/ */
private Integer substrategy; private Integer substrategy;
/**
* 基金成立日期
*/
private Date inceptionDate;
/** /**
* 是否可预约 0:不可预约 1:可预约 * 是否可预约 0:不可预约 1:可预约
*/ */
......
...@@ -6,6 +6,24 @@ import java.util.Date; ...@@ -6,6 +6,24 @@ import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
public class FundCountExample { public class FundCountExample {
protected String orderByClause; protected String orderByClause;
...@@ -393,6 +411,66 @@ public class FundCountExample { ...@@ -393,6 +411,66 @@ public class FundCountExample {
return (Criteria) this; 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() { public Criteria andTypeIsNull() {
addCriterion("`type` is null"); addCriterion("`type` is null");
return (Criteria) this; return (Criteria) this;
......
...@@ -7,12 +7,30 @@ import lombok.Builder; ...@@ -7,12 +7,30 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
@Data @Data
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class IfaImportedFundNav { public class IfaImportedFundNav {
private Integer id; private Long id;
/** /**
* 基金id * 基金id
...@@ -35,4 +53,9 @@ public class IfaImportedFundNav { ...@@ -35,4 +53,9 @@ public class IfaImportedFundNav {
private BigDecimal cumulativeNav; private BigDecimal cumulativeNav;
private Integer deleteTag; private Integer deleteTag;
/**
* 机构id
*/
private String orgId;
} }
\ No newline at end of file
...@@ -3,8 +3,27 @@ package com.tanpu.fund.entity.generator; ...@@ -3,8 +3,27 @@ package com.tanpu.fund.entity.generator;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.Iterator;
import java.util.List; import java.util.List;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
public class IfaImportedFundNavExample { public class IfaImportedFundNavExample {
protected String orderByClause; protected String orderByClause;
...@@ -106,6 +125,32 @@ public class IfaImportedFundNavExample { ...@@ -106,6 +125,32 @@ public class IfaImportedFundNavExample {
criteria.add(new Criterion(condition, value1, value2)); 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() { public Criteria andIdIsNull() {
addCriterion("id is null"); addCriterion("id is null");
return (Criteria) this; return (Criteria) this;
...@@ -116,52 +161,52 @@ public class IfaImportedFundNavExample { ...@@ -116,52 +161,52 @@ public class IfaImportedFundNavExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdEqualTo(Integer value) { public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id"); addCriterion("id =", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdNotEqualTo(Integer value) { public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id"); addCriterion("id <>", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdGreaterThan(Integer value) { public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id"); addCriterion("id >", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdGreaterThanOrEqualTo(Integer value) { public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id"); addCriterion("id >=", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdLessThan(Integer value) { public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id"); addCriterion("id <", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdLessThanOrEqualTo(Integer value) { public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id"); addCriterion("id <=", value, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdIn(List<Integer> values) { public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id"); addCriterion("id in", values, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdNotIn(List<Integer> values) { public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id"); addCriterion("id not in", values, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdBetween(Integer value1, Integer value2) { public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id"); addCriterion("id between", value1, value2, "id");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andIdNotBetween(Integer value1, Integer value2) { public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id"); addCriterion("id not between", value1, value2, "id");
return (Criteria) this; return (Criteria) this;
} }
...@@ -247,52 +292,52 @@ public class IfaImportedFundNavExample { ...@@ -247,52 +292,52 @@ public class IfaImportedFundNavExample {
} }
public Criteria andPriceDateEqualTo(Date value) { public Criteria andPriceDateEqualTo(Date value) {
addCriterion("price_date =", value, "priceDate"); addCriterionForJDBCDate("price_date =", value, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateNotEqualTo(Date value) { public Criteria andPriceDateNotEqualTo(Date value) {
addCriterion("price_date <>", value, "priceDate"); addCriterionForJDBCDate("price_date <>", value, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateGreaterThan(Date value) { public Criteria andPriceDateGreaterThan(Date value) {
addCriterion("price_date >", value, "priceDate"); addCriterionForJDBCDate("price_date >", value, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateGreaterThanOrEqualTo(Date value) { public Criteria andPriceDateGreaterThanOrEqualTo(Date value) {
addCriterion("price_date >=", value, "priceDate"); addCriterionForJDBCDate("price_date >=", value, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateLessThan(Date value) { public Criteria andPriceDateLessThan(Date value) {
addCriterion("price_date <", value, "priceDate"); addCriterionForJDBCDate("price_date <", value, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateLessThanOrEqualTo(Date value) { public Criteria andPriceDateLessThanOrEqualTo(Date value) {
addCriterion("price_date <=", value, "priceDate"); addCriterionForJDBCDate("price_date <=", value, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateIn(List<Date> values) { public Criteria andPriceDateIn(List<Date> values) {
addCriterion("price_date in", values, "priceDate"); addCriterionForJDBCDate("price_date in", values, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateNotIn(List<Date> values) { public Criteria andPriceDateNotIn(List<Date> values) {
addCriterion("price_date not in", values, "priceDate"); addCriterionForJDBCDate("price_date not in", values, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateBetween(Date value1, Date value2) { public Criteria andPriceDateBetween(Date value1, Date value2) {
addCriterion("price_date between", value1, value2, "priceDate"); addCriterionForJDBCDate("price_date between", value1, value2, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andPriceDateNotBetween(Date value1, Date value2) { public Criteria andPriceDateNotBetween(Date value1, Date value2) {
addCriterion("price_date not between", value1, value2, "priceDate"); addCriterionForJDBCDate("price_date not between", value1, value2, "priceDate");
return (Criteria) this; return (Criteria) this;
} }
...@@ -475,6 +520,76 @@ public class IfaImportedFundNavExample { ...@@ -475,6 +520,76 @@ public class IfaImportedFundNavExample {
addCriterion("delete_tag not between", value1, value2, "deleteTag"); addCriterion("delete_tag not between", value1, value2, "deleteTag");
return (Criteria) this; 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 { public static class Criteria extends GeneratedCriteria {
......
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);
}
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("基金信息查询异常");
}
};
}
}
...@@ -6,71 +6,55 @@ import java.util.List; ...@@ -6,71 +6,55 @@ import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
@Mapper @Mapper
public interface FundCountMapper { public interface FundCountMapper {
long countByExample(FundCountExample example); long countByExample(FundCountExample example);
int deleteByExample(FundCountExample example); int deleteByExample(FundCountExample example);
/**
* delete by primary key
*
* @param id primaryKey
* @return deleteCount
*/
int deleteByPrimaryKey(String id); int deleteByPrimaryKey(String id);
/**
* insert record to table
*
* @param record the record
* @return insert count
*/
int insert(FundCount record); int insert(FundCount record);
int insertOrUpdate(FundCount record); int insertOrUpdate(FundCount record);
int insertOrUpdateSelective(FundCount record); int insertOrUpdateSelective(FundCount record);
/**
* insert record to table selective
*
* @param record the record
* @return insert count
*/
int insertSelective(FundCount record); int insertSelective(FundCount record);
List<FundCount> selectByExample(FundCountExample example); List<FundCount> selectByExample(FundCountExample example);
/**
* select by primary key
*
* @param id primary key
* @return object by primary key
*/
FundCount selectByPrimaryKey(String id); FundCount selectByPrimaryKey(String id);
int updateByExampleSelective(@Param("record") FundCount record, @Param("example") FundCountExample example); int updateByExampleSelective(@Param("record") FundCount record, @Param("example") FundCountExample example);
int updateByExample(@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); int updateByPrimaryKeySelective(FundCount record);
/**
* update record
*
* @param record the updated record
* @return update count
*/
int updateByPrimaryKey(FundCount record); int updateByPrimaryKey(FundCount record);
int updateBatch(List<FundCount> list); int updateBatch(List<FundCount> list);
int updateBatchSelective(List<FundCount> list);
int batchInsert(@Param("list") List<FundCount> list); int batchInsert(@Param("list") List<FundCount> list);
} }
\ No newline at end of file
...@@ -6,71 +6,55 @@ import java.util.List; ...@@ -6,71 +6,55 @@ import java.util.List;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
/**
* @author: zhoupeng
* <p>
* =========================================
* =========================================
* ======== ========
* ======= ========== ======= =======
* ====== ===== == ==== ======
* ===== ===== == === =====
* ===== ===== == === =====
* ===== ===== == === =====
* ====== ========== == ======
* ======= =======
* =========================================
* =========================================
* <p>
* @email: zhoupeng_08@163.com
*/
@Mapper @Mapper
public interface IfaImportedFundNavMapper { public interface IfaImportedFundNavMapper {
long countByExample(IfaImportedFundNavExample example); long countByExample(IfaImportedFundNavExample example);
int deleteByExample(IfaImportedFundNavExample example); int deleteByExample(IfaImportedFundNavExample example);
/** int deleteByPrimaryKey(Long id);
* delete by primary key
*
* @param id primaryKey
* @return deleteCount
*/
int deleteByPrimaryKey(Integer id);
/**
* insert record to table
*
* @param record the record
* @return insert count
*/
int insert(IfaImportedFundNav record); int insert(IfaImportedFundNav record);
int insertOrUpdate(IfaImportedFundNav record); int insertOrUpdate(IfaImportedFundNav record);
int insertOrUpdateSelective(IfaImportedFundNav record); int insertOrUpdateSelective(IfaImportedFundNav record);
/**
* insert record to table selective
*
* @param record the record
* @return insert count
*/
int insertSelective(IfaImportedFundNav record); int insertSelective(IfaImportedFundNav record);
List<IfaImportedFundNav> selectByExample(IfaImportedFundNavExample example); List<IfaImportedFundNav> selectByExample(IfaImportedFundNavExample example);
/** IfaImportedFundNav selectByPrimaryKey(Long id);
* select by primary key
*
* @param id primary key
* @return object by primary key
*/
IfaImportedFundNav selectByPrimaryKey(Integer id);
int updateByExampleSelective(@Param("record") IfaImportedFundNav record, @Param("example") IfaImportedFundNavExample example); int updateByExampleSelective(@Param("record") IfaImportedFundNav record, @Param("example") IfaImportedFundNavExample example);
int updateByExample(@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); int updateByPrimaryKeySelective(IfaImportedFundNav record);
/**
* update record
*
* @param record the updated record
* @return update count
*/
int updateByPrimaryKey(IfaImportedFundNav record); int updateByPrimaryKey(IfaImportedFundNav record);
int updateBatch(List<IfaImportedFundNav> list); int updateBatch(List<IfaImportedFundNav> list);
int updateBatchSelective(List<IfaImportedFundNav> list);
int batchInsert(@Param("list") List<IfaImportedFundNav> list); int batchInsert(@Param("list") List<IfaImportedFundNav> list);
} }
\ No newline at end of file
package com.tanpu.fund.mapper.generator.custom; package com.tanpu.fund.mapper.generator.custom;
import com.tanpu.common.model.product.resp.FilePreviewResp; import com.tanpu.common.model.product.resp.FilePreviewResp;
import com.tanpu.common.model.tanpuroom.Type;
import com.tanpu.fund.entity.generator.FundNav; import com.tanpu.fund.entity.generator.FundNav;
import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -47,4 +48,13 @@ public interface FundInfoCustomMapper { ...@@ -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})") @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); 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);
} }
...@@ -5,20 +5,8 @@ import com.tanpu.common.model.Pageable; ...@@ -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.NetReq;
import com.tanpu.common.model.product.req.ProductInfoReq; import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.BonusRatioVO; import com.tanpu.common.model.product.resp.*;
import com.tanpu.common.model.product.resp.DynamicRetreatVO; import com.tanpu.common.model.tanpuroom.Type;
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 java.util.List; import java.util.List;
...@@ -81,4 +69,5 @@ public interface ProductPrivateService { ...@@ -81,4 +69,5 @@ public interface ProductPrivateService {
List<FundSameResp> getRemmendPrivateFundList(); List<FundSameResp> getRemmendPrivateFundList();
List<Type> getSimplePrivateFundList(List<String> list);
} }
...@@ -2,6 +2,10 @@ package com.tanpu.fund.service; ...@@ -2,6 +2,10 @@ package com.tanpu.fund.service;
import com.tanpu.common.model.Page; import com.tanpu.common.model.Page;
import com.tanpu.common.model.Pageable; 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.req.ProductListReq;
import com.tanpu.common.model.product.resp.DynamicRetreatVO; import com.tanpu.common.model.product.resp.DynamicRetreatVO;
import com.tanpu.common.model.product.resp.FundInfoSimpleListResp; import com.tanpu.common.model.product.resp.FundInfoSimpleListResp;
...@@ -9,6 +13,9 @@ import com.tanpu.common.model.product.resp.ProductInfoVO; ...@@ -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.NetReq;
import com.tanpu.common.model.product.req.ProductInfoReq; import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.resp.*; 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; import java.util.List;
...@@ -68,4 +75,16 @@ public interface ProductService { ...@@ -68,4 +75,16 @@ public interface ProductService {
List<FundSameResp> querySamefund(String fundId); List<FundSameResp> querySamefund(String fundId);
List<FundSameResp> getRemmendPrivateFundList(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);
} }
...@@ -20,6 +20,7 @@ import com.tanpu.fund.entity.generator.*; ...@@ -20,6 +20,7 @@ import com.tanpu.fund.entity.generator.*;
import com.tanpu.fund.enums.ProTypeEnums; import com.tanpu.fund.enums.ProTypeEnums;
import com.tanpu.fund.feign.diagnose.FeignClientForDiagnose; import com.tanpu.fund.feign.diagnose.FeignClientForDiagnose;
import com.tanpu.fund.mapper.generator.*; import com.tanpu.fund.mapper.generator.*;
import com.tanpu.fund.mapper.generator.custom.FundInfoCustomMapper;
import com.tanpu.fund.service.ProductPrivateService; import com.tanpu.fund.service.ProductPrivateService;
import com.tanpu.fund.utils.LongUtil; import com.tanpu.fund.utils.LongUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -86,6 +87,9 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan ...@@ -86,6 +87,9 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan
@Resource @Resource
private FeignClientForDiagnose diagnose; private FeignClientForDiagnose diagnose;
@Resource
private FundInfoCustomMapper fundInfoCustomMapper;
@Override @Override
public Page<ProductInfoVO> getProductList(ProductInfoReq req) { public Page<ProductInfoVO> getProductList(ProductInfoReq req) {
return null; return null;
...@@ -519,4 +523,8 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan ...@@ -519,4 +523,8 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan
return null; return null;
} }
@Override
public List<Type> getSimplePrivateFundList(List<String> list) {
return fundInfoCustomMapper.getSimplePrivateFundList(list.stream().collect(Collectors.joining("','", "'", "'")));
}
} }
package com.tanpu.fund.service.impl; package com.tanpu.fund.service.impl;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; 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.github.pagehelper.page.PageMethod;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.tanpu.common.auth.UserInfoThreadLocalHolder; import com.tanpu.common.auth.UserInfoThreadLocalHolder;
...@@ -11,35 +15,44 @@ import com.tanpu.common.enums.SysConstEnums; ...@@ -11,35 +15,44 @@ import com.tanpu.common.enums.SysConstEnums;
import com.tanpu.common.enums.product.ProductEnums; import com.tanpu.common.enums.product.ProductEnums;
import com.tanpu.common.model.Page; import com.tanpu.common.model.Page;
import com.tanpu.common.model.Pageable; 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.FundInfoVO;
import com.tanpu.common.model.product.req.NetReq; import com.tanpu.common.model.product.req.NetReq;
import com.tanpu.common.model.product.req.ProductInfoReq; import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.*; 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.model.user.resp.SysConstantResp;
import com.tanpu.common.resp.CommonResp; import com.tanpu.common.resp.CommonResp;
import com.tanpu.common.utils.BigDecimalUtil; import com.tanpu.common.utils.BigDecimalUtil;
import com.tanpu.fund.entity.generator.*; import com.tanpu.fund.entity.generator.*;
import com.tanpu.fund.enums.FilterTypeEnum; import com.tanpu.fund.enums.FilterTypeEnum;
import com.tanpu.fund.feign.diagnose.FeignClientForDiagnose; 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.feign.user.FeignClientForFatools;
import com.tanpu.fund.mapper.generator.*; import com.tanpu.fund.mapper.generator.*;
import com.tanpu.fund.mapper.generator.custom.FundInfoCustomMapper; import com.tanpu.fund.mapper.generator.custom.FundInfoCustomMapper;
import com.tanpu.fund.service.ProductCommonService;
import com.tanpu.fund.service.ProductService; import com.tanpu.fund.service.ProductService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.validator.routines.BigDecimalValidator;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.tanpu.common.utils.BigDecimalUtil.multiply100; import static com.tanpu.common.utils.BigDecimalUtil.*;
import static com.tanpu.common.utils.BigDecimalUtil.subtract;
import static com.tanpu.fund.enums.FilterTypeEnum.SINCE_ESTABLISHED; import static com.tanpu.fund.enums.FilterTypeEnum.SINCE_ESTABLISHED;
import static com.tanpu.fund.utils.LongUtil.timeLong; import static com.tanpu.fund.utils.LongUtil.timeLong;
...@@ -97,15 +110,15 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -97,15 +110,15 @@ public class ProductServiceImpl implements ProductService, Constant {
@Resource @Resource
private IfaImportedFundNavMapper ifaImportedFundNavMapper; private IfaImportedFundNavMapper ifaImportedFundNavMapper;
@Resource
private ProductCommonService productCommonService;
@Resource @Resource
private FeignClientForFatools fatools; private FeignClientForFatools fatools;
@Resource @Resource
private FeignClientForDiagnose feignClientForDiagnose; private FeignClientForDiagnose feignClientForDiagnose;
@Resource
private FeignForProduct product;
@Override @Override
public Page<ProductInfoVO> getProductList(ProductInfoReq req) { public Page<ProductInfoVO> getProductList(ProductInfoReq req) {
...@@ -119,7 +132,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -119,7 +132,7 @@ public class ProductServiceImpl implements ProductService, Constant {
List<ProductInfoVO> vos = new ArrayList<>(); List<ProductInfoVO> vos = new ArrayList<>();
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
vos = getProductInfoVOS(fundCounts, list, 1); vos = getProductInfoVOS(fundCounts, list);
} }
return new Page<>(req.getPage(), page.getTotal(), vos); return new Page<>(req.getPage(), page.getTotal(), vos);
...@@ -144,7 +157,6 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -144,7 +157,6 @@ public class ProductServiceImpl implements ProductService, Constant {
vo.setProductName(fundInfo.getFundShortName()); vo.setProductName(fundInfo.getFundShortName());
vo.setDesc(fundInfo.getDescInfo()); vo.setDesc(fundInfo.getDescInfo());
List<String> ls = Lists.newArrayList(fundInfo.getPrimaryBenchmarkId());
/*// 产品编码 /*// 产品编码
Map<String, List<IndexesProfile>> indexIdMap = getIndexIdMap(ls); Map<String, List<IndexesProfile>> indexIdMap = getIndexIdMap(ls);
getProductCode(indexIdMap, vo, fundInfo);*/ getProductCode(indexIdMap, vo, fundInfo);*/
...@@ -206,10 +218,10 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -206,10 +218,10 @@ public class ProductServiceImpl implements ProductService, Constant {
if (vo.getSubstrategy() != null) { if (vo.getSubstrategy() != null) {
CommonResp<List<SysConstantResp>> listCommonResp = this.fatools.queryLabels(SysConstEnums.TAMPSUBSTRATEGY.getConstantGroup()); CommonResp<List<SysConstantResp>> listCommonResp = this.fatools.queryLabels(SysConstEnums.TAMPSUBSTRATEGY.getConstantGroup());
if (listCommonResp.isSuccess()) { if (listCommonResp.isSuccess()) {
SysConstantResp sysConstantResp = listCommonResp.getAttributes().stream().filter(item -> StringUtils.equals(String.valueOf(vo.getSubstrategy()), item.getConstantCode())).findFirst().orElse(null); listCommonResp.getAttributes().stream()
if (sysConstantResp != null) { .filter(item -> StringUtils.equals(String.valueOf(vo.getSubstrategy()), item.getConstantCode()))
vo.setStrategyName(sysConstantResp.getConstantName()); .findFirst()
} .ifPresent(sysConstantResp -> vo.setStrategyName(sysConstantResp.getConstantName()));
} }
} }
...@@ -779,7 +791,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -779,7 +791,7 @@ public class ProductServiceImpl implements ProductService, Constant {
if (i < fundNavs.size() - 1) { if (i < fundNavs.size() - 1) {
FundNav pre = fundNavs.get(i + 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); BigDecimal dailyIncrease = f.getNav().subtract(pre.getNav()).divide(pre.getNav(), 4, BigDecimal.ROUND_HALF_UP);
vo.setDailyIncrease(BigDecimalUtil.multiply100(dailyIncrease)); vo.setDailyIncrease(BigDecimalUtil.multiply100(dailyIncrease));
} }
...@@ -1021,7 +1033,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1021,7 +1033,7 @@ public class ProductServiceImpl implements ProductService, Constant {
List<ProductInfoVO> vos = new ArrayList<>(); List<ProductInfoVO> vos = new ArrayList<>();
if (CollectionUtils.isNotEmpty(req.getFundIds())) { if (CollectionUtils.isNotEmpty(req.getFundIds())) {
vos = getProductInfoVOS(fundCounts, req.getFundIds(), 1); vos = getProductInfoVOS(fundCounts, req.getFundIds());
} }
return vos; return vos;
...@@ -1158,7 +1170,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1158,7 +1170,7 @@ public class ProductServiceImpl implements ProductService, Constant {
}).collect(Collectors.toList()); }).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(); FundInfoExample example = new FundInfoExample();
example.createCriteria().andIdIn(list).andDeleteTagEqualTo(ZERO_NUM); example.createCriteria().andIdIn(list).andDeleteTagEqualTo(ZERO_NUM);
example.setOrderByClause("create_time desc"); example.setOrderByClause("create_time desc");
...@@ -1190,7 +1202,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -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()); .collect(Collectors.toList());
} }
...@@ -1201,7 +1213,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1201,7 +1213,7 @@ public class ProductServiceImpl implements ProductService, Constant {
private ProductInfoVO getProductInfoVO(Map<String, FundCount> fundCountMap, Map<String, FundRateMapping> rateMappingMap, private ProductInfoVO getProductInfoVO(Map<String, FundCount> fundCountMap, Map<String, FundRateMapping> rateMappingMap,
FundInfo fundInfo, FundInfo fundInfo,
Set<String> fundInfoReports, Integer productType, Map<String, FundNav> fundNavMap) { Map<String, FundNav> fundNavMap) {
ProductInfoVO vo = new ProductInfoVO(); ProductInfoVO vo = new ProductInfoVO();
if (fundCountMap.containsKey(fundInfo.getId())) { if (fundCountMap.containsKey(fundInfo.getId())) {
FundCount fundCount = fundCountMap.get(fundInfo.getId()); FundCount fundCount = fundCountMap.get(fundInfo.getId());
...@@ -1212,7 +1224,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1212,7 +1224,7 @@ public class ProductServiceImpl implements ProductService, Constant {
vo.setRetIncep(multiply100(fundCount.getRetIncep())); vo.setRetIncep(multiply100(fundCount.getRetIncep()));
vo.setCumulativeProfit(BigDecimalUtil.toString(fundCount.getCumulativeNav())); vo.setCumulativeProfit(BigDecimalUtil.toString(fundCount.getCumulativeNav()));
} }
vo.setProductType(productType); vo.setProductType(1);
String fundId = fundInfo.getId(); String fundId = fundInfo.getId();
vo.setFundId(fundId); vo.setFundId(fundId);
...@@ -1226,11 +1238,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1226,11 +1238,7 @@ public class ProductServiceImpl implements ProductService, Constant {
// 风险等级 // 风险等级
vo.setRiskLevel(fundInfo.getRiskLevel()); vo.setRiskLevel(fundInfo.getRiskLevel());
if (fundInfoReports != null && fundInfoReports.contains(fundId)) {
vo.setIsReport(1);
} else {
vo.setIsReport(0); vo.setIsReport(0);
}
vo.setIsAppoint(fundInfo.getType()); vo.setIsAppoint(fundInfo.getType());
// 最新净值 // 最新净值
...@@ -1424,10 +1432,10 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1424,10 +1432,10 @@ public class ProductServiceImpl implements ProductService, Constant {
if (detailResp.getSubstrategy() != null) { if (detailResp.getSubstrategy() != null) {
CommonResp<List<SysConstantResp>> listCommonResp = this.fatools.queryLabels(SysConstEnums.TAMPSUBSTRATEGY.getConstantGroup()); CommonResp<List<SysConstantResp>> listCommonResp = this.fatools.queryLabels(SysConstEnums.TAMPSUBSTRATEGY.getConstantGroup());
if (listCommonResp.isSuccess()) { if (listCommonResp.isSuccess()) {
SysConstantResp sysConstantResp = listCommonResp.getAttributes().stream().filter(item -> StringUtils.equals(String.valueOf(detailResp.getSubstrategy()), item.getConstantCode())).findFirst().orElse(null); listCommonResp.getAttributes().stream()
if (sysConstantResp != null) { .filter(item -> StringUtils.equals(String.valueOf(detailResp.getSubstrategy()), item.getConstantCode())).
detailResp.setStrategyName(sysConstantResp.getConstantName()); findFirst()
} .ifPresent(sysConstantResp -> detailResp.setStrategyName(sysConstantResp.getConstantName()));
} }
} }
...@@ -1476,7 +1484,8 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1476,7 +1484,8 @@ public class ProductServiceImpl implements ProductService, Constant {
fundNavs = fundNavs.stream().collect( fundNavs = fundNavs.stream().collect(
Collectors.collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> 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<>(); List<TrackNetVO> list = new ArrayList<>();
...@@ -1576,6 +1585,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1576,6 +1585,7 @@ public class ProductServiceImpl implements ProductService, Constant {
p.setSubstrategy(item.getSubstrategy() + ""); p.setSubstrategy(item.getSubstrategy() + "");
p.setStrategy(item.getStrategy() + ""); p.setStrategy(item.getStrategy() + "");
p.setProductName(item.getFundName()); p.setProductName(item.getFundName());
p.setRet1y(importedFundCount == null ? null : BigDecimalUtil.multiply100(importedFundCount.getRet1y()));
p.setRet1m(importedFundCount == null ? null : BigDecimalUtil.multiply100(importedFundCount.getRet1m())); p.setRet1m(importedFundCount == null ? null : BigDecimalUtil.multiply100(importedFundCount.getRet1m()));
p.setRetIncep(importedFundCount == null ? null : BigDecimalUtil.multiply100(importedFundCount.getRetIncep())); p.setRetIncep(importedFundCount == null ? null : BigDecimalUtil.multiply100(importedFundCount.getRetIncep()));
p.setNet(importedFundCount == null ? null : Net.builder().netDate(importedFundCount.getPriceDate().getTime()) p.setNet(importedFundCount == null ? null : Net.builder().netDate(importedFundCount.getPriceDate().getTime())
...@@ -1676,7 +1686,7 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1676,7 +1686,7 @@ public class ProductServiceImpl implements ProductService, Constant {
List<String> checkFundIdList = feignClientForDiagnose.getFundCollectInfo(fundIdList).getAttributes(); List<String> checkFundIdList = feignClientForDiagnose.getFundCollectInfo(fundIdList).getAttributes();
importedFundInfoList.stream().map(item -> { importedFundInfoList.forEach(item -> {
FundSameResp p = FundSameResp.builder() FundSameResp p = FundSameResp.builder()
.fundId(item.getId()) .fundId(item.getId())
.fundName(item.getFundName()) .fundName(item.getFundName())
...@@ -1686,11 +1696,688 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -1686,11 +1696,688 @@ public class ProductServiceImpl implements ProductService, Constant {
if (fundCountMap != null && fundCountMap.containsKey(item.getId())) { if (fundCountMap != null && fundCountMap.containsKey(item.getId())) {
p.setRet1y(BigDecimalUtil.toString(fundCountMap.get(item.getId()).getRet1y(), 2)); 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()); }).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) { private ArrayList<TrackRecordVO> getPrivateFundTrackRecordVOS(IfaImportedFundCount fundCount) {
...@@ -1706,4 +2393,11 @@ public class ProductServiceImpl implements ProductService, Constant { ...@@ -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 + "%");
}
} }
...@@ -10,8 +10,8 @@ management.endpoints.web.base-path = /myhealth ...@@ -10,8 +10,8 @@ management.endpoints.web.base-path = /myhealth
management.endpoint.health.enabled=true management.endpoint.health.enabled=true
management.endpoint.health.show-details=always 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.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=root spring.datasource.username=tamp_admin
spring.datasource.password= @imeng123 spring.datasource.password= @imeng123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
......
...@@ -41,12 +41,11 @@ ...@@ -41,12 +41,11 @@
res.ishigh_or_low as ishighOrLow, res.ishigh_or_low as ishighOrLow,
res.tohigh_nav_ratio as tohighNavRatio res.tohigh_nav_ratio as tohighNavRatio
from 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=","> <foreach close=")" collection="list" item="fundId" open="(" separator=",">
#{fundId} #{fundId}
</foreach> </foreach> GROUP by fund_id) t
order BY price_date desc) res left join fund_nav res on t.fund_id = res.fund_id and t.price_date = res.price_date
GROUP BY res.fund_id
</select> </select>
<select id="getPrivateFundInfoNewNet" parameterType="java.lang.String" resultType="com.tanpu.fund.entity.generator.FundNav"> <select id="getPrivateFundInfoNewNet" parameterType="java.lang.String" resultType="com.tanpu.fund.entity.generator.FundNav">
...@@ -60,12 +59,11 @@ ...@@ -60,12 +59,11 @@
res.ishigh_or_low as ishighOrLow, res.ishigh_or_low as ishighOrLow,
res.tohigh_nav_ratio as tohighNavRatio res.tohigh_nav_ratio as tohighNavRatio
from 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=","> <foreach close=")" collection="list" item="fundId" open="(" separator=",">
#{fundId} #{fundId}
</foreach> </foreach> GROUP by fund_id) t
order BY price_date desc) res left join ifa_imported_fund_nav res on t.fund_id = res.fund_id and t.price_date = res.price_date
GROUP BY res.fund_id
</select> </select>
</mapper> </mapper>
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<result column="fund_id" jdbcType="VARCHAR" property="fundId" /> <result column="fund_id" jdbcType="VARCHAR" property="fundId" />
<result column="strategy" jdbcType="INTEGER" property="strategy" /> <result column="strategy" jdbcType="INTEGER" property="strategy" />
<result column="substrategy" jdbcType="INTEGER" property="substrategy" /> <result column="substrategy" jdbcType="INTEGER" property="substrategy" />
<result column="inception_date" jdbcType="DATE" property="inceptionDate" />
<result column="type" jdbcType="INTEGER" property="type" /> <result column="type" jdbcType="INTEGER" property="type" />
<result column="end_date" jdbcType="DATE" property="endDate" /> <result column="end_date" jdbcType="DATE" property="endDate" />
<result column="price_date" jdbcType="DATE" property="priceDate" /> <result column="price_date" jdbcType="DATE" property="priceDate" />
...@@ -137,16 +138,16 @@ ...@@ -137,16 +138,16 @@
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, fund_id, strategy, substrategy, `type`, end_date, price_date, net_nav, cumulative_nav, id, fund_id, strategy, substrategy, inception_date, `type`, end_date, price_date,
ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1, ret_3m, ret_3m_bm1, net_nav, cumulative_nav, ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1,
ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y_a, ret_2y_bm1_a, ret_3m, ret_3m_bm1, ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y_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_2y_bm1_a, ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1, ret_4y_a,
ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_incep, ret_incep_bm1, 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_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y, ret_incep_bm1, ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3y,
sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3y, stddev_4y, stddev_5y, sharperatio_4y, sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3y,
stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y, maxdrawdown_3y, stddev_4y, stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y,
maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep, data_sources, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep,
update_time, create_time, `status`, sort, delete_tag data_sources, update_time, create_time, `status`, sort, delete_tag
</sql> </sql>
<select id="selectByExample" parameterType="com.tanpu.fund.entity.generator.FundCountExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.tanpu.fund.entity.generator.FundCountExample" resultMap="BaseResultMap">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -185,53 +186,53 @@ ...@@ -185,53 +186,53 @@
<insert id="insert" parameterType="com.tanpu.fund.entity.generator.FundCount"> <insert id="insert" parameterType="com.tanpu.fund.entity.generator.FundCount">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into fund_count (id, fund_id, strategy, insert into fund_count (id, fund_id, strategy,
substrategy, `type`, end_date, substrategy, inception_date, `type`,
price_date, net_nav, cumulative_nav, end_date, price_date, net_nav,
ret_1day, ret_1day_bm1, ret_1w, cumulative_nav, ret_1day, ret_1day_bm1,
ret_1w_bm1, ret_1m, ret_1m_bm1, ret_1w, ret_1w_bm1, ret_1m,
ret_3m, ret_3m_bm1, ret_6m, ret_1m_bm1, ret_3m, ret_3m_bm1,
ret_6m_bm1, ret_1y, ret_1y_bm1, ret_6m, ret_6m_bm1, ret_1y,
ret_2y, ret_2y_bm1, ret_2y_a, ret_1y_bm1, ret_2y, ret_2y_bm1,
ret_2y_bm1_a, ret_3y, ret_3y_bm1, ret_2y_a, ret_2y_bm1_a, ret_3y,
ret_3y_a, ret_3y_bm1_a, ret_4y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a,
ret_4y_bm1, ret_4y_a, ret_4y_bm1_a, ret_4y, ret_4y_bm1, ret_4y_a,
ret_5y, ret_5y_bm1, ret_5y_a, ret_4y_bm1_a, ret_5y, ret_5y_bm1,
ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd,
ret_incep, ret_incep_bm1, ret_incep_a, ret_ytd_bm1, ret_incep, ret_incep_bm1,
ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, ret_incep_a, ret_incep_bm1_a, sharperatio_1y,
sharperatio_3y, sharperatio_4y, sharperatio_5y, sharperatio_2y, sharperatio_3y, sharperatio_4y,
sharperatio_incep, stddev_1y, stddev_2y, sharperatio_5y, sharperatio_incep, stddev_1y,
stddev_3y, stddev_4y, stddev_5y, stddev_2y, stddev_3y, stddev_4y,
stddev_10y, stddev_incep, stddev_ytd, stddev_5y, stddev_10y, stddev_incep,
maxdrawdown_1y, maxdrawdown_2y, maxdrawdown_3y, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y,
maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y,
maxdrawdown_incep, data_sources, update_time, maxdrawdown_10y, maxdrawdown_incep, data_sources,
create_time, `status`, sort, update_time, create_time, `status`,
delete_tag) sort, delete_tag)
values (#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{strategy,jdbcType=INTEGER}, values (#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{strategy,jdbcType=INTEGER},
#{substrategy,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, #{endDate,jdbcType=DATE}, #{substrategy,jdbcType=INTEGER}, #{inceptionDate,jdbcType=DATE}, #{type,jdbcType=INTEGER},
#{priceDate,jdbcType=DATE}, #{netNav,jdbcType=DECIMAL}, #{cumulativeNav,jdbcType=DECIMAL}, #{endDate,jdbcType=DATE}, #{priceDate,jdbcType=DATE}, #{netNav,jdbcType=DECIMAL},
#{ret1day,jdbcType=DECIMAL}, #{ret1dayBm1,jdbcType=DECIMAL}, #{ret1w,jdbcType=DECIMAL}, #{cumulativeNav,jdbcType=DECIMAL}, #{ret1day,jdbcType=DECIMAL}, #{ret1dayBm1,jdbcType=DECIMAL},
#{ret1wBm1,jdbcType=DECIMAL}, #{ret1m,jdbcType=DECIMAL}, #{ret1mBm1,jdbcType=DECIMAL}, #{ret1w,jdbcType=DECIMAL}, #{ret1wBm1,jdbcType=DECIMAL}, #{ret1m,jdbcType=DECIMAL},
#{ret3m,jdbcType=DECIMAL}, #{ret3mBm1,jdbcType=DECIMAL}, #{ret6m,jdbcType=DECIMAL}, #{ret1mBm1,jdbcType=DECIMAL}, #{ret3m,jdbcType=DECIMAL}, #{ret3mBm1,jdbcType=DECIMAL},
#{ret6mBm1,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL}, #{ret1yBm1,jdbcType=DECIMAL}, #{ret6m,jdbcType=DECIMAL}, #{ret6mBm1,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL},
#{ret2y,jdbcType=DECIMAL}, #{ret2yBm1,jdbcType=DECIMAL}, #{ret2yA,jdbcType=DECIMAL}, #{ret1yBm1,jdbcType=DECIMAL}, #{ret2y,jdbcType=DECIMAL}, #{ret2yBm1,jdbcType=DECIMAL},
#{ret2yBm1A,jdbcType=DECIMAL}, #{ret3y,jdbcType=DECIMAL}, #{ret3yBm1,jdbcType=DECIMAL}, #{ret2yA,jdbcType=DECIMAL}, #{ret2yBm1A,jdbcType=DECIMAL}, #{ret3y,jdbcType=DECIMAL},
#{ret3yA,jdbcType=DECIMAL}, #{ret3yBm1A,jdbcType=DECIMAL}, #{ret4y,jdbcType=DECIMAL}, #{ret3yBm1,jdbcType=DECIMAL}, #{ret3yA,jdbcType=DECIMAL}, #{ret3yBm1A,jdbcType=DECIMAL},
#{ret4yBm1,jdbcType=DECIMAL}, #{ret4yA,jdbcType=DECIMAL}, #{ret4yBm1A,jdbcType=DECIMAL}, #{ret4y,jdbcType=DECIMAL}, #{ret4yBm1,jdbcType=DECIMAL}, #{ret4yA,jdbcType=DECIMAL},
#{ret5y,jdbcType=DECIMAL}, #{ret5yBm1,jdbcType=DECIMAL}, #{ret5yA,jdbcType=DECIMAL}, #{ret4yBm1A,jdbcType=DECIMAL}, #{ret5y,jdbcType=DECIMAL}, #{ret5yBm1,jdbcType=DECIMAL},
#{ret5yBm1A,jdbcType=DECIMAL}, #{retYtd,jdbcType=DECIMAL}, #{retYtdBm1,jdbcType=DECIMAL}, #{ret5yA,jdbcType=DECIMAL}, #{ret5yBm1A,jdbcType=DECIMAL}, #{retYtd,jdbcType=DECIMAL},
#{retIncep,jdbcType=DECIMAL}, #{retIncepBm1,jdbcType=DECIMAL}, #{retIncepA,jdbcType=DECIMAL}, #{retYtdBm1,jdbcType=DECIMAL}, #{retIncep,jdbcType=DECIMAL}, #{retIncepBm1,jdbcType=DECIMAL},
#{retIncepBm1A,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL}, #{sharperatio2y,jdbcType=DECIMAL}, #{retIncepA,jdbcType=DECIMAL}, #{retIncepBm1A,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL},
#{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL}, #{sharperatio5y,jdbcType=DECIMAL}, #{sharperatio2y,jdbcType=DECIMAL}, #{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL},
#{sharperatioIncep,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL}, #{stddev2y,jdbcType=DECIMAL}, #{sharperatio5y,jdbcType=DECIMAL}, #{sharperatioIncep,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL},
#{stddev3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL}, #{stddev5y,jdbcType=DECIMAL}, #{stddev2y,jdbcType=DECIMAL}, #{stddev3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL},
#{stddev10y,jdbcType=DECIMAL}, #{stddevIncep,jdbcType=DECIMAL}, #{stddevYtd,jdbcType=DECIMAL}, #{stddev5y,jdbcType=DECIMAL}, #{stddev10y,jdbcType=DECIMAL}, #{stddevIncep,jdbcType=DECIMAL},
#{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL}, #{maxdrawdown3y,jdbcType=DECIMAL}, #{stddevYtd,jdbcType=DECIMAL}, #{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL},
#{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL}, #{maxdrawdown10y,jdbcType=DECIMAL}, #{maxdrawdown3y,jdbcType=DECIMAL}, #{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL},
#{maxdrawdownIncep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{maxdrawdown10y,jdbcType=DECIMAL}, #{maxdrawdownIncep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER},
#{deleteTag,jdbcType=INTEGER}) #{sort,jdbcType=INTEGER}, #{deleteTag,jdbcType=INTEGER})
</insert> </insert>
<insert id="insertSelective" parameterType="com.tanpu.fund.entity.generator.FundCount"> <insert id="insertSelective" parameterType="com.tanpu.fund.entity.generator.FundCount">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -249,6 +250,9 @@ ...@@ -249,6 +250,9 @@
<if test="substrategy != null"> <if test="substrategy != null">
substrategy, substrategy,
</if> </if>
<if test="inceptionDate != null">
inception_date,
</if>
<if test="type != null"> <if test="type != null">
`type`, `type`,
</if> </if>
...@@ -461,6 +465,9 @@ ...@@ -461,6 +465,9 @@
<if test="substrategy != null"> <if test="substrategy != null">
#{substrategy,jdbcType=INTEGER}, #{substrategy,jdbcType=INTEGER},
</if> </if>
<if test="inceptionDate != null">
#{inceptionDate,jdbcType=DATE},
</if>
<if test="type != null"> <if test="type != null">
#{type,jdbcType=INTEGER}, #{type,jdbcType=INTEGER},
</if> </if>
...@@ -684,6 +691,9 @@ ...@@ -684,6 +691,9 @@
<if test="record.substrategy != null"> <if test="record.substrategy != null">
substrategy = #{record.substrategy,jdbcType=INTEGER}, substrategy = #{record.substrategy,jdbcType=INTEGER},
</if> </if>
<if test="record.inceptionDate != null">
inception_date = #{record.inceptionDate,jdbcType=DATE},
</if>
<if test="record.type != null"> <if test="record.type != null">
`type` = #{record.type,jdbcType=INTEGER}, `type` = #{record.type,jdbcType=INTEGER},
</if> </if>
...@@ -894,6 +904,7 @@ ...@@ -894,6 +904,7 @@
fund_id = #{record.fundId,jdbcType=VARCHAR}, fund_id = #{record.fundId,jdbcType=VARCHAR},
strategy = #{record.strategy,jdbcType=INTEGER}, strategy = #{record.strategy,jdbcType=INTEGER},
substrategy = #{record.substrategy,jdbcType=INTEGER}, substrategy = #{record.substrategy,jdbcType=INTEGER},
inception_date = #{record.inceptionDate,jdbcType=DATE},
`type` = #{record.type,jdbcType=INTEGER}, `type` = #{record.type,jdbcType=INTEGER},
end_date = #{record.endDate,jdbcType=DATE}, end_date = #{record.endDate,jdbcType=DATE},
price_date = #{record.priceDate,jdbcType=DATE}, price_date = #{record.priceDate,jdbcType=DATE},
...@@ -977,6 +988,9 @@ ...@@ -977,6 +988,9 @@
<if test="substrategy != null"> <if test="substrategy != null">
substrategy = #{substrategy,jdbcType=INTEGER}, substrategy = #{substrategy,jdbcType=INTEGER},
</if> </if>
<if test="inceptionDate != null">
inception_date = #{inceptionDate,jdbcType=DATE},
</if>
<if test="type != null"> <if test="type != null">
`type` = #{type,jdbcType=INTEGER}, `type` = #{type,jdbcType=INTEGER},
</if> </if>
...@@ -1184,6 +1198,7 @@ ...@@ -1184,6 +1198,7 @@
set fund_id = #{fundId,jdbcType=VARCHAR}, set fund_id = #{fundId,jdbcType=VARCHAR},
strategy = #{strategy,jdbcType=INTEGER}, strategy = #{strategy,jdbcType=INTEGER},
substrategy = #{substrategy,jdbcType=INTEGER}, substrategy = #{substrategy,jdbcType=INTEGER},
inception_date = #{inceptionDate,jdbcType=DATE},
`type` = #{type,jdbcType=INTEGER}, `type` = #{type,jdbcType=INTEGER},
end_date = #{endDate,jdbcType=DATE}, end_date = #{endDate,jdbcType=DATE},
price_date = #{priceDate,jdbcType=DATE}, price_date = #{priceDate,jdbcType=DATE},
...@@ -1271,334 +1286,839 @@ ...@@ -1271,334 +1286,839 @@
when id = #{item.id,jdbcType=VARCHAR} then #{item.substrategy,jdbcType=INTEGER} when id = #{item.id,jdbcType=VARCHAR} then #{item.substrategy,jdbcType=INTEGER}
</foreach> </foreach>
</trim> </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,"> <trim prefix="`type` = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.type != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=INTEGER} when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=INTEGER}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="end_date = case" suffix="end,"> <trim prefix="end_date = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.endDate != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.endDate,jdbcType=DATE} when id = #{item.id,jdbcType=VARCHAR} then #{item.endDate,jdbcType=DATE}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="price_date = case" suffix="end,"> <trim prefix="price_date = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.priceDate != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.priceDate,jdbcType=DATE} when id = #{item.id,jdbcType=VARCHAR} then #{item.priceDate,jdbcType=DATE}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="net_nav = case" suffix="end,"> <trim prefix="net_nav = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.netNav != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.netNav,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.netNav,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="cumulative_nav = case" suffix="end,"> <trim prefix="cumulative_nav = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.cumulativeNav != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNav,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.cumulativeNav,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1day = case" suffix="end,"> <trim prefix="ret_1day = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1day != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1day,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1day,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1day_bm1 = case" suffix="end,"> <trim prefix="ret_1day_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1dayBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1dayBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1dayBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1w = case" suffix="end,"> <trim prefix="ret_1w = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1w != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1w,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1w,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1w_bm1 = case" suffix="end,"> <trim prefix="ret_1w_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1wBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1wBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1wBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1m = case" suffix="end,"> <trim prefix="ret_1m = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1m != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1m,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1m,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1m_bm1 = case" suffix="end,"> <trim prefix="ret_1m_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1mBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1mBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1mBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_3m = case" suffix="end,"> <trim prefix="ret_3m = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret3m != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3m,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3m,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_3m_bm1 = case" suffix="end,"> <trim prefix="ret_3m_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret3mBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3mBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3mBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_6m = case" suffix="end,"> <trim prefix="ret_6m = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret6m != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6m,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6m,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_6m_bm1 = case" suffix="end,"> <trim prefix="ret_6m_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret6mBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6mBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret6mBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1y = case" suffix="end,"> <trim prefix="ret_1y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_1y_bm1 = case" suffix="end,"> <trim prefix="ret_1y_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret1yBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1yBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret1yBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_2y = case" suffix="end,"> <trim prefix="ret_2y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret2y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_2y_bm1 = case" suffix="end,"> <trim prefix="ret_2y_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret2yBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_2y_a = case" suffix="end,"> <trim prefix="ret_2y_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret2yA != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yA,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yA,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_2y_bm1_a = case" suffix="end,"> <trim prefix="ret_2y_bm1_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret2yBm1A != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1A,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret2yBm1A,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_3y = case" suffix="end,"> <trim prefix="ret_3y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret3y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_3y_bm1 = case" suffix="end,"> <trim prefix="ret_3y_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret3yBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_3y_a = case" suffix="end,"> <trim prefix="ret_3y_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret3yA != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yA,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yA,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_3y_bm1_a = case" suffix="end,"> <trim prefix="ret_3y_bm1_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret3yBm1A != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1A,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret3yBm1A,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_4y = case" suffix="end,"> <trim prefix="ret_4y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret4y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_4y_bm1 = case" suffix="end,"> <trim prefix="ret_4y_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret4yBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_4y_a = case" suffix="end,"> <trim prefix="ret_4y_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret4yA != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yA,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yA,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_4y_bm1_a = case" suffix="end,"> <trim prefix="ret_4y_bm1_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret4yBm1A != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1A,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret4yBm1A,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_5y = case" suffix="end,"> <trim prefix="ret_5y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret5y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_5y_bm1 = case" suffix="end,"> <trim prefix="ret_5y_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret5yBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_5y_a = case" suffix="end,"> <trim prefix="ret_5y_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret5yA != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yA,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yA,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_5y_bm1_a = case" suffix="end,"> <trim prefix="ret_5y_bm1_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.ret5yBm1A != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1A,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.ret5yBm1A,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_ytd = case" suffix="end,"> <trim prefix="ret_ytd = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.retYtd != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtd,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtd,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_ytd_bm1 = case" suffix="end,"> <trim prefix="ret_ytd_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.retYtdBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtdBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.retYtdBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_incep = case" suffix="end,"> <trim prefix="ret_incep = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.retIncep != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncep,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncep,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_incep_bm1 = case" suffix="end,"> <trim prefix="ret_incep_bm1 = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.retIncepBm1 != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_incep_a = case" suffix="end,"> <trim prefix="ret_incep_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.retIncepA != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepA,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepA,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="ret_incep_bm1_a = case" suffix="end,"> <trim prefix="ret_incep_bm1_a = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.retIncepBm1A != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1A,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.retIncepBm1A,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="sharperatio_1y = case" suffix="end,"> <trim prefix="sharperatio_1y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.sharperatio1y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio1y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio1y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="sharperatio_2y = case" suffix="end,"> <trim prefix="sharperatio_2y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.sharperatio2y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio2y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio2y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="sharperatio_3y = case" suffix="end,"> <trim prefix="sharperatio_3y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.sharperatio3y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio3y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio3y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="sharperatio_4y = case" suffix="end,"> <trim prefix="sharperatio_4y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.sharperatio4y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio4y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio4y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="sharperatio_5y = case" suffix="end,"> <trim prefix="sharperatio_5y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.sharperatio5y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio5y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatio5y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="sharperatio_incep = case" suffix="end,"> <trim prefix="sharperatio_incep = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.sharperatioIncep != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatioIncep,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.sharperatioIncep,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_1y = case" suffix="end,"> <trim prefix="stddev_1y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddev1y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev1y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev1y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_2y = case" suffix="end,"> <trim prefix="stddev_2y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddev2y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev2y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev2y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_3y = case" suffix="end,"> <trim prefix="stddev_3y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddev3y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev3y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev3y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_4y = case" suffix="end,"> <trim prefix="stddev_4y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddev4y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev4y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev4y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_5y = case" suffix="end,"> <trim prefix="stddev_5y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddev5y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev5y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev5y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_10y = case" suffix="end,"> <trim prefix="stddev_10y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddev10y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev10y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddev10y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_incep = case" suffix="end,"> <trim prefix="stddev_incep = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddevIncep != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevIncep,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevIncep,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="stddev_ytd = case" suffix="end,"> <trim prefix="stddev_ytd = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.stddevYtd != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevYtd,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.stddevYtd,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="maxdrawdown_1y = case" suffix="end,"> <trim prefix="maxdrawdown_1y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.maxdrawdown1y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown1y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown1y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="maxdrawdown_2y = case" suffix="end,"> <trim prefix="maxdrawdown_2y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.maxdrawdown2y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown2y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown2y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="maxdrawdown_3y = case" suffix="end,"> <trim prefix="maxdrawdown_3y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.maxdrawdown3y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown3y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown3y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="maxdrawdown_4y = case" suffix="end,"> <trim prefix="maxdrawdown_4y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.maxdrawdown4y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown4y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown4y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="maxdrawdown_5y = case" suffix="end,"> <trim prefix="maxdrawdown_5y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.maxdrawdown5y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown5y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown5y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="maxdrawdown_10y = case" suffix="end,"> <trim prefix="maxdrawdown_10y = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.maxdrawdown10y != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown10y,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdown10y,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="maxdrawdown_incep = case" suffix="end,"> <trim prefix="maxdrawdown_incep = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.maxdrawdownIncep != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdownIncep,jdbcType=DECIMAL} when id = #{item.id,jdbcType=VARCHAR} then #{item.maxdrawdownIncep,jdbcType=DECIMAL}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="data_sources = case" suffix="end,"> <trim prefix="data_sources = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.dataSources != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.dataSources,jdbcType=INTEGER} when id = #{item.id,jdbcType=VARCHAR} then #{item.dataSources,jdbcType=INTEGER}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="update_time = case" suffix="end,"> <trim prefix="update_time = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.updateTime != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP} when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="create_time = case" suffix="end,"> <trim prefix="create_time = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.createTime != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP} when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="`status` = case" suffix="end,"> <trim prefix="`status` = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.status != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.status,jdbcType=INTEGER} when id = #{item.id,jdbcType=VARCHAR} then #{item.status,jdbcType=INTEGER}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="sort = case" suffix="end,"> <trim prefix="sort = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.sort != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.sort,jdbcType=INTEGER} when id = #{item.id,jdbcType=VARCHAR} then #{item.sort,jdbcType=INTEGER}
</if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="delete_tag = case" suffix="end,"> <trim prefix="delete_tag = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
<if test="item.deleteTag != null">
when id = #{item.id,jdbcType=VARCHAR} then #{item.deleteTag,jdbcType=INTEGER} when id = #{item.id,jdbcType=VARCHAR} then #{item.deleteTag,jdbcType=INTEGER}
</if>
</foreach> </foreach>
</trim> </trim>
</trim> </trim>
...@@ -1610,33 +2130,34 @@ ...@@ -1610,33 +2130,34 @@
<insert id="batchInsert" parameterType="map"> <insert id="batchInsert" parameterType="map">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into fund_count insert into fund_count
(id, fund_id, strategy, substrategy, `type`, end_date, price_date, net_nav, cumulative_nav, (id, fund_id, strategy, substrategy, inception_date, `type`, end_date, price_date,
ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1, ret_3m, ret_3m_bm1, net_nav, cumulative_nav, ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1,
ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y_a, ret_2y_bm1_a, ret_3m, ret_3m_bm1, ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1,
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_2y_a, ret_2y_bm1_a, ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1,
ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_incep, ret_incep_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_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y, ret_incep, ret_incep_bm1, ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y,
sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3y, stddev_4y, sharperatio_3y, sharperatio_4y, sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y,
stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y, stddev_3y, stddev_4y, stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y,
maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep, maxdrawdown_2y, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y,
data_sources, update_time, create_time, `status`, sort, delete_tag) maxdrawdown_incep, data_sources, update_time, create_time, `status`, sort, delete_tag
)
values values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.id,jdbcType=VARCHAR}, #{item.fundId,jdbcType=VARCHAR}, #{item.strategy,jdbcType=INTEGER}, (#{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.substrategy,jdbcType=INTEGER}, #{item.inceptionDate,jdbcType=DATE}, #{item.type,jdbcType=INTEGER},
#{item.priceDate,jdbcType=DATE}, #{item.netNav,jdbcType=DECIMAL}, #{item.cumulativeNav,jdbcType=DECIMAL}, #{item.endDate,jdbcType=DATE}, #{item.priceDate,jdbcType=DATE}, #{item.netNav,jdbcType=DECIMAL},
#{item.ret1day,jdbcType=DECIMAL}, #{item.ret1dayBm1,jdbcType=DECIMAL}, #{item.ret1w,jdbcType=DECIMAL}, #{item.cumulativeNav,jdbcType=DECIMAL}, #{item.ret1day,jdbcType=DECIMAL}, #{item.ret1dayBm1,jdbcType=DECIMAL},
#{item.ret1wBm1,jdbcType=DECIMAL}, #{item.ret1m,jdbcType=DECIMAL}, #{item.ret1mBm1,jdbcType=DECIMAL}, #{item.ret1w,jdbcType=DECIMAL}, #{item.ret1wBm1,jdbcType=DECIMAL}, #{item.ret1m,jdbcType=DECIMAL},
#{item.ret3m,jdbcType=DECIMAL}, #{item.ret3mBm1,jdbcType=DECIMAL}, #{item.ret6m,jdbcType=DECIMAL}, #{item.ret1mBm1,jdbcType=DECIMAL}, #{item.ret3m,jdbcType=DECIMAL}, #{item.ret3mBm1,jdbcType=DECIMAL},
#{item.ret6mBm1,jdbcType=DECIMAL}, #{item.ret1y,jdbcType=DECIMAL}, #{item.ret1yBm1,jdbcType=DECIMAL}, #{item.ret6m,jdbcType=DECIMAL}, #{item.ret6mBm1,jdbcType=DECIMAL}, #{item.ret1y,jdbcType=DECIMAL},
#{item.ret2y,jdbcType=DECIMAL}, #{item.ret2yBm1,jdbcType=DECIMAL}, #{item.ret2yA,jdbcType=DECIMAL}, #{item.ret1yBm1,jdbcType=DECIMAL}, #{item.ret2y,jdbcType=DECIMAL}, #{item.ret2yBm1,jdbcType=DECIMAL},
#{item.ret2yBm1A,jdbcType=DECIMAL}, #{item.ret3y,jdbcType=DECIMAL}, #{item.ret3yBm1,jdbcType=DECIMAL}, #{item.ret2yA,jdbcType=DECIMAL}, #{item.ret2yBm1A,jdbcType=DECIMAL}, #{item.ret3y,jdbcType=DECIMAL},
#{item.ret3yA,jdbcType=DECIMAL}, #{item.ret3yBm1A,jdbcType=DECIMAL}, #{item.ret4y,jdbcType=DECIMAL}, #{item.ret3yBm1,jdbcType=DECIMAL}, #{item.ret3yA,jdbcType=DECIMAL}, #{item.ret3yBm1A,jdbcType=DECIMAL},
#{item.ret4yBm1,jdbcType=DECIMAL}, #{item.ret4yA,jdbcType=DECIMAL}, #{item.ret4yBm1A,jdbcType=DECIMAL}, #{item.ret4y,jdbcType=DECIMAL}, #{item.ret4yBm1,jdbcType=DECIMAL}, #{item.ret4yA,jdbcType=DECIMAL},
#{item.ret5y,jdbcType=DECIMAL}, #{item.ret5yBm1,jdbcType=DECIMAL}, #{item.ret5yA,jdbcType=DECIMAL}, #{item.ret4yBm1A,jdbcType=DECIMAL}, #{item.ret5y,jdbcType=DECIMAL}, #{item.ret5yBm1,jdbcType=DECIMAL},
#{item.ret5yBm1A,jdbcType=DECIMAL}, #{item.retYtd,jdbcType=DECIMAL}, #{item.retYtdBm1,jdbcType=DECIMAL}, #{item.ret5yA,jdbcType=DECIMAL}, #{item.ret5yBm1A,jdbcType=DECIMAL}, #{item.retYtd,jdbcType=DECIMAL},
#{item.retIncep,jdbcType=DECIMAL}, #{item.retIncepBm1,jdbcType=DECIMAL}, #{item.retIncepA,jdbcType=DECIMAL}, #{item.retYtdBm1,jdbcType=DECIMAL}, #{item.retIncep,jdbcType=DECIMAL}, #{item.retIncepBm1,jdbcType=DECIMAL},
#{item.retIncepBm1A,jdbcType=DECIMAL}, #{item.sharperatio1y,jdbcType=DECIMAL}, #{item.retIncepA,jdbcType=DECIMAL}, #{item.retIncepBm1A,jdbcType=DECIMAL}, #{item.sharperatio1y,jdbcType=DECIMAL},
#{item.sharperatio2y,jdbcType=DECIMAL}, #{item.sharperatio3y,jdbcType=DECIMAL}, #{item.sharperatio2y,jdbcType=DECIMAL}, #{item.sharperatio3y,jdbcType=DECIMAL},
#{item.sharperatio4y,jdbcType=DECIMAL}, #{item.sharperatio5y,jdbcType=DECIMAL}, #{item.sharperatio4y,jdbcType=DECIMAL}, #{item.sharperatio5y,jdbcType=DECIMAL},
#{item.sharperatioIncep,jdbcType=DECIMAL}, #{item.stddev1y,jdbcType=DECIMAL}, #{item.stddev2y,jdbcType=DECIMAL}, #{item.sharperatioIncep,jdbcType=DECIMAL}, #{item.stddev1y,jdbcType=DECIMAL}, #{item.stddev2y,jdbcType=DECIMAL},
...@@ -1653,46 +2174,48 @@ ...@@ -1653,46 +2174,48 @@
<insert id="insertOrUpdate" parameterType="com.tanpu.fund.entity.generator.FundCount"> <insert id="insertOrUpdate" parameterType="com.tanpu.fund.entity.generator.FundCount">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into fund_count insert into fund_count
(id, fund_id, strategy, substrategy, `type`, end_date, price_date, net_nav, cumulative_nav, (id, fund_id, strategy, substrategy, inception_date, `type`, end_date, price_date,
ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1, ret_3m, ret_3m_bm1, net_nav, cumulative_nav, ret_1day, ret_1day_bm1, ret_1w, ret_1w_bm1, ret_1m, ret_1m_bm1,
ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1, ret_2y_a, ret_2y_bm1_a, ret_3m, ret_3m_bm1, ret_6m, ret_6m_bm1, ret_1y, ret_1y_bm1, ret_2y, ret_2y_bm1,
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_2y_a, ret_2y_bm1_a, ret_3y, ret_3y_bm1, ret_3y_a, ret_3y_bm1_a, ret_4y, ret_4y_bm1,
ret_5y, ret_5y_bm1, ret_5y_a, ret_5y_bm1_a, ret_ytd, ret_ytd_bm1, ret_incep, ret_incep_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_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y, sharperatio_3y, sharperatio_4y, ret_incep, ret_incep_bm1, ret_incep_a, ret_incep_bm1_a, sharperatio_1y, sharperatio_2y,
sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y, stddev_3y, stddev_4y, sharperatio_3y, sharperatio_4y, sharperatio_5y, sharperatio_incep, stddev_1y, stddev_2y,
stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y, maxdrawdown_2y, stddev_3y, stddev_4y, stddev_5y, stddev_10y, stddev_incep, stddev_ytd, maxdrawdown_1y,
maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y, maxdrawdown_incep, maxdrawdown_2y, maxdrawdown_3y, maxdrawdown_4y, maxdrawdown_5y, maxdrawdown_10y,
data_sources, update_time, create_time, `status`, sort, delete_tag) maxdrawdown_incep, data_sources, update_time, create_time, `status`, sort, delete_tag
)
values values
(#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{strategy,jdbcType=INTEGER}, (#{id,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR}, #{strategy,jdbcType=INTEGER},
#{substrategy,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, #{endDate,jdbcType=DATE}, #{substrategy,jdbcType=INTEGER}, #{inceptionDate,jdbcType=DATE}, #{type,jdbcType=INTEGER},
#{priceDate,jdbcType=DATE}, #{netNav,jdbcType=DECIMAL}, #{cumulativeNav,jdbcType=DECIMAL}, #{endDate,jdbcType=DATE}, #{priceDate,jdbcType=DATE}, #{netNav,jdbcType=DECIMAL},
#{ret1day,jdbcType=DECIMAL}, #{ret1dayBm1,jdbcType=DECIMAL}, #{ret1w,jdbcType=DECIMAL}, #{cumulativeNav,jdbcType=DECIMAL}, #{ret1day,jdbcType=DECIMAL}, #{ret1dayBm1,jdbcType=DECIMAL},
#{ret1wBm1,jdbcType=DECIMAL}, #{ret1m,jdbcType=DECIMAL}, #{ret1mBm1,jdbcType=DECIMAL}, #{ret1w,jdbcType=DECIMAL}, #{ret1wBm1,jdbcType=DECIMAL}, #{ret1m,jdbcType=DECIMAL},
#{ret3m,jdbcType=DECIMAL}, #{ret3mBm1,jdbcType=DECIMAL}, #{ret6m,jdbcType=DECIMAL}, #{ret1mBm1,jdbcType=DECIMAL}, #{ret3m,jdbcType=DECIMAL}, #{ret3mBm1,jdbcType=DECIMAL},
#{ret6mBm1,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL}, #{ret1yBm1,jdbcType=DECIMAL}, #{ret6m,jdbcType=DECIMAL}, #{ret6mBm1,jdbcType=DECIMAL}, #{ret1y,jdbcType=DECIMAL},
#{ret2y,jdbcType=DECIMAL}, #{ret2yBm1,jdbcType=DECIMAL}, #{ret2yA,jdbcType=DECIMAL}, #{ret1yBm1,jdbcType=DECIMAL}, #{ret2y,jdbcType=DECIMAL}, #{ret2yBm1,jdbcType=DECIMAL},
#{ret2yBm1A,jdbcType=DECIMAL}, #{ret3y,jdbcType=DECIMAL}, #{ret3yBm1,jdbcType=DECIMAL}, #{ret2yA,jdbcType=DECIMAL}, #{ret2yBm1A,jdbcType=DECIMAL}, #{ret3y,jdbcType=DECIMAL},
#{ret3yA,jdbcType=DECIMAL}, #{ret3yBm1A,jdbcType=DECIMAL}, #{ret4y,jdbcType=DECIMAL}, #{ret3yBm1,jdbcType=DECIMAL}, #{ret3yA,jdbcType=DECIMAL}, #{ret3yBm1A,jdbcType=DECIMAL},
#{ret4yBm1,jdbcType=DECIMAL}, #{ret4yA,jdbcType=DECIMAL}, #{ret4yBm1A,jdbcType=DECIMAL}, #{ret4y,jdbcType=DECIMAL}, #{ret4yBm1,jdbcType=DECIMAL}, #{ret4yA,jdbcType=DECIMAL},
#{ret5y,jdbcType=DECIMAL}, #{ret5yBm1,jdbcType=DECIMAL}, #{ret5yA,jdbcType=DECIMAL}, #{ret4yBm1A,jdbcType=DECIMAL}, #{ret5y,jdbcType=DECIMAL}, #{ret5yBm1,jdbcType=DECIMAL},
#{ret5yBm1A,jdbcType=DECIMAL}, #{retYtd,jdbcType=DECIMAL}, #{retYtdBm1,jdbcType=DECIMAL}, #{ret5yA,jdbcType=DECIMAL}, #{ret5yBm1A,jdbcType=DECIMAL}, #{retYtd,jdbcType=DECIMAL},
#{retIncep,jdbcType=DECIMAL}, #{retIncepBm1,jdbcType=DECIMAL}, #{retIncepA,jdbcType=DECIMAL}, #{retYtdBm1,jdbcType=DECIMAL}, #{retIncep,jdbcType=DECIMAL}, #{retIncepBm1,jdbcType=DECIMAL},
#{retIncepBm1A,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL}, #{sharperatio2y,jdbcType=DECIMAL}, #{retIncepA,jdbcType=DECIMAL}, #{retIncepBm1A,jdbcType=DECIMAL}, #{sharperatio1y,jdbcType=DECIMAL},
#{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL}, #{sharperatio5y,jdbcType=DECIMAL}, #{sharperatio2y,jdbcType=DECIMAL}, #{sharperatio3y,jdbcType=DECIMAL}, #{sharperatio4y,jdbcType=DECIMAL},
#{sharperatioIncep,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL}, #{stddev2y,jdbcType=DECIMAL}, #{sharperatio5y,jdbcType=DECIMAL}, #{sharperatioIncep,jdbcType=DECIMAL}, #{stddev1y,jdbcType=DECIMAL},
#{stddev3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL}, #{stddev5y,jdbcType=DECIMAL}, #{stddev2y,jdbcType=DECIMAL}, #{stddev3y,jdbcType=DECIMAL}, #{stddev4y,jdbcType=DECIMAL},
#{stddev10y,jdbcType=DECIMAL}, #{stddevIncep,jdbcType=DECIMAL}, #{stddevYtd,jdbcType=DECIMAL}, #{stddev5y,jdbcType=DECIMAL}, #{stddev10y,jdbcType=DECIMAL}, #{stddevIncep,jdbcType=DECIMAL},
#{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL}, #{maxdrawdown3y,jdbcType=DECIMAL}, #{stddevYtd,jdbcType=DECIMAL}, #{maxdrawdown1y,jdbcType=DECIMAL}, #{maxdrawdown2y,jdbcType=DECIMAL},
#{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL}, #{maxdrawdown10y,jdbcType=DECIMAL}, #{maxdrawdown3y,jdbcType=DECIMAL}, #{maxdrawdown4y,jdbcType=DECIMAL}, #{maxdrawdown5y,jdbcType=DECIMAL},
#{maxdrawdownIncep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{maxdrawdown10y,jdbcType=DECIMAL}, #{maxdrawdownIncep,jdbcType=DECIMAL}, #{dataSources,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER},
#{deleteTag,jdbcType=INTEGER}) #{sort,jdbcType=INTEGER}, #{deleteTag,jdbcType=INTEGER})
on duplicate key update on duplicate key update
id = #{id,jdbcType=VARCHAR}, id = #{id,jdbcType=VARCHAR},
fund_id = #{fundId,jdbcType=VARCHAR}, fund_id = #{fundId,jdbcType=VARCHAR},
strategy = #{strategy,jdbcType=INTEGER}, strategy = #{strategy,jdbcType=INTEGER},
substrategy = #{substrategy,jdbcType=INTEGER}, substrategy = #{substrategy,jdbcType=INTEGER},
inception_date = #{inceptionDate,jdbcType=DATE},
`type` = #{type,jdbcType=INTEGER}, `type` = #{type,jdbcType=INTEGER},
end_date = #{endDate,jdbcType=DATE}, end_date = #{endDate,jdbcType=DATE},
price_date = #{priceDate,jdbcType=DATE}, price_date = #{priceDate,jdbcType=DATE},
...@@ -1776,6 +2299,9 @@ ...@@ -1776,6 +2299,9 @@
<if test="substrategy != null"> <if test="substrategy != null">
substrategy, substrategy,
</if> </if>
<if test="inceptionDate != null">
inception_date,
</if>
<if test="type != null"> <if test="type != null">
`type`, `type`,
</if> </if>
...@@ -1989,6 +2515,9 @@ ...@@ -1989,6 +2515,9 @@
<if test="substrategy != null"> <if test="substrategy != null">
#{substrategy,jdbcType=INTEGER}, #{substrategy,jdbcType=INTEGER},
</if> </if>
<if test="inceptionDate != null">
#{inceptionDate,jdbcType=DATE},
</if>
<if test="type != null"> <if test="type != null">
#{type,jdbcType=INTEGER}, #{type,jdbcType=INTEGER},
</if> </if>
...@@ -2202,6 +2731,9 @@ ...@@ -2202,6 +2731,9 @@
<if test="substrategy != null"> <if test="substrategy != null">
substrategy = #{substrategy,jdbcType=INTEGER}, substrategy = #{substrategy,jdbcType=INTEGER},
</if> </if>
<if test="inceptionDate != null">
inception_date = #{inceptionDate,jdbcType=DATE},
</if>
<if test="type != null"> <if test="type != null">
`type` = #{type,jdbcType=INTEGER}, `type` = #{type,jdbcType=INTEGER},
</if> </if>
......
...@@ -4,12 +4,13 @@ ...@@ -4,12 +4,13 @@
<resultMap id="BaseResultMap" type="com.tanpu.fund.entity.generator.IfaImportedFundNav"> <resultMap id="BaseResultMap" type="com.tanpu.fund.entity.generator.IfaImportedFundNav">
<!--@mbg.generated--> <!--@mbg.generated-->
<!--@Table ifa_imported_fund_nav--> <!--@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="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="nav" jdbcType="DECIMAL" property="nav" />
<result column="cumulative_nav" jdbcType="DECIMAL" property="cumulativeNav" /> <result column="cumulative_nav" jdbcType="DECIMAL" property="cumulativeNav" />
<result column="delete_tag" jdbcType="INTEGER" property="deleteTag" /> <result column="delete_tag" jdbcType="INTEGER" property="deleteTag" />
<result column="org_id" jdbcType="VARCHAR" property="orgId" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -73,7 +74,7 @@ ...@@ -73,7 +74,7 @@
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@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> </sql>
<select id="selectByExample" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNavExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNavExample" resultMap="BaseResultMap">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -90,17 +91,17 @@ ...@@ -90,17 +91,17 @@
order by ${orderByClause} order by ${orderByClause}
</if> </if>
</select> </select>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated--> <!--@mbg.generated-->
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List" />
from ifa_imported_fund_nav from ifa_imported_fund_nav
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
</select> </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<!--@mbg.generated--> <!--@mbg.generated-->
delete from ifa_imported_fund_nav delete from ifa_imported_fund_nav
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
</delete> </delete>
<delete id="deleteByExample" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNavExample"> <delete id="deleteByExample" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNavExample">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -112,9 +113,11 @@ ...@@ -112,9 +113,11 @@
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true"> <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into ifa_imported_fund_nav (fund_id, price_date, nav, insert into ifa_imported_fund_nav (fund_id, price_date, nav,
cumulative_nav, delete_tag) cumulative_nav, delete_tag, org_id
values (#{fundId,jdbcType=VARCHAR}, #{priceDate,jdbcType=TIMESTAMP}, #{nav,jdbcType=DECIMAL}, )
#{cumulativeNav,jdbcType=DECIMAL}, #{deleteTag,jdbcType=INTEGER}) values (#{fundId,jdbcType=VARCHAR}, #{priceDate,jdbcType=DATE}, #{nav,jdbcType=DECIMAL},
#{cumulativeNav,jdbcType=DECIMAL}, #{deleteTag,jdbcType=INTEGER}, #{orgId,jdbcType=VARCHAR}
)
</insert> </insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true"> <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -135,13 +138,16 @@ ...@@ -135,13 +138,16 @@
<if test="deleteTag != null"> <if test="deleteTag != null">
delete_tag, delete_tag,
</if> </if>
<if test="orgId != null">
org_id,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="fundId != null"> <if test="fundId != null">
#{fundId,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR},
</if> </if>
<if test="priceDate != null"> <if test="priceDate != null">
#{priceDate,jdbcType=TIMESTAMP}, #{priceDate,jdbcType=DATE},
</if> </if>
<if test="nav != null"> <if test="nav != null">
#{nav,jdbcType=DECIMAL}, #{nav,jdbcType=DECIMAL},
...@@ -152,6 +158,9 @@ ...@@ -152,6 +158,9 @@
<if test="deleteTag != null"> <if test="deleteTag != null">
#{deleteTag,jdbcType=INTEGER}, #{deleteTag,jdbcType=INTEGER},
</if> </if>
<if test="orgId != null">
#{orgId,jdbcType=VARCHAR},
</if>
</trim> </trim>
</insert> </insert>
<select id="countByExample" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNavExample" resultType="java.lang.Long"> <select id="countByExample" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNavExample" resultType="java.lang.Long">
...@@ -166,13 +175,13 @@ ...@@ -166,13 +175,13 @@
update ifa_imported_fund_nav update ifa_imported_fund_nav
<set> <set>
<if test="record.id != null"> <if test="record.id != null">
id = #{record.id,jdbcType=INTEGER}, id = #{record.id,jdbcType=BIGINT},
</if> </if>
<if test="record.fundId != null"> <if test="record.fundId != null">
fund_id = #{record.fundId,jdbcType=VARCHAR}, fund_id = #{record.fundId,jdbcType=VARCHAR},
</if> </if>
<if test="record.priceDate != null"> <if test="record.priceDate != null">
price_date = #{record.priceDate,jdbcType=TIMESTAMP}, price_date = #{record.priceDate,jdbcType=DATE},
</if> </if>
<if test="record.nav != null"> <if test="record.nav != null">
nav = #{record.nav,jdbcType=DECIMAL}, nav = #{record.nav,jdbcType=DECIMAL},
...@@ -183,6 +192,9 @@ ...@@ -183,6 +192,9 @@
<if test="record.deleteTag != null"> <if test="record.deleteTag != null">
delete_tag = #{record.deleteTag,jdbcType=INTEGER}, delete_tag = #{record.deleteTag,jdbcType=INTEGER},
</if> </if>
<if test="record.orgId != null">
org_id = #{record.orgId,jdbcType=VARCHAR},
</if>
</set> </set>
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
...@@ -191,12 +203,13 @@ ...@@ -191,12 +203,13 @@
<update id="updateByExample" parameterType="map"> <update id="updateByExample" parameterType="map">
<!--@mbg.generated--> <!--@mbg.generated-->
update ifa_imported_fund_nav update ifa_imported_fund_nav
set id = #{record.id,jdbcType=INTEGER}, set id = #{record.id,jdbcType=BIGINT},
fund_id = #{record.fundId,jdbcType=VARCHAR}, fund_id = #{record.fundId,jdbcType=VARCHAR},
price_date = #{record.priceDate,jdbcType=TIMESTAMP}, price_date = #{record.priceDate,jdbcType=DATE},
nav = #{record.nav,jdbcType=DECIMAL}, nav = #{record.nav,jdbcType=DECIMAL},
cumulative_nav = #{record.cumulativeNav,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"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
...@@ -209,7 +222,7 @@ ...@@ -209,7 +222,7 @@
fund_id = #{fundId,jdbcType=VARCHAR}, fund_id = #{fundId,jdbcType=VARCHAR},
</if> </if>
<if test="priceDate != null"> <if test="priceDate != null">
price_date = #{priceDate,jdbcType=TIMESTAMP}, price_date = #{priceDate,jdbcType=DATE},
</if> </if>
<if test="nav != null"> <if test="nav != null">
nav = #{nav,jdbcType=DECIMAL}, nav = #{nav,jdbcType=DECIMAL},
...@@ -220,18 +233,22 @@ ...@@ -220,18 +233,22 @@
<if test="deleteTag != null"> <if test="deleteTag != null">
delete_tag = #{deleteTag,jdbcType=INTEGER}, delete_tag = #{deleteTag,jdbcType=INTEGER},
</if> </if>
<if test="orgId != null">
org_id = #{orgId,jdbcType=VARCHAR},
</if>
</set> </set>
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT}
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav"> <update id="updateByPrimaryKey" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav">
<!--@mbg.generated--> <!--@mbg.generated-->
update ifa_imported_fund_nav update ifa_imported_fund_nav
set fund_id = #{fundId,jdbcType=VARCHAR}, set fund_id = #{fundId,jdbcType=VARCHAR},
price_date = #{priceDate,jdbcType=TIMESTAMP}, price_date = #{priceDate,jdbcType=DATE},
nav = #{nav,jdbcType=DECIMAL}, nav = #{nav,jdbcType=DECIMAL},
cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL}, cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
delete_tag = #{deleteTag,jdbcType=INTEGER} delete_tag = #{deleteTag,jdbcType=INTEGER},
where id = #{id,jdbcType=INTEGER} org_id = #{orgId,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT}
</update> </update>
<update id="updateBatch" parameterType="java.util.List"> <update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -239,43 +256,101 @@ ...@@ -239,43 +256,101 @@
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<trim prefix="fund_id = case" suffix="end,"> <trim prefix="fund_id = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <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> </foreach>
</trim> </trim>
<trim prefix="price_date = case" suffix="end,"> <trim prefix="price_date = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <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> </foreach>
</trim> </trim>
<trim prefix="nav = case" suffix="end,"> <trim prefix="nav = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <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> </foreach>
</trim> </trim>
<trim prefix="cumulative_nav = case" suffix="end,"> <trim prefix="cumulative_nav = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <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> </foreach>
</trim> </trim>
<trim prefix="delete_tag = case" suffix="end,"> <trim prefix="delete_tag = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <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> </foreach>
</trim> </trim>
</trim> </trim>
where id in where id in
<foreach close=")" collection="list" item="item" open="(" separator=", "> <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> </foreach>
</update> </update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true"> <insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into ifa_imported_fund_nav 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 values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.fundId,jdbcType=VARCHAR}, #{item.priceDate,jdbcType=TIMESTAMP}, #{item.nav,jdbcType=DECIMAL}, (#{item.fundId,jdbcType=VARCHAR}, #{item.priceDate,jdbcType=DATE}, #{item.nav,jdbcType=DECIMAL},
#{item.cumulativeNav,jdbcType=DECIMAL}, #{item.deleteTag,jdbcType=INTEGER}) #{item.cumulativeNav,jdbcType=DECIMAL}, #{item.deleteTag,jdbcType=INTEGER}, #{item.orgId,jdbcType=VARCHAR}
)
</foreach> </foreach>
</insert> </insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true"> <insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true">
...@@ -290,28 +365,31 @@ ...@@ -290,28 +365,31 @@
nav, nav,
cumulative_nav, cumulative_nav,
delete_tag, delete_tag,
org_id,
</trim> </trim>
values values
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
#{id,jdbcType=INTEGER}, #{id,jdbcType=BIGINT},
</if> </if>
#{fundId,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR},
#{priceDate,jdbcType=TIMESTAMP}, #{priceDate,jdbcType=DATE},
#{nav,jdbcType=DECIMAL}, #{nav,jdbcType=DECIMAL},
#{cumulativeNav,jdbcType=DECIMAL}, #{cumulativeNav,jdbcType=DECIMAL},
#{deleteTag,jdbcType=INTEGER}, #{deleteTag,jdbcType=INTEGER},
#{orgId,jdbcType=VARCHAR},
</trim> </trim>
on duplicate key update on duplicate key update
<trim suffixOverrides=","> <trim suffixOverrides=",">
<if test="id != null"> <if test="id != null">
id = #{id,jdbcType=INTEGER}, id = #{id,jdbcType=BIGINT},
</if> </if>
fund_id = #{fundId,jdbcType=VARCHAR}, fund_id = #{fundId,jdbcType=VARCHAR},
price_date = #{priceDate,jdbcType=TIMESTAMP}, price_date = #{priceDate,jdbcType=DATE},
nav = #{nav,jdbcType=DECIMAL}, nav = #{nav,jdbcType=DECIMAL},
cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL}, cumulative_nav = #{cumulativeNav,jdbcType=DECIMAL},
delete_tag = #{deleteTag,jdbcType=INTEGER}, delete_tag = #{deleteTag,jdbcType=INTEGER},
org_id = #{orgId,jdbcType=VARCHAR},
</trim> </trim>
</insert> </insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true"> <insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.tanpu.fund.entity.generator.IfaImportedFundNav" useGeneratedKeys="true">
...@@ -336,17 +414,20 @@ ...@@ -336,17 +414,20 @@
<if test="deleteTag != null"> <if test="deleteTag != null">
delete_tag, delete_tag,
</if> </if>
<if test="orgId != null">
org_id,
</if>
</trim> </trim>
values values
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null"> <if test="id != null">
#{id,jdbcType=INTEGER}, #{id,jdbcType=BIGINT},
</if> </if>
<if test="fundId != null"> <if test="fundId != null">
#{fundId,jdbcType=VARCHAR}, #{fundId,jdbcType=VARCHAR},
</if> </if>
<if test="priceDate != null"> <if test="priceDate != null">
#{priceDate,jdbcType=TIMESTAMP}, #{priceDate,jdbcType=DATE},
</if> </if>
<if test="nav != null"> <if test="nav != null">
#{nav,jdbcType=DECIMAL}, #{nav,jdbcType=DECIMAL},
...@@ -357,17 +438,20 @@ ...@@ -357,17 +438,20 @@
<if test="deleteTag != null"> <if test="deleteTag != null">
#{deleteTag,jdbcType=INTEGER}, #{deleteTag,jdbcType=INTEGER},
</if> </if>
<if test="orgId != null">
#{orgId,jdbcType=VARCHAR},
</if>
</trim> </trim>
on duplicate key update on duplicate key update
<trim suffixOverrides=","> <trim suffixOverrides=",">
<if test="id != null"> <if test="id != null">
id = #{id,jdbcType=INTEGER}, id = #{id,jdbcType=BIGINT},
</if> </if>
<if test="fundId != null"> <if test="fundId != null">
fund_id = #{fundId,jdbcType=VARCHAR}, fund_id = #{fundId,jdbcType=VARCHAR},
</if> </if>
<if test="priceDate != null"> <if test="priceDate != null">
price_date = #{priceDate,jdbcType=TIMESTAMP}, price_date = #{priceDate,jdbcType=DATE},
</if> </if>
<if test="nav != null"> <if test="nav != null">
nav = #{nav,jdbcType=DECIMAL}, nav = #{nav,jdbcType=DECIMAL},
...@@ -378,6 +462,9 @@ ...@@ -378,6 +462,9 @@
<if test="deleteTag != null"> <if test="deleteTag != null">
delete_tag = #{deleteTag,jdbcType=INTEGER}, delete_tag = #{deleteTag,jdbcType=INTEGER},
</if> </if>
<if test="orgId != null">
org_id = #{orgId,jdbcType=VARCHAR},
</if>
</trim> </trim>
</insert> </insert>
</mapper> </mapper>
\ No newline at end of file
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 {
}
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);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment