Commit 88ee9d3c by Simon Cheng

程序源代码

parents
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ajb-car</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path=".apt_generated">
<attributes>
<attribute name="optional" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<factorypath>
<factorypathentry kind="VARJAR" id="M2_REPO/com/alibaba/fastjson/1.2.47/fastjson-1.2.47.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/aliyun/aliyun-java-sdk-core/3.7.1/aliyun-java-sdk-core-3.7.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/json/json/20140107/json-20140107.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/aliyun/aliyun-java-sdk-dysmsapi/1.1.0/aliyun-java-sdk-dysmsapi-1.1.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/alibaba/druid/1.1.6/druid-1.1.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ajb-car/ajb-common-utils/0.0.1-SNAPSHOT/ajb-common-utils-0.0.1-SNAPSHOT.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-web/1.5.3.RELEASE/spring-boot-starter-web-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter/1.5.3.RELEASE/spring-boot-starter-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-logging/1.5.3.RELEASE/spring-boot-starter-logging-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/hibernate-validator/5.3.5.Final/hibernate-validator-5.3.5.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/classmate/1.3.3/classmate-1.3.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-data-jpa/1.5.3.RELEASE/spring-boot-starter-data-jpa-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-aop/1.5.3.RELEASE/spring-boot-starter-aop-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/aspectj/aspectjweaver/1.8.10/aspectjweaver-1.8.10.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-jdbc/1.5.3.RELEASE/spring-boot-starter-jdbc-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/tomcat-jdbc/8.5.14/tomcat-jdbc-8.5.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/tomcat-juli/8.5.14/tomcat-juli-8.5.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-jdbc/4.3.8.RELEASE/spring-jdbc-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/hibernate-core/5.0.12.Final/hibernate-core-5.0.12.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jboss/jandex/2.0.0.Final/jandex-2.0.0.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/common/hibernate-commons-annotations/5.0.1.Final/hibernate-commons-annotations-5.0.1.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/hibernate/hibernate-entitymanager/5.0.12.Final/hibernate-entitymanager-5.0.12.Final.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-jpa/1.11.3.RELEASE/spring-data-jpa-1.11.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/data/spring-data-commons/1.13.3.RELEASE/spring-data-commons-1.13.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-orm/4.3.8.RELEASE/spring-orm-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-tx/4.3.8.RELEASE/spring-tx-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-aspects/4.3.8.RELEASE/spring-aspects-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-configuration-processor/1.5.3.RELEASE/spring-boot-configuration-processor-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/squareup/okhttp3/okhttp/3.6.0/okhttp-3.6.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/squareup/okio/okio/1.11.0/okio-1.11.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/httpcomponents/httpmime/4.5.3/httpmime-4.5.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/net/sf/ehcache/ehcache/2.10.4/ehcache-2.10.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/poi/poi-ooxml/3.9/poi-ooxml-3.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/poi/poi/3.9/poi-3.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/poi/poi-ooxml-schemas/3.9/poi-ooxml-schemas-3.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/xmlbeans/xmlbeans/2.3.0/xmlbeans-2.3.0.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/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot/1.5.3.RELEASE/spring-boot-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-autoconfigure/1.5.3.RELEASE/spring-boot-autoconfigure-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-core/4.3.8.RELEASE/spring-core-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-aop/4.3.8.RELEASE/spring-aop-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-context/4.3.8.RELEASE/spring-context-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-expression/4.3.8.RELEASE/spring-expression-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-beans/4.3.8.RELEASE/spring-beans-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-starter-tomcat/1.5.3.RELEASE/spring-boot-starter-tomcat-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-core/8.5.14/tomcat-embed-core-8.5.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-el/8.5.14/tomcat-embed-el-8.5.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.14/tomcat-embed-websocket-8.5.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-databind/2.8.8/jackson-databind-2.8.8.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/core/jackson-core/2.8.8/jackson-core-2.8.8.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-web/4.3.8.RELEASE/spring-web-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-webmvc/4.3.8.RELEASE/spring-webmvc-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-codec/commons-codec/1.10/commons-codec-1.10.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/boot/spring-boot-devtools/1.5.3.RELEASE/spring-boot-devtools-1.5.3.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-jasper/8.5.14/tomcat-embed-jasper-8.5.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/scala-lang/scala-library/2.11.0/scala-library-2.11.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/hadoop/hadoop-core/1.0.0/hadoop-core-1.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/xmlenc/xmlenc/0.52/xmlenc-0.52.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-math/2.1/commons-math-2.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.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/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-digester/commons-digester/2.1/commons-digester-2.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-beanutils/commons-beanutils-core/1.8.0/commons-beanutils-core-1.8.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-net/commons-net/1.4.1/commons-net-1.4.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mortbay/jetty/jetty-util/6.1.26/jetty-util-6.1.26.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/tomcat/jasper-runtime/5.5.12/jasper-runtime-5.5.12.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/tomcat/jasper-compiler/5.5.12/jasper-compiler-5.5.12.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mortbay/jetty/jsp-api-2.1/6.1.14/jsp-api-2.1-6.1.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mortbay/jetty/servlet-api-2.5/6.1.14/servlet-api-2.5-6.1.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/mortbay/jetty/jsp-2.1/6.1.14/jsp-2.1-6.1.14.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-el/commons-el/1.0/commons-el-1.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/net/java/dev/jets3t/jets3t/0.7.1/jets3t-0.7.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/net/sf/kosmosfs/kfs/0.3/kfs-0.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/hsqldb/hsqldb/1.8.0.10/hsqldb-1.8.0.10.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/oro/oro/2.0.8/oro-2.0.8.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/eclipse/jdt/core/3.1.1/core-3.1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/codehaus/jackson/jackson-mapper-asl/1.0.1/jackson-mapper-asl-1.0.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/codehaus/jackson/jackson-core-asl/1.0.1/jackson-core-asl-1.0.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/jsoup/jsoup/1.10.3/jsoup-1.10.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/spring-context-support/4.3.8.RELEASE/spring-context-support-4.3.8.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/quartz-scheduler/quartz/2.2.1/quartz-2.2.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/c3p0/c3p0/0.9.1.1/c3p0-0.9.1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/springframework/mobile/spring-mobile-device/1.1.5.RELEASE/spring-mobile-device-1.1.5.RELEASE.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/alipay/sdk/alipay-sdk-java/3.0.0/alipay-sdk-java-3.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/binarywang/weixin-java-mp/3.0.0/weixin-java-mp-3.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/binarywang/weixin-java-common/3.0.0/weixin-java-common-3.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/thoughtworks/xstream/xstream/1.4.9/xstream-1.4.9.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/code/gson/gson/2.8.0/gson-2.8.0.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/github/binarywang/weixin-java-pay/3.0.0/weixin-java-pay-3.0.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/github/binarywang/qrcode-utils/1.1/qrcode-utils-1.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/com/google/zxing/core/3.2.1/core-3.2.1.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/bouncycastle/bcpkix-jdk15on/1.59/bcpkix-jdk15on-1.59.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/org/bouncycastle/bcprov-jdk15on/1.59/bcprov-jdk15on-1.59.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="VARJAR" id="M2_REPO/io/jsonwebtoken/jjwt/0.6.0/jjwt-0.6.0.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="PLUGIN" id="org.eclipse.jst.ws.annotations.core" enabled="true" runInBatchMode="false"/>
</factorypath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ajb-car-api</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ajb-car-api</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="src/main/webapp"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/main/resources/application-dev.properties=UTF-8
encoding//src/main/resources/application-local.properties=UTF-8
encoding//src/main/resources/application-prod.properties=UTF-8
encoding//src/main/resources/application-stage.properties=UTF-8
encoding//src/main/resources/application.properties=UTF-8
encoding//src/test/java=UTF-8
encoding/<project>=UTF-8
encoding/pom.xml=UTF-8
eclipse.preferences.version=1
line.separator=\r\n
eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=true
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.processAnnotations=enabled
org.eclipse.jdt.core.compiler.source=1.8
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="synch">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/.apt_generated"/>
<dependent-module archiveName="ajb-car-vo-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ajb-car-vo/ajb-car-vo">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="ajb-car-entity-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ajb-car-entity/ajb-car-entity">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="ajb-car-jpa-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ajb-car-jpa/ajb-car-jpa">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/ajb-car-api/target/classes"/>
<property name="context-root" value="synch"/>
</wb-module>
</project-modules>
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="ajb-api">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/.apt_generated"/>
<dependent-module archiveName="ajb-car-vo-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ajb-car-vo/ajb-car-vo">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="ajb-car-entity-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ajb-car-entity/ajb-car-entity">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="ajb-car-jpa-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/ajb-car-jpa/ajb-car-jpa">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/ajb-api/target/classes"/>
<property name="context-root" value="ajb-api"/>
</wb-module>
</project-modules>
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="cloudfoundry.standalone.app" version="1.0"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
disabled=06target
eclipse.preferences.version=1
eclipse.preferences.version=1
org.springframework.ide.eclipse.core.builders.enable.aopreferencemodelbuilder=true
org.springframework.ide.eclipse.core.builders.enable.beanmetadatabuilder=true
org.springframework.ide.eclipse.core.enable.project.preferences=false
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.boot.bootvalidator=true
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.core.springvalidator=false
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.data.core.datavalidator=true
org.springframework.ide.eclipse.core.validator.enable.org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.autowire.autowire-org.springframework.ide.eclipse.beans.core.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanAlias-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanClass-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanConstructorArgument-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinition-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanDefinitionHolder-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanFactory-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanInitDestroyMethod-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.beanReference-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.methodOverride-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.parsingProblems-org.springframework.ide.eclipse.beans.core.beansvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.requiredProperty-org.springframework.ide.eclipse.beans.core.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.beans.core.toolAnnotation-org.springframework.ide.eclipse.beans.core.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.com.springsource.sts.bestpractices.AvoidDriverManagerDataSource-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.com.springsource.sts.bestpractices.ImportElementsAtTopRulee-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.com.springsource.sts.bestpractices.ParentBeanSpecifiesAbstractClassRule-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.com.springsource.sts.bestpractices.RefElementRule-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.com.springsource.sts.bestpractices.TooManyBeansInFileRule-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.com.springsource.sts.bestpractices.UnnecessaryValueElementRule-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.com.springsource.sts.bestpractices.UseBeanInheritance-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.bestpractices.legacyxmlusage.jndiobjectfactory-org.springframework.ide.eclipse.bestpractices.beansvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.boot.missingConfigurationProcessor-org.springframework.ide.eclipse.boot.bootvalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.core.springClasspath-org.springframework.ide.eclipse.core.springvalidator=false
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.data.core.invalidDerivedQuery-org.springframework.ide.eclipse.data.core.datavalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.data.core.invalidParameterType-org.springframework.ide.eclipse.data.core.datavalidator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.action-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.actionstate-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attribute-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.attributemapper-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.beanaction-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationaction-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.evaluationresult-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.exceptionhandler-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.import-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.inputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.mapping-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.outputattribute-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.set-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.state-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.subflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.transition-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.variable-org.springframework.ide.eclipse.webflow.core.validator=true
org.springframework.ide.eclipse.core.validator.rule.enable.org.springframework.ide.eclipse.webflow.core.validation.webflowstate-org.springframework.ide.eclipse.webflow.core.validator=true
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
<pluginVersion><![CDATA[3.8.4.201703310634-RELEASE]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
<enableImports><![CDATA[false]]></enableImports>
<configs>
</configs>
<autoconfigs>
</autoconfigs>
<configSets>
</configSets>
</beansProjectDescription>
2018-07-25 18:20:52.586 [restartedMain] INFO com.ajb.Application- Starting Application on DESKTOP-RNBT9AR with PID 16492 (D:\zuihuibi\ajb-car\ajb-car-api\target\classes started by Simon Cheng in D:\zuihuibi\ajb-car\ajb-car-api)
2018-07-25 18:20:52.588 [restartedMain] INFO com.ajb.Application- The following profiles are active: local
2018-07-25 18:20:52.732 [restartedMain] INFO o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext- Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3ec2aefb: startup date [Wed Jul 25 18:20:52 CST 2018]; root of context hierarchy
2018-07-25 18:20:53.200 [background-preinit] INFO org.hibernate.validator.internal.util.Version- HV000001: Hibernate Validator 5.3.5.Final
2018-07-25 18:20:57.765 [restartedMain] INFO o.s.b.c.e.tomcat.TomcatEmbeddedServletContainer- Tomcat initialized with port(s): 8080 (http)
2018-07-25 18:20:57.789 [restartedMain] INFO org.apache.catalina.core.StandardService- Starting service Tomcat
2018-07-25 18:20:57.791 [restartedMain] INFO org.apache.catalina.core.StandardEngine- Starting Servlet Engine: Apache Tomcat/8.5.14
2018-07-25 18:20:58.433 [localhost-startStop-1] INFO org.apache.jasper.servlet.TldScanner- At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2018-07-25 18:20:58.444 [localhost-startStop-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/synch]- Initializing Spring embedded WebApplicationContext
2018-07-25 18:20:58.444 [localhost-startStop-1] INFO org.springframework.web.context.ContextLoader- Root WebApplicationContext: initialization completed in 5712 ms
2018-07-25 18:20:58.800 [localhost-startStop-1] INFO o.s.boot.web.servlet.ServletRegistrationBean- Mapping servlet: 'dispatcherServlet' to [/]
2018-07-25 18:20:58.811 [localhost-startStop-1] INFO o.s.boot.web.servlet.FilterRegistrationBean- Mapping filter: 'characterEncodingFilter' to: [/*]
2018-07-25 18:20:58.812 [localhost-startStop-1] INFO o.s.boot.web.servlet.FilterRegistrationBean- Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-07-25 18:20:58.812 [localhost-startStop-1] INFO o.s.boot.web.servlet.FilterRegistrationBean- Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-07-25 18:20:58.812 [localhost-startStop-1] INFO o.s.boot.web.servlet.FilterRegistrationBean- Mapping filter: 'requestContextFilter' to: [/*]
2018-07-25 18:20:59.481 [restartedMain] INFO o.s.orm.jpa.LocalContainerEntityManagerFactoryBean- Building JPA container EntityManagerFactory for persistence unit 'default'
2018-07-25 18:20:59.519 [restartedMain] INFO org.hibernate.jpa.internal.util.LogHelper- HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2018-07-25 18:20:59.707 [restartedMain] INFO org.hibernate.Version- HHH000412: Hibernate Core {5.0.12.Final}
2018-07-25 18:20:59.710 [restartedMain] INFO org.hibernate.cfg.Environment- HHH000206: hibernate.properties not found
2018-07-25 18:20:59.713 [restartedMain] INFO org.hibernate.cfg.Environment- HHH000021: Bytecode provider name : javassist
2018-07-25 18:20:59.794 [restartedMain] INFO org.hibernate.annotations.common.Version- HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2018-07-25 18:21:00.260 [restartedMain] INFO com.alibaba.druid.pool.DruidDataSource- {dataSource-1} inited
2018-07-25 18:21:00.735 [restartedMain] INFO org.hibernate.dialect.Dialect- HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
2018-07-25 18:21:02.132 [restartedMain] INFO o.s.orm.jpa.LocalContainerEntityManagerFactoryBean- Initialized JPA EntityManagerFactory for persistence unit 'default'
2018-07-25 18:21:02.224 [restartedMain] WARN net.sf.ehcache.config.ConfigurationFactory- No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/D:/apache-maven-3.2.3/apache-maven-3.2.3/repository/net/sf/ehcache/ehcache/2.10.4/ehcache-2.10.4.jar!/ehcache-failsafe.xml
2018-07-25 18:21:04.331 [restartedMain] INFO o.s.w.s.m.m.a.RequestMappingHandlerAdapter- Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3ec2aefb: startup date [Wed Jul 25 18:20:52 CST 2018]; root of context hierarchy
2018-07-25 18:21:04.531 [restartedMain] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping- Mapped "{[/quotations]}" onto public java.lang.Object com.ajb.car.CarController.synch(com.ajb.car.vo.zhima.quotation.QuotationRequestVO) throws java.lang.Exception
2018-07-25 18:21:04.539 [restartedMain] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping- Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-07-25 18:21:04.540 [restartedMain] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping- Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-07-25 18:21:04.623 [restartedMain] INFO o.s.web.servlet.handler.SimpleUrlHandlerMapping- Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-07-25 18:21:04.624 [restartedMain] INFO o.s.web.servlet.handler.SimpleUrlHandlerMapping- Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-07-25 18:21:04.759 [restartedMain] INFO o.s.web.servlet.handler.SimpleUrlHandlerMapping- Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-07-25 18:21:05.488 [restartedMain] INFO o.s.b.d.autoconfigure.OptionalLiveReloadServer- LiveReload server is running on port 35729
2018-07-25 18:21:05.713 [restartedMain] INFO o.s.jmx.export.annotation.AnnotationMBeanExporter- Registering beans for JMX exposure on startup
2018-07-25 18:21:05.716 [restartedMain] INFO o.s.jmx.export.annotation.AnnotationMBeanExporter- Bean with name 'dataSource' has been autodetected for JMX exposure
2018-07-25 18:21:05.724 [restartedMain] INFO o.s.jmx.export.annotation.AnnotationMBeanExporter- Located MBean 'dataSource': registering with JMX server as MBean [com.alibaba.druid.pool:name=dataSource,type=DruidDataSource]
2018-07-25 18:21:05.753 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol- Initializing ProtocolHandler ["http-nio-8080"]
2018-07-25 18:21:05.781 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol- Starting ProtocolHandler ["http-nio-8080"]
2018-07-25 18:21:05.822 [restartedMain] INFO org.apache.tomcat.util.net.NioSelectorPool- Using a shared selector for servlet write/read
2018-07-25 18:21:06.010 [restartedMain] INFO o.s.b.c.e.tomcat.TomcatEmbeddedServletContainer- Tomcat started on port(s): 8080 (http)
2018-07-25 18:21:06.026 [restartedMain] INFO com.ajb.Application- Started Application in 14.286 seconds (JVM running for 15.942)
2018-07-25 18:21:11.502 [RMI TCP Connection(2)-127.0.0.1] INFO o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin- Application shutdown requested.
2018-07-25 18:21:11.503 [RMI TCP Connection(2)-127.0.0.1] INFO o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext- Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3ec2aefb: startup date [Wed Jul 25 18:20:52 CST 2018]; root of context hierarchy
2018-07-25 18:21:11.506 [RMI TCP Connection(2)-127.0.0.1] INFO o.s.jmx.export.annotation.AnnotationMBeanExporter- Unregistering JMX-exposed beans on shutdown
2018-07-25 18:21:11.507 [RMI TCP Connection(2)-127.0.0.1] INFO o.s.jmx.export.annotation.AnnotationMBeanExporter- Unregistering JMX-exposed beans
2018-07-25 18:21:11.512 [RMI TCP Connection(2)-127.0.0.1] INFO o.s.orm.jpa.LocalContainerEntityManagerFactoryBean- Closing JPA EntityManagerFactory for persistence unit 'default'
2018-07-25 18:21:11.525 [RMI TCP Connection(2)-127.0.0.1] INFO com.alibaba.druid.pool.DruidDataSource- {dataSource-1} closed
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ajb-car</groupId>
<artifactId>ajb-car</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>ajb-car-api</artifactId>
<name>ajb-car-api</name>
<packaging>war</packaging>
<url>http://maven.apache.org</url>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>com.ajb.Application</start-class>
</properties>
<dependencies>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-car-vo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-common-utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-car-entity</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-car-jpa</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>provided</scope><!-- provided, compile, runtime, test, system -->
</dependency>
<!-- servlet 依赖. -->
<!--
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
-->
<!-- tomcat 的支持.-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!--
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
-->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<!-- jsoup HTML parser library @ https://jsoup.org/ -->
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<!-- <version>4.1.6.RELEASE</version> -->
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version><!-- 1.8.4 2.2.3 -->
</dependency>
<dependency>
<groupId>org.springframework.mobile</groupId>
<artifactId>spring-mobile-device</artifactId>
</dependency>
<!--
<dependency>
<groupId>org.jeecg</groupId>
<artifactId>easypoi-base</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.jeecg</groupId>
<artifactId>easypoi-web</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.jeecg</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>2.3.1</version>
</dependency>
-->
</dependencies>
<!-- 打包spring boot应用 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--fork : 如果没有该项配置,devtools不会起作用,即应用不会restart -->
<fork>true</fork>
</configuration>
</plugin>
</plugins>
<finalName>carapi</finalName>
</build>
</project>
package com.ajb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@SpringBootApplication
@EnableAutoConfiguration
@ComponentScan
@EnableJpaRepositories
@EntityScan
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
package com.ajb.car;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ajb.car.schedule.ScheduledTaskService;
import com.ajb.car.vo.common.CommonResult;
import com.ajb.car.vo.zhima.quotation.QuotationRequestVO;
import com.ajb.car.vo.zhima.quotation.QuotationResponse;
@RestController
public class CarController {
@Autowired
private ScheduledTaskService taskService;
@RequestMapping("/quotations")
public Object synch(@RequestBody QuotationRequestVO loginRequestVO) throws Exception{
QuotationResponse quotationResponse = new QuotationResponse();
try
{
DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd");
Date begin = fmt.parse(loginRequestVO.getBegindate());
Date end = fmt.parse(loginRequestVO.getEnddate());
quotationResponse = taskService.synchQuotaion(begin,end);
}catch (Exception ex){
quotationResponse.setCommonResult(new CommonResult(false, "Error! begindate and enddate format yyyy-MM-dd!ex:{\"begindate\":\"2018-06-10\",\"enddate\":\"2018-06-10\"}"));
}finally{
}
quotationResponse.setCommonResult(new CommonResult(true, "Success!"));
return quotationResponse;
}
}
\ No newline at end of file
package com.ajb.car.apimessage;
public class originmessage {
}
package com.ajb.car.quotation;
import java.util.Date;
import com.ajb.car.entity.quotation.AgPoQuotation;
import com.ajb.car.vo.zhima.quotation.ConfirmInfo;
import com.ajb.car.vo.zhima.quotation.Priceinfo;
public interface AgPoQuotationWebService {
public AgPoQuotation saveAgPoQuotation(Date quotationDate,Priceinfo priceinfo);
public void saveAgPoQuotationConfirm(ConfirmInfo confirmInfo,AgPoQuotation quotation);
public void saveAgPoQuotationAndConfirm(Date quotationDate,Priceinfo priceinfo,ConfirmInfo confirmInfo);
}
\ No newline at end of file
package com.ajb.car.quotation.impl;
import java.math.BigDecimal;
import java.util.Date;
import com.ajb.car.entity.quotation.AgPoQuotation;
import com.ajb.car.entity.quotation.AgPoQuotationCover;
import com.ajb.car.vo.zhima.quotation.BzCoverages;
import com.ajb.car.vo.zhima.quotation.Priceinfo;
public class AgPoQuotationConverter {
public static AgPoQuotation initAgPoQuotationData(Priceinfo priceinfo,Long quoteVehicleId)
{
AgPoQuotation agPoQuotation = new AgPoQuotation();
agPoQuotation.setPlateNo(priceinfo.getCarNumber());
agPoQuotation.setQuoteNo(priceinfo.getPolicycode());
agPoQuotation.setQuoteVehicleId(quoteVehicleId);
if (priceinfo.getVehInfo().getIsNewCar()=="1")
{
agPoQuotation.setIsRenewal(1);
}else
{
agPoQuotation.setIsRenewal(2);
}
if (priceinfo.getHasbz()=="yes" && priceinfo.getHastc()=="yes")
{
agPoQuotation.setQuoteType(2);
}else if (priceinfo.getHasbz()=="yes" && priceinfo.getHastc()!="yes")
{
agPoQuotation.setQuoteType(0);
}else if (priceinfo.getHasbz()!="yes" && priceinfo.getHastc()=="yes")
{
agPoQuotation.setQuoteType(1);
}
agPoQuotation.setQuoteStatus(Integer.parseInt(priceinfo.getStatus()));
agPoQuotation.setQuoteProviderType("V");
agPoQuotation.setQuoteProviderId(2L);
agPoQuotation.setCustomerId(-1L);
agPoQuotation.setCustomerMobile(priceinfo.getApplicant().getTel());
agPoQuotation.setCustomerName(priceinfo.getApplicant().getName());
agPoQuotation.setCurrency("RMB");
agPoQuotation.setTotalPremium(BigDecimal.valueOf(priceinfo.getTotalPremium()));
agPoQuotation.setTotalCharge(BigDecimal.valueOf(priceinfo.getAllCharge()));
agPoQuotation.setCompulsoryStatus(priceinfo.getTcCoverageStatus());
agPoQuotation.setCompulsoryMessage(priceinfo.getTcCoverageMsg());
agPoQuotation.setCompulsoryPremium(BigDecimal.valueOf(priceinfo.getTcPremium()));
agPoQuotation.setCompulsoryCharge(BigDecimal.valueOf(priceinfo.getTcCharge()));
agPoQuotation.setCompulsoryStart(priceinfo.getTcStartTime());
agPoQuotation.setVehicleTax(BigDecimal.valueOf(priceinfo.getVsltax()));
java.util.Calendar Cal=java.util.Calendar.getInstance();
Date dateOper = priceinfo.getTcStartTime();
Cal.setTime(dateOper);
Cal.add(java.util.Calendar.YEAR,1);
dateOper = Cal.getTime();
agPoQuotation.setCompulsoryEnd(dateOper);
agPoQuotation.setCompulsoryCharge(BigDecimal.valueOf(priceinfo.getTcCharge()));
agPoQuotation.setBusinessInsuranceStatus(priceinfo.getBzCoverageStatus());
agPoQuotation.setBusinessInsuranceMessage(priceinfo.getBzCoverageMsg());
agPoQuotation.setBusinessInsurancePremium(BigDecimal.valueOf(priceinfo.getBzPremium()));
agPoQuotation.setBusinessInsuranceFloatingRate(BigDecimal.valueOf(Double.valueOf(priceinfo.getBzFloatRatio())));
agPoQuotation.setBusinessInsuranceCharge(BigDecimal.valueOf(priceinfo.getBzCharge()));
agPoQuotation.setBusinessInsuranceStart(priceinfo.getBzStartTime());
dateOper = priceinfo.getBzStartTime();
Cal.setTime(dateOper);
Cal.add(java.util.Calendar.YEAR,1);
dateOper = Cal.getTime();
agPoQuotation.setBusinessInsuranceEnd(dateOper);
agPoQuotation.setBusinessInsuranceCharge(BigDecimal.valueOf(priceinfo.getBzCharge()));
//agPoQuotation.setDepartmentBelong(priceinfo.get);
//agPoQuotation.setDepartmentBelonger(priceinfo.);
//agPoQuotation.setOperator(priceinfo.get);
//agPoQuotation.setChannelCode(priceinfo.);
//agPoQuotation.setGroupNumber(priceinfo.);
//agPoQuotation.setIssueAssociation();
agPoQuotation.setCreatedAt(new Date());
agPoQuotation.setCreatedBy(-1L);
return agPoQuotation;
}
public static AgPoQuotationCover initThirdPartyLiabilityExemptDeductibleSpecialClauseData(BzCoverages bzCoverages,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = null;
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
return agPoQuotationCover;
}
public static AgPoQuotationCover initDamageLossCoverageData(BzCoverages bzCoverages,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = null;
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
return agPoQuotationCover;
}
public static AgPoQuotationCover initCarBodyPaintCoverageData(BzCoverages bzCoverages,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = null;
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
return agPoQuotationCover;
}
public static AgPoQuotationCover initDamageLossExemptDeductibleSpecialClauseData(BzCoverages bzCoverages,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = null;
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
return agPoQuotationCover;
}
public static AgPoQuotationCover initCarBodyPaintExemptDeductibleSpecialClauseData(BzCoverages bzCoverages,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = null;
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
return agPoQuotationCover;
}
public static AgPoQuotationCover initThirdPartyLiabilityCoverageData(BzCoverages bzCoverages,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = null;
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
return agPoQuotationCover;
}
}
package com.ajb.car.quotation.impl;
import java.math.BigDecimal;
import java.util.Date;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ajb.car.entity.quotation.AgPoQuotation;
import com.ajb.car.entity.quotation.AgPoQuotationConfirm;
import com.ajb.car.entity.quotation.AgPoQuotationCover;
import com.ajb.car.entity.quotation.AgPoQuotationTax;
import com.ajb.car.entity.quotation.AgPoQuotationVehicle;
import com.ajb.car.entity.quotation.AgPoQuotationVehicleRelation;
import com.ajb.car.quotation.AgPoQuotationWebService;
import com.ajb.car.quotation.service.AgPoQuotationService;
import com.ajb.car.quotation.service.AgPoQuotationTaxService;
import com.ajb.car.quotation.service.AgPoQuotationConfirmService;
import com.ajb.car.quotation.service.AgPoQuotationVehicleService;
import com.ajb.car.quotation.service.AgPoQuotationCoverService;
import com.ajb.car.quotation.service.AgPoQuotationVehicleRelationService;
import com.ajb.car.vo.zhima.quotation.Applicant;
import com.ajb.car.vo.zhima.quotation.BzCoverages;
import com.ajb.car.vo.zhima.quotation.CarBodyPaintCoverage;
import com.ajb.car.vo.zhima.quotation.CarBodyPaintExemptDeductibleSpecialClause;
import com.ajb.car.vo.zhima.quotation.Claimant;
import com.ajb.car.vo.zhima.quotation.ConfirmInfo;
import com.ajb.car.vo.zhima.quotation.DamageLossCoverage;
import com.ajb.car.vo.zhima.quotation.DamageLossExemptDeductibleSpecialClause;
import com.ajb.car.vo.zhima.quotation.Priceinfo;
import com.ajb.car.vo.zhima.quotation.TcCoverages;
import com.ajb.car.vo.zhima.quotation.ThirdPartyLiabilityCoverage;
import com.ajb.car.vo.zhima.quotation.ThirdPartyLiabilityExemptDeductibleSpecialClause;
import com.ajb.car.vo.zhima.quotation.VehInfo;
import com.ajb.car.vo.zhima.quotation.VsltaxInfo;
@Service("agPoQuotationWebService")
public class AgPoQuotationWebServiceImpl implements AgPoQuotationWebService {
@Autowired
private AgPoQuotationService agPoQuotationService;
@Autowired
private AgPoQuotationVehicleService agPoQuotationVehicleService;
@Autowired
AgPoQuotationConfirmService agPoQuotationConfirmService;
@Autowired
AgPoQuotationTaxService agPoQuotationTaxService;
@Autowired
AgPoQuotationCoverService agPoQuotationCoverService;
@Autowired
AgPoQuotationVehicleRelationService agPoQuotationVehicleRelationService;
@Transactional
@Override
public void saveAgPoQuotationAndConfirm(Date quotationDate,Priceinfo priceinfo,ConfirmInfo confirmInfo) {
//车辆,保险范围,申请人,受益人
AgPoQuotation quotation = saveAgPoQuotationNoTrans(quotationDate,priceinfo);
//保存确认单
saveAgPoQuotationConfirmNoTrans(confirmInfo,quotation);
//保存确认单
saveAgPoQuotationVehicleTaxNoTrans(priceinfo.getVsltaxInfo(),priceinfo.getVsltax(),quotation);
}
@Transactional
@Override
public AgPoQuotation saveAgPoQuotation(Date quotationDate,Priceinfo priceinfo) {
return saveAgPoQuotationNoTrans(quotationDate,priceinfo);
}
private AgPoQuotation saveAgPoQuotationNoTrans(Date quotationDate,Priceinfo priceinfo) {
Long quotationVehicleId = 0L;
//保存车辆信息
//TODO如果存在直接取回,先check exist
AgPoQuotationVehicle agPoQuotationVehicle = new AgPoQuotationVehicle();
agPoQuotationVehicle = initAgPoQuotationVehicleData(priceinfo.getVehInfo());
agPoQuotationVehicle = agPoQuotationVehicleService.save(agPoQuotationVehicle);
quotationVehicleId = agPoQuotationVehicle.getId();
//保存quotation
AgPoQuotation agPoQuotation = new AgPoQuotation();
agPoQuotation = AgPoQuotationConverter.initAgPoQuotationData(priceinfo,quotationVehicleId);
agPoQuotation = agPoQuotationService.save(agPoQuotation);
agPoQuotation.setQuoteVersion(quotationDate);
Long quotationId = agPoQuotation.getId();
//保存商业险
//保存交强险
saveAgPoQuotationCoveragesData(priceinfo,quotationId,quotationVehicleId);
//申请人
AgPoQuotationVehicleRelation agPoQuotationVehicleRelation = new AgPoQuotationVehicleRelation();
agPoQuotationVehicleRelation = initAgPoQuotationVehicleRelationApplicantData(priceinfo.getApplicant(),quotationId);
agPoQuotationVehicleRelationService.save(agPoQuotationVehicleRelation);
//收益人
agPoQuotationVehicleRelation = new AgPoQuotationVehicleRelation();
agPoQuotationVehicleRelation = initAgPoQuotationVehicleRelationClaimantData(priceinfo.getClaimant(),quotationId);
agPoQuotationVehicleRelationService.save(agPoQuotationVehicleRelation);
return agPoQuotation;
}
private AgPoQuotationVehicleRelation initAgPoQuotationVehicleRelationApplicantData(Applicant applicant,Long quotationId)
{
AgPoQuotationVehicleRelation agPoQuotationVehicleRelation = new AgPoQuotationVehicleRelation();
agPoQuotationVehicleRelation.setQuotationId(quotationId);
agPoQuotationVehicleRelation.setName(applicant.getName());
agPoQuotationVehicleRelation.setIdNo(applicant.getCertCode());
agPoQuotationVehicleRelation.setIdType(1L);
agPoQuotationVehicleRelation.setIdTypeName(applicant.getCertType());
agPoQuotationVehicleRelation.setAddress(applicant.getAddress());
agPoQuotationVehicleRelation.setTelephone(applicant.getTel());
agPoQuotationVehicleRelation.setNationality(applicant.getNatureType());
agPoQuotationVehicleRelation.setVehicleRelationId(1L);
agPoQuotationVehicleRelation.setCreatedAt(new Date());
agPoQuotationVehicleRelation.setCreatedBy(-1L);
agPoQuotationVehicleRelation.setCustomerId(-1L);
return agPoQuotationVehicleRelation;
}
private AgPoQuotationVehicleRelation initAgPoQuotationVehicleRelationClaimantData(Claimant claimant,Long quotationId)
{
AgPoQuotationVehicleRelation agPoQuotationVehicleRelation = new AgPoQuotationVehicleRelation();
agPoQuotationVehicleRelation.setQuotationId(quotationId);
agPoQuotationVehicleRelation.setName(claimant.getName());
agPoQuotationVehicleRelation.setIdNo(claimant.getCertCode());
agPoQuotationVehicleRelation.setIdType(1L);
agPoQuotationVehicleRelation.setIdTypeName(claimant.getCertType());
agPoQuotationVehicleRelation.setAddress(claimant.getAddress());
agPoQuotationVehicleRelation.setTelephone(claimant.getTel());
agPoQuotationVehicleRelation.setNationality(claimant.getNatureType());
agPoQuotationVehicleRelation.setVehicleRelationId(5L);
agPoQuotationVehicleRelation.setCreatedAt(new Date());
agPoQuotationVehicleRelation.setCreatedBy(-1L);
agPoQuotationVehicleRelation.setCustomerId(-1L);
return agPoQuotationVehicleRelation;
}
private void saveAgPoQuotationCoveragesData(Priceinfo priceinfo,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = null;
//商业险--车损
if (priceinfo.getBzCoverages().getDamageLossCoverage()!=null)
{
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setCount(priceinfo.getBzCoverages().getDamageLossCoverage().getCount());
agPoQuotationCover.setCoverAmount(priceinfo.getBzCoverages().getDamageLossCoverage().getSumInsured());
agPoQuotationCover.setCoverName(priceinfo.getBzCoverages().getDamageLossCoverage().getKind());
//agPoQuotationCover.setDiscountRate(priceinfo.getBzCoverages().getDamageLossCoverage().get);
agPoQuotationCover.setFloatingRate(BigDecimal.valueOf(priceinfo.getBzCoverages().getDamageLossCoverage().getFloatingRate()));
agPoQuotationCover.setPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getDamageLossCoverage().getPolicyPremium()));
agPoQuotationCover.setStandardPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getDamageLossCoverage().getStandardPremium()));
//agPoQuotationCover.setTax(priceinfo.getBzCoverages().getDamageLossCoverage().get);
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
agPoQuotationCover.setVehicleClauseId(1L);
agPoQuotationCover.setClauseCategory("M");
agPoQuotationCover.setClauseCode(priceinfo.getBzCoverages().getDamageLossCoverage().getKind());
agPoQuotationCover.setClauseDescription("机动车损失保险");
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
System.out.println("机动车损失保险getPremium," + agPoQuotationCover.getPremium());
agPoQuotationCoverService.save(agPoQuotationCover);
}
//交强险
if (priceinfo.getTcCoverages()!=null)
{
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover = initAgPoQuotationTcCoveragesData(priceinfo.getTcCoverages(),quotationId,quotationVehicleId);
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
System.out.println("交强险getPremium," + agPoQuotationCover.getPremium());
agPoQuotationCoverService.save(agPoQuotationCover);
}
//商业险--车身划痕损失险
if (priceinfo.getBzCoverages().getCarBodyPaintCoverage()!=null)
{
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setCount(priceinfo.getBzCoverages().getCarBodyPaintCoverage().getCount());
agPoQuotationCover.setCoverAmount(priceinfo.getBzCoverages().getCarBodyPaintCoverage().getSumInsured());
agPoQuotationCover.setCoverName(priceinfo.getBzCoverages().getCarBodyPaintCoverage().getKind());
//agPoQuotationCover.setDiscountRate(priceinfo.getBzCoverages().getCarBodyPaintCoverage().get);
agPoQuotationCover.setFloatingRate(BigDecimal.valueOf(priceinfo.getBzCoverages().getCarBodyPaintCoverage().getFloatingRate()));
agPoQuotationCover.setPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getCarBodyPaintCoverage().getPolicyPremium()));
agPoQuotationCover.setStandardPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getCarBodyPaintCoverage().getStandardPremium()));
//agPoQuotationCover.setTax(priceinfo.getBzCoverages().getCarBodyPaintCoverage().get);
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
agPoQuotationCover.setVehicleClauseId(7L);
agPoQuotationCover.setClauseCategory("M");
agPoQuotationCover.setClauseCode(priceinfo.getBzCoverages().getCarBodyPaintCoverage().getKind());
agPoQuotationCover.setClauseDescription("车身划痕损失险");
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
System.out.println("车身划痕损失险getPremium," + agPoQuotationCover.getPremium());
agPoQuotationCoverService.save(agPoQuotationCover);
}
//商业险--车漆面三则免赔
if (priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause()!=null)
{
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setCount(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().getCount());
agPoQuotationCover.setCoverAmount(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().getSumInsured());
agPoQuotationCover.setCoverName(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().getKind());
//agPoQuotationCover.setDiscountRate(priceinfo.getBzCoverages().getCarBodyPaintCoverage().get);
agPoQuotationCover.setFloatingRate(BigDecimal.valueOf(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().getFloatingRate()));
agPoQuotationCover.setPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().getPolicyPremium()));
agPoQuotationCover.setStandardPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().getStandardPremium()));
//agPoQuotationCover.setTax(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().get);
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
agPoQuotationCover.setVehicleClauseId(7L);
agPoQuotationCover.setClauseCategory("A");
agPoQuotationCover.setClauseCode(priceinfo.getBzCoverages().getCarBodyPaintExemptDeductibleSpecialClause().getKind());
agPoQuotationCover.setClauseDescription("车身划痕损失险免赔");
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
System.out.println("车身划痕损失险免赔getPremium," + agPoQuotationCover.getPremium());
agPoQuotationCoverService.save(agPoQuotationCover);
}
//商业险--不计免赔率险
if (priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause()!=null)
{
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setCount(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().getCount());
agPoQuotationCover.setCoverAmount(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().getSumInsured());
agPoQuotationCover.setCoverName(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().getKind());
//agPoQuotationCover.setDiscountRate(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().get);
agPoQuotationCover.setFloatingRate(BigDecimal.valueOf(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().getFloatingRate()));
agPoQuotationCover.setPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().getPolicyPremium()));
agPoQuotationCover.setStandardPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().getStandardPremium()));
//agPoQuotationCover.setTax(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().get);
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
agPoQuotationCover.setVehicleClauseId(6L);
agPoQuotationCover.setClauseCategory("M");
agPoQuotationCover.setClauseCode(priceinfo.getBzCoverages().getDamageLossExemptDeductibleSpecialClause().getKind());
agPoQuotationCover.setClauseDescription("机动车损失不计免赔保险");
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
System.out.println("机动车损失不计免赔保险getPremium," + agPoQuotationCover.getPremium());
agPoQuotationCoverService.save(agPoQuotationCover);
}
//商业险--第三者责任险
if (priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage()!=null)
{
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setCount(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().getCount());
agPoQuotationCover.setCoverAmount(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().getSumInsured());
agPoQuotationCover.setCoverName(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().getKind());
//agPoQuotationCover.setDiscountRate(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().get);
agPoQuotationCover.setFloatingRate(BigDecimal.valueOf(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().getFloatingRate()));
agPoQuotationCover.setPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().getPolicyPremium()));
agPoQuotationCover.setStandardPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().getStandardPremium()));
//agPoQuotationCover.setTax(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().get);
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
agPoQuotationCover.setClauseCategory("M");
agPoQuotationCover.setVehicleClauseId(2L);
agPoQuotationCover.setClauseCode(priceinfo.getBzCoverages().getThirdPartyLiabilityCoverage().getKind());
agPoQuotationCover.setClauseDescription("机动车第三者责任保险");
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
System.out.println("机动车第三者责任保险getPremium," + agPoQuotationCover.getPremium());
agPoQuotationCoverService.save(agPoQuotationCover);
}
//商业险--第三者责任险免赔
if (priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause()!=null)
{
agPoQuotationCover = new AgPoQuotationCover();
agPoQuotationCover.setCount(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().getCount());
agPoQuotationCover.setCoverAmount(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().getSumInsured());
agPoQuotationCover.setCoverName(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().getKind());
//agPoQuotationCover.setDiscountRate(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().get);
agPoQuotationCover.setFloatingRate(BigDecimal.valueOf(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().getFloatingRate()));
agPoQuotationCover.setPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().getPolicyPremium()));
agPoQuotationCover.setStandardPremium(BigDecimal.valueOf(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().getStandardPremium()));
//agPoQuotationCover.setTax(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().get);
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
agPoQuotationCover.setVehicleClauseId(2L);
agPoQuotationCover.setClauseCategory("A");
agPoQuotationCover.setClauseCode(priceinfo.getBzCoverages().getThirdPartyLiabilityExemptDeductibleSpecialClause().getKind());
agPoQuotationCover.setClauseDescription("机动车第三者责任不计免赔率险");
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
System.out.println("机动车第三者责任不计免赔率险getPremium," + agPoQuotationCover.getPremium());
agPoQuotationCoverService.save(agPoQuotationCover);
}
}
private AgPoQuotationCover initAgPoQuotationTcCoveragesData(TcCoverages tcCoverages,Long quotationId,Long quotationVehicleId)
{
AgPoQuotationCover agPoQuotationCover = new AgPoQuotationCover();
BeanUtils.copyProperties(tcCoverages.getTRAFFICCOMPULSORYPRODUCT(),agPoQuotationCover);
agPoQuotationCover.setCount(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().getCount());
agPoQuotationCover.setCoverAmount(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().getSumInsured());
agPoQuotationCover.setCoverName(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().getKind());
//agPoQuotationCover.setDiscountRate(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().get);
agPoQuotationCover.setFloatingRate(BigDecimal.valueOf(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().getFloatingRate()));
agPoQuotationCover.setPremium(BigDecimal.valueOf(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().getPolicyPremium()));
agPoQuotationCover.setStandardPremium(BigDecimal.valueOf(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().getStandardPremium()));
//agPoQuotationCover.setTax(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().get);
agPoQuotationCover.setQuotationId(quotationId);
agPoQuotationCover.setQuotationVehicleId(quotationVehicleId);
agPoQuotationCover.setVehicleClauseId(18L);
agPoQuotationCover.setClauseCategory("A");
agPoQuotationCover.setClauseCode(tcCoverages.getTRAFFICCOMPULSORYPRODUCT().getKind());
agPoQuotationCover.setClauseDescription("机动车第三者责任不计免赔率险");
agPoQuotationCover.setCreatedAt(new Date());
agPoQuotationCover.setCreatedBy(-1L);
return agPoQuotationCover;
}
private AgPoQuotationVehicle initAgPoQuotationVehicleData(VehInfo vehInfo)
{
AgPoQuotationVehicle agPoQuotationVehicle = new AgPoQuotationVehicle();
BeanUtils.copyProperties(vehInfo, agPoQuotationVehicle);
agPoQuotationVehicle.setIsNewCar(vehInfo.getIsNewCar());
//agPoQuotationVehicle.vehInfo.getNewCarFlag();
//agPoQuotationVehicle.vehInfo.getInsuranceFlag();
agPoQuotationVehicle.setVehicleBrand(vehInfo.getModelNumber());
agPoQuotationVehicle.setVehicleCode(vehInfo.getModelSerialCode());
//车架号非空
agPoQuotationVehicle.setFrameNumber(vehInfo.getFrameNumber());
agPoQuotationVehicle.setLicenseType(vehInfo.getPlateType());
//引擎号非空
agPoQuotationVehicle.setEngineNo(vehInfo.getEngineNumber());
//初登日期非空
agPoQuotationVehicle.setFirstRegistrationDate(vehInfo.getFirstRegistrationDate());
//车牌号非空
agPoQuotationVehicle.setPlateNo(vehInfo.getRegistrationNumber());
agPoQuotationVehicle.setVehicleCategory(vehInfo.getCategory());
agPoQuotationVehicle.setOwner(vehInfo.getLicenseOwner());
agPoQuotationVehicle.setOriginCertiType(vehInfo.getLicenseOwnerCertType());
agPoQuotationVehicle.setOwnerCertiCode(vehInfo.getLicenseOwnerCertCode());
agPoQuotationVehicle.setOwnerNature(vehInfo.getOwnerNature());
agPoQuotationVehicle.setModelCharacterNumber(vehInfo.getModelCharacterNumber());
//vehInfo.getAttribute;
//vehInfo.getBizAttribute;
//vehInfo.getBizCategory;
agPoQuotationVehicle.setVehicleUseType(vehInfo.getUse());
agPoQuotationVehicle.setPriceNewcar(vehInfo.getPurchasePrice());
agPoQuotationVehicle.setReferencePrice(vehInfo.getKindPrice());
agPoQuotationVehicle.setCurrentPrice(vehInfo.getCurrentValue());
agPoQuotationVehicle.setSeatCapacity(vehInfo.getSeatCapacity());
agPoQuotationVehicle.setCarryingCapacity(vehInfo.getCarryingCapacity());
agPoQuotationVehicle.setFuelType(vehInfo.getGlassType());
agPoQuotationVehicle.setDispacementPower(vehInfo.getEngineSize());
agPoQuotationVehicle.setIsPayoffLoan(vehInfo.getLoanVehicleFlag());
agPoQuotationVehicle.setBrandmakeModel(vehInfo.getBrand());
agPoQuotationVehicle.setDriveArea(vehInfo.getDrivingArea());
agPoQuotationVehicle.setDispacementPower(vehInfo.getVehiclePower());
//vehInfo.getVehiclePowerJY;
agPoQuotationVehicle.setFuelType(vehInfo.getFuelType());
agPoQuotationVehicle.setIsTransfered(vehInfo.getSpecialCarFlag());
agPoQuotationVehicle.setPurchaseInvoiceDate(vehInfo.getPurchaseinvoicesDate());
agPoQuotationVehicle.setModelIdCode(vehInfo.getModelIdCode());
agPoQuotationVehicle.setPlatformModelCode(vehInfo.getPlatformModelCode());
agPoQuotationVehicle.setVehicleUseType(vehInfo.getVehicleUsageDetail());
//agPoQuotationVehiclevehInfo.getIllegalNumLastYear;
//agPoQuotationVehicle.setvehInfo.getTcDesignedAge;
//vehInfo.getAnnualMileage;
//vehInfo.getSpecvtype;
//vehInfo.getInstalment;
//vehInfo.getDesignedAge;
//vehInfo.getDepreciatedExpireAge;
agPoQuotationVehicle.setPlateColor(vehInfo.getPlateColor());
//agPoQuotationVehicle.vehInfo.getManufacturer;
agPoQuotationVehicle.setBodyColor(vehInfo.getBodyColor());
//vehInfo.getProducePlaceType;
agPoQuotationVehicle.setIndustryVehicleCode(vehInfo.getIndustryVehicleCode());
agPoQuotationVehicle.setPlatformBrand(vehInfo.getPlatformBrand());
agPoQuotationVehicle.setBrandCode(vehInfo.getBrandCode());
//vehInfo.getSeries;
//vehInfo.getSeriesCode;
agPoQuotationVehicle.setCarName(vehInfo.getCarName());
//vehInfo.getNoticeType;
agPoQuotationVehicle.setTradeCode(vehInfo.getTradeCode());
//agPoQuotationVehicle.setActualYearsUsed(vehInfo.get);
agPoQuotationVehicle.setCreatedAt(new Date());
agPoQuotationVehicle.setCreatedBy(-1L);
return agPoQuotationVehicle;
}
private void saveAgPoQuotationConfirmNoTrans(ConfirmInfo confirmInfo, AgPoQuotation quotation) {
// TODO Auto-generated method stub
AgPoQuotationConfirm agPoQuotationConfirm = new AgPoQuotationConfirm();
agPoQuotationConfirm = initAgPoQuotationConfirmData(confirmInfo);
agPoQuotationConfirm.setQuotationId(quotation.getId());
agPoQuotationConfirm.setQuotationVehicleId(quotation.getQuoteVehicleId());
agPoQuotationConfirmService.save(agPoQuotationConfirm);
}
private AgPoQuotationConfirm initAgPoQuotationConfirmData(ConfirmInfo confirmInfo)
{
AgPoQuotationConfirm agPoQuotationConfirm = new AgPoQuotationConfirm();
BeanUtils.copyProperties(confirmInfo, agPoQuotationConfirm);
agPoQuotationConfirm.setCreatedAt(new Date());
agPoQuotationConfirm.setCreatedBy(-1L);
return agPoQuotationConfirm;
}
private void saveAgPoQuotationVehicleTaxNoTrans(VsltaxInfo vsltaxInfo,Double taxAmount,AgPoQuotation quotation) {
// TODO Auto-generated method stub
AgPoQuotationTax agPoQuotationTax = new AgPoQuotationTax();
BeanUtils.copyProperties(vsltaxInfo, agPoQuotationTax);
agPoQuotationTax.setTaxAmount(BigDecimal.valueOf(taxAmount));
agPoQuotationTax.setQuotationId(quotation.getId());
agPoQuotationTax.setQuotationVehicleId(quotation.getQuoteVehicleId());
agPoQuotationTax.setCreatedAt(new Date());
agPoQuotationTax.setCreatedBy(-1L);
agPoQuotationTaxService.save(agPoQuotationTax);
}
@Transactional
@Override
public void saveAgPoQuotationConfirm(ConfirmInfo confirmInfo,AgPoQuotation quotation) {
// TODO Auto-generated method stub
saveAgPoQuotationConfirmNoTrans(confirmInfo,quotation);
}
}
\ No newline at end of file
package com.ajb.car.schedule;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.apimessage.AgTransVehicleMsgOrigin;
import com.ajb.car.entity.quotation.AgPoQuotation;
import com.ajb.car.metadata.service.SystemConfigService;
import com.ajb.car.quotation.AgPoQuotationWebService;
import com.ajb.car.quotation.service.AgPoQuotationService;
import com.ajb.car.quotation.service.AgTransVehicleMsgOriginService;
import com.ajb.car.vo.zhima.TokenZhiMa;
import com.ajb.car.vo.zhima.policy.PolicyInfo;
import com.ajb.car.vo.zhima.policy.PolicyResponse;
import com.ajb.car.vo.zhima.quotation.QuotationDetail;
import com.ajb.car.vo.zhima.quotation.QuotationResponse;
import com.ajb.common.utils.http.HttpHelpZhiMa;
import com.alibaba.fastjson.JSON;
/**
* 定时任务
* @service和@Component有一个即可,否则自动任务不会被启动
* @EnableScheduling 是必须
*/
@Service("ScheduledTaskService")
//@EnableScheduling
public class ScheduledTaskService {
@Autowired
private SystemConfigService systemConfigService;
@Autowired
AgPoQuotationWebService agPoQuotationWebService;
@Autowired
AgPoQuotationService agPoQuotationService;
//Map<String , String> map = new HashMap<String , String>();
private static String hostURL = "";// "https://baoxian.linkersoft.com/tbjap/";
//获取token
//private static String auth2ParamTest = "{\r\n\t\"unitid\": \"LKTEST\",\r\n\t\"pwd\": \"password\",\r\n\t\"secretid\": \"1aaca8b5fb364267a9d3b56474157cf6\"\r\n}\r\n";
private static String auth2ParamProduction1 = "";// "{\r\n\t\"unitid\": \"SHYD\",\r\n\t\"pwd\": \"shyd1234\",\r\n\t\"secretid\": \"ad9a64fb913f4affa8064f2ae51e3b91\"\r\n}\r\n";
private static String tokenMethod = "";//"api/login";
//private static String tokenXPath = "$.datas.session.token";
//按品牌查型号
//private static String queryUrlModelParam = "{\"keyword\":\"%s\"}";
//private static String queryUrlModelMethod = "api/searchmodel1";
//private static String queryUrlModelXPath = "$.datas.modelNumbers";
//按型号查详细信息
//private static String queryUrlModel2Param = "{\"modelNumber\":\"%s\"}";
//private static String queryUrlModel2Method = "api/searchmodel2";
//private static String queryUrlModel2XPath = "$.datas.vehiclemodels[*]";
//报价查询
//private static String queryUrlCarPriceParam = "{\"carNumber\": \"%s\", \"carOwner\": \"%s\", \"plateType\": \"02\",\"bizAttribute\": \"101\"}";
//private static String queryUrlCarPriceMethod = "api/carpricebynumber";
//private static String queryUrlCarPriceXPath = "$.datas.priceinfo";
//private static String queryUrlGiftParam = "{\"policycode\":\"%s\"}";
//private static String queryURLGift = "api/loadgift";
//报价单加载
//private static String queryUrlConfirmInfoParam = "{\"policycode\":\"%s\"}";
//private static String queryUrlConfirmInfoMethod = "api/loadconfirminfo";
//private static String queryUrlConfirmInfoXPath = "$.datas.confirminfo";
//报价确认
//private static String queryUrlConfirmInfoPostMethod = "api/confirmprice";
//报价列表查询
//private static String queryQuotationURLParam = "{\"status\":\"%s\"}";
private static String queryQuotationURLScopeParam = "";//"{\"begindate\":\"%s\",\"enddate\":\"%s\"}";
private static String queryQuotationMethod = "";// "api/policylist?start=%s&count=%s";
//private static String queryQuotationXPath = "$.datas.pages.rows[*]";
//获取报价单详情
private static String queryQuotationDetailMethod = "";//"api/getconfirmpolicydetail?policycode=%s";
@Autowired
private AgTransVehicleMsgOriginService carZhiMaService;
//@Scheduled(cron = "0/2 * * * * *")
public QuotationResponse synchQuotaion(Date begin,Date end) throws InterruptedException {
auth2ParamProduction1 = systemConfigService.getSingleConfigValue("LinkerSoftAPITokenAuth2Param");
hostURL = systemConfigService.getSingleConfigValue("LinkerSoftAPIHostURL");
tokenMethod = systemConfigService.getSingleConfigValue("LinkerSoftAPITokenMethod");
queryQuotationMethod = systemConfigService.getSingleConfigValue("LinkerSoftAPIQueryQuotationMethod");
queryQuotationURLScopeParam = systemConfigService.getSingleConfigValue("LinkerSoftAPIQueryQuotationURLScopeParam");
queryQuotationDetailMethod = systemConfigService.getSingleConfigValue("LinkerSoftAPIQueryQuotationDetailMethod");
TokenZhiMa tokenEntity = getToken(hostURL + tokenMethod,auth2ParamProduction1);
//写原始消息入表
AgTransVehicleMsgOrigin agtransvehiclemsgorigin = new AgTransVehicleMsgOrigin();
agtransvehiclemsgorigin = initOriginMessage(hostURL,tokenMethod,auth2ParamProduction1,"Post",JSON.toJSONString(tokenEntity));
carZhiMaService.save(agtransvehiclemsgorigin);
String token = tokenEntity.getDatas().getTokenInfo().getToken();
System.out.println("token:" + token);
String startTime = dateToString(begin);
String endTime = dateToString(end);
return testPolicyList(startTime,endTime,token);
}
public static String dateToString(Date time){
SimpleDateFormat formatter;
formatter = new SimpleDateFormat ("yyyy-MM-dd");
String ctime = formatter.format(time);
return ctime;
}
private QuotationResponse testPolicyList(String startTime,String endTime,String token)
{
QuotationResponse quotationResponse;
quotationResponse = new QuotationResponse();
QuotationResponse quotationResponsePage = new QuotationResponse();
Integer start = 0;
Integer total = 0;
Integer size = 15;
//询价单列表,按状态,1,2,3
PolicyResponse policyList = null;
policyList = queryList(startTime,endTime,start,token);
total = Integer.parseInt(policyList.getDatas().getPolicyPage().getTotal());
System.out.println("Total:" + total);
quotationResponse.setTotal(total);
while(start < total)
{
quotationResponsePage = new QuotationResponse();
//分页,开始行,页行数queryQuotationURLParam
System.out.println("start:" + start);
policyList = queryList(startTime,endTime,start,token);
quotationResponsePage = displayList(policyList.getDatas().getPolicyPage().getRows(),token);
quotationResponse.setTotalPremium(quotationResponse.getTotalPremium().add(quotationResponsePage.getTotalPremium()));
quotationResponse.setBzPremium(quotationResponse.getBzPremium().add(quotationResponsePage.getBzPremium()));
quotationResponse.setTcPremium(quotationResponse.getTcPremium().add(quotationResponsePage.getTcPremium()));
quotationResponse.setTsltax(quotationResponse.getTsltax().add(quotationResponsePage.getTsltax()));
quotationResponse.setAllCharge(quotationResponse.getAllCharge().add(quotationResponsePage.getAllCharge()));
if (start > 0 && (start + size > total))
{
break;
}else
{
start = start + size;
}
}
return quotationResponse;
}
private PolicyResponse queryList(String startTime,String endTime,Integer start,String token)
{
String queryQuotationMethodStep = String.format(queryQuotationMethod, start.toString(),"15");
queryQuotationURLScopeParam = String.format(queryQuotationURLScopeParam, startTime,endTime);
PolicyResponse policyList = postQuotationList(hostURL + queryQuotationMethodStep,queryQuotationURLScopeParam,token);
//写原始消息入表
AgTransVehicleMsgOrigin agtransvehiclemsgorigin = new AgTransVehicleMsgOrigin();
agtransvehiclemsgorigin = initOriginMessage(hostURL,queryQuotationMethodStep,queryQuotationURLScopeParam,"Post",JSON.toJSONString(policyList));
carZhiMaService.save(agtransvehiclemsgorigin);
return policyList;
}
private QuotationResponse displayList(List<PolicyInfo> list,String token)
{
QuotationResponse quotationResponse = new QuotationResponse();
String policyCode = null;
Date quotationDate = null;
BigDecimal totalPremium = new BigDecimal(0);
BigDecimal bzPremium = new BigDecimal(0);
BigDecimal tcPremium = new BigDecimal(0);
BigDecimal vsltax = new BigDecimal(0);
BigDecimal allCharge = new BigDecimal(0);
for(int i = 0; i < list.size();i++)
{
policyCode = list.get(i).getPolicycode();
quotationDate = list.get(i).getCreateDate();
System.out.print(""+ list.get(i).getCarNumber());
totalPremium = totalPremium.add(BigDecimal.valueOf(list.get(i).getTotalPremium()));
bzPremium = bzPremium.add(BigDecimal.valueOf(list.get(i).getBzPremium()));
tcPremium = tcPremium.add(BigDecimal.valueOf(list.get(i).getTcPremium()));
vsltax = vsltax.add(BigDecimal.valueOf(list.get(i).getVsltax()));
allCharge = allCharge.add(BigDecimal.valueOf(list.get(i).getAllCharge()));
System.out.print("getTotalPremium," + list.get(i).getTotalPremium());
System.out.print("getBzPremium," + list.get(i).getBzPremium());
System.out.print("getTcPremium," + list.get(i).getTcPremium());
System.out.print("getVsltax," + list.get(i).getVsltax());
System.out.println("getAllCharge," + list.get(i).getAllCharge());
//检查是否已经存在
AgPoQuotation one = agPoQuotationService.findByQuoteNo(policyCode);
if (one==null)
{
String queryQuotationDetailMethodNew = String.format(queryQuotationDetailMethod, policyCode);
QuotationDetail postConfirm = getComfirmationDetail(hostURL + queryQuotationDetailMethodNew,null,token);
//写车辆信息,报价信息,coverages入表
//agPoQuotationWebService.saveAgPoQuotation(postConfirm.getDatas().getPriceinfo());
agPoQuotationWebService.saveAgPoQuotationAndConfirm(quotationDate,postConfirm.getDatas().getPriceinfo(),postConfirm.getDatas().getConfirmInfo());
//写确认信息入表confirmInfo
//agPoQuotationWebService.saveAgPoQuotationConfirm(postConfirm.getDatas().getConfirmInfo());
//写原始消息入表
AgTransVehicleMsgOrigin agtransvehiclemsgorigin = new AgTransVehicleMsgOrigin();
agtransvehiclemsgorigin = initOriginMessage(hostURL,queryQuotationDetailMethodNew,"","Post",JSON.toJSONString(postConfirm));
carZhiMaService.save(agtransvehiclemsgorigin);
/*System.out.print("" + postConfirm.getDatas().getPriceinfo().getVehInfo().getRegistrationNumber());
System.out.print("getTotalPremium," + postConfirm.getDatas().getPriceinfo().getTotalPremium());
System.out.print("getBzPremium," + postConfirm.getDatas().getPriceinfo().getBzPremium());
System.out.print("getTcPremium," + postConfirm.getDatas().getPriceinfo().getTcPremium());
System.out.print("getAllCharge," + postConfirm.getDatas().getPriceinfo().getAllCharge());
System.out.println("getVsltax," + postConfirm.getDatas().getPriceinfo().getVsltax());
System.out.print("getAllCharge," + postConfirm.getDatas().getPriceinfo().getAllCharge());
System.out.print("," + dateToString(list.get(i).getCreateDate()));
System.out.println("");*/
}
}
quotationResponse.setTotalPremium(totalPremium);
quotationResponse.setBzPremium(bzPremium);
quotationResponse.setTcPremium(tcPremium);
quotationResponse.setTsltax(vsltax);
quotationResponse.setAllCharge(allCharge);
return quotationResponse;
}
public PolicyResponse postQuotationList(String urlQuery,String queryURLParams, String token)
{
PolicyResponse list = null;
list = HttpHelpZhiMa.postUrlMap2JavaBean(urlQuery,queryURLParams,token,PolicyResponse.class);
return list;
}
public static QuotationDetail getComfirmationDetail(String urlQuery,String queryParams, String token)
{
QuotationDetail confirm = null;
confirm = HttpHelpZhiMa.getUrlMap2JavaBean(urlQuery,token,QuotationDetail.class);
return confirm;
}
private static AgTransVehicleMsgOrigin initOriginMessage(final String requestHost,final String requestMethod,final String requestParams,final String requestType,final String responseMessage)
{
AgTransVehicleMsgOrigin agtransvehiclemsgorigin = new AgTransVehicleMsgOrigin();
agtransvehiclemsgorigin.setQuoteProviderId(2L);
agtransvehiclemsgorigin.setQuoteProviderType("V");
agtransvehiclemsgorigin.setQuoteProvider("芝麻");
agtransvehiclemsgorigin.setRequestHost(requestHost);
agtransvehiclemsgorigin.setRequestParams(requestParams);
agtransvehiclemsgorigin.setRequestMethod(requestMethod);
agtransvehiclemsgorigin.setRequestType(requestType);
agtransvehiclemsgorigin.setRequestDate(new Date());
agtransvehiclemsgorigin.setUserId(36);
agtransvehiclemsgorigin.setUserName("simon");
agtransvehiclemsgorigin.setResponseMessage(responseMessage);
return agtransvehiclemsgorigin;
}
public static TokenZhiMa getToken(String urlQuery,String queryParams)
{
TokenZhiMa returnToken = (TokenZhiMa)HttpHelpZhiMa.getToken(urlQuery,queryParams);
return returnToken;
}
}
\ No newline at end of file
#tomcat 端口号
server.port=8080
server.context-path=/synch
# \u9875\u9762\u9ED8\u8BA4\u524D\u7F00\u76EE\u5F55
spring.mvc.view.prefix=/
# \u54CD\u5E94\u9875\u9762\u9ED8\u8BA4\u540E\u7F00
spring.mvc.view.suffix=.jsp
# \u81EA\u5B9A\u4E49\u5C5E\u6027\uFF0C\u53EF\u4EE5\u5728Controller\u4E2D\u8BFB\u53D6
#application.hello=Hello Angel From application
#spring session & redis
#TODO 后续可以考虑修改redis连接池大小
#spring.redis.host=localhost
#spring.redis.port=6379
#server.session.timeout=1800
#spring.session.store-type=redis
#spring.session.redis.namespace=session
#druid datasource
#启用druid数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#数据源相关配置明细
spring.datasource.url=jdbc:mysql://localhost:3306/ajb?useUnicode=true&characterEncoding=utf8&useSSL=false
#spring.datasource.url=jdbc:mysql://114.55.158.220:2814/ajb?useUnicode=true&characterEncoding=utf8&useSSL=false
#spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/ajb?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=devdbuser
spring.datasource.password=devdbpass1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.driver-class-name=net.sf.log4jdbc.DriverSpy
# 初始化链接
spring.datasource.initialSize=5
#最小链接数
spring.datasource.minIdle=5
#最大连接数
spring.datasource.maxActive=20
# 获取连接等待超时的时间 毫秒
spring.datasource.maxWait=60000
# 间隔多久才进行一次检测,检测需要关闭的空闲连接,毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
#连接在池中最小生存的时间,毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
#检测有效链接
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
########################################################
### Java Persistence Api
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = false
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.properties.hibernate.use_sql_comments=false
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.http.multipart.maxFileSize=100Mb
spring.http.multipart.maxRequestSize=1000Mb
# JWT expiration单位秒钟
jwt.header:X-Authorization
jwt.seal:zhb123!@#
jwt.expiration:86400
jwt.issuer:zuihuibi
jwt.bypass:/demo/user/loginDemo,/auth/token,/demo/login,/demo/register
#tomcat 端口号
server.port=8080
server.context-path=/synch
# \u9875\u9762\u9ED8\u8BA4\u524D\u7F00\u76EE\u5F55
spring.mvc.view.prefix=/
# \u54CD\u5E94\u9875\u9762\u9ED8\u8BA4\u540E\u7F00
spring.mvc.view.suffix=.jsp
# \u81EA\u5B9A\u4E49\u5C5E\u6027\uFF0C\u53EF\u4EE5\u5728Controller\u4E2D\u8BFB\u53D6
#application.hello=Hello Angel From application
#spring session & redis
#TODO 后续可以考虑修改redis连接池大小
#spring.redis.host=localhost
#spring.redis.port=6379
#server.session.timeout=1800
#spring.session.store-type=redis
#spring.session.redis.namespace=session
#druid datasource
#启用druid数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#数据源相关配置明细 101.37.146.25:8080
spring.datasource.url=jdbc:mysql://139.224.139.2:13307/ajb?useUnicode=true&characterEncoding=utf8&useSSL=false
#spring.datasource.url=jdbc:mysql://114.55.158.220:2814/ajb?useUnicode=true&characterEncoding=utf8&useSSL=false
#spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/ajb?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=devdbuser
spring.datasource.password=devdbpass1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.driver-class-name=net.sf.log4jdbc.DriverSpy
# 初始化链接
spring.datasource.initialSize=5
#最小链接数
spring.datasource.minIdle=5
#最大连接数
spring.datasource.maxActive=20
# 获取连接等待超时的时间 毫秒
spring.datasource.maxWait=60000
# 间隔多久才进行一次检测,检测需要关闭的空闲连接,毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
#连接在池中最小生存的时间,毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
#检测有效链接
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
########################################################
### Java Persistence Api
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = false
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.properties.hibernate.use_sql_comments=false
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = none
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
# JWT expiration单位秒钟
jwt.header:X-Authorization
jwt.seal:zhb123!@#
jwt.expiration:86400
jwt.issuer:zuihuibi
#jwt.bypass:TEST,测试功能的时候,不做校验,所有的都通过
jwt.bypass:TEST
#jwt.bypass:/user/loginDemo,/auth/token,/login,/register
#tomcat 端口号
server.port=8888
server.context-path=/synch
# \u9875\u9762\u9ED8\u8BA4\u524D\u7F00\u76EE\u5F55
spring.mvc.view.prefix=/
# \u54CD\u5E94\u9875\u9762\u9ED8\u8BA4\u540E\u7F00
spring.mvc.view.suffix=.jsp
# \u81EA\u5B9A\u4E49\u5C5E\u6027\uFF0C\u53EF\u4EE5\u5728Controller\u4E2D\u8BFB\u53D6
#application.hello=Hello Angel From application
#spring session & redis
#TODO 后续可以考虑修改redis连接池大小
#spring.redis.host=localhost
#spring.redis.port=6379
#server.session.timeout=1800
#spring.session.store-type=redis
#spring.session.redis.namespace=session
#druid datasource
#启用druid数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#数据源相关配置明细
spring.datasource.url=jdbc:mysql://rm-pz5r6i51higju5k89.mysql.rds.aliyuncs.com:3306/zuihuibi_prod?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=ajb_online
spring.datasource.password=rsv_idx=1&tn=ba
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 初始化链接
spring.datasource.initialSize=5
#最小链接数
spring.datasource.minIdle=5
#最大连接数
spring.datasource.maxActive=20
# 获取连接等待超时的时间 毫秒
spring.datasource.maxWait=60000
# 间隔多久才进行一次检测,检测需要关闭的空闲连接,毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
#连接在池中最小生存的时间,毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
#检测有效链接
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
########################################################
### Java Persistence Api
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = false
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.properties.hibernate.use_sql_comments=false
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
# JWT expiration\u5355\u4F4D\u79D2\u949F
jwt.header:X-Authorization
jwt.seal:zhb123!@#
jwt.expiration:86400
jwt.issuer:zuihuibi
jwt.bypass:/demo/user/loginDemo,/auth/token,/demo/login,/demo/register
#tomcat 端口号
server.port=9999
server.context-path=/synch
# \u9875\u9762\u9ED8\u8BA4\u524D\u7F00\u76EE\u5F55
spring.mvc.view.prefix=/
# \u54CD\u5E94\u9875\u9762\u9ED8\u8BA4\u540E\u7F00
spring.mvc.view.suffix=.jsp
# \u81EA\u5B9A\u4E49\u5C5E\u6027\uFF0C\u53EF\u4EE5\u5728Controller\u4E2D\u8BFB\u53D6
#application.hello=Hello Angel From application
#spring session & redis
#TODO 后续可以考虑修改redis连接池大小
#spring.redis.host=localhost
#spring.redis.port=6379
#server.session.timeout=1800
#spring.session.store-type=redis
#spring.session.redis.namespace=session
#druid datasource
#启用druid数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#数据源相关配置明细
spring.datasource.url=jdbc:mysql://rm-pz5r6i51higju5k89.mysql.rds.aliyuncs.com:3306/ajb?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=ajb_stage
spring.datasource.password=tAxnUkmPtJXRT#
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 初始化链接
spring.datasource.initialSize=5
#最小链接数
spring.datasource.minIdle=5
#最大连接数
spring.datasource.maxActive=20
# 获取连接等待超时的时间 毫秒
spring.datasource.maxWait=60000
# 间隔多久才进行一次检测,检测需要关闭的空闲连接,毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
#连接在池中最小生存的时间,毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
#检测有效链接
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
########################################################
### Java Persistence Api
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = false
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.properties.hibernate.use_sql_comments=false
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
# JWT expiration单位秒钟
jwt.header:X-Authorization
jwt.seal:zhb123!@#
jwt.expiration:86400
jwt.issuer:zuihuibi
jwt.bypass:/demo/user/loginDemo,/auth/token,/demo/login,/demo/register
spring.profiles.active=local
spring.session.store-type=none
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 使用spring profile 来管理多环节log文件 -->
<springProfile name="local"> <!-- local 环境 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><!-- 控制台输出 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 按照每天生成日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>opt/log/ajb/ajb-api.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件输出的文件名 -->
<MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><!--日志文件最大的大小 -->
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<appender name="accurateQuotationFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>opt/log/ajb/accurate.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern>
</encoder>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
</springProfile>
<springProfile name="dev,stage"> <!-- dev stage 环境 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/ajb/ajb-api.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern>
</encoder>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<appender name="accurateQuotationFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/ajb/accurate.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern>
</encoder>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
</springProfile>
<springProfile name="prod"><!-- prod环境 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/ajb/ajb-api.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern>
</encoder>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<appender name="accurateQuotationFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/opt/log/ajb/accurate.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory><!--日志文件保留天数 -->
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}- %msg%n</pattern>
</encoder>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
</springProfile>
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
<logger name="accurateQuotation" level="WARN" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="accurateQuotationFILE"/>
</logger>
</configuration>
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIIDQDCCAqmgAwIBAgIJAPVQkk4TuAWMMA0GCSqGSIb3DQEBBQUAMHQxCzAJBgNV
BAYTAkNOMQswCQYDVQQIEwJTSDELMAkGA1UEBxMCU0gxDjAMBgNVBAoTBUFYQVRQ
MQ8wDQYDVQQLEwZFQ1NBTEUxCzAJBgNVBAMTAkxLMR0wGwYJKoZIhvcNAQkBFg5s
aXV5Y0A5NTU1MC5jbjAeFw0xNDA0MjIwMjE2MjRaFw0xNjA1MTEwMjE2MjRaMHQx
CzAJBgNVBAYTAkNOMQswCQYDVQQIEwJTSDELMAkGA1UEBxMCU0gxDjAMBgNVBAoT
BUFYQVRQMQ8wDQYDVQQLEwZFQ1NBTEUxCzAJBgNVBAMTAkxLMR0wGwYJKoZIhvcN
AQkBFg5saXV5Y0A5NTU1MC5jbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
xDWU69rNzoqTlXxKCoJkFYhcQiyu3y9xYlx9QmVso4LyfCUgdAsZjCOqFxn9t7Ra
rQBdrvq542QEozS5tGIVNM08kgXWsQXjAcFcP1rhybxJAYzcoZkzm3eqp+5xn8E8
WG7hTuep0RWtVmVC9pg0yVQ8Pwq7t9Kbah7TB4aW6KMCAwEAAaOB2TCB1jAdBgNV
HQ4EFgQU8N3TwSi3D1PrPTkLeKosW+0h36swgaYGA1UdIwSBnjCBm4AU8N3TwSi3
D1PrPTkLeKosW+0h36uheKR2MHQxCzAJBgNVBAYTAkNOMQswCQYDVQQIEwJTSDEL
MAkGA1UEBxMCU0gxDjAMBgNVBAoTBUFYQVRQMQ8wDQYDVQQLEwZFQ1NBTEUxCzAJ
BgNVBAMTAkxLMR0wGwYJKoZIhvcNAQkBFg5saXV5Y0A5NTU1MC5jboIJAPVQkk4T
uAWMMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAqS9q9OguUaT0qKY8
iFykZR8fnfhv9P1de3bkdOD6TVe4vbF5sHApxLunWWoMRRKMWldI1EuAtP8MLUek
CTRyh8UzSTQR4+DJE+GYDYsCeayjL70VHSDwP1gM+Y67IwqbxAfPerJSjZbHwTCo
ZJDrtdsXjY1tneI9yBp+Bf5ImHM=
-----END CERTIFICATE-----
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>安联购买</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
<%if(request.getAttribute("msg")!=null){%>
alert("<%=request.getAttribute("msg")%>");
<%}%>
</script>
</head>
<body>
<form id="formId" action="allianzBuy" method="post">
<table align="center">
<tr><td colspan="2" align="center"><b>安联订单确认</b></td></tr>
<tr></tr><!-- AC000039 LXGTI AC000006 apliyTest-->
<tr><td>销售渠道代码</td><td> <input type="text" id="agencyCode" name="agencyCode" value = "AC000006"></td></tr>
<tr><td>方案代码</td><td><input type="text" id="planCode" name="planCode" value = "apliyTest"></td></tr>
<tr><td>保险天数</td><td> <input type="text" id="period" name="period" value = "1"></td></tr>
<tr></tr>
<tr><td colspan="2" align="center"><input type="submit" value="购买" /></td></tr>
</table>
</form>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>选择支付方式</title>
</head>
<body>
<form action="allianzPayment" method="post">
<label for="male">渠道号:<%=request.getAttribute("agencyCode")%></label><br/>
<input type="hidden" name="agencyCode" value="<%=request.getAttribute("agencyCode")%>"/>
<label for="male">保单号:<%=request.getAttribute("policyRef")%></label><br/>
<input type="hidden" name="policyRef" value="<%=request.getAttribute("policyRef")%>"/>
<label for="male">保单价格:<%=request.getAttribute("totalPremium")%></label><br/>
<input type="hidden" name="totalPremium" value="<%=request.getAttribute("totalPremium")%>"/>
<label for="male">支付方式</label>
<input type="radio" name="paymentMethod" value="alipay" checked="checked">支付宝
<input type="radio" name="paymentMethod" value="99bill">快钱<br/>
<input type="radio" name="paymentMethod" value="wxpay" >微信
<input type="radio" name="paymentMethod" value="wapalipay" >手机支付宝
<Input type="submit" value="Submit"/>
</form>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>公共信息页面</title>
</head>
<body>
<b>Hi! Here is Message:</b>
<hr>
${title}
<hr>
${returnMessage}
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>利宝产品购买</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
<%if(request.getAttribute("msg")!=null){%>
alert("<%=request.getAttribute("msg")%>");
<%}%>
</script>
</head>
<body>
<form id="formId" action="libertyBuy" method="post">
<table align="center">
<tr><td colspan="2" align="center"><b>利宝订单确认</b></td></tr>
<tr></tr><!-- AC000039 LXGTI AC000006 apliyTest-->
<tr><td>销售渠道代码</td><td> <input type="text" id="agencyUserId" name="agencyUserId" value = "1057"></td></tr>
<tr><td>方案代码</td><td><input type="text" id="productCode" name="productCode" value = "087"></td></tr>
<tr><td>保险天数</td><td> <input type="text" id="period" name="period" value = "3"></td></tr>
<tr></tr>
<tr><td colspan="2" align="center"><input type="submit" value="购买" /></td></tr>
</table>
</form>
</body>
</html>
\ No newline at end of file
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>史带产品购买</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
<%if(request.getAttribute("msg")!=null){%>
alert("<%=request.getAttribute("msg")%>");
<%}%>
</script>
</head>
<body>
<form id="formId" action="starrBuy" method="post">
<table align="center">
<tr><td colspan="2" align="center"><b>史带订单确认</b></td></tr>
<tr></tr><!-- AC000039 LXGTI AC000006 apliyTest-->
<tr><td>销售渠道代码</td><td> <input type="text" id="contractId" name="contractId" value = "144991"></td></tr>
<tr><td>方案代码</td><td><input type="text" id="planId" name="planId" value = "445"></td></tr>
<tr><td>保险天数</td><td> <input type="text" id="period" name="period" value = "10"></td></tr>
<tr><td>保费</td><td> <input type="text" id="premium" name="premium" value = "30"></td></tr>
<tr><td>支付方式</td>
<td>
<input type="radio" name="paymentMethod" value="sweep" >微信扫码(适用于PC网站购买)
<input type="radio" name="paymentMethod" value="subscription" checked="checked">微信支付(适用于手机微信中购买)
<input type="radio" name="paymentMethod" value="alipay" >支付宝
</td>
</tr>
<tr></tr>
<tr><td colspan="2" align="center"><input type="submit" value="购买" /></td></tr>
</table>
</form>
</body>
</html>
\ No newline at end of file
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>史带支付</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script language="javascript">
var out_trade_no = "<%= request.getAttribute("out_trade_no") %>";
var finished = 0;
var XMLHttpReq;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
alert(e);
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {alert(e);}
}
}
}
//发送请求函数
function sendRequest() {
createXMLHttpRequest();
var url = "payResult?out_trade_no="+out_trade_no;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.send(null); // 发送请求
}
// 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
if(finished == 0){
DisplayHot();
setTimeout("sendRequest()", 2000);
}
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
function DisplayHot() {
//var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;
//var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;
//document.getElementById("product").innerHTML = name;
//document.getElementById("count").innerHTML = count;
var result = XMLHttpReq.responseText;
//alert('in DisplayHot ,result = '+result);
//alert( result == "OK");
if(result == "OK"){
finished = 1;
//fm.saomiao.style.display = "none";
//fm.jieguo.style.display = "";
document.getElementById("saomiao").style.display="none";//隐藏
document.getElementById("jieguo").style.display="";//显示
}
}
</script>
<body >
<form name="fm">
<div id="saomiao">
<table align="center">
<tr align="center"><td colspan="2"><b>请打开微信扫码支付</b></td></tr>
<tr><td colspan="2"><img style="height:200px;width:200px" src=<%=request.getParameter("payurl") %> /></td></tr>
</table>
</div>
<div id="jieguo" style="display:none">
<table align="center">
<tr align="center"><td colspan="2"><b>支付成功!</b></td></tr>
</table>
</div>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>内部欢迎信息页面</title>
</head>
<body>
<hr>
${hello}
<hr>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>微信购买</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
<%if(request.getAttribute("msg")!=null){%>
alert("<%=request.getAttribute("msg")%>");
<%}%>
</script>
</head>
<body>
<form id="formId" action="https://mdev.zuihuibi.cn/demo/wechatBuy" method="post">
<table align="center">
<tr><td colspan="2" align="center"><b>订单确认</b></td></tr>
<tr></tr>
<tr><td>产品名称</td><td><input type="text" id="productName" name="productName" value = "安联随心游全家保"></td></tr>
<tr><td>价格</td><td> <input type="text" id="productPrice" name="productPrice" value = "0.01"></td></tr>
<tr><td>支付方式</td><td><input type="radio" name="paymentMethod" value="NATIVE" checked="checked">微信扫码
<input type="radio" name="paymentMethod" value="JSAPI" >手机微信中购买
</td></tr>
<tr></tr>
<tr><td colspan="2" align="center"><input type="submit" value="购买" /></td></tr>
</table>
</form>
</body>
</html>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>微信支付</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script language="javascript">
var out_trade_no = "<%= request.getAttribute("out_trade_no") %>";
//alert(out_trade_no);
var code_url = "<%=request.getAttribute("code_url")%>";
//alert(code_url);
var finished = 0;
var XMLHttpReq;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
alert(e);
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {alert(e);}
}
}
}
//发送请求函数
function sendRequest() {
createXMLHttpRequest();
var url = "https://mdev.zuihuibi.cn/demo/payResult?out_trade_no="+out_trade_no;
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.send(null); // 发送请求
}
// 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
if(finished == 0){
DisplayHot();
setTimeout("sendRequest()", 2000);
}
} else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
function DisplayHot() {
//var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;
//var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;
//document.getElementById("product").innerHTML = name;
//document.getElementById("count").innerHTML = count;
var result = XMLHttpReq.responseText;
//alert('in DisplayHot ,result = '+result);
//alert( result == "OK");
if(result == "OK"){
finished = 1;
//fm.saomao.style.display = "none";
//fm.jieguo.style.display = "";
document.getElementById("saomao").style.display="none";//隐藏
document.getElementById("jieguo").style.display="";//显示
}
}
</script>
<body onload="sendRequest()">
<form name="fm">
<div id="saomao">
<table align="center">
<tr align="center"><td colspan="2"><b>请打开微信扫码支付</b></td></tr>
<tr><td colspan="2"><img style="height:200px;width:200px" src="qrCode?code_url=<%=request.getAttribute("code_url")%>" /></td></tr>
</table>
</div>
<div id="jieguo" style="display:none">
<table align="center">
<tr align="center"><td colspan="2"><b>支付成功!</b></td></tr>
</table>
</div>
</form>
</body>
</html>
/*! jQuery v1.7.2 jquery.com | jquery.org/license */
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.8.0_121">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ajb-car-entity</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding/<project>=UTF-8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="ajb-car-entity">
<wb-resource deploy-path="/" source-path="/src/main/java"/>
</wb-module>
</project-modules>
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="cloudfoundry.standalone.app" version="1.0"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.utility" version="1.0"/>
</faceted-project>
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ajb-car</groupId>
<artifactId>ajb-car</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>ajb-car-entity</artifactId>
<name>ajb-car-entity</name>
<url>http://maven.apache.org</url>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
</project>
package com.ajb.car.entity.apimessage;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
记录接口调用原始消息
*/
@Entity
@Table(name="ag_trans_vehicle_msg_origin")
public class AgTransVehicleMsgOrigin implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// 序号
private Long id;
// I=Insurer V=Vendor O=Other
// ag_acl_insurer.id or ag_acl_vendor.id
private String quoteProviderType;
// 报价提供方id
private Long quoteProviderId;
// 报价提供方
private String quoteProvider;
// 请求host
private String requestHost;
// 请求参数json
private String requestParams;
// 请求方法URI
private String requestMethod;
// 请求类型
private String requestType;
// 请求日期
private Date requestDate;
// 登录用户id
private Integer userId;
// 登录用户名称
private String userName;
// 相应内容json
private String responseMessage;
/** ?? 序号,???? ag_trans_vehicle_msg_origin.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? 序号,???? ag_trans_vehicle_msg_origin.id */
public void setId(Long id){
this.id = id;
}
/** ?? I=Insurer V=Vendor O=Other
ag_acl_insurer.id or ag_acl_vendor.id
,???? ag_trans_vehicle_msg_origin.quote_provider_type */
@Column(name="quote_provider_type")
public String getQuoteProviderType(){
return this.quoteProviderType;
}
/** ?? I=Insurer V=Vendor O=Other
ag_acl_insurer.id or ag_acl_vendor.id
,???? ag_trans_vehicle_msg_origin.quote_provider_type */
public void setQuoteProviderType(String quoteProviderType){
this.quoteProviderType = quoteProviderType;
}
/** ?? 报价提供方id,???? ag_trans_vehicle_msg_origin.quote_provider_id */
@Column(name="quote_provider_id")
public Long getQuoteProviderId(){
return this.quoteProviderId;
}
/** ?? 报价提供方id,???? ag_trans_vehicle_msg_origin.quote_provider_id */
public void setQuoteProviderId(Long quoteProviderId){
this.quoteProviderId = quoteProviderId;
}
/** ?? 报价提供方,???? ag_trans_vehicle_msg_origin.quote_provider */
@Column(name="quote_provider")
public String getQuoteProvider(){
return this.quoteProvider;
}
/** ?? 报价提供方,???? ag_trans_vehicle_msg_origin.quote_provider */
public void setQuoteProvider(String quoteProvider){
this.quoteProvider = quoteProvider;
}
/** ?? 请求host,???? ag_trans_vehicle_msg_origin.request_host */
@Column(name="request_host")
public String getRequestHost(){
return this.requestHost;
}
/** ?? 请求host,???? ag_trans_vehicle_msg_origin.request_host */
public void setRequestHost(String requestHost){
this.requestHost = requestHost;
}
/** ?? 请求参数json,???? ag_trans_vehicle_msg_origin.request_params */
@Column(name="request_params")
public String getRequestParams(){
return this.requestParams;
}
/** ?? 请求参数json,???? ag_trans_vehicle_msg_origin.request_params */
public void setRequestParams(String requestParams){
this.requestParams = requestParams;
}
/** ?? 请求方法URI,???? ag_trans_vehicle_msg_origin.request_method */
@Column(name="request_method")
public String getRequestMethod(){
return this.requestMethod;
}
/** ?? 请求方法URI,???? ag_trans_vehicle_msg_origin.request_method */
public void setRequestMethod(String requestMethod){
this.requestMethod = requestMethod;
}
/** ?? 请求类型,???? ag_trans_vehicle_msg_origin.request_type */
@Column(name="request_type")
public String getRequestType(){
return this.requestType;
}
/** ?? 请求类型,???? ag_trans_vehicle_msg_origin.request_type */
public void setRequestType(String requestType){
this.requestType = requestType;
}
/** ?? 请求日期,???? ag_trans_vehicle_msg_origin.request_date */
@Column(name="request_date")
public Date getRequestDate(){
return this.requestDate;
}
/** ?? 请求日期,???? ag_trans_vehicle_msg_origin.request_date */
public void setRequestDate(Date requestDate){
this.requestDate = requestDate;
}
/** ?? 登录用户id,???? ag_trans_vehicle_msg_origin.user_id */
@Column(name="user_id")
public Integer getUserId(){
return this.userId;
}
/** ?? 登录用户id,???? ag_trans_vehicle_msg_origin.user_id */
public void setUserId(Integer userId){
this.userId = userId;
}
/** ?? 登录用户名称,???? ag_trans_vehicle_msg_origin.user_name */
@Column(name="user_name")
public String getUserName(){
return this.userName;
}
/** ?? 登录用户名称,???? ag_trans_vehicle_msg_origin.user_name */
public void setUserName(String userName){
this.userName = userName;
}
/** ?? 相应内容json,???? ag_trans_vehicle_msg_origin.response_message */
@Column(name="response_message")
public String getResponseMessage(){
return this.responseMessage;
}
/** ?? 相应内容json,???? ag_trans_vehicle_msg_origin.response_message */
public void setResponseMessage(String responseMessage){
this.responseMessage = responseMessage;
}
}
\ No newline at end of file
package com.ajb.car.entity.meta;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
代码表
*/
@Entity
@Table(name="ag_md_code")
public class AgMdCode implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// 主键
private Long id;
// 代码类型
private String codeType;
// 序号
private Integer displayNo;
// 代码值
private String codeCode;
// 代码名称
private String codeName;
// 代码英文名称
private String codeNameEn;
// 0=No, 1=Yes
private Integer isActive;
// 标识
private String flag;
// 备注
private String remark;
// 创建时间
private Date createdAt;
// 创建人
private Long createdBy;
// 修改时间
private Date updatedAt;
// 修改人
private Long updatedBy;
/** ?? 主键,???? ag_md_code.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? 主键,???? ag_md_code.id */
public void setId(Long id){
this.id = id;
}
/** ?? 代码类型,???? ag_md_code.code_type */
@Column(name="code_type")
public String getCodeType(){
return this.codeType;
}
/** ?? 代码类型,???? ag_md_code.code_type */
public void setCodeType(String codeType){
this.codeType = codeType;
}
/** ?? 序号,???? ag_md_code.display_no */
@Column(name="display_no")
public Integer getDisplayNo(){
return this.displayNo;
}
/** ?? 序号,???? ag_md_code.display_no */
public void setDisplayNo(Integer displayNo){
this.displayNo = displayNo;
}
/** ?? 代码值,???? ag_md_code.code_code */
@Column(name="code_code")
public String getCodeCode(){
return this.codeCode;
}
/** ?? 代码值,???? ag_md_code.code_code */
public void setCodeCode(String codeCode){
this.codeCode = codeCode;
}
/** ?? 代码名称,???? ag_md_code.code_name */
@Column(name="code_name")
public String getCodeName(){
return this.codeName;
}
/** ?? 代码名称,???? ag_md_code.code_name */
public void setCodeName(String codeName){
this.codeName = codeName;
}
/** ?? 代码英文名称,???? ag_md_code.code_name_en */
@Column(name="code_name_en")
public String getCodeNameEn(){
return this.codeNameEn;
}
/** ?? 代码英文名称,???? ag_md_code.code_name_en */
public void setCodeNameEn(String codeNameEn){
this.codeNameEn = codeNameEn;
}
/** ?? 0=No, 1=Yes,???? ag_md_code.is_active */
@Column(name="is_active")
public Integer getIsActive(){
return this.isActive;
}
/** ?? 0=No, 1=Yes,???? ag_md_code.is_active */
public void setIsActive(Integer isActive){
this.isActive = isActive;
}
/** ?? 标识,???? ag_md_code.flag */
@Column(name="flag")
public String getFlag(){
return this.flag;
}
/** ?? 标识,???? ag_md_code.flag */
public void setFlag(String flag){
this.flag = flag;
}
/** ?? 备注,???? ag_md_code.remark */
@Column(name="remark")
public String getRemark(){
return this.remark;
}
/** ?? 备注,???? ag_md_code.remark */
public void setRemark(String remark){
this.remark = remark;
}
/** ?? 创建时间,???? ag_md_code.created_at */
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
/** ?? 创建时间,???? ag_md_code.created_at */
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
/** ?? 创建人,???? ag_md_code.created_by */
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
/** ?? 创建人,???? ag_md_code.created_by */
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
/** ?? 修改时间,???? ag_md_code.updated_at */
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
/** ?? 修改时间,???? ag_md_code.updated_at */
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
/** ?? 修改人,???? ag_md_code.updated_by */
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
/** ?? 修改人,???? ag_md_code.updated_by */
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
package com.ajb.car.entity.meta;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
代码类型表
*/
@Entity
@Table(name="ag_md_code_type")
public class AgMdCodeType implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// 主键
private Long id;
// 代码类型
private String codeType;
// 代码类型描述
private String codeTypeDesc;
// 代码类型英文描述
private String codeTypeDescEn;
// 0=No, 1=Yes
private Integer isActive;
// 标识
private String flag;
// 备注
private String remark;
// 创建时间
private Date createdAt;
// 创建人
private Long createdBy;
// 修改时间
private Date updatedAt;
// 修改人
private Long updatedBy;
/** ?? 主键,???? ag_md_code_type.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? 主键,???? ag_md_code_type.id */
public void setId(Long id){
this.id = id;
}
/** ?? 代码类型,???? ag_md_code_type.code_type */
@Column(name="code_type")
public String getCodeType(){
return this.codeType;
}
/** ?? 代码类型,???? ag_md_code_type.code_type */
public void setCodeType(String codeType){
this.codeType = codeType;
}
/** ?? 代码类型描述,???? ag_md_code_type.code_type_desc */
@Column(name="code_type_desc")
public String getCodeTypeDesc(){
return this.codeTypeDesc;
}
/** ?? 代码类型描述,???? ag_md_code_type.code_type_desc */
public void setCodeTypeDesc(String codeTypeDesc){
this.codeTypeDesc = codeTypeDesc;
}
/** ?? 代码类型英文描述,???? ag_md_code_type.code_type_desc_en */
@Column(name="code_type_desc_en")
public String getCodeTypeDescEn(){
return this.codeTypeDescEn;
}
/** ?? 代码类型英文描述,???? ag_md_code_type.code_type_desc_en */
public void setCodeTypeDescEn(String codeTypeDescEn){
this.codeTypeDescEn = codeTypeDescEn;
}
/** ?? 0=No, 1=Yes,???? ag_md_code_type.is_active */
@Column(name="is_active")
public Integer getIsActive(){
return this.isActive;
}
/** ?? 0=No, 1=Yes,???? ag_md_code_type.is_active */
public void setIsActive(Integer isActive){
this.isActive = isActive;
}
/** ?? 标识,???? ag_md_code_type.flag */
@Column(name="flag")
public String getFlag(){
return this.flag;
}
/** ?? 标识,???? ag_md_code_type.flag */
public void setFlag(String flag){
this.flag = flag;
}
/** ?? 备注,???? ag_md_code_type.remark */
@Column(name="remark")
public String getRemark(){
return this.remark;
}
/** ?? 备注,???? ag_md_code_type.remark */
public void setRemark(String remark){
this.remark = remark;
}
/** ?? 创建时间,???? ag_md_code_type.created_at */
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
/** ?? 创建时间,???? ag_md_code_type.created_at */
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
/** ?? 创建人,???? ag_md_code_type.created_by */
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
/** ?? 创建人,???? ag_md_code_type.created_by */
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
/** ?? 修改时间,???? ag_md_code_type.updated_at */
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
/** ?? 修改时间,???? ag_md_code_type.updated_at */
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
/** ?? 修改人,???? ag_md_code_type.updated_by */
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
/** ?? 修改人,???? ag_md_code_type.updated_by */
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
package com.ajb.car.entity.quotation;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
报价单表
*/
@Entity
@Table(name="ag_po_quotation")
public class AgPoQuotation implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private Long id;
// 报价单号
private String quoteNo;
// 报价单
private Date quoteVersion;
// 报价车辆id, FK ag_po_quotation_vehicle.id
private Long quoteVehicleId;
// 1:YES=新保, 2:No=续保
private Integer isRenewal;
// 0:单商业,1:单交强,2:关联出单
private Integer quoteType;
// 0=open临时报价 1=confirm确认报价 2=completed保险公司确认 3=cancelled 4=overdue 9=error
private Integer quoteStatus;
// I=Insurer V=Vendor O=Other
private String quoteProviderType;
// FK ag_acl_insurer.id or ag_acl_vendor.id
private Long quoteProviderId;
// 请求报价客户id
private Long customerId;
// 客户手机
private String plateNo;
// 客户手机
private String customerMobile;
// 客户名称
private String customerName;
// 币种
private String currency;
// 总保费
private BigDecimal totalPremium;
// 总折扣金额
private BigDecimal totalDiscount;
// 总佣金
private BigDecimal totalCharge;
// 车船税
private BigDecimal vehicleTax;
// 交强险状态0 无报价1 正常报价2 无法报价
private Integer compulsoryStatus;
// 交强险报价信息说明
private String compulsoryMessage;
// 交强险保费
private BigDecimal compulsoryPremium;
// 交强险折扣金额
private BigDecimal compulsoryDiscount;
// 交强险期开始日期
private Date compulsoryStart;
// 交强险期截止日期
private Date compulsoryEnd;
// 交强险佣金
private BigDecimal compulsoryCharge;
// 商业险状态0 无报价1 正常报价2 无法报价
private Integer businessInsuranceStatus;
// 商业险报价信息说明
private String businessInsuranceMessage;
// 商业险保费
private BigDecimal businessInsurancePremium;
// 商业险费率
private BigDecimal businessInsuranceFloatingRate;
// 商业险折扣金额
private BigDecimal businessInsuranceDiscount;
// 商业险开始日期
private Date businessInsuranceStart;
// 商业险截止日期
private Date businessInsuranceEnd;
// 商业险佣金
private BigDecimal businessInsuranceCharge;
// 归属部门
private String departmentBelong;
// 归属人
private String departmentBelonger;
// 经办人
private String operator;
// 渠道代码
private String channelCode;
// 团单号
private String groupNumber;
// 出单机构
private String issueAssociation;
// 创建时间
private Date createdAt;
// 创建人
private Long createdBy;
// 修改时间
private Date updatedAt;
// 修改人
private Long updatedBy;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
public void setId(Long id){
this.id = id;
}
/** ?? 报价单号,???? ag_po_quotation.quote_no */
@Column(name="quote_no")
public String getQuoteNo(){
return this.quoteNo;
}
/** ?? 报价单号,???? ag_po_quotation.quote_no */
public void setQuoteNo(String quoteNo){
this.quoteNo = quoteNo;
}
/** ?? 报价单,???? ag_po_quotation.quote_version */
@Column(name="quote_version")
public Date getQuoteVersion(){
return this.quoteVersion;
}
/** ?? 报价单,???? ag_po_quotation.quote_version */
public void setQuoteVersion(Date quoteVersion){
this.quoteVersion = quoteVersion;
}
/** ?? 报价车辆id, FK ag_po_quotation_vehicle.id,???? ag_po_quotation.quote_vehicle_id */
@Column(name="quote_vehicle_id")
public Long getQuoteVehicleId(){
return this.quoteVehicleId;
}
/** ?? 报价车辆id, FK ag_po_quotation_vehicle.id,???? ag_po_quotation.quote_vehicle_id */
public void setQuoteVehicleId(Long quoteVehicleId){
this.quoteVehicleId = quoteVehicleId;
}
/** ?? 1:YES=新保, 2:No=续保,???? ag_po_quotation.is_renewal */
@Column(name="is_renewal")
public Integer getIsRenewal(){
return this.isRenewal;
}
/** ?? 1:YES=新保, 2:No=续保,???? ag_po_quotation.is_renewal */
public void setIsRenewal(Integer isRenewal){
this.isRenewal = isRenewal;
}
/** ?? 0:单商业,1:单交强,2:关联出单,???? ag_po_quotation.quote_type */
@Column(name="quote_type")
public Integer getQuoteType(){
return this.quoteType;
}
/** ?? 0:单商业,1:单交强,2:关联出单,???? ag_po_quotation.quote_type */
public void setQuoteType(Integer quoteType){
this.quoteType = quoteType;
}
/** ?? 0=open临时报价 1=confirm确认报价 2=completed保险公司确认 3=cancelled 4=overdue 9=error,???? ag_po_quotation.quote_status */
@Column(name="quote_status")
public Integer getQuoteStatus(){
return this.quoteStatus;
}
/** ?? 0=open临时报价 1=confirm确认报价 2=completed保险公司确认 3=cancelled 4=overdue 9=error,???? ag_po_quotation.quote_status */
public void setQuoteStatus(Integer quoteStatus){
this.quoteStatus = quoteStatus;
}
/** ?? I=Insurer V=Vendor O=Other,???? ag_po_quotation.quote_provider_type */
@Column(name="quote_provider_type")
public String getQuoteProviderType(){
return this.quoteProviderType;
}
/** ?? I=Insurer V=Vendor O=Other,???? ag_po_quotation.quote_provider_type */
public void setQuoteProviderType(String quoteProviderType){
this.quoteProviderType = quoteProviderType;
}
/** ?? FK ag_acl_insurer.id or ag_acl_vendor.id,???? ag_po_quotation.quote_provider_id */
@Column(name="quote_provider_id")
public Long getQuoteProviderId(){
return this.quoteProviderId;
}
/** ?? FK ag_acl_insurer.id or ag_acl_vendor.id,???? ag_po_quotation.quote_provider_id */
public void setQuoteProviderId(Long quoteProviderId){
this.quoteProviderId = quoteProviderId;
}
/** ?? 请求报价客户id,???? ag_po_quotation.customer_id */
@Column(name="customer_id")
public Long getCustomerId(){
return this.customerId;
}
/** ?? 请求报价客户id,???? ag_po_quotation.customer_id */
public void setCustomerId(Long customerId){
this.customerId = customerId;
}
/** ?? 客户手机,???? ag_po_quotation.plate_no */
@Column(name="plate_no")
public String getPlateNo(){
return this.plateNo;
}
/** ?? 客户手机,???? ag_po_quotation.plate_no */
public void setPlateNo(String plateNo){
this.plateNo = plateNo;
}
/** ?? 客户手机,???? ag_po_quotation.customer_mobile */
@Column(name="customer_mobile")
public String getCustomerMobile(){
return this.customerMobile;
}
/** ?? 客户手机,???? ag_po_quotation.customer_mobile */
public void setCustomerMobile(String customerMobile){
this.customerMobile = customerMobile;
}
/** ?? 客户名称,???? ag_po_quotation.customer_name */
@Column(name="customer_name")
public String getCustomerName(){
return this.customerName;
}
/** ?? 客户名称,???? ag_po_quotation.customer_name */
public void setCustomerName(String customerName){
this.customerName = customerName;
}
/** ?? 币种,???? ag_po_quotation.currency */
@Column(name="currency")
public String getCurrency(){
return this.currency;
}
/** ?? 币种,???? ag_po_quotation.currency */
public void setCurrency(String currency){
this.currency = currency;
}
/** ?? 总保费,???? ag_po_quotation.total_premium */
@Column(name="total_premium")
public BigDecimal getTotalPremium(){
return this.totalPremium;
}
/** ?? 总保费,???? ag_po_quotation.total_premium */
public void setTotalPremium(BigDecimal totalPremium){
this.totalPremium = totalPremium;
}
/** ?? 总折扣金额,???? ag_po_quotation.total_discount */
@Column(name="total_discount")
public BigDecimal getTotalDiscount(){
return this.totalDiscount;
}
/** ?? 总折扣金额,???? ag_po_quotation.total_discount */
public void setTotalDiscount(BigDecimal totalDiscount){
this.totalDiscount = totalDiscount;
}
/** ?? 总佣金,???? ag_po_quotation.total_charge */
@Column(name="total_charge")
public BigDecimal getTotalCharge(){
return this.totalCharge;
}
/** ?? 总佣金,???? ag_po_quotation.total_charge */
public void setTotalCharge(BigDecimal totalCharge){
this.totalCharge = totalCharge;
}
/** ?? 车船税,???? ag_po_quotation.vehicle_tax */
@Column(name="vehicle_tax")
public BigDecimal getVehicleTax(){
return this.vehicleTax;
}
/** ?? 车船税,???? ag_po_quotation.vehicle_tax */
public void setVehicleTax(BigDecimal vehicleTax){
this.vehicleTax = vehicleTax;
}
/** ?? 交强险状态0 无报价1 正常报价2 无法报价
,???? ag_po_quotation.compulsory_status */
@Column(name="compulsory_status")
public Integer getCompulsoryStatus(){
return this.compulsoryStatus;
}
/** ?? 交强险状态0 无报价1 正常报价2 无法报价
,???? ag_po_quotation.compulsory_status */
public void setCompulsoryStatus(Integer compulsoryStatus){
this.compulsoryStatus = compulsoryStatus;
}
/** ?? 交强险报价信息说明,???? ag_po_quotation.compulsory_message */
@Column(name="compulsory_message")
public String getCompulsoryMessage(){
return this.compulsoryMessage;
}
/** ?? 交强险报价信息说明,???? ag_po_quotation.compulsory_message */
public void setCompulsoryMessage(String compulsoryMessage){
this.compulsoryMessage = compulsoryMessage;
}
/** ?? 交强险保费,???? ag_po_quotation.compulsory_premium */
@Column(name="compulsory_premium")
public BigDecimal getCompulsoryPremium(){
return this.compulsoryPremium;
}
/** ?? 交强险保费,???? ag_po_quotation.compulsory_premium */
public void setCompulsoryPremium(BigDecimal compulsoryPremium){
this.compulsoryPremium = compulsoryPremium;
}
/** ?? 交强险折扣金额,???? ag_po_quotation.compulsory_discount */
@Column(name="compulsory_discount")
public BigDecimal getCompulsoryDiscount(){
return this.compulsoryDiscount;
}
/** ?? 交强险折扣金额,???? ag_po_quotation.compulsory_discount */
public void setCompulsoryDiscount(BigDecimal compulsoryDiscount){
this.compulsoryDiscount = compulsoryDiscount;
}
/** ?? 交强险期开始日期,???? ag_po_quotation.compulsory_start */
@Column(name="compulsory_start")
public Date getCompulsoryStart(){
return this.compulsoryStart;
}
/** ?? 交强险期开始日期,???? ag_po_quotation.compulsory_start */
public void setCompulsoryStart(Date compulsoryStart){
this.compulsoryStart = compulsoryStart;
}
/** ?? 交强险期截止日期,???? ag_po_quotation.compulsory_end */
@Column(name="compulsory_end")
public Date getCompulsoryEnd(){
return this.compulsoryEnd;
}
/** ?? 交强险期截止日期,???? ag_po_quotation.compulsory_end */
public void setCompulsoryEnd(Date compulsoryEnd){
this.compulsoryEnd = compulsoryEnd;
}
/** ?? 交强险佣金,???? ag_po_quotation.compulsory_charge */
@Column(name="compulsory_charge")
public BigDecimal getCompulsoryCharge(){
return this.compulsoryCharge;
}
/** ?? 交强险佣金,???? ag_po_quotation.compulsory_charge */
public void setCompulsoryCharge(BigDecimal compulsoryCharge){
this.compulsoryCharge = compulsoryCharge;
}
/** ?? 商业险状态0 无报价1 正常报价2 无法报价
,???? ag_po_quotation.business_insurance_status */
@Column(name="business_insurance_status")
public Integer getBusinessInsuranceStatus(){
return this.businessInsuranceStatus;
}
/** ?? 商业险状态0 无报价1 正常报价2 无法报价
,???? ag_po_quotation.business_insurance_status */
public void setBusinessInsuranceStatus(Integer businessInsuranceStatus){
this.businessInsuranceStatus = businessInsuranceStatus;
}
/** ?? 商业险报价信息说明,???? ag_po_quotation.business_insurance_message */
@Column(name="business_insurance_message")
public String getBusinessInsuranceMessage(){
return this.businessInsuranceMessage;
}
/** ?? 商业险报价信息说明,???? ag_po_quotation.business_insurance_message */
public void setBusinessInsuranceMessage(String businessInsuranceMessage){
this.businessInsuranceMessage = businessInsuranceMessage;
}
/** ?? 商业险保费,???? ag_po_quotation.business_insurance_premium */
@Column(name="business_insurance_premium")
public BigDecimal getBusinessInsurancePremium(){
return this.businessInsurancePremium;
}
/** ?? 商业险保费,???? ag_po_quotation.business_insurance_premium */
public void setBusinessInsurancePremium(BigDecimal businessInsurancePremium){
this.businessInsurancePremium = businessInsurancePremium;
}
/** ?? 商业险费率,???? ag_po_quotation.business_insurance_floating_rate */
@Column(name="business_insurance_floating_rate")
public BigDecimal getBusinessInsuranceFloatingRate(){
return this.businessInsuranceFloatingRate;
}
/** ?? 商业险费率,???? ag_po_quotation.business_insurance_floating_rate */
public void setBusinessInsuranceFloatingRate(BigDecimal businessInsuranceFloatingRate){
this.businessInsuranceFloatingRate = businessInsuranceFloatingRate;
}
/** ?? 商业险折扣金额,???? ag_po_quotation.business_insurance_discount */
@Column(name="business_insurance_discount")
public BigDecimal getBusinessInsuranceDiscount(){
return this.businessInsuranceDiscount;
}
/** ?? 商业险折扣金额,???? ag_po_quotation.business_insurance_discount */
public void setBusinessInsuranceDiscount(BigDecimal businessInsuranceDiscount){
this.businessInsuranceDiscount = businessInsuranceDiscount;
}
/** ?? 商业险开始日期,???? ag_po_quotation.business_insurance_start */
@Column(name="business_insurance_start")
public Date getBusinessInsuranceStart(){
return this.businessInsuranceStart;
}
/** ?? 商业险开始日期,???? ag_po_quotation.business_insurance_start */
public void setBusinessInsuranceStart(Date businessInsuranceStart){
this.businessInsuranceStart = businessInsuranceStart;
}
/** ?? 商业险截止日期,???? ag_po_quotation.business_insurance_end */
@Column(name="business_insurance_end")
public Date getBusinessInsuranceEnd(){
return this.businessInsuranceEnd;
}
/** ?? 商业险截止日期,???? ag_po_quotation.business_insurance_end */
public void setBusinessInsuranceEnd(Date businessInsuranceEnd){
this.businessInsuranceEnd = businessInsuranceEnd;
}
/** ?? 商业险佣金,???? ag_po_quotation.business_insurance_charge */
@Column(name="business_insurance_charge")
public BigDecimal getBusinessInsuranceCharge(){
return this.businessInsuranceCharge;
}
/** ?? 商业险佣金,???? ag_po_quotation.business_insurance_charge */
public void setBusinessInsuranceCharge(BigDecimal businessInsuranceCharge){
this.businessInsuranceCharge = businessInsuranceCharge;
}
/** ?? 归属部门,???? ag_po_quotation.department_belong */
@Column(name="department_belong")
public String getDepartmentBelong(){
return this.departmentBelong;
}
/** ?? 归属部门,???? ag_po_quotation.department_belong */
public void setDepartmentBelong(String departmentBelong){
this.departmentBelong = departmentBelong;
}
/** ?? 归属人,???? ag_po_quotation.department_belonger */
@Column(name="department_belonger")
public String getDepartmentBelonger(){
return this.departmentBelonger;
}
/** ?? 归属人,???? ag_po_quotation.department_belonger */
public void setDepartmentBelonger(String departmentBelonger){
this.departmentBelonger = departmentBelonger;
}
/** ?? 经办人,???? ag_po_quotation.operator */
@Column(name="operator")
public String getOperator(){
return this.operator;
}
/** ?? 经办人,???? ag_po_quotation.operator */
public void setOperator(String operator){
this.operator = operator;
}
/** ?? 渠道代码,???? ag_po_quotation.channel_code */
@Column(name="channel_code")
public String getChannelCode(){
return this.channelCode;
}
/** ?? 渠道代码,???? ag_po_quotation.channel_code */
public void setChannelCode(String channelCode){
this.channelCode = channelCode;
}
/** ?? 团单号,???? ag_po_quotation.group_number */
@Column(name="group_number")
public String getGroupNumber(){
return this.groupNumber;
}
/** ?? 团单号,???? ag_po_quotation.group_number */
public void setGroupNumber(String groupNumber){
this.groupNumber = groupNumber;
}
/** ?? 出单机构,???? ag_po_quotation.issue_association */
@Column(name="issue_association")
public String getIssueAssociation(){
return this.issueAssociation;
}
/** ?? 出单机构,???? ag_po_quotation.issue_association */
public void setIssueAssociation(String issueAssociation){
this.issueAssociation = issueAssociation;
}
/** ?? 创建时间,???? ag_po_quotation.created_at */
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
/** ?? 创建时间,???? ag_po_quotation.created_at */
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
/** ?? 创建人,???? ag_po_quotation.created_by */
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
/** ?? 创建人,???? ag_po_quotation.created_by */
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
/** ?? 修改时间,???? ag_po_quotation.updated_at */
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
/** ?? 修改时间,???? ag_po_quotation.updated_at */
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
/** ?? 修改人,???? ag_po_quotation.updated_by */
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
/** ?? 修改人,???? ag_po_quotation.updated_by */
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
package com.ajb.car.entity.quotation;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="ag_po_quotation_confirm")
public class AgPoQuotationConfirm implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// id
private Long id;
// 报价单id
private Long quotationId;
// 车辆id
private Long quotationVehicleId;
// 申请人
private String applicantName;
// 投保人证件类型ag_md_vehicle_dictionary ID Type
private String applicantCerttypeId;
// 投保人证件号
private String applicantCertcode;
// 投保人
private String applicantTel;
// 被保人
private String insuredName;
// 被保人证件类型ag_md_vehicle_dictionary ID Type
private String insuredCerttypeId;
// 被保人证件号
private String insuredCertcode;
// 权益人
private String claimantName;
// 权益人证件类型ag_md_vehicle_dictionary ID Type
private String claimantCerttypeId;
// 权益人证件号
private String claimantCertcode;
// 发票类型
private String invoiceKind;
// 发票抬头
private String invoiceTitle;
// 纳税人识别码
private String taxCode;
// 开户银行
private String invoiceBank;
// 银行账户
private String invoiceBankcardId;
// 发票地址
private String invoiceAddress;
// 登记电话
private String invoiceTel;
// 收件人
private String receiverName;
// 收件人电话
private String receiverTel;
// 收件人地址
private String receiverAddress;
// 收件时间
private Date receiverDate;
// 创建时间
private Date createdAt;
// 创建人
private Long createdBy;
// 修改时间
private Date updatedAt;
// 修改人
private Long updatedBy;
/** ?? id,???? ag_po_quotation_confirm.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? id,???? ag_po_quotation_confirm.id */
public void setId(Long id){
this.id = id;
}
/** ?? 报价单id,???? ag_po_quotation_confirm.quotation_id */
@Column(name="quotation_id")
public Long getQuotationId(){
return this.quotationId;
}
/** ?? 报价单id,???? ag_po_quotation_confirm.quotation_id */
public void setQuotationId(Long quotationId){
this.quotationId = quotationId;
}
/** ?? 车辆id,???? ag_po_quotation_confirm.quotation_vehicle_id */
@Column(name="quotation_vehicle_id")
public Long getQuotationVehicleId(){
return this.quotationVehicleId;
}
/** ?? 车辆id,???? ag_po_quotation_confirm.quotation_vehicle_id */
public void setQuotationVehicleId(Long quotationVehicleId){
this.quotationVehicleId = quotationVehicleId;
}
/** ?? 申请人,???? ag_po_quotation_confirm.applicant_name */
@Column(name="applicant_name")
public String getApplicantName(){
return this.applicantName;
}
/** ?? 申请人,???? ag_po_quotation_confirm.applicant_name */
public void setApplicantName(String applicantName){
this.applicantName = applicantName;
}
/** ?? 投保人证件类型ag_md_vehicle_dictionary ID Type,???? ag_po_quotation_confirm.applicant_certtype_id */
@Column(name="applicant_certtype_id")
public String getApplicantCerttypeId(){
return this.applicantCerttypeId;
}
/** ?? 投保人证件类型ag_md_vehicle_dictionary ID Type,???? ag_po_quotation_confirm.applicant_certtype_id */
public void setApplicantCerttypeId(String applicantCerttypeId){
this.applicantCerttypeId = applicantCerttypeId;
}
/** ?? 投保人证件号,???? ag_po_quotation_confirm.applicant_certcode */
@Column(name="applicant_certcode")
public String getApplicantCertcode(){
return this.applicantCertcode;
}
/** ?? 投保人证件号,???? ag_po_quotation_confirm.applicant_certcode */
public void setApplicantCertcode(String applicantCertcode){
this.applicantCertcode = applicantCertcode;
}
/** ?? 投保人,???? ag_po_quotation_confirm.applicant_tel */
@Column(name="applicant_tel")
public String getApplicantTel(){
return this.applicantTel;
}
/** ?? 投保人,???? ag_po_quotation_confirm.applicant_tel */
public void setApplicantTel(String applicantTel){
this.applicantTel = applicantTel;
}
/** ?? 被保人,???? ag_po_quotation_confirm.insured_name */
@Column(name="insured_name")
public String getInsuredName(){
return this.insuredName;
}
/** ?? 被保人,???? ag_po_quotation_confirm.insured_name */
public void setInsuredName(String insuredName){
this.insuredName = insuredName;
}
/** ?? 被保人证件类型ag_md_vehicle_dictionary ID Type,???? ag_po_quotation_confirm.insured_certtype_id */
@Column(name="insured_certtype_id")
public String getInsuredCerttypeId(){
return this.insuredCerttypeId;
}
/** ?? 被保人证件类型ag_md_vehicle_dictionary ID Type,???? ag_po_quotation_confirm.insured_certtype_id */
public void setInsuredCerttypeId(String insuredCerttypeId){
this.insuredCerttypeId = insuredCerttypeId;
}
/** ?? 被保人证件号,???? ag_po_quotation_confirm.insured_certcode */
@Column(name="insured_certcode")
public String getInsuredCertcode(){
return this.insuredCertcode;
}
/** ?? 被保人证件号,???? ag_po_quotation_confirm.insured_certcode */
public void setInsuredCertcode(String insuredCertcode){
this.insuredCertcode = insuredCertcode;
}
/** ?? 权益人,???? ag_po_quotation_confirm.claimant_name */
@Column(name="claimant_name")
public String getClaimantName(){
return this.claimantName;
}
/** ?? 权益人,???? ag_po_quotation_confirm.claimant_name */
public void setClaimantName(String claimantName){
this.claimantName = claimantName;
}
/** ?? 权益人证件类型ag_md_vehicle_dictionary ID Type,???? ag_po_quotation_confirm.claimant_certtype_id */
@Column(name="claimant_certtype_id")
public String getClaimantCerttypeId(){
return this.claimantCerttypeId;
}
/** ?? 权益人证件类型ag_md_vehicle_dictionary ID Type,???? ag_po_quotation_confirm.claimant_certtype_id */
public void setClaimantCerttypeId(String claimantCerttypeId){
this.claimantCerttypeId = claimantCerttypeId;
}
/** ?? 权益人证件号,???? ag_po_quotation_confirm.claimant_certcode */
@Column(name="claimant_certcode")
public String getClaimantCertcode(){
return this.claimantCertcode;
}
/** ?? 权益人证件号,???? ag_po_quotation_confirm.claimant_certcode */
public void setClaimantCertcode(String claimantCertcode){
this.claimantCertcode = claimantCertcode;
}
/** ?? 发票类型,???? ag_po_quotation_confirm.invoice_kind */
@Column(name="invoice_kind")
public String getInvoiceKind(){
return this.invoiceKind;
}
/** ?? 发票类型,???? ag_po_quotation_confirm.invoice_kind */
public void setInvoiceKind(String invoiceKind){
this.invoiceKind = invoiceKind;
}
/** ?? 发票抬头,???? ag_po_quotation_confirm.invoice_title */
@Column(name="invoice_title")
public String getInvoiceTitle(){
return this.invoiceTitle;
}
/** ?? 发票抬头,???? ag_po_quotation_confirm.invoice_title */
public void setInvoiceTitle(String invoiceTitle){
this.invoiceTitle = invoiceTitle;
}
/** ?? 纳税人识别码,???? ag_po_quotation_confirm.tax_code */
@Column(name="tax_code")
public String getTaxCode(){
return this.taxCode;
}
/** ?? 纳税人识别码,???? ag_po_quotation_confirm.tax_code */
public void setTaxCode(String taxCode){
this.taxCode = taxCode;
}
/** ?? 开户银行,???? ag_po_quotation_confirm.invoice_bank */
@Column(name="invoice_bank")
public String getInvoiceBank(){
return this.invoiceBank;
}
/** ?? 开户银行,???? ag_po_quotation_confirm.invoice_bank */
public void setInvoiceBank(String invoiceBank){
this.invoiceBank = invoiceBank;
}
/** ?? 银行账户,???? ag_po_quotation_confirm.invoice_bankcard_id */
@Column(name="invoice_bankcard_id")
public String getInvoiceBankcardId(){
return this.invoiceBankcardId;
}
/** ?? 银行账户,???? ag_po_quotation_confirm.invoice_bankcard_id */
public void setInvoiceBankcardId(String invoiceBankcardId){
this.invoiceBankcardId = invoiceBankcardId;
}
/** ?? 发票地址,???? ag_po_quotation_confirm.invoice_address */
@Column(name="invoice_address")
public String getInvoiceAddress(){
return this.invoiceAddress;
}
/** ?? 发票地址,???? ag_po_quotation_confirm.invoice_address */
public void setInvoiceAddress(String invoiceAddress){
this.invoiceAddress = invoiceAddress;
}
/** ?? 登记电话,???? ag_po_quotation_confirm.invoice_tel */
@Column(name="invoice_tel")
public String getInvoiceTel(){
return this.invoiceTel;
}
/** ?? 登记电话,???? ag_po_quotation_confirm.invoice_tel */
public void setInvoiceTel(String invoiceTel){
this.invoiceTel = invoiceTel;
}
/** ?? 收件人,???? ag_po_quotation_confirm.receiver_name */
@Column(name="receiver_name")
public String getReceiverName(){
return this.receiverName;
}
/** ?? 收件人,???? ag_po_quotation_confirm.receiver_name */
public void setReceiverName(String receiverName){
this.receiverName = receiverName;
}
/** ?? 收件人电话,???? ag_po_quotation_confirm.receiver_tel */
@Column(name="receiver_tel")
public String getReceiverTel(){
return this.receiverTel;
}
/** ?? 收件人电话,???? ag_po_quotation_confirm.receiver_tel */
public void setReceiverTel(String receiverTel){
this.receiverTel = receiverTel;
}
/** ?? 收件人地址,???? ag_po_quotation_confirm.receiver_address */
@Column(name="receiver_address")
public String getReceiverAddress(){
return this.receiverAddress;
}
/** ?? 收件人地址,???? ag_po_quotation_confirm.receiver_address */
public void setReceiverAddress(String receiverAddress){
this.receiverAddress = receiverAddress;
}
/** ?? 收件时间,???? ag_po_quotation_confirm.receiver_date */
@Column(name="receiver_date")
public Date getReceiverDate(){
return this.receiverDate;
}
/** ?? 收件时间,???? ag_po_quotation_confirm.receiver_date */
public void setReceiverDate(Date receiverDate){
this.receiverDate = receiverDate;
}
/** ?? 创建时间,???? ag_po_quotation_confirm.created_at */
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
/** ?? 创建时间,???? ag_po_quotation_confirm.created_at */
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
/** ?? 创建人,???? ag_po_quotation_confirm.created_by */
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
/** ?? 创建人,???? ag_po_quotation_confirm.created_by */
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
/** ?? 修改时间,???? ag_po_quotation_confirm.updated_at */
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
/** ?? 修改时间,???? ag_po_quotation_confirm.updated_at */
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
/** ?? 修改人,???? ag_po_quotation_confirm.updated_by */
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
/** ?? 修改人,???? ag_po_quotation_confirm.updated_by */
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
package com.ajb.car.entity.quotation;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
报价单承保范围
*/
@Entity
@Table(name="ag_po_quotation_cover")
public class AgPoQuotationCover implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// 编号id
private Long id;
// 报价单编号id
private Long quotationId;
// 车辆id
private Long quotationVehicleId;
// 承保款项id
private Long vehicleClauseId;
// 承保款项分类目录
private String clauseCategory;
// 承保款项编码
private String clauseCode;
// 承保款项说明
private String clauseDescription;
// 承保名称
private String coverName;
// 保额
private String coverAmount;
// 费率
private BigDecimal floatingRate;
// 基础保费
private BigDecimal standardPremium;
// 折扣系数
private BigDecimal discountRate;
// 应缴保费
private BigDecimal premium;
// 税费
private BigDecimal tax;
// 数量
private Integer count;
// 创建日期
private Date createdAt;
// 创建人
private Long createdBy;
// 修改时间
private Date updatedAt;
// 修改人
private Long updatedBy;
/** ?? 编号id,???? ag_po_quotation_cover.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? 编号id,???? ag_po_quotation_cover.id */
public void setId(Long id){
this.id = id;
}
/** ?? 报价单编号id,???? ag_po_quotation_cover.quotation_id */
@Column(name="quotation_id")
public Long getQuotationId(){
return this.quotationId;
}
/** ?? 报价单编号id,???? ag_po_quotation_cover.quotation_id */
public void setQuotationId(Long quotationId){
this.quotationId = quotationId;
}
/** ?? 车辆id,???? ag_po_quotation_cover.quotation_vehicle_id */
@Column(name="quotation_vehicle_id")
public Long getQuotationVehicleId(){
return this.quotationVehicleId;
}
/** ?? 车辆id,???? ag_po_quotation_cover.quotation_vehicle_id */
public void setQuotationVehicleId(Long quotationVehicleId){
this.quotationVehicleId = quotationVehicleId;
}
/** ?? 承保款项id,???? ag_po_quotation_cover.vehicle_clause_id */
@Column(name="vehicle_clause_id")
public Long getVehicleClauseId(){
return this.vehicleClauseId;
}
/** ?? 承保款项id,???? ag_po_quotation_cover.vehicle_clause_id */
public void setVehicleClauseId(Long vehicleClauseId){
this.vehicleClauseId = vehicleClauseId;
}
/** ?? 承保款项分类目录,???? ag_po_quotation_cover.clause_category */
@Column(name="clause_category")
public String getClauseCategory(){
return this.clauseCategory;
}
/** ?? 承保款项分类目录,???? ag_po_quotation_cover.clause_category */
public void setClauseCategory(String clauseCategory){
this.clauseCategory = clauseCategory;
}
/** ?? 承保款项编码,???? ag_po_quotation_cover.clause_code */
@Column(name="clause_code")
public String getClauseCode(){
return this.clauseCode;
}
/** ?? 承保款项编码,???? ag_po_quotation_cover.clause_code */
public void setClauseCode(String clauseCode){
this.clauseCode = clauseCode;
}
/** ?? 承保款项说明,???? ag_po_quotation_cover.clause_description */
@Column(name="clause_description")
public String getClauseDescription(){
return this.clauseDescription;
}
/** ?? 承保款项说明,???? ag_po_quotation_cover.clause_description */
public void setClauseDescription(String clauseDescription){
this.clauseDescription = clauseDescription;
}
/** ?? 承保名称,???? ag_po_quotation_cover.cover_name */
@Column(name="cover_name")
public String getCoverName(){
return this.coverName;
}
/** ?? 承保名称,???? ag_po_quotation_cover.cover_name */
public void setCoverName(String coverName){
this.coverName = coverName;
}
/** ?? 保额,???? ag_po_quotation_cover.cover_amount */
@Column(name="cover_amount")
public String getCoverAmount(){
return this.coverAmount;
}
/** ?? 保额,???? ag_po_quotation_cover.cover_amount */
public void setCoverAmount(String coverAmount){
this.coverAmount = coverAmount;
}
@Column(name="floating_rate")
public BigDecimal getFloatingRate(){
return this.floatingRate;
}
public void setFloatingRate(BigDecimal floatingRate){
this.floatingRate = floatingRate;
}
/** ?? 基础保费,???? ag_po_quotation_cover.standard_premium */
@Column(name="standard_premium")
public BigDecimal getStandardPremium(){
return this.standardPremium;
}
/** ?? 基础保费,???? ag_po_quotation_cover.standard_premium */
public void setStandardPremium(BigDecimal standardPremium){
this.standardPremium = standardPremium;
}
/** ?? 折扣系数,???? ag_po_quotation_cover.discount_rate */
@Column(name="discount_rate")
public BigDecimal getDiscountRate(){
return this.discountRate;
}
/** ?? 折扣系数,???? ag_po_quotation_cover.discount_rate */
public void setDiscountRate(BigDecimal discountRate){
this.discountRate = discountRate;
}
/** ?? 应缴保费,???? ag_po_quotation_cover.premium */
@Column(name="premium")
public BigDecimal getPremium(){
return this.premium;
}
/** ?? 应缴保费,???? ag_po_quotation_cover.premium */
public void setPremium(BigDecimal premium){
this.premium = premium;
}
/** ?? 税费,???? ag_po_quotation_cover.tax */
@Column(name="tax")
public BigDecimal getTax(){
return this.tax;
}
/** ?? 税费,???? ag_po_quotation_cover.tax */
public void setTax(BigDecimal tax){
this.tax = tax;
}
/** ?? 数量,???? ag_po_quotation_cover.count */
@Column(name="count")
public Integer getCount(){
return this.count;
}
/** ?? 数量,???? ag_po_quotation_cover.count */
public void setCount(Integer count){
this.count = count;
}
/** ?? 创建日期,???? ag_po_quotation_cover.created_at */
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
/** ?? 创建日期,???? ag_po_quotation_cover.created_at */
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
/** ?? 创建人,???? ag_po_quotation_cover.created_by */
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
/** ?? 创建人,???? ag_po_quotation_cover.created_by */
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
/** ?? 修改时间,???? ag_po_quotation_cover.updated_at */
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
/** ?? 修改时间,???? ag_po_quotation_cover.updated_at */
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
/** ?? 修改人,???? ag_po_quotation_cover.updated_by */
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
/** ?? 修改人,???? ag_po_quotation_cover.updated_by */
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
package com.ajb.car.entity.quotation;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
车船税
*/
@Entity
@Table(name="ag_po_quotation_tax")
public class AgPoQuotationTax implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// 编号id
private Long id;
// 报价单编号id
private Long quotationId;
// 车辆id
private Long quotationVehicleId;
// 车船税类型编码
private String vehKind;
// 完税人
private String payerName;
// 电话
private String telephone;
private BigDecimal taxAmount;
private String taxPayer;
// 支付状态0:支付,-1未支付
private Integer taxPayable;
// 是否是个人
private Integer isPerson;
// 证件类型
private String certType;
// 证件号码
private String certCode;
// 地址
private String regAddr;
// 承载量
private String loadCapicity;
// 税款所属期起
private Date startDate;
// 税款所属期止
private Date endDate;
private String backDateFrom;
private String backDateTo;
private String lateDateTo;
private String lateDateFrom;
// 完税状态
private String taxState;
// 创建日期
private Date createdAt;
// 创建人
private Long createdBy;
// 修改时间
private Date updatedAt;
// 修改人
private Long updatedBy;
/** ?? 编号id,???? ag_po_quotation_tax.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? 编号id,???? ag_po_quotation_tax.id */
public void setId(Long id){
this.id = id;
}
/** ?? 报价单编号id,???? ag_po_quotation_tax.quotation_id */
@Column(name="quotation_id")
public Long getQuotationId(){
return this.quotationId;
}
/** ?? 报价单编号id,???? ag_po_quotation_tax.quotation_id */
public void setQuotationId(Long quotationId){
this.quotationId = quotationId;
}
/** ?? 车辆id,???? ag_po_quotation_tax.quotation_vehicle_id */
@Column(name="quotation_vehicle_id")
public Long getQuotationVehicleId(){
return this.quotationVehicleId;
}
/** ?? 车辆id,???? ag_po_quotation_tax.quotation_vehicle_id */
public void setQuotationVehicleId(Long quotationVehicleId){
this.quotationVehicleId = quotationVehicleId;
}
/** ?? 车船税类型编码,???? ag_po_quotation_tax.veh_kind */
@Column(name="veh_kind")
public String getVehKind(){
return this.vehKind;
}
/** ?? 车船税类型编码,???? ag_po_quotation_tax.veh_kind */
public void setVehKind(String vehKind){
this.vehKind = vehKind;
}
/** ?? 完税人,???? ag_po_quotation_tax.payer_name */
@Column(name="payer_name")
public String getPayerName(){
return this.payerName;
}
/** ?? 完税人,???? ag_po_quotation_tax.payer_name */
public void setPayerName(String payerName){
this.payerName = payerName;
}
/** ?? 电话,???? ag_po_quotation_tax.telephone */
@Column(name="telephone")
public String getTelephone(){
return this.telephone;
}
/** ?? 电话,???? ag_po_quotation_tax.telephone */
public void setTelephone(String telephone){
this.telephone = telephone;
}
@Column(name="tax_amount")
public BigDecimal getTaxAmount(){
return this.taxAmount;
}
public void setTaxAmount(BigDecimal taxAmount){
this.taxAmount = taxAmount;
}
@Column(name="tax_payer")
public String getTaxPayer(){
return this.taxPayer;
}
public void setTaxPayer(String taxPayer){
this.taxPayer = taxPayer;
}
/** ?? 支付状态0:支付,-1未支付,???? ag_po_quotation_tax.tax_payable */
@Column(name="tax_payable")
public Integer getTaxPayable(){
return this.taxPayable;
}
/** ?? 支付状态0:支付,-1未支付,???? ag_po_quotation_tax.tax_payable */
public void setTaxPayable(Integer taxPayable){
this.taxPayable = taxPayable;
}
/** ?? 是否是个人,???? ag_po_quotation_tax.is_person */
@Column(name="is_person")
public Integer getIsPerson(){
return this.isPerson;
}
/** ?? 是否是个人,???? ag_po_quotation_tax.is_person */
public void setIsPerson(Integer isPerson){
this.isPerson = isPerson;
}
/** ?? 证件类型,???? ag_po_quotation_tax.cert_type */
@Column(name="cert_type")
public String getCertType(){
return this.certType;
}
/** ?? 证件类型,???? ag_po_quotation_tax.cert_type */
public void setCertType(String certType){
this.certType = certType;
}
/** ?? 证件号码,???? ag_po_quotation_tax.cert_code */
@Column(name="cert_code")
public String getCertCode(){
return this.certCode;
}
/** ?? 证件号码,???? ag_po_quotation_tax.cert_code */
public void setCertCode(String certCode){
this.certCode = certCode;
}
/** ?? 地址,???? ag_po_quotation_tax.reg_addr */
@Column(name="reg_addr")
public String getRegAddr(){
return this.regAddr;
}
/** ?? 地址,???? ag_po_quotation_tax.reg_addr */
public void setRegAddr(String regAddr){
this.regAddr = regAddr;
}
/** ?? 承载量,???? ag_po_quotation_tax.load_capicity */
@Column(name="load_capicity")
public String getLoadCapicity(){
return this.loadCapicity;
}
/** ?? 承载量,???? ag_po_quotation_tax.load_capicity */
public void setLoadCapicity(String loadCapicity){
this.loadCapicity = loadCapicity;
}
/** ?? 税款所属期起,???? ag_po_quotation_tax.start_date */
@Column(name="start_date")
public Date getStartDate(){
return this.startDate;
}
/** ?? 税款所属期起,???? ag_po_quotation_tax.start_date */
public void setStartDate(Date startDate){
this.startDate = startDate;
}
/** ?? 税款所属期止,???? ag_po_quotation_tax.end_date */
@Column(name="end_date")
public Date getEndDate(){
return this.endDate;
}
/** ?? 税款所属期止,???? ag_po_quotation_tax.end_date */
public void setEndDate(Date endDate){
this.endDate = endDate;
}
@Column(name="back_date_from")
public String getBackDateFrom(){
return this.backDateFrom;
}
public void setBackDateFrom(String backDateFrom){
this.backDateFrom = backDateFrom;
}
@Column(name="back_date_to")
public String getBackDateTo(){
return this.backDateTo;
}
public void setBackDateTo(String backDateTo){
this.backDateTo = backDateTo;
}
@Column(name="late_date_to")
public String getLateDateTo(){
return this.lateDateTo;
}
public void setLateDateTo(String lateDateTo){
this.lateDateTo = lateDateTo;
}
@Column(name="late_date_from")
public String getLateDateFrom(){
return this.lateDateFrom;
}
public void setLateDateFrom(String lateDateFrom){
this.lateDateFrom = lateDateFrom;
}
/** ?? 完税状态,???? ag_po_quotation_tax.tax_state */
@Column(name="tax_state")
public String getTaxState(){
return this.taxState;
}
/** ?? 完税状态,???? ag_po_quotation_tax.tax_state */
public void setTaxState(String taxState){
this.taxState = taxState;
}
/** ?? 创建日期,???? ag_po_quotation_tax.created_at */
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
/** ?? 创建日期,???? ag_po_quotation_tax.created_at */
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
/** ?? 创建人,???? ag_po_quotation_tax.created_by */
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
/** ?? 创建人,???? ag_po_quotation_tax.created_by */
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
/** ?? 修改时间,???? ag_po_quotation_tax.updated_at */
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
/** ?? 修改时间,???? ag_po_quotation_tax.updated_at */
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
/** ?? 修改人,???? ag_po_quotation_tax.updated_by */
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
/** ?? 修改人,???? ag_po_quotation_tax.updated_by */
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
package com.ajb.car.entity.quotation;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
报价车辆
*/
@Entity
@Table(name="ag_po_quotation_vehicle")
public class AgPoQuotationVehicle implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// 编号id
private Long id;
// 车牌号
private String carName;
// 车牌号
private String plateNo;
// 发动机号
private String engineNo;
// VIN编号
private String vinNo;
// 车架号
private String frameNumber;
// 品牌ID
private Long brandId;
// 品牌
private String brand;
// 品牌
private String brandCode;
// 品牌制造商Id
private Long brandmakeId;
// 品牌制造商
private String brandmake;
// 品牌型号id
private Long brandmakeModelId;
// 品牌型号
private String brandmakeModel;
// 车辆名称/品牌
private String vehicleBrand;
// 车辆名称/品牌
private String manufacturer;
// 车辆名称/品牌
private String modelCharacterNumber;
// 车辆名称/品牌
private String modelIdCode;
// 车辆名称/品牌
private String modelNumber;
// 车辆名称/品牌
private String vehicleName;
// 车辆名称/品牌 代码
private String vehicleCode;
// 行业编码
private String industryVehicleCode;
// 所属性质ag_md_vehicle_dictionary表Ownership Type
private Long ownershipTypeId;
// 所属性质ag_md_vehicle_dictionary表Ownership Type
private String ownershipType;
// 所属性质ag_md_vehicle_dictionary表Ownership Type
private String owner;
// 国际
private String ownerNature;
// 所属性质ag_md_vehicle_dictionary表Ownership Type
private String ownerCertiType;
// 证件号
private String ownerCertiCode;
// 机动车种类ag_md_vehicle_dictionary表
private Long vehicleCategoryId;
// 机动车种类ag_md_vehicle_dictionary表
private String vehicleCategory;
// 车辆用途
private String vehicleUseType;
// 驾驶区域ag_md_vehicle_dictionary表
private Long driveAreaId;
// 驾驶区域ag_md_vehicle_dictionary表
private String driveArea;
// 车牌类型ag_md_vehicle_dictionary表
private Long licenseTypeId;
private String licenseType;
// 车辆种类ag_md_vehicle_dictionary表
private Long vehicleTypeId;
// 车辆类型见ag_md_vehicle_dictionary表
private Long pmVehicleTypeId;
// 车辆类型见ag_md_vehicle_dictionary表
private String pmVehicleType;
// 车牌底色ag_md_vehicle_dictionary表
private Long plateColorId;
// 车牌底色ag_md_vehicle_dictionary表
private String plateColor;
// 平台品牌
private String platformBrand;
// 平台型号编码
private String platformModelCode;
// 燃料类型ag_md_vehicle_dictionary表
private Long fuelTypeId;
// 燃料类型
private String fuelType;
// 车辆来历凭证种类ag_md_vehicle_dictionary表
private Long originCertiTypeId;
// 车辆来历凭证种类ag_md_vehicle_dictionary表
private String originCertiType;
// 使用性质ag_md_vehicle_dictionary表
private Long businessTypeId;
// 使用性质ag_md_vehicle_dictionary表
private String businessType;
// 纳税人类型ag_md_vehicle_dictionary表
private Long taxPlayerTypeId;
// 纳税人类型ag_md_vehicle_dictionary表
private String taxPlayerType;
// 减免税方案ag_md_vehicle_dictionary表
private Long derateTypeId;
// 减免税方案ag_md_vehicle_dictionary表
private String derateType;
// 完税状态ag_md_vehicle_dictionary表
private Long taxFlagId;
// 完税状态ag_md_vehicle_dictionary表
private String taxFlag;
// 是否推荐送修
private Integer isRecommend4repair;
// 推荐送修代码
private String recommend4repairCode;
// 是否新车
private String isNewCar;
// 是否外地车(相对上海)
private Integer isForeignCar;
// 行驶证车辆描述
private String vehicleDescription;
// 初次登记日期
private Date firstRegistrationDate;
// 实际使用年数
private String actualYearsUsed;
// 实际使用年数
private String bodyColor;
// 平均行驶里程
private String averageMileages;
// 新车购置价格
private String priceNewcar;
// 参考实际价值
private String referencePrice;
// 实际价值
private String currentPrice;
// 核定载载客数
private String seatCapacity;
// 核定载质量
private String carryingCapacity;
// 排量/功率
private String dispacementPower;
// 是否还清贷款1还清0未还清
private String isPayoffLoan;
// 强制保费年限
private String tcDesignedAge;
// 是否是过户车1为是0为否
private String isTransfered;
// 过户日期
private Date tranferDate;
// 核定载客量
private String tradeCode;
// 核定载客量
private String passengersAprroved;
// 整车质量
private String weightFull;
// 团单申报编码
private String groupApplyCode;
// 进口/国产类0进口1国产
private Integer importDomesticType;
// 指定查询区域
private String specifyQueryArea;
// 类比车型价格
private String analogyModelPrice;
// 购车发票日期
private String purchaseInvoiceDate;
// 交易方式
private String transactionMode;
// 是否新能源车
private Integer isNewEnergyCar;
// 车型别名
private String aliasVehicle;
// 创建时间
private Date createdAt;
// 创建人
private Long createdBy;
// 修改时间
private Date updatedAt;
// 修改人
private Long updatedBy;
/** ?? 编号id,???? ag_po_quotation_vehicle.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? 编号id,???? ag_po_quotation_vehicle.id */
public void setId(Long id){
this.id = id;
}
/** ?? 车牌号,???? ag_po_quotation_vehicle.car_name */
@Column(name="car_name")
public String getCarName(){
return this.carName;
}
/** ?? 车牌号,???? ag_po_quotation_vehicle.car_name */
public void setCarName(String carName){
this.carName = carName;
}
/** ?? 车牌号,???? ag_po_quotation_vehicle.plate_no */
@Column(name="plate_no")
public String getPlateNo(){
return this.plateNo;
}
/** ?? 车牌号,???? ag_po_quotation_vehicle.plate_no */
public void setPlateNo(String plateNo){
this.plateNo = plateNo;
}
/** ?? 发动机号,???? ag_po_quotation_vehicle.engine_no */
@Column(name="engine_no")
public String getEngineNo(){
return this.engineNo;
}
/** ?? 发动机号,???? ag_po_quotation_vehicle.engine_no */
public void setEngineNo(String engineNo){
this.engineNo = engineNo;
}
/** ?? VIN编号,???? ag_po_quotation_vehicle.vin_no */
@Column(name="vin_no")
public String getVinNo(){
return this.vinNo;
}
/** ?? VIN编号,???? ag_po_quotation_vehicle.vin_no */
public void setVinNo(String vinNo){
this.vinNo = vinNo;
}
/** ?? 车架号,???? ag_po_quotation_vehicle.frame_number */
@Column(name="frame_number")
public String getFrameNumber(){
return this.frameNumber;
}
/** ?? 车架号,???? ag_po_quotation_vehicle.frame_number */
public void setFrameNumber(String frameNumber){
this.frameNumber = frameNumber;
}
/** ?? 品牌ID,???? ag_po_quotation_vehicle.brand_id */
@Column(name="brand_id")
public Long getBrandId(){
return this.brandId;
}
/** ?? 品牌ID,???? ag_po_quotation_vehicle.brand_id */
public void setBrandId(Long brandId){
this.brandId = brandId;
}
/** ?? 品牌,???? ag_po_quotation_vehicle.brand */
@Column(name="brand")
public String getBrand(){
return this.brand;
}
/** ?? 品牌,???? ag_po_quotation_vehicle.brand */
public void setBrand(String brand){
this.brand = brand;
}
/** ?? 品牌,???? ag_po_quotation_vehicle.brand_code */
@Column(name="brand_code")
public String getBrandCode(){
return this.brandCode;
}
/** ?? 品牌,???? ag_po_quotation_vehicle.brand_code */
public void setBrandCode(String brandCode){
this.brandCode = brandCode;
}
/** ?? 品牌制造商Id,???? ag_po_quotation_vehicle.brandmake_id */
@Column(name="brandmake_id")
public Long getBrandmakeId(){
return this.brandmakeId;
}
/** ?? 品牌制造商Id,???? ag_po_quotation_vehicle.brandmake_id */
public void setBrandmakeId(Long brandmakeId){
this.brandmakeId = brandmakeId;
}
/** ?? 品牌制造商,???? ag_po_quotation_vehicle.brandmake */
@Column(name="brandmake")
public String getBrandmake(){
return this.brandmake;
}
/** ?? 品牌制造商,???? ag_po_quotation_vehicle.brandmake */
public void setBrandmake(String brandmake){
this.brandmake = brandmake;
}
/** ?? 品牌型号id,???? ag_po_quotation_vehicle.brandmake_model_id */
@Column(name="brandmake_model_id")
public Long getBrandmakeModelId(){
return this.brandmakeModelId;
}
/** ?? 品牌型号id,???? ag_po_quotation_vehicle.brandmake_model_id */
public void setBrandmakeModelId(Long brandmakeModelId){
this.brandmakeModelId = brandmakeModelId;
}
/** ?? 品牌型号,???? ag_po_quotation_vehicle.brandmake_model */
@Column(name="brandmake_model")
public String getBrandmakeModel(){
return this.brandmakeModel;
}
/** ?? 品牌型号,???? ag_po_quotation_vehicle.brandmake_model */
public void setBrandmakeModel(String brandmakeModel){
this.brandmakeModel = brandmakeModel;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.vehicle_brand */
@Column(name="vehicle_brand")
public String getVehicleBrand(){
return this.vehicleBrand;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.vehicle_brand */
public void setVehicleBrand(String vehicleBrand){
this.vehicleBrand = vehicleBrand;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.manufacturer */
@Column(name="manufacturer")
public String getManufacturer(){
return this.manufacturer;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.manufacturer */
public void setManufacturer(String manufacturer){
this.manufacturer = manufacturer;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.model_character_number */
@Column(name="model_character_number")
public String getModelCharacterNumber(){
return this.modelCharacterNumber;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.model_character_number */
public void setModelCharacterNumber(String modelCharacterNumber){
this.modelCharacterNumber = modelCharacterNumber;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.model_id_code */
@Column(name="model_id_code")
public String getModelIdCode(){
return this.modelIdCode;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.model_id_code */
public void setModelIdCode(String modelIdCode){
this.modelIdCode = modelIdCode;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.model_number */
@Column(name="model_number")
public String getModelNumber(){
return this.modelNumber;
}
/** ?? 车辆名称/品牌,???? ag_po_quotation_vehicle.model_number */
public void setModelNumber(String modelNumber){
this.modelNumber = modelNumber;
}
/** ?? 车辆名称/品牌 ,???? ag_po_quotation_vehicle.vehicle_name */
@Column(name="vehicle_name")
public String getVehicleName(){
return this.vehicleName;
}
/** ?? 车辆名称/品牌 ,???? ag_po_quotation_vehicle.vehicle_name */
public void setVehicleName(String vehicleName){
this.vehicleName = vehicleName;
}
/** ?? 车辆名称/品牌 代码,???? ag_po_quotation_vehicle.vehicle_code */
@Column(name="vehicle_code")
public String getVehicleCode(){
return this.vehicleCode;
}
/** ?? 车辆名称/品牌 代码,???? ag_po_quotation_vehicle.vehicle_code */
public void setVehicleCode(String vehicleCode){
this.vehicleCode = vehicleCode;
}
/** ?? 行业编码,???? ag_po_quotation_vehicle.industry_vehicle_code */
@Column(name="industry_vehicle_code")
public String getIndustryVehicleCode(){
return this.industryVehicleCode;
}
/** ?? 行业编码,???? ag_po_quotation_vehicle.industry_vehicle_code */
public void setIndustryVehicleCode(String industryVehicleCode){
this.industryVehicleCode = industryVehicleCode;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.ownership_type_id */
@Column(name="ownership_type_id")
public Long getOwnershipTypeId(){
return this.ownershipTypeId;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.ownership_type_id */
public void setOwnershipTypeId(Long ownershipTypeId){
this.ownershipTypeId = ownershipTypeId;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.ownership_type */
@Column(name="ownership_type")
public String getOwnershipType(){
return this.ownershipType;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.ownership_type */
public void setOwnershipType(String ownershipType){
this.ownershipType = ownershipType;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.owner */
@Column(name="owner")
public String getOwner(){
return this.owner;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.owner */
public void setOwner(String owner){
this.owner = owner;
}
/** ?? 国际,???? ag_po_quotation_vehicle.owner_nature */
@Column(name="owner_nature")
public String getOwnerNature(){
return this.ownerNature;
}
/** ?? 国际,???? ag_po_quotation_vehicle.owner_nature */
public void setOwnerNature(String ownerNature){
this.ownerNature = ownerNature;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.owner_certi_type */
@Column(name="owner_certi_type")
public String getOwnerCertiType(){
return this.ownerCertiType;
}
/** ?? 所属性质ag_md_vehicle_dictionary表Ownership Type,???? ag_po_quotation_vehicle.owner_certi_type */
public void setOwnerCertiType(String ownerCertiType){
this.ownerCertiType = ownerCertiType;
}
/** ?? 证件号,???? ag_po_quotation_vehicle.owner_certi_code */
@Column(name="owner_certi_code")
public String getOwnerCertiCode(){
return this.ownerCertiCode;
}
/** ?? 证件号,???? ag_po_quotation_vehicle.owner_certi_code */
public void setOwnerCertiCode(String ownerCertiCode){
this.ownerCertiCode = ownerCertiCode;
}
/** ?? 机动车种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.vehicle_category_id */
@Column(name="vehicle_category_id")
public Long getVehicleCategoryId(){
return this.vehicleCategoryId;
}
/** ?? 机动车种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.vehicle_category_id */
public void setVehicleCategoryId(Long vehicleCategoryId){
this.vehicleCategoryId = vehicleCategoryId;
}
/** ?? 机动车种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.vehicle_category */
@Column(name="vehicle_category")
public String getVehicleCategory(){
return this.vehicleCategory;
}
/** ?? 机动车种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.vehicle_category */
public void setVehicleCategory(String vehicleCategory){
this.vehicleCategory = vehicleCategory;
}
/** ?? 车辆用途,???? ag_po_quotation_vehicle.vehicle_use_type */
@Column(name="vehicle_use_type")
public String getVehicleUseType(){
return this.vehicleUseType;
}
/** ?? 车辆用途,???? ag_po_quotation_vehicle.vehicle_use_type */
public void setVehicleUseType(String vehicleUseType){
this.vehicleUseType = vehicleUseType;
}
/** ?? 驾驶区域ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.drive_area_id */
@Column(name="drive_area_id")
public Long getDriveAreaId(){
return this.driveAreaId;
}
/** ?? 驾驶区域ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.drive_area_id */
public void setDriveAreaId(Long driveAreaId){
this.driveAreaId = driveAreaId;
}
/** ?? 驾驶区域ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.drive_area */
@Column(name="drive_area")
public String getDriveArea(){
return this.driveArea;
}
/** ?? 驾驶区域ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.drive_area */
public void setDriveArea(String driveArea){
this.driveArea = driveArea;
}
/** ?? 车牌类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.license_type_id */
@Column(name="license_type_id")
public Long getLicenseTypeId(){
return this.licenseTypeId;
}
/** ?? 车牌类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.license_type_id */
public void setLicenseTypeId(Long licenseTypeId){
this.licenseTypeId = licenseTypeId;
}
@Column(name="license_type")
public String getLicenseType(){
return this.licenseType;
}
public void setLicenseType(String licenseType){
this.licenseType = licenseType;
}
/** ?? 车辆种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.vehicle_type_id */
@Column(name="vehicle_type_id")
public Long getVehicleTypeId(){
return this.vehicleTypeId;
}
/** ?? 车辆种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.vehicle_type_id */
public void setVehicleTypeId(Long vehicleTypeId){
this.vehicleTypeId = vehicleTypeId;
}
/** ?? 车辆类型见ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.pm_vehicle_type_id */
@Column(name="pm_vehicle_type_id")
public Long getPmVehicleTypeId(){
return this.pmVehicleTypeId;
}
/** ?? 车辆类型见ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.pm_vehicle_type_id */
public void setPmVehicleTypeId(Long pmVehicleTypeId){
this.pmVehicleTypeId = pmVehicleTypeId;
}
/** ?? 车辆类型见ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.pm_vehicle_type */
@Column(name="pm_vehicle_type")
public String getPmVehicleType(){
return this.pmVehicleType;
}
/** ?? 车辆类型见ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.pm_vehicle_type */
public void setPmVehicleType(String pmVehicleType){
this.pmVehicleType = pmVehicleType;
}
/** ?? 车牌底色ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.plate_color_id */
@Column(name="plate_color_id")
public Long getPlateColorId(){
return this.plateColorId;
}
/** ?? 车牌底色ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.plate_color_id */
public void setPlateColorId(Long plateColorId){
this.plateColorId = plateColorId;
}
/** ?? 车牌底色ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.plate_color */
@Column(name="plate_color")
public String getPlateColor(){
return this.plateColor;
}
/** ?? 车牌底色ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.plate_color */
public void setPlateColor(String plateColor){
this.plateColor = plateColor;
}
/** ?? 平台品牌,???? ag_po_quotation_vehicle.platform_brand */
@Column(name="platform_brand")
public String getPlatformBrand(){
return this.platformBrand;
}
/** ?? 平台品牌,???? ag_po_quotation_vehicle.platform_brand */
public void setPlatformBrand(String platformBrand){
this.platformBrand = platformBrand;
}
/** ?? 平台型号编码,???? ag_po_quotation_vehicle.platform_model_code */
@Column(name="platform_model_code")
public String getPlatformModelCode(){
return this.platformModelCode;
}
/** ?? 平台型号编码,???? ag_po_quotation_vehicle.platform_model_code */
public void setPlatformModelCode(String platformModelCode){
this.platformModelCode = platformModelCode;
}
/** ?? 燃料类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.fuel_type_id */
@Column(name="fuel_type_id")
public Long getFuelTypeId(){
return this.fuelTypeId;
}
/** ?? 燃料类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.fuel_type_id */
public void setFuelTypeId(Long fuelTypeId){
this.fuelTypeId = fuelTypeId;
}
/** ?? 燃料类型,???? ag_po_quotation_vehicle.fuel_type */
@Column(name="fuel_type")
public String getFuelType(){
return this.fuelType;
}
/** ?? 燃料类型,???? ag_po_quotation_vehicle.fuel_type */
public void setFuelType(String fuelType){
this.fuelType = fuelType;
}
/** ?? 车辆来历凭证种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.origin_certi_type_id */
@Column(name="origin_certi_type_id")
public Long getOriginCertiTypeId(){
return this.originCertiTypeId;
}
/** ?? 车辆来历凭证种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.origin_certi_type_id */
public void setOriginCertiTypeId(Long originCertiTypeId){
this.originCertiTypeId = originCertiTypeId;
}
/** ?? 车辆来历凭证种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.origin_certi_type */
@Column(name="origin_certi_type")
public String getOriginCertiType(){
return this.originCertiType;
}
/** ?? 车辆来历凭证种类ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.origin_certi_type */
public void setOriginCertiType(String originCertiType){
this.originCertiType = originCertiType;
}
/** ?? 使用性质ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.business_type_id */
@Column(name="business_type_id")
public Long getBusinessTypeId(){
return this.businessTypeId;
}
/** ?? 使用性质ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.business_type_id */
public void setBusinessTypeId(Long businessTypeId){
this.businessTypeId = businessTypeId;
}
/** ?? 使用性质ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.business_type */
@Column(name="business_type")
public String getBusinessType(){
return this.businessType;
}
/** ?? 使用性质ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.business_type */
public void setBusinessType(String businessType){
this.businessType = businessType;
}
/** ?? 纳税人类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_player_type_id */
@Column(name="tax_player_type_id")
public Long getTaxPlayerTypeId(){
return this.taxPlayerTypeId;
}
/** ?? 纳税人类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_player_type_id */
public void setTaxPlayerTypeId(Long taxPlayerTypeId){
this.taxPlayerTypeId = taxPlayerTypeId;
}
/** ?? 纳税人类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_player_type */
@Column(name="tax_player_type")
public String getTaxPlayerType(){
return this.taxPlayerType;
}
/** ?? 纳税人类型ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_player_type */
public void setTaxPlayerType(String taxPlayerType){
this.taxPlayerType = taxPlayerType;
}
/** ?? 减免税方案ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.derate_type_id */
@Column(name="derate_type_id")
public Long getDerateTypeId(){
return this.derateTypeId;
}
/** ?? 减免税方案ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.derate_type_id */
public void setDerateTypeId(Long derateTypeId){
this.derateTypeId = derateTypeId;
}
/** ?? 减免税方案ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.derate_type */
@Column(name="derate_type")
public String getDerateType(){
return this.derateType;
}
/** ?? 减免税方案ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.derate_type */
public void setDerateType(String derateType){
this.derateType = derateType;
}
/** ?? 完税状态ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_flag_id */
@Column(name="tax_flag_id")
public Long getTaxFlagId(){
return this.taxFlagId;
}
/** ?? 完税状态ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_flag_id */
public void setTaxFlagId(Long taxFlagId){
this.taxFlagId = taxFlagId;
}
/** ?? 完税状态ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_flag */
@Column(name="tax_flag")
public String getTaxFlag(){
return this.taxFlag;
}
/** ?? 完税状态ag_md_vehicle_dictionary表,???? ag_po_quotation_vehicle.tax_flag */
public void setTaxFlag(String taxFlag){
this.taxFlag = taxFlag;
}
/** ?? 是否推荐送修,???? ag_po_quotation_vehicle.is_recommend4repair */
@Column(name="is_recommend4repair")
public Integer getIsRecommend4repair(){
return this.isRecommend4repair;
}
/** ?? 是否推荐送修,???? ag_po_quotation_vehicle.is_recommend4repair */
public void setIsRecommend4repair(Integer isRecommend4repair){
this.isRecommend4repair = isRecommend4repair;
}
/** ?? 推荐送修代码,???? ag_po_quotation_vehicle.recommend4repair_code */
@Column(name="recommend4repair_code")
public String getRecommend4repairCode(){
return this.recommend4repairCode;
}
/** ?? 推荐送修代码,???? ag_po_quotation_vehicle.recommend4repair_code */
public void setRecommend4repairCode(String recommend4repairCode){
this.recommend4repairCode = recommend4repairCode;
}
/** ?? 是否新车,???? ag_po_quotation_vehicle.is_new_car */
@Column(name="is_new_car")
public String getIsNewCar(){
return this.isNewCar;
}
/** ?? 是否新车,???? ag_po_quotation_vehicle.is_new_car */
public void setIsNewCar(String isNewCar){
this.isNewCar = isNewCar;
}
/** ?? 是否外地车(相对上海),???? ag_po_quotation_vehicle.is_foreign_car */
@Column(name="is_foreign_car")
public Integer getIsForeignCar(){
return this.isForeignCar;
}
/** ?? 是否外地车(相对上海),???? ag_po_quotation_vehicle.is_foreign_car */
public void setIsForeignCar(Integer isForeignCar){
this.isForeignCar = isForeignCar;
}
/** ?? 行驶证车辆描述,???? ag_po_quotation_vehicle.vehicle_description */
@Column(name="vehicle_description")
public String getVehicleDescription(){
return this.vehicleDescription;
}
/** ?? 行驶证车辆描述,???? ag_po_quotation_vehicle.vehicle_description */
public void setVehicleDescription(String vehicleDescription){
this.vehicleDescription = vehicleDescription;
}
/** ?? 初次登记日期,???? ag_po_quotation_vehicle.first_registration_date */
@Column(name="first_registration_date")
public Date getFirstRegistrationDate(){
return this.firstRegistrationDate;
}
/** ?? 初次登记日期,???? ag_po_quotation_vehicle.first_registration_date */
public void setFirstRegistrationDate(Date firstRegistrationDate){
this.firstRegistrationDate = firstRegistrationDate;
}
/** ?? 实际使用年数,???? ag_po_quotation_vehicle.actual_years_used */
@Column(name="actual_years_used")
public String getActualYearsUsed(){
return this.actualYearsUsed;
}
/** ?? 实际使用年数,???? ag_po_quotation_vehicle.actual_years_used */
public void setActualYearsUsed(String actualYearsUsed){
this.actualYearsUsed = actualYearsUsed;
}
/** ?? 实际使用年数,???? ag_po_quotation_vehicle.body_color */
@Column(name="body_color")
public String getBodyColor(){
return this.bodyColor;
}
/** ?? 实际使用年数,???? ag_po_quotation_vehicle.body_color */
public void setBodyColor(String bodyColor){
this.bodyColor = bodyColor;
}
/** ?? 平均行驶里程,???? ag_po_quotation_vehicle.average_mileages */
@Column(name="average_mileages")
public String getAverageMileages(){
return this.averageMileages;
}
/** ?? 平均行驶里程,???? ag_po_quotation_vehicle.average_mileages */
public void setAverageMileages(String averageMileages){
this.averageMileages = averageMileages;
}
/** ?? 新车购置价格,???? ag_po_quotation_vehicle.price_newcar */
@Column(name="price_newcar")
public String getPriceNewcar(){
return this.priceNewcar;
}
/** ?? 新车购置价格,???? ag_po_quotation_vehicle.price_newcar */
public void setPriceNewcar(String priceNewcar){
this.priceNewcar = priceNewcar;
}
/** ?? 参考实际价值,???? ag_po_quotation_vehicle.reference_price */
@Column(name="reference_price")
public String getReferencePrice(){
return this.referencePrice;
}
/** ?? 参考实际价值,???? ag_po_quotation_vehicle.reference_price */
public void setReferencePrice(String referencePrice){
this.referencePrice = referencePrice;
}
/** ?? 实际价值,???? ag_po_quotation_vehicle.current_price */
@Column(name="current_price")
public String getCurrentPrice(){
return this.currentPrice;
}
/** ?? 实际价值,???? ag_po_quotation_vehicle.current_price */
public void setCurrentPrice(String currentPrice){
this.currentPrice = currentPrice;
}
/** ?? 核定载载客数,???? ag_po_quotation_vehicle.seat_capacity */
@Column(name="seat_capacity")
public String getSeatCapacity(){
return this.seatCapacity;
}
/** ?? 核定载载客数,???? ag_po_quotation_vehicle.seat_capacity */
public void setSeatCapacity(String seatCapacity){
this.seatCapacity = seatCapacity;
}
/** ?? 核定载质量,???? ag_po_quotation_vehicle.carrying_capacity */
@Column(name="carrying_capacity")
public String getCarryingCapacity(){
return this.carryingCapacity;
}
/** ?? 核定载质量,???? ag_po_quotation_vehicle.carrying_capacity */
public void setCarryingCapacity(String carryingCapacity){
this.carryingCapacity = carryingCapacity;
}
/** ?? 排量/功率,???? ag_po_quotation_vehicle.dispacement_power */
@Column(name="dispacement_power")
public String getDispacementPower(){
return this.dispacementPower;
}
/** ?? 排量/功率,???? ag_po_quotation_vehicle.dispacement_power */
public void setDispacementPower(String dispacementPower){
this.dispacementPower = dispacementPower;
}
/** ?? 是否还清贷款1还清0未还清,???? ag_po_quotation_vehicle.is_payoff_loan */
@Column(name="is_payoff_loan")
public String getIsPayoffLoan(){
return this.isPayoffLoan;
}
/** ?? 是否还清贷款1还清0未还清,???? ag_po_quotation_vehicle.is_payoff_loan */
public void setIsPayoffLoan(String isPayoffLoan){
this.isPayoffLoan = isPayoffLoan;
}
/** ?? 强制保费年限,???? ag_po_quotation_vehicle.tc_designed_age */
@Column(name="tc_designed_age")
public String getTcDesignedAge(){
return this.tcDesignedAge;
}
/** ?? 强制保费年限,???? ag_po_quotation_vehicle.tc_designed_age */
public void setTcDesignedAge(String tcDesignedAge){
this.tcDesignedAge = tcDesignedAge;
}
/** ?? 是否是过户车1为是0为否,???? ag_po_quotation_vehicle.is_transfered */
@Column(name="is_transfered")
public String getIsTransfered(){
return this.isTransfered;
}
/** ?? 是否是过户车1为是0为否,???? ag_po_quotation_vehicle.is_transfered */
public void setIsTransfered(String isTransfered){
this.isTransfered = isTransfered;
}
/** ?? 过户日期,???? ag_po_quotation_vehicle.tranfer_date */
@Column(name="tranfer_date")
public Date getTranferDate(){
return this.tranferDate;
}
/** ?? 过户日期,???? ag_po_quotation_vehicle.tranfer_date */
public void setTranferDate(Date tranferDate){
this.tranferDate = tranferDate;
}
/** ?? 核定载客量,???? ag_po_quotation_vehicle.trade_code */
@Column(name="trade_code")
public String getTradeCode(){
return this.tradeCode;
}
/** ?? 核定载客量,???? ag_po_quotation_vehicle.trade_code */
public void setTradeCode(String tradeCode){
this.tradeCode = tradeCode;
}
/** ?? 核定载客量,???? ag_po_quotation_vehicle.passengers_aprroved */
@Column(name="passengers_aprroved")
public String getPassengersAprroved(){
return this.passengersAprroved;
}
/** ?? 核定载客量,???? ag_po_quotation_vehicle.passengers_aprroved */
public void setPassengersAprroved(String passengersAprroved){
this.passengersAprroved = passengersAprroved;
}
/** ?? 整车质量,???? ag_po_quotation_vehicle.weight_full */
@Column(name="weight_full")
public String getWeightFull(){
return this.weightFull;
}
/** ?? 整车质量,???? ag_po_quotation_vehicle.weight_full */
public void setWeightFull(String weightFull){
this.weightFull = weightFull;
}
/** ?? 团单申报编码,???? ag_po_quotation_vehicle.group_apply_code */
@Column(name="group_apply_code")
public String getGroupApplyCode(){
return this.groupApplyCode;
}
/** ?? 团单申报编码,???? ag_po_quotation_vehicle.group_apply_code */
public void setGroupApplyCode(String groupApplyCode){
this.groupApplyCode = groupApplyCode;
}
/** ?? 进口/国产类0进口1国产,???? ag_po_quotation_vehicle.import_domestic_type */
@Column(name="import_domestic_type")
public Integer getImportDomesticType(){
return this.importDomesticType;
}
/** ?? 进口/国产类0进口1国产,???? ag_po_quotation_vehicle.import_domestic_type */
public void setImportDomesticType(Integer importDomesticType){
this.importDomesticType = importDomesticType;
}
/** ?? 指定查询区域,???? ag_po_quotation_vehicle.specify_query_area */
@Column(name="specify_query_area")
public String getSpecifyQueryArea(){
return this.specifyQueryArea;
}
/** ?? 指定查询区域,???? ag_po_quotation_vehicle.specify_query_area */
public void setSpecifyQueryArea(String specifyQueryArea){
this.specifyQueryArea = specifyQueryArea;
}
/** ?? 类比车型价格,???? ag_po_quotation_vehicle.analogy_model_price */
@Column(name="analogy_model_price")
public String getAnalogyModelPrice(){
return this.analogyModelPrice;
}
/** ?? 类比车型价格,???? ag_po_quotation_vehicle.analogy_model_price */
public void setAnalogyModelPrice(String analogyModelPrice){
this.analogyModelPrice = analogyModelPrice;
}
/** ?? 购车发票日期,???? ag_po_quotation_vehicle.purchase_invoice_date */
@Column(name="purchase_invoice_date")
public String getPurchaseInvoiceDate(){
return this.purchaseInvoiceDate;
}
/** ?? 购车发票日期,???? ag_po_quotation_vehicle.purchase_invoice_date */
public void setPurchaseInvoiceDate(String purchaseInvoiceDate){
this.purchaseInvoiceDate = purchaseInvoiceDate;
}
/** ?? 交易方式,???? ag_po_quotation_vehicle.transaction_mode */
@Column(name="transaction_mode")
public String getTransactionMode(){
return this.transactionMode;
}
/** ?? 交易方式,???? ag_po_quotation_vehicle.transaction_mode */
public void setTransactionMode(String transactionMode){
this.transactionMode = transactionMode;
}
/** ?? 是否新能源车,???? ag_po_quotation_vehicle.is_new_energy_car */
@Column(name="is_new_energy_car")
public Integer getIsNewEnergyCar(){
return this.isNewEnergyCar;
}
/** ?? 是否新能源车,???? ag_po_quotation_vehicle.is_new_energy_car */
public void setIsNewEnergyCar(Integer isNewEnergyCar){
this.isNewEnergyCar = isNewEnergyCar;
}
/** ?? 车型别名,???? ag_po_quotation_vehicle.alias_vehicle */
@Column(name="alias_vehicle")
public String getAliasVehicle(){
return this.aliasVehicle;
}
/** ?? 车型别名,???? ag_po_quotation_vehicle.alias_vehicle */
public void setAliasVehicle(String aliasVehicle){
this.aliasVehicle = aliasVehicle;
}
/** ?? 创建时间,???? ag_po_quotation_vehicle.created_at */
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
/** ?? 创建时间,???? ag_po_quotation_vehicle.created_at */
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
/** ?? 创建人,???? ag_po_quotation_vehicle.created_by */
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
/** ?? 创建人,???? ag_po_quotation_vehicle.created_by */
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
/** ?? 修改时间,???? ag_po_quotation_vehicle.updated_at */
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
/** ?? 修改时间,???? ag_po_quotation_vehicle.updated_at */
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
/** ?? 修改人,???? ag_po_quotation_vehicle.updated_by */
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
/** ?? 修改人,???? ag_po_quotation_vehicle.updated_by */
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
package com.ajb.car.entity.quotation;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="ag_po_quotation_vehicle_relation")
public class AgPoQuotationVehicleRelation implements java.io.Serializable {
private static final long serialVersionUID = 1L;
// id
private Long id;
// 报价单id
private Long quotationId;
// 客户id关联ag_po_quotation表中的customer_id
private Long customerId;
// relation_id关联ag_md_vehicle_relation表id字段
private Integer relationId;
// 与车辆相关人的名称
private String name;
// FK ag_md_vehicle_dictionary.type=12
//1:居民身份证,2:驾驶证,3:军官证,4:军人证,5:户口薄,6:护照,7:中国护照,8:外国护照,9:组织机构代码(机构),10:工商注册号码(机构),11:港澳台同胞证,12:统一社会信用代码证(机构),13:税务登记证(机构),14:返乡证,15:其它
private Long idType;
// 证件名称
private String idTypeName;
// 证件编号
private String idNo;
// 移动电话
private String mobilePhone;
// 性别
private Integer gender;
// 年龄
private Integer age;
// 驾龄
private Integer drivingAge;
// 国籍
private String nationality;
// FK ag_md_country.id
private Long countryId;
// 地址
private String address;
// 邮编
private String postcode;
// 固定电话
private String telephone;
// 打印附加
private String printAddon;
private String groupCode;
private Integer approvalStatus;
private Integer versionNo;
private String email;
private Integer isInclusiveFinanceDrive;
private Long vehicleRelationId;
private Date createdAt;
private Long createdBy;
private Date updatedAt;
private Long updatedBy;
/** ?? id,???? ag_po_quotation_vehicle_relation.id */
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
public Long getId(){
return this.id;
}
/** ?? id,???? ag_po_quotation_vehicle_relation.id */
public void setId(Long id){
this.id = id;
}
/** ?? 报价单id,???? ag_po_quotation_vehicle_relation.quotation_id */
@Column(name="quotation_id")
public Long getQuotationId(){
return this.quotationId;
}
/** ?? 报价单id,???? ag_po_quotation_vehicle_relation.quotation_id */
public void setQuotationId(Long quotationId){
this.quotationId = quotationId;
}
/** ?? 客户id关联ag_po_quotation表中的customer_id,???? ag_po_quotation_vehicle_relation.customer_id */
@Column(name="customer_id")
public Long getCustomerId(){
return this.customerId;
}
/** ?? 客户id关联ag_po_quotation表中的customer_id,???? ag_po_quotation_vehicle_relation.customer_id */
public void setCustomerId(Long customerId){
this.customerId = customerId;
}
/** ?? relation_id关联ag_md_vehicle_relation表id字段,???? ag_po_quotation_vehicle_relation.relation_id */
@Column(name="relation_id")
public Integer getRelationId(){
return this.relationId;
}
/** ?? relation_id关联ag_md_vehicle_relation表id字段,???? ag_po_quotation_vehicle_relation.relation_id */
public void setRelationId(Integer relationId){
this.relationId = relationId;
}
/** ?? 与车辆相关人的名称,???? ag_po_quotation_vehicle_relation.name */
@Column(name="name")
public String getName(){
return this.name;
}
/** ?? 与车辆相关人的名称,???? ag_po_quotation_vehicle_relation.name */
public void setName(String name){
this.name = name;
}
/** ?? FK ag_md_vehicle_dictionary.type=12
1:居民身份证,2:驾驶证,3:军官证,4:军人证,5:户口薄,6:护照,7:中国护照,8:外国护照,9:组织机构代码(机构),10:工商注册号码(机构),11:港澳台同胞证,12:统一社会信用代码证(机构),13:税务登记证(机构),14:返乡证,15:其它,???? ag_po_quotation_vehicle_relation.id_type */
@Column(name="id_type")
public Long getIdType(){
return this.idType;
}
/** ?? FK ag_md_vehicle_dictionary.type=12
1:居民身份证,2:驾驶证,3:军官证,4:军人证,5:户口薄,6:护照,7:中国护照,8:外国护照,9:组织机构代码(机构),10:工商注册号码(机构),11:港澳台同胞证,12:统一社会信用代码证(机构),13:税务登记证(机构),14:返乡证,15:其它,???? ag_po_quotation_vehicle_relation.id_type */
public void setIdType(Long idType){
this.idType = idType;
}
/** ?? 证件名称,???? ag_po_quotation_vehicle_relation.id_type_name */
@Column(name="id_type_name")
public String getIdTypeName(){
return this.idTypeName;
}
/** ?? 证件名称,???? ag_po_quotation_vehicle_relation.id_type_name */
public void setIdTypeName(String idTypeName){
this.idTypeName = idTypeName;
}
/** ?? 证件编号,???? ag_po_quotation_vehicle_relation.id_no */
@Column(name="id_no")
public String getIdNo(){
return this.idNo;
}
/** ?? 证件编号,???? ag_po_quotation_vehicle_relation.id_no */
public void setIdNo(String idNo){
this.idNo = idNo;
}
/** ?? 移动电话,???? ag_po_quotation_vehicle_relation.mobile_phone */
@Column(name="mobile_phone")
public String getMobilePhone(){
return this.mobilePhone;
}
/** ?? 移动电话,???? ag_po_quotation_vehicle_relation.mobile_phone */
public void setMobilePhone(String mobilePhone){
this.mobilePhone = mobilePhone;
}
/** ?? 性别,???? ag_po_quotation_vehicle_relation.gender */
@Column(name="gender")
public Integer getGender(){
return this.gender;
}
/** ?? 性别,???? ag_po_quotation_vehicle_relation.gender */
public void setGender(Integer gender){
this.gender = gender;
}
/** ?? 年龄,???? ag_po_quotation_vehicle_relation.age */
@Column(name="age")
public Integer getAge(){
return this.age;
}
/** ?? 年龄,???? ag_po_quotation_vehicle_relation.age */
public void setAge(Integer age){
this.age = age;
}
/** ?? 驾龄,???? ag_po_quotation_vehicle_relation.driving_age */
@Column(name="driving_age")
public Integer getDrivingAge(){
return this.drivingAge;
}
/** ?? 驾龄,???? ag_po_quotation_vehicle_relation.driving_age */
public void setDrivingAge(Integer drivingAge){
this.drivingAge = drivingAge;
}
/** ?? 国籍,???? ag_po_quotation_vehicle_relation.nationality */
@Column(name="nationality")
public String getNationality(){
return this.nationality;
}
/** ?? 国籍,???? ag_po_quotation_vehicle_relation.nationality */
public void setNationality(String nationality){
this.nationality = nationality;
}
/** ?? FK ag_md_country.id,???? ag_po_quotation_vehicle_relation.country_id */
@Column(name="country_id")
public Long getCountryId(){
return this.countryId;
}
/** ?? FK ag_md_country.id,???? ag_po_quotation_vehicle_relation.country_id */
public void setCountryId(Long countryId){
this.countryId = countryId;
}
/** ?? 地址,???? ag_po_quotation_vehicle_relation.address */
@Column(name="address")
public String getAddress(){
return this.address;
}
/** ?? 地址,???? ag_po_quotation_vehicle_relation.address */
public void setAddress(String address){
this.address = address;
}
/** ?? 邮编,???? ag_po_quotation_vehicle_relation.postcode */
@Column(name="postcode")
public String getPostcode(){
return this.postcode;
}
/** ?? 邮编,???? ag_po_quotation_vehicle_relation.postcode */
public void setPostcode(String postcode){
this.postcode = postcode;
}
/** ?? 固定电话,???? ag_po_quotation_vehicle_relation.telephone */
@Column(name="telephone")
public String getTelephone(){
return this.telephone;
}
/** ?? 固定电话,???? ag_po_quotation_vehicle_relation.telephone */
public void setTelephone(String telephone){
this.telephone = telephone;
}
/** ?? 打印附加,???? ag_po_quotation_vehicle_relation.print_addon */
@Column(name="print_addon")
public String getPrintAddon(){
return this.printAddon;
}
/** ?? 打印附加,???? ag_po_quotation_vehicle_relation.print_addon */
public void setPrintAddon(String printAddon){
this.printAddon = printAddon;
}
@Column(name="group_code")
public String getGroupCode(){
return this.groupCode;
}
public void setGroupCode(String groupCode){
this.groupCode = groupCode;
}
@Column(name="approval_status")
public Integer getApprovalStatus(){
return this.approvalStatus;
}
public void setApprovalStatus(Integer approvalStatus){
this.approvalStatus = approvalStatus;
}
@Column(name="version_no")
public Integer getVersionNo(){
return this.versionNo;
}
public void setVersionNo(Integer versionNo){
this.versionNo = versionNo;
}
@Column(name="email")
public String getEmail(){
return this.email;
}
public void setEmail(String email){
this.email = email;
}
@Column(name="is_inclusive_finance_drive")
public Integer getIsInclusiveFinanceDrive(){
return this.isInclusiveFinanceDrive;
}
public void setIsInclusiveFinanceDrive(Integer isInclusiveFinanceDrive){
this.isInclusiveFinanceDrive = isInclusiveFinanceDrive;
}
@Column(name="vehicle_relation_id")
public Long getVehicleRelationId(){
return this.vehicleRelationId;
}
public void setVehicleRelationId(Long vehicleRelationId){
this.vehicleRelationId = vehicleRelationId;
}
@Column(name="created_at")
public Date getCreatedAt(){
return this.createdAt;
}
public void setCreatedAt(Date createdAt){
this.createdAt = createdAt;
}
@Column(name="created_by")
public Long getCreatedBy(){
return this.createdBy;
}
public void setCreatedBy(Long createdBy){
this.createdBy = createdBy;
}
@Column(name="updated_at")
public Date getUpdatedAt(){
return this.updatedAt;
}
public void setUpdatedAt(Date updatedAt){
this.updatedAt = updatedAt;
}
@Column(name="updated_by")
public Long getUpdatedBy(){
return this.updatedBy;
}
public void setUpdatedBy(Long updatedBy){
this.updatedBy = updatedBy;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ajb-car-jpa</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding/<project>=UTF-8
encoding/pom.xml=UTF-8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="ajb-car-jpa">
<wb-resource deploy-path="/" source-path="/src/main/java"/>
</wb-module>
</project-modules>
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="cloudfoundry.standalone.app" version="1.0"/>
<installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.6"/>
</faceted-project>
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ajb-car</groupId>
<artifactId>ajb-car</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>ajb-car-jpa</artifactId>
<name>ajb-car-jpa</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-car-vo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-car-entity</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-common-utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- SpringBoot Web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringBoot jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--spring boot 配置处理器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<!-- Spring session redis -->
<!--
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
</dependency>
-->
<!-- log 默认logback-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- mysql 驱动 -->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- druid 连接池 -->
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
</dependency>
<!--
<dependency>
<groupId>org.kie.modules</groupId>
<artifactId>org-apache-commons-httpclient</artifactId>
<version>6.2.0.CR2</version>
</dependency>
-->
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<!-- <version>4.5.3</version> -->
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<!-- <version>4.4.6</version> -->
</dependency>
<dependency>
<groupId>com.swetake.util</groupId>
<artifactId>Qrcode</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.2.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>3.2.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dm</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<!-- <version>1.5.3</version> -->
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<!-- <version>1.6.2</version> -->
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
</dependencies>
</project>
package com.ajb.car.metadata.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.meta.AgMdCode;
@Repository
public interface AgMdCodeRepository extends JpaRepository<AgMdCode, Long>,JpaSpecificationExecutor<AgMdCode> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgMdCode> findAll();
@Query(value="SELECT * from ag_md_code where code_type = ?1 limit 1 ", nativeQuery=true)
AgMdCode getCodeByType(String type);
}
\ No newline at end of file
package com.ajb.car.metadata.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.meta.AgMdCodeType;
@Repository
public interface AgMdCodeTypeRepository extends JpaRepository<AgMdCodeType, Long>,JpaSpecificationExecutor<AgMdCodeType> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgMdCodeType> findAll();
}
\ No newline at end of file
package com.ajb.car.metadata.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import com.ajb.car.entity.meta.AgMdCode;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface AgMdCodeService {
AgMdCode save(AgMdCode agmdcode);
Boolean delete (Long id);
AgMdCode update(AgMdCode agmdcode);
AgMdCode findById(Long id);
Page<AgMdCode> findByObjPageable(AgMdCode agmdcode,Pageable pageable);
List<AgMdCode> findByObjSortable(AgMdCode agmdcode,Sort sort);
AgMdCode getCodeByType(String type);
}
\ No newline at end of file
package com.ajb.car.metadata.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import com.ajb.car.entity.meta.AgMdCodeType;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface AgMdCodeTypeService {
AgMdCodeType save(AgMdCodeType agmdcodetype);
Boolean delete (Long id);
AgMdCodeType update(AgMdCodeType agmdcodetype);
AgMdCodeType findById(Long id);
Page<AgMdCodeType> findByObjPageable(AgMdCodeType agmdcodetype,Pageable pageable);
List<AgMdCodeType> findByObjSortable(AgMdCodeType agmdcodetype,Sort sort);
}
\ No newline at end of file
package com.ajb.car.metadata.service;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.meta.AgMdCode;
import com.ajb.common.utils.cache.SystemCacheManager;
import net.sf.ehcache.Cache;
import net.sf.ehcache.Element;
@Service("systemConfigService")
@org.springframework.core.annotation.Order(1)
public class SystemConfigService implements CommandLineRunner{
private static Cache systemConfigCache = SystemCacheManager.getCache("systemConfigCache");
@Autowired
private AgMdCodeService mdCodeService;
/**
* 根据配置类型去获取相应配置
* @param configType
* @return
*/
public String getSingleConfigValue(String configType){
String configValue = null;
Element element = systemConfigCache.get(configType);
if(element != null && element.getObjectValue() != null){
configValue = (String)element.getObjectValue();
}else{
AgMdCode mdCode = new AgMdCode();
mdCode.setCodeType(configType);
mdCode.setIsActive(1);
// System.out.println("------------------------------查询"+configType+"并放入缓存");
List<AgMdCode> mdCodeList = mdCodeService.findByObjSortable(mdCode, null);
if(mdCodeList != null && mdCodeList.size()>0){
mdCode = mdCodeList.get(0);
configValue = mdCode.getCodeCode();
element = new Element(configType,configValue);
systemConfigCache.put(element);
}
}
return configValue;
}
/**
* 慎用!以免出现和keyValueMap中的key冲突,导致转换异常。
* 建议使用getKeyValueMap来替代此方法
* @param configType
* @return
*/
@SuppressWarnings("unchecked")
public List<String> getListConfigValue(String configType){
List<String> configValues = null;
Element element = systemConfigCache.get(configType);
if(element != null && element.getObjectValue() != null){
configValues = (List<String>)element.getObjectValue();
}else{
AgMdCode mdCode = new AgMdCode();
mdCode.setCodeType(configType);
mdCode.setIsActive(1);
List<AgMdCode> mdCodeList = mdCodeService.findByObjSortable(mdCode, null);
if(mdCodeList != null && mdCodeList.size()>0){
configValues = new ArrayList<String>();
for(AgMdCode md : mdCodeList){
configValues.add(md.getCodeCode());
}
element = new Element(configType,configValues);
systemConfigCache.put(element);
}
}
return configValues;
}
@Override
public void run(String... args) throws Exception {
// TODO Auto-generated method stub
}
}
package com.ajb.car.metadata.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.meta.AgMdCode;
import com.ajb.car.metadata.repositories.AgMdCodeRepository;
import com.ajb.car.metadata.service.AgMdCodeService;
@Service("agMdCodeService")
public class AgMdCodeServiceImpl implements AgMdCodeService{
@Autowired
private AgMdCodeRepository agMdCodeRepo;
public AgMdCode save(AgMdCode obj){
return agMdCodeRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agMdCodeRepo .delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgMdCode update(AgMdCode obj) {
return agMdCodeRepo.saveAndFlush(obj);
}
public AgMdCode findById(Long id){
return agMdCodeRepo.findOne(id);
}
public Page<AgMdCode> findByObjPageable(AgMdCode obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgMdCode> ex = Example.of(obj, matcher);
return agMdCodeRepo.findAll(ex,pageable);
}
public List<AgMdCode> findByObjSortable(AgMdCode obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgMdCode> ex = Example.of(obj, matcher);
return agMdCodeRepo.findAll(ex,sort);
}
@Override
public AgMdCode getCodeByType(String type) {
// TODO Auto-generated method stub
return agMdCodeRepo.getCodeByType(type);
}
}
\ No newline at end of file
package com.ajb.car.metadata.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.meta.AgMdCodeType;
import com.ajb.car.metadata.repositories.AgMdCodeTypeRepository;
import com.ajb.car.metadata.service.AgMdCodeTypeService;
@Service("agMdCodeTypeService")
public class AgMdCodeTypeServiceImpl implements AgMdCodeTypeService{
@Autowired
private AgMdCodeTypeRepository agMdCodeTypeRepo;
public AgMdCodeType save(AgMdCodeType obj){
return agMdCodeTypeRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agMdCodeTypeRepo .delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgMdCodeType update(AgMdCodeType obj) {
return agMdCodeTypeRepo.saveAndFlush(obj);
}
public AgMdCodeType findById(Long id){
return agMdCodeTypeRepo.findOne(id);
}
public Page<AgMdCodeType> findByObjPageable(AgMdCodeType obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgMdCodeType> ex = Example.of(obj, matcher);
return agMdCodeTypeRepo.findAll(ex,pageable);
}
public List<AgMdCodeType> findByObjSortable(AgMdCodeType obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgMdCodeType> ex = Example.of(obj, matcher);
return agMdCodeTypeRepo.findAll(ex,sort);
}
}
\ No newline at end of file
package com.ajb.car.quotation.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.quotation.AgPoQuotationConfirm;
@Repository
public interface AgPoQuotationConfirmRepository extends JpaRepository<AgPoQuotationConfirm, Long>,JpaSpecificationExecutor<AgPoQuotationConfirm> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgPoQuotationConfirm> findAll();
}
package com.ajb.car.quotation.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.quotation.AgPoQuotationCover;
@Repository
public interface AgPoQuotationCoverRepository extends JpaRepository<AgPoQuotationCover, Long>,JpaSpecificationExecutor<AgPoQuotationCover> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgPoQuotationCover> findAll();
}
\ No newline at end of file
package com.ajb.car.quotation.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.quotation.AgPoQuotation;
@Repository
public interface AgPoQuotationRepository extends JpaRepository<AgPoQuotation, Long>,JpaSpecificationExecutor<AgPoQuotation> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgPoQuotation> findAll();
@Query(value="select * from ag_po_quotation t where quote_no=?1 ", nativeQuery=true)
AgPoQuotation findByQuoteNo(String quoteNo);
}
package com.ajb.car.quotation.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.quotation.AgPoQuotationTax;
@Repository
public interface AgPoQuotationTaxRepository extends JpaRepository<AgPoQuotationTax, Long>,JpaSpecificationExecutor<AgPoQuotationTax> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgPoQuotationTax> findAll();
}
\ No newline at end of file
package com.ajb.car.quotation.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.quotation.AgPoQuotationVehicleRelation;
@Repository
public interface AgPoQuotationVehicleRelationRepository extends JpaRepository<AgPoQuotationVehicleRelation, Long>,JpaSpecificationExecutor<AgPoQuotationVehicleRelation> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgPoQuotationVehicleRelation> findAll();
}
\ No newline at end of file
package com.ajb.car.quotation.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.quotation.AgPoQuotationVehicle;
@Repository
public interface AgPoQuotationVehicleRepository extends JpaRepository<AgPoQuotationVehicle, Long>,JpaSpecificationExecutor<AgPoQuotationVehicle> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgPoQuotationVehicle> findAll();
}
\ No newline at end of file
package com.ajb.car.quotation.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.ajb.car.entity.apimessage.AgTransVehicleMsgOrigin;
@Repository
public interface AgTransVehicleMsgOriginRepository extends JpaRepository<AgTransVehicleMsgOrigin, Long>,JpaSpecificationExecutor<AgTransVehicleMsgOrigin> {
/***
* mock find 10
*/
@Query(value="select * from ${context.tableName} t limit 10 ", nativeQuery=true)
List<AgTransVehicleMsgOrigin> findAll();
}
\ No newline at end of file
package com.ajb.car.quotation.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import com.ajb.car.entity.quotation.AgPoQuotationConfirm;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface AgPoQuotationConfirmService {
AgPoQuotationConfirm save(AgPoQuotationConfirm agpoquotationconfirm);
Boolean delete (Long id);
AgPoQuotationConfirm update(AgPoQuotationConfirm agpoquotationconfirm);
AgPoQuotationConfirm findById(Long id);
Page<AgPoQuotationConfirm> findByObjPageable(AgPoQuotationConfirm agpoquotationconfirm,Pageable pageable);
List<AgPoQuotationConfirm> findByObjSortable(AgPoQuotationConfirm agpoquotationconfirm,Sort sort);
}
\ No newline at end of file
package com.ajb.car.quotation.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import com.ajb.car.entity.quotation.AgPoQuotationCover;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface AgPoQuotationCoverService {
AgPoQuotationCover save(AgPoQuotationCover agpoquotationcover);
Boolean delete (Long id);
AgPoQuotationCover update(AgPoQuotationCover agpoquotationcover);
AgPoQuotationCover findById(Long id);
Page<AgPoQuotationCover> findByObjPageable(AgPoQuotationCover agpoquotationcover,Pageable pageable);
List<AgPoQuotationCover> findByObjSortable(AgPoQuotationCover agpoquotationcover,Sort sort);
}
\ No newline at end of file
package com.ajb.car.quotation.service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import com.ajb.car.entity.quotation.AgPoQuotation;
public interface AgPoQuotationService {
AgPoQuotation save(AgPoQuotation agpoquotation);
Boolean delete (Long id);
AgPoQuotation update(AgPoQuotation agpoquotation);
AgPoQuotation findById(Long id);
Page<AgPoQuotation> findByObjPageable(AgPoQuotation agpoquotation,Pageable pageable);
/**** 下面是自定义方法 ****/
/**
* 按交易号 和 请求或响应 查询
* @param tranNo
* @param inOrout
* @return
*/
public AgPoQuotation findByQuoteNo(String quoteNo);
}
package com.ajb.car.quotation.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import com.ajb.car.entity.quotation.AgPoQuotationTax;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface AgPoQuotationTaxService {
AgPoQuotationTax save(AgPoQuotationTax agpoquotationtax);
Boolean delete (Long id);
AgPoQuotationTax update(AgPoQuotationTax agpoquotationtax);
AgPoQuotationTax findById(Long id);
Page<AgPoQuotationTax> findByObjPageable(AgPoQuotationTax agpoquotationtax,Pageable pageable);
List<AgPoQuotationTax> findByObjSortable(AgPoQuotationTax agpoquotationtax,Sort sort);
}
\ No newline at end of file
package com.ajb.car.quotation.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import com.ajb.car.entity.quotation.AgPoQuotationVehicleRelation;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface AgPoQuotationVehicleRelationService {
AgPoQuotationVehicleRelation save(AgPoQuotationVehicleRelation agpoquotationvehiclerelation);
Boolean delete (Long id);
AgPoQuotationVehicleRelation update(AgPoQuotationVehicleRelation agpoquotationvehiclerelation);
AgPoQuotationVehicleRelation findById(Long id);
Page<AgPoQuotationVehicleRelation> findByObjPageable(AgPoQuotationVehicleRelation agpoquotationvehiclerelation,Pageable pageable);
List<AgPoQuotationVehicleRelation> findByObjSortable(AgPoQuotationVehicleRelation agpoquotationvehiclerelation,Sort sort);
}
\ No newline at end of file
package com.ajb.car.quotation.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import com.ajb.car.entity.quotation.AgPoQuotationVehicle;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface AgPoQuotationVehicleService {
AgPoQuotationVehicle save(AgPoQuotationVehicle agpoquotationvehicle);
Boolean delete (Long id);
AgPoQuotationVehicle update(AgPoQuotationVehicle agpoquotationvehicle);
AgPoQuotationVehicle findById(Long id);
Page<AgPoQuotationVehicle> findByObjPageable(AgPoQuotationVehicle agpoquotationvehicle,Pageable pageable);
List<AgPoQuotationVehicle> findByObjSortable(AgPoQuotationVehicle agpoquotationvehicle,Sort sort);
}
\ No newline at end of file
package com.ajb.car.quotation.service;
import java.util.List;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import com.ajb.car.entity.apimessage.AgTransVehicleMsgOrigin;
public interface AgTransVehicleMsgOriginService {
AgTransVehicleMsgOrigin save(AgTransVehicleMsgOrigin agtransvehiclemsgorigin);
Boolean delete (Long id);
AgTransVehicleMsgOrigin update(AgTransVehicleMsgOrigin agtransvehiclemsgorigin);
AgTransVehicleMsgOrigin findById(Long id);
Page<AgTransVehicleMsgOrigin> findByObjPageable(AgTransVehicleMsgOrigin agtransvehiclemsgorigin,Pageable pageable);
List<AgTransVehicleMsgOrigin> findByObjSortable(AgTransVehicleMsgOrigin agtransvehiclemsgorigin,Sort sort);
}
\ No newline at end of file
package com.ajb.car.quotation.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.quotation.AgPoQuotationConfirm;
import com.ajb.car.quotation.repositories.AgPoQuotationConfirmRepository;
import com.ajb.car.quotation.service.AgPoQuotationConfirmService;
@Service("agPoQuotationConfirmService")
public class AgPoQuotationConfirmServiceImpl implements AgPoQuotationConfirmService{
@Autowired
private AgPoQuotationConfirmRepository agPoQuotationConfirmRepo;
public AgPoQuotationConfirm save(AgPoQuotationConfirm obj){
return agPoQuotationConfirmRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agPoQuotationConfirmRepo.delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgPoQuotationConfirm update(AgPoQuotationConfirm obj) {
return agPoQuotationConfirmRepo.saveAndFlush(obj);
}
public AgPoQuotationConfirm findById(Long id){
return agPoQuotationConfirmRepo.findOne(id);
}
public Page<AgPoQuotationConfirm> findByObjPageable(AgPoQuotationConfirm obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationConfirm> ex = Example.of(obj, matcher);
return agPoQuotationConfirmRepo.findAll(ex,pageable);
}
public List<AgPoQuotationConfirm> findByObjSortable(AgPoQuotationConfirm obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationConfirm> ex = Example.of(obj, matcher);
return agPoQuotationConfirmRepo.findAll(ex,sort);
}
}
\ No newline at end of file
package com.ajb.car.quotation.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.quotation.AgPoQuotationCover;
import com.ajb.car.quotation.repositories.AgPoQuotationCoverRepository;
import com.ajb.car.quotation.service.AgPoQuotationCoverService;
@Service("agPoQuotationCoverService")
public class AgPoQuotationCoverServiceImpl implements AgPoQuotationCoverService{
@Autowired
private AgPoQuotationCoverRepository agPoQuotationCoverRepo;
public AgPoQuotationCover save(AgPoQuotationCover obj){
return agPoQuotationCoverRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agPoQuotationCoverRepo .delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgPoQuotationCover update(AgPoQuotationCover obj) {
return agPoQuotationCoverRepo.saveAndFlush(obj);
}
public AgPoQuotationCover findById(Long id){
return agPoQuotationCoverRepo.findOne(id);
}
public Page<AgPoQuotationCover> findByObjPageable(AgPoQuotationCover obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationCover> ex = Example.of(obj, matcher);
return agPoQuotationCoverRepo.findAll(ex,pageable);
}
public List<AgPoQuotationCover> findByObjSortable(AgPoQuotationCover obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationCover> ex = Example.of(obj, matcher);
return agPoQuotationCoverRepo.findAll(ex,sort);
}
}
\ No newline at end of file
package com.ajb.car.quotation.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.quotation.AgPoQuotation;
import com.ajb.car.quotation.repositories.AgPoQuotationRepository;
import com.ajb.car.quotation.service.AgPoQuotationService;
@Service("agPoQuotationService")
public class AgPoQuotationServiceImpl implements AgPoQuotationService{
@Autowired
private AgPoQuotationRepository agPoQuotationRepo;
public AgPoQuotation save(AgPoQuotation obj){
return agPoQuotationRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agPoQuotationRepo .delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgPoQuotation update(AgPoQuotation obj) {
return agPoQuotationRepo.saveAndFlush(obj);
}
public AgPoQuotation findById(Long id){
return agPoQuotationRepo.findOne(id);
}
public Page<AgPoQuotation> findByObjPageable(AgPoQuotation obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotation> ex = Example.of(obj, matcher);
return agPoQuotationRepo.findAll(ex,pageable);
}
@Override
public AgPoQuotation findByQuoteNo(String quoteNo) {
// TODO Auto-generated method stub
return agPoQuotationRepo.findByQuoteNo(quoteNo);
}
}
\ No newline at end of file
package com.ajb.car.quotation.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.quotation.AgPoQuotationTax;
import com.ajb.car.quotation.repositories.AgPoQuotationTaxRepository;
import com.ajb.car.quotation.service.AgPoQuotationTaxService;
@Service("agPoQuotationTaxService")
public class AgPoQuotationTaxServiceImpl implements AgPoQuotationTaxService{
@Autowired
private AgPoQuotationTaxRepository agPoQuotationTaxRepo;
public AgPoQuotationTax save(AgPoQuotationTax obj){
return agPoQuotationTaxRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agPoQuotationTaxRepo .delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgPoQuotationTax update(AgPoQuotationTax obj) {
return agPoQuotationTaxRepo.saveAndFlush(obj);
}
public AgPoQuotationTax findById(Long id){
return agPoQuotationTaxRepo.findOne(id);
}
public Page<AgPoQuotationTax> findByObjPageable(AgPoQuotationTax obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationTax> ex = Example.of(obj, matcher);
return agPoQuotationTaxRepo.findAll(ex,pageable);
}
public List<AgPoQuotationTax> findByObjSortable(AgPoQuotationTax obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationTax> ex = Example.of(obj, matcher);
return agPoQuotationTaxRepo.findAll(ex,sort);
}
}
\ No newline at end of file
package com.ajb.car.quotation.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.quotation.AgPoQuotationVehicleRelation;
import com.ajb.car.quotation.repositories.AgPoQuotationVehicleRelationRepository;
import com.ajb.car.quotation.service.AgPoQuotationVehicleRelationService;
@Service("agPoQuotationVehicleRelationService")
public class AgPoQuotationVehicleRelationServiceImpl implements AgPoQuotationVehicleRelationService{
@Autowired
private AgPoQuotationVehicleRelationRepository agPoQuotationVehicleRelationRepo;
public AgPoQuotationVehicleRelation save(AgPoQuotationVehicleRelation obj){
return agPoQuotationVehicleRelationRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agPoQuotationVehicleRelationRepo .delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgPoQuotationVehicleRelation update(AgPoQuotationVehicleRelation obj) {
return agPoQuotationVehicleRelationRepo.saveAndFlush(obj);
}
public AgPoQuotationVehicleRelation findById(Long id){
return agPoQuotationVehicleRelationRepo.findOne(id);
}
public Page<AgPoQuotationVehicleRelation> findByObjPageable(AgPoQuotationVehicleRelation obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationVehicleRelation> ex = Example.of(obj, matcher);
return agPoQuotationVehicleRelationRepo.findAll(ex,pageable);
}
public List<AgPoQuotationVehicleRelation> findByObjSortable(AgPoQuotationVehicleRelation obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationVehicleRelation> ex = Example.of(obj, matcher);
return agPoQuotationVehicleRelationRepo.findAll(ex,sort);
}
}
\ No newline at end of file
package com.ajb.car.quotation.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.quotation.AgPoQuotationVehicle;
import com.ajb.car.quotation.repositories.AgPoQuotationVehicleRepository;
import com.ajb.car.quotation.service.AgPoQuotationVehicleService;
@Service("agPoQuotationVehicleService")
public class AgPoQuotationVehicleServiceImpl implements AgPoQuotationVehicleService{
@Autowired
private AgPoQuotationVehicleRepository agPoQuotationVehicleRepo;
public AgPoQuotationVehicle save(AgPoQuotationVehicle obj){
return agPoQuotationVehicleRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agPoQuotationVehicleRepo .delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgPoQuotationVehicle update(AgPoQuotationVehicle obj) {
return agPoQuotationVehicleRepo.saveAndFlush(obj);
}
public AgPoQuotationVehicle findById(Long id){
return agPoQuotationVehicleRepo.findOne(id);
}
public Page<AgPoQuotationVehicle> findByObjPageable(AgPoQuotationVehicle obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationVehicle> ex = Example.of(obj, matcher);
return agPoQuotationVehicleRepo.findAll(ex,pageable);
}
public List<AgPoQuotationVehicle> findByObjSortable(AgPoQuotationVehicle obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgPoQuotationVehicle> ex = Example.of(obj, matcher);
return agPoQuotationVehicleRepo.findAll(ex,sort);
}
}
\ No newline at end of file
package com.ajb.car.quotation.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import com.ajb.car.entity.apimessage.AgTransVehicleMsgOrigin;
import com.ajb.car.quotation.repositories.AgTransVehicleMsgOriginRepository;
import com.ajb.car.quotation.service.AgTransVehicleMsgOriginService;
@Service("agTransVehicleMsgOriginService")
public class AgTransVehicleMsgOriginServiceImpl implements AgTransVehicleMsgOriginService{
@Autowired
private AgTransVehicleMsgOriginRepository agTransVehicleMsgOriginRepo;
public AgTransVehicleMsgOrigin save(AgTransVehicleMsgOrigin obj){
return agTransVehicleMsgOriginRepo.save(obj);
}
public Boolean delete(Long id) {
try {
agTransVehicleMsgOriginRepo.delete(id);
} catch (Exception e) {
return false;
}
return true;
}
public AgTransVehicleMsgOrigin update(AgTransVehicleMsgOrigin obj) {
return agTransVehicleMsgOriginRepo.saveAndFlush(obj);
}
public AgTransVehicleMsgOrigin findById(Long id){
return agTransVehicleMsgOriginRepo.findOne(id);
}
public Page<AgTransVehicleMsgOrigin> findByObjPageable(AgTransVehicleMsgOrigin obj,Pageable pageable){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgTransVehicleMsgOrigin> ex = Example.of(obj, matcher);
return agTransVehicleMsgOriginRepo.findAll(ex,pageable);
}
public List<AgTransVehicleMsgOrigin> findByObjSortable(AgTransVehicleMsgOrigin obj,Sort sort){
ExampleMatcher matcher = ExampleMatcher.matching();
Example<AgTransVehicleMsgOrigin> ex = Example.of(obj, matcher);
return agTransVehicleMsgOriginRepo.findAll(ex,sort);
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.8.0_121">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ajb-car-utils</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding/<project>=UTF-8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ajb-car</groupId>
<artifactId>ajb-car</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>ajb-car-utils</artifactId>
<name>ajb-car-utils</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>ajb-car</groupId>
<artifactId>ajb-car-vo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- SpringBoot Web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<!-- <version>4.5.3</version> -->
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<!-- <version>4.4.6</version> -->
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<!-- <version>1.6.2</version> -->
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
</dependencies>
</project>
package com.ajb.common.utils.cache;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
public class SystemCacheManager {
public static final CacheManager manager = CacheManager.create();
public SystemCacheManager() {
}
public static Cache getCache(String cacheName) {
if (!manager.cacheExists(cacheName)) {
manager.addCache(cacheName);
}
return manager.getCache(cacheName);
}
}
package com.ajb.common.utils.encryption;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.KeyFactory;
import java.security.KeyStore;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;
import java.security.SignatureException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.ajb.common.utils.string.StringUtil;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class EncryptUtil {
private static final Log logger = LogFactory.getLog(EncryptUtil.class);
private static final String HEX_CHARS = "0123456789abcdef";
/**
* 加密
* @param source
* @return
*/
public static String encrypt(String source,String charSet) {
if(StringUtil.isNullOrBlank(source)){
return null;
}
if(StringUtil.isNullOrBlank(charSet)){
charSet = "utf-8";
}
try {
MessageDigest md = MessageDigest.getInstance("MD5");
try {
md.update(source.getBytes(charSet));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0){i += 256;}
if (i < 16){buf.append("0");}
buf.append(Integer.toHexString(i));
}
//32位加密
return buf.toString();
// 16位的加密
//return buf.toString().substring(8, 24);
} catch (NoSuchAlgorithmException e) {
// e.printStackTrace();
return null;
}
}
public static String encryptLiberty(String str,String charSet) {
if (StringUtil.isNullOrBlank(str)){
return null;
}
if(StringUtil.isNullOrBlank(charSet)){
charSet = "utf-8";
}
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes(charSet));
return byteArrayToHexString(md.digest());
} catch (Exception e) {
// System.out.println(e.getMessage());
return null;
}
}
public static String byteArrayToHexString(byte[] b) {
String result = "";
for (byte aB : b) {
result += Integer.toString((aB & 0xff) + 0x100, 16).substring(1);
}
return result;
}
/**
* SHA256WithRSA 加签
*
* @param content
* @param privateKey
* @param charset
* @return
*/
public static String rsa256Sign(String content, String privateKey,String charset){
// org.apache.xml.security.utils.Base64 b = null;
try {
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
byte[] encodedKey = Base64.getDecoder().decode(privateKey);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encodedKey);
PrivateKey prikey = keyFactory.generatePrivate(keySpec);
java.security.Signature signature = java.security.Signature.getInstance("SHA256WithRSA");
signature.initSign(prikey);
if(charset != null && !"".equals(charset)){
signature.update(content.getBytes(charset));
}else{
signature.update(content.getBytes());
}
byte[] signed = signature.sign();
return new String(Base64.getEncoder().encode(signed));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (InvalidKeySpecException e){
e.printStackTrace();
} catch (InvalidKeyException e){
e.printStackTrace();
} catch (UnsupportedEncodingException e){
e.printStackTrace();
} catch (SignatureException e){
e.printStackTrace();
}
return null;
}
/**
* SHA256WithRSA 验签
* @param content
* @param sign
* @param publicKey
* @param charset
* @return
*/
public static boolean rsa256CheckContent(String content, String sign, String publicKey,String charset){
try{
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
byte[] encodedKey = Base64.getDecoder().decode(publicKey);
PublicKey pubkey = keyFactory.generatePublic(new X509EncodedKeySpec(encodedKey));
java.security.Signature signature = java.security.Signature.getInstance("SHA256WithRSA");
signature.initVerify(pubkey);
if(charset != null && !"".equals(charset)){
signature.update(content.getBytes(charset));
}else{
signature.update(content.getBytes());
}
return signature.verify(Base64.getDecoder().decode(sign.getBytes()));
} catch (NoSuchAlgorithmException e){
e.printStackTrace();
} catch (InvalidKeySpecException e){
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (SignatureException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return false;
}
/**
* 私钥加密方法(非对称)
*@param parameterStr 明文字符串
*@param aliasName 证书别名
*@param keystorePwd 证书密码
*@param inputCharset 字符集
*@param privateFilePath 私钥证书路径
*@return
* @author ex_liukai
* @see
*/
public static String axaSign(String parameterStr,String aliasName,
String keystorePwd,String inputCharset,String privateFilePath){
String base64 = "";
try{
KeyStore ks = KeyStore.getInstance("PKCS12");
//私钥证书地址
FileInputStream ksfis = new FileInputStream(privateFilePath);
BufferedInputStream ksbufin = new BufferedInputStream(ksfis);
//私钥密码
char[] keyPwd = keystorePwd.toCharArray();
ks.load(ksbufin, keyPwd);
PrivateKey priK = (PrivateKey)ks.getKey("test-alias", keyPwd);
Signature signature = Signature.getInstance("SHA1withRSA");
signature.initSign(priK);
signature.update(parameterStr.getBytes(inputCharset));
BASE64Encoder encoder = new BASE64Encoder();
base64 = encoder.encode(signature.sign());
}catch (FileNotFoundException e) {
e.printStackTrace();
logger.error(e);
} catch (Exception ex) {
ex.printStackTrace();
logger.error(ex);
}
return base64;
}
/**
* 解密方法
*@param parameterStr 明文字符串
*@param sign 加密串
*@param publicFilePath 公钥证书路径
*@return
* @author ex_liukai
* @see
*/
public static boolean axaEnCodeByCer(String parameterStr, String sign,String publicFilePath){
boolean flag = false;
try{
//公钥证书文件
InputStream inStream = new FileInputStream(publicFilePath);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
PublicKey pk = cert.getPublicKey();
Signature signature = Signature.getInstance("SHA1withRSA");
signature.initVerify(pk);
signature.update(parameterStr.getBytes());
BASE64Decoder decoder = new BASE64Decoder();
flag = signature.verify(decoder.decodeBuffer(sign));
} catch (Exception e) {
System.out.println(e.toString());
}
return flag;
}
/**
* 返回 MessageDigest MD5
*/
private static MessageDigest getDigest() {
try {
return MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
/**
* 返回 MessageDigest MD5
*/
private static MessageDigest getDigestBySha() {
try {
return MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
/**
* MD5加密,并返回作为一个十六进制字节
*/
public static byte[] md5(byte[] data) {
return getDigest().digest(data);
}
/**
* SHA-256加密,并返回作为一个十六进制字节
*/
public static byte[] sha256(byte[] data) {
return getDigestBySha().digest(data);
}
/**
* MD5加密,并返回作为一个十六进制字节
* <code>byte[]</code>.
* @param data Data to digest
* @return MD5 digest
*/
public static byte[] md5(String data,String charSet) {
if(StringUtil.isNullOrBlank(charSet)){
charSet = "UTF-8";
}
byte[] bytes = null;
try {
bytes = md5(data.getBytes(charSet));
} catch (UnsupportedEncodingException e) {
logger.error("MD5加密出错。",e);
}
return bytes;
}
/**
* MD5加密,并返回一个32字符的十六进制值
*/
public static String md5Hex(byte[] data) {
return toHexString(md5(data));
}
/**
* MD5加密,并返回一个32字符的十六进制值
*/
public static String md5Hex(String data,String charSet) {
return toHexString(md5(data,charSet));
}
/**
* SHA256加密
*/
public static String sha256Hex(String data,String charSet) {
if(StringUtil.isNullOrBlank(charSet)){
charSet = "UTF-8";
}
try {
return toHexString(sha256(data.getBytes(charSet)));
} catch (UnsupportedEncodingException e) {
logger.error("MD5加密出错。",e);
return null;
}
}
private static String toHexString(byte[] b) {
StringBuffer stringbuffer = new StringBuffer();
for (int i = 0; i < b.length; i++) {
stringbuffer.append(HEX_CHARS.charAt(b[i] >>> 4 & 0x0F));
stringbuffer.append(HEX_CHARS.charAt(b[i] & 0x0F));
}
return stringbuffer.toString();
}
}
package com.ajb.common.utils.encryption;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MD5Util {
private static final String HEX_CHARS = "0123456789abcdef";
/** 日志 */
private static Log logger = LogFactory.getLog(MD5Util.class);
private MD5Util() {}
/**
* 返回 MessageDigest MD5
*/
private static MessageDigest getDigest() {
try {
return MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
/**
* 返回 MessageDigest MD5
*/
private static MessageDigest getDigestBySha() {
try {
return MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
/**
* MD5加密,并返回作为一个十六进制字节
*/
public static byte[] md5(byte[] data) {
return getDigest().digest(data);
}
/**
* SHA-256加密,并返回作为一个十六进制字节
*/
public static byte[] sha256(byte[] data) {
return getDigestBySha().digest(data);
}
/**
* MD5加密,并返回作为一个十六进制字节
* <code>byte[]</code>.
*
* @param data
* Data to digest
* @return MD5 digest
*/
public static byte[] md5(String data) {
byte[] bytes = null;
try {
bytes = md5(data.getBytes("UTF-8"));
} catch (UnsupportedEncodingException e) {
logger.error("MD5加密出错。",e);
}
return bytes;
}
/**
* MD5加密,并返回一个32字符的十六进制值
*/
public static String md5Hex(byte[] data) {
return toHexString(md5(data));
}
/**
* MD5加密,并返回一个32字符的十六进制值
*/
public static String md5Hex(String data) {
return toHexString(md5(data));
}
/**
* SHA256加密
*/
public static String sha256Hex(String data) {
try {
return toHexString(sha256(data.getBytes("UTF-8")));
} catch (UnsupportedEncodingException e) {
logger.error("MD5加密出错。",e);
return null;
}
}
private static String toHexString(byte[] b) {
StringBuffer stringbuffer = new StringBuffer();
for (int i = 0; i < b.length; i++) {
stringbuffer.append(HEX_CHARS.charAt(b[i] >>> 4 & 0x0F));
stringbuffer.append(HEX_CHARS.charAt(b[i] & 0x0F));
}
return stringbuffer.toString();
}
}
package com.ajb.common.utils.http;
import java.io.IOException;
import java.io.InputStream;
import com.ajb.car.vo.zhima.TokenZhiMa;
import com.ajb.common.utils.string.StringUtil;
import com.alibaba.fastjson.JSON;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class HttpHelpZhiMa {
/**
*
* @param urlQuery
* @param queryParams
* @param requestPath
* @param token
* @param beanClass
* @return
*/
public static Object postUrlMap2JavaBean(String urlQuery,String queryParams, String token)
{
Object object = null;
String returnQueryList = null;
returnQueryList = doPost(urlQuery,queryParams,token);
System.out.println("response:" + returnQueryList);
object = JSON.parseObject(returnQueryList);
return object;
}
public static <T> T postUrlMap2JavaBean(String urlQuery,String queryParams, String token,Class<T> beanClass)
{
T t = null;
String returnQueryList = null;
returnQueryList = doPost(urlQuery,queryParams,token);
//System.out.println("response:" + returnQueryList);
t = JSON.parseObject(returnQueryList, beanClass);
return t;
}
public static <T> T getUrlMap2JavaBean(String urlQuery, String token,Class<T> beanClass)
{
T t = null;
String returnQueryList = null;
returnQueryList = doGet(urlQuery, token);
//System.out.println("response:" + returnQueryList);
t = JSON.parseObject(returnQueryList, beanClass);
return t;
}
/**
* 获取token
* @param url
* @param requestBody
* @param tokenPathParam
* @param token
* @return
*/
public static TokenZhiMa getToken(String url, String requestBody)
{
TokenZhiMa token = null;
String reToken = null;
reToken = doPost(url,requestBody,null);
token = JSON.parseObject(reToken, TokenZhiMa.class);
return token;
}
public static String doGet(String url, String token)
{
String returnValue = null;
RequestBody body = null;
OkHttpClient client = new OkHttpClient();
Request request = null;
if (token == null || token == "")
{
request = new Request.Builder()
.url(url)
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Cache-Control", "no-cache")
.build();
}else
{
request = new Request.Builder()
.url(url)
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Cache-Control", "no-cache")
.addHeader("token", token)
.build();
}
try
{
Response response = client.newCall(request).execute();
InputStream inputStream = response.body().byteStream();
try {
String responseXml = StringUtil.getInputStreamContent(inputStream,"UTF-8");
returnValue = responseXml;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return returnValue;
}
public static String doPost(String url, String requestBody,String token)
{
String returnValue = null;
RequestBody body = null;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
body = RequestBody.create(mediaType, requestBody);
Request request = null;
if (token == null || token == "")
{
request = new Request.Builder()
.url(url)
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Cache-Control", "no-cache")
.build();
}else
{
request = new Request.Builder()
.url(url)
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Cache-Control", "no-cache")
.addHeader("token", token)
.build();
}
try {
Response response = client.newCall(request).execute();
InputStream inputStream = response.body().byteStream();
try {
String responseXml = StringUtil.getInputStreamContent(inputStream,"UTF-8");
returnValue = responseXml;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return returnValue;
}
}
package com.ajb.common.utils.http;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.security.KeyManagementException;
//import java.security.KeyStore;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpEntity;
//import org.apache.http.HttpException;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.config.ConnectionConfig;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.config.SocketConfig;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.LayeredConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.cookie.Cookie;
import org.apache.http.cookie.CookieOrigin;
import org.apache.http.entity.StringEntity;
//import org.apache.http.entity.mime.FormBodyPart;
//import org.apache.http.entity.mime.HttpMultipartMode;
//import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.impl.cookie.BasicClientCookie;
import org.apache.http.impl.cookie.BestMatchSpec;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
@SuppressWarnings("deprecation")
class AnyTrustStrategy implements TrustStrategy{
@Override
public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
return true;
}
}
public class HttpUtil {
private static final Log log= LogFactory.getLog(HttpUtil.class);
private static int bufferSize= 1024;
private static volatile HttpUtil instance;
private ConnectionConfig connConfig;
private SocketConfig socketConfig;
private ConnectionSocketFactory plainSF;
// private KeyStore trustStore;
private SSLContext sslContext;
private LayeredConnectionSocketFactory sslSF;
private Registry<ConnectionSocketFactory> registry;
private PoolingHttpClientConnectionManager connManager;
private volatile HttpClient client;
private volatile BasicCookieStore cookieStore;
public static String defaultEncoding= "utf-8";
private static List<NameValuePair> paramsConverter(Map<String, String> params){
List<NameValuePair> nvps = new LinkedList<NameValuePair>();
Set<Entry<String, String>> paramsSet= params.entrySet();
for (Entry<String, String> paramEntry : paramsSet) {
nvps.add(new BasicNameValuePair(paramEntry.getKey(), paramEntry.getValue()));
}
return nvps;
}
public static String readStream(InputStream in, String encoding){
if (in == null){
return null;
}
try {
InputStreamReader inReader= null;
if (encoding == null){
inReader= new InputStreamReader(in, defaultEncoding);
}else{
inReader= new InputStreamReader(in, encoding);
}
char[] buffer= new char[bufferSize];
int readLen= 0;
StringBuffer sb= new StringBuffer();
while((readLen= inReader.read(buffer))!=-1){
sb.append(buffer, 0, readLen);
}
inReader.close();
return sb.toString();
} catch (IOException e) {
log.error("读取返回内容出错", e);
}
return null;
}
private static class TrustAnyTrustManager implements X509TrustManager{
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[] {};
}
}
private static class TrustAnyHostnameVerifier implements HostnameVerifier{
@Override
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
}
// @SuppressWarnings("deprecation")
private HttpUtil(){
//设置连接参数
connConfig = ConnectionConfig.custom().setCharset(Charset.forName(defaultEncoding)).build();
socketConfig = SocketConfig.custom().setSoTimeout(100000).build();
RegistryBuilder<ConnectionSocketFactory> registryBuilder = RegistryBuilder.<ConnectionSocketFactory>create();
plainSF = new PlainConnectionSocketFactory();
registryBuilder.register("http", plainSF);
//指定信任密钥存储对象和连接套接字工厂
try {
// trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
// sslContext = SSLContexts.custom().useTLS().loadTrustMaterial(trustStore, new AnyTrustStrategy()).build();
sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom());
// sslSF = new SSLConnectionSocketFactory(sslContext, SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
sslSF = new SSLConnectionSocketFactory(sslContext, new TrustAnyHostnameVerifier() );
registryBuilder.register("https", sslSF);
// } catch (KeyStoreException e) {
// throw new RuntimeException(e);
} catch (KeyManagementException e) {
throw new RuntimeException(e);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
registry = registryBuilder.build();
//设置连接管理器
connManager = new PoolingHttpClientConnectionManager(registry);
connManager.setDefaultConnectionConfig(connConfig);
connManager.setDefaultSocketConfig(socketConfig);
//指定cookie存储对象
cookieStore = new BasicCookieStore();
//构建客户端
client= HttpClientBuilder.create().setDefaultCookieStore(cookieStore).setConnectionManager(connManager).build();
}
public static HttpUtil getInstance(){
synchronized (HttpUtil.class) {
if (HttpUtil.instance == null){
instance = new HttpUtil();
}
return instance;
}
}
public InputStream doGet(String url) throws URISyntaxException, ClientProtocolException, IOException{
HttpResponse response= this.doGet(url, null);
return response!=null ? response.getEntity().getContent() : null;
}
public String doGetForString(String url) throws URISyntaxException, ClientProtocolException, IOException{
return HttpUtil.readStream(this.doGet(url), null);
}
public InputStream doGetForStream(String url, Map<String, String> queryParams) throws URISyntaxException, ClientProtocolException, IOException{
HttpResponse response= this.doGet(url, queryParams);
return response!=null ? response.getEntity().getContent() : null;
}
public String doGetForString(String url, Map<String, String> queryParams) throws URISyntaxException, ClientProtocolException, IOException{
return HttpUtil.readStream(this.doGetForStream(url, queryParams), null);
}
/**
* 基本的Get请求
* @param url 请求url
* @param queryParams 请求头的查询参数
* @return
* @throws URISyntaxException
* @throws IOException
* @throws ClientProtocolException
*/
public HttpResponse doGet(String url, Map<String, String> queryParams) throws URISyntaxException, ClientProtocolException, IOException{
HttpGet gm = new HttpGet();
URIBuilder builder = new URIBuilder(url);
//填入查询参数
if (queryParams!=null && !queryParams.isEmpty()){
builder.setParameters(HttpUtil.paramsConverter(queryParams));
}
gm.setURI(builder.build());
return client.execute(gm);
}
public InputStream doPostForStream(String url, Map<String, String> queryParams) throws URISyntaxException, ClientProtocolException, IOException {
HttpResponse response = this.doPost(url, queryParams, null);
return response!=null ? response.getEntity().getContent() : null;
}
public String doPostForString(String url, Map<String, String> queryParams) throws URISyntaxException, ClientProtocolException, IOException {
return HttpUtil.readStream(this.doPostForStream(url, queryParams), null);
}
public InputStream doPostForStream(String url, Map<String, String> queryParams, Map<String, String> formParams) throws URISyntaxException, ClientProtocolException, IOException{
HttpResponse response = this.doPost(url, queryParams, formParams);
return response!=null ? response.getEntity().getContent() : null;
}
public String doPostRetString(String url, Map<String, String> queryParams, Map<String, String> formParams) throws URISyntaxException, ClientProtocolException, IOException{
return HttpUtil.readStream(this.doPostForStream(url, queryParams, formParams), null);
}
/**
* 基本的Post请求
* @param url 请求url
* @param queryParams 请求头的查询参数
* @param formParams post表单的参数
* @return
* @throws URISyntaxException
* @throws IOException
* @throws ClientProtocolException
*/
public HttpResponse doPost(String url, Map<String, String> queryParams, Map<String, String> formParams) throws URISyntaxException, ClientProtocolException, IOException{
HttpPost pm = new HttpPost();
URIBuilder builder = new URIBuilder(url);
//填入查询参数
if (queryParams!=null && !queryParams.isEmpty()){
builder.setParameters(HttpUtil.paramsConverter(queryParams));
}
pm.setURI(builder.build());
//填入表单参数
if (formParams!=null && !formParams.isEmpty()){
pm.setEntity(new UrlEncodedFormEntity(HttpUtil.paramsConverter(formParams)));
}
return client.execute(pm);
}
public String post(String url,String xml){
HttpPost httpost = new HttpPost(url);
StringEntity urlEntity = new StringEntity(xml, "UTF-8");
httpost.setEntity(urlEntity);
String responseXML = null;
HttpResponse response;
try {
response = client.execute(httpost);
HttpEntity entity = response.getEntity();
responseXML = EntityUtils.toString(entity);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return responseXML;
}
/**
* 多块Post请求
* @param url 请求url
* @param queryParams 请求头的查询参数
* @param formParts post表单的参数,支持字符串-文件(FilePart)和字符串-字符串(StringPart)形式的参数
* @param maxCount 最多尝试请求的次数
* @return
* @throws URISyntaxException
* @throws ClientProtocolException
* @throws HttpException
* @throws IOException
*/
// public HttpResponse multipartPost(String url, Map<String, String> queryParams, List<FormBodyPart> formParts) throws URISyntaxException, ClientProtocolException, IOException{
// HttpPost pm= new HttpPost();
// URIBuilder builder = new URIBuilder(url);
// //填入查询参数
// if (queryParams!=null && !queryParams.isEmpty()){
// builder.setParameters(HttpUtil.paramsConverter(queryParams));
// }
// pm.setURI(builder.build());
// //填入表单参数
// if (formParts!=null && !formParts.isEmpty()){
// MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
// entityBuilder = entityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
// for (FormBodyPart formPart : formParts) {
// entityBuilder = entityBuilder.addPart(formPart.getName(), formPart.getBody());
// }
// pm.setEntity(entityBuilder.build());
// }
// return client.execute(pm);
// }
/**
* 获取当前Http客户端状态中的Cookie
* @param domain 作用域
* @param port 端口 传null 默认80
* @param path Cookie路径 传null 默认"/"
* @param useSecure Cookie是否采用安全机制 传null 默认false
* @return
*/
@SuppressWarnings("deprecation")
public Map<String, Cookie> getCookie(String domain, Integer port, String path, Boolean useSecure){
if (domain == null){
return null;
}
if (port==null){
port= 80;
}
if (path==null){
path="/";
}
if (useSecure==null){
useSecure= false;
}
List<Cookie> cookies = cookieStore.getCookies();
if (cookies==null || cookies.isEmpty()){
return null;
}
CookieOrigin origin= new CookieOrigin(domain, port, path, useSecure);
BestMatchSpec cookieSpec = new BestMatchSpec();
Map<String, Cookie> retVal= new HashMap<String, Cookie>();
for (Cookie cookie : cookies) {
if(cookieSpec.match(cookie, origin)){
retVal.put(cookie.getName(), cookie);
}
}
return retVal;
}
/**
* 批量设置Cookie
* @param cookies cookie键值对图
* @param domain 作用域 不可为空
* @param path 路径 传null默认为"/"
* @param useSecure 是否使用安全机制 传null 默认为false
* @return 是否成功设置cookie
*/
public boolean setCookie(Map<String, String> cookies, String domain, String path, Boolean useSecure){
synchronized (cookieStore) {
if (domain==null){
return false;
}
if (path==null){
path= "/";
}
if (useSecure==null){
useSecure= false;
}
if (cookies==null || cookies.isEmpty()){
return true;
}
Set<Entry<String, String>> set= cookies.entrySet();
String key= null;
String value= null;
for (Entry<String, String> entry : set) {
key= entry.getKey();
if (key==null || key.isEmpty() || value==null || value.isEmpty()){
throw new IllegalArgumentException("cookies key and value both can not be empty");
}
BasicClientCookie cookie= new BasicClientCookie(key, value);
cookie.setDomain(domain);
cookie.setPath(path);
cookie.setSecure(useSecure);
cookieStore.addCookie(cookie);
}
return true;
}
}
/**
* 设置单个Cookie
* @param key Cookie键
* @param value Cookie值
* @param domain 作用域 不可为空
* @param path 路径 传null默认为"/"
* @param useSecure 是否使用安全机制 传null 默认为false
* @return 是否成功设置cookie
*/
public boolean setCookie(String key, String value, String domain, String path, Boolean useSecure){
Map<String, String> cookies= new HashMap<String, String>();
cookies.put(key, value);
return setCookie(cookies, domain, path, useSecure);
}
// @Test
public void doTest() throws ClientProtocolException, URISyntaxException, IOException{
HttpUtil util = HttpUtil.getInstance();
InputStream in = util.doGet("https://kyfw.12306.cn/otn/leftTicket/init");
String retVal = HttpUtil.readStream(in, HttpUtil.defaultEncoding);
System.out.println(retVal);
}
public static String binaryReader(HttpServletRequest request){
ServletInputStream sis = null;
String requestData = null;
try{
sis = request.getInputStream();
int size = request.getContentLength();// 取HTTP请求流长度
if(size > 0){
byte[] buffer = new byte[size];// 用于缓存每次读取的数据
byte[] dataByte = new byte[size];// 用于存放结果的数组
int count = 0;
int rbyte = 0;
// System.out.println("读取到的内容长度:"+size);
while (count < size) {// 循环读取
rbyte = sis.read(buffer);// 每次实际读取长度存于rbyte中
for(int i=0;i<rbyte;i++) {
dataByte[count + i] = buffer[i];
}
count += rbyte;
}
requestData = new String(dataByte, "UTF-8");
}
}catch(IOException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
if(sis!=null){try{sis.close();}catch(Exception e){e.printStackTrace();}}
}
return requestData;
}
public static String binaryReader(HttpServletRequest request,String encode){
if(encode == null || "".equals(encode)){
encode = "UTF-8";
}
String requestData="";
ServletInputStream sis = null;
try{
int len = request.getContentLength();
if(len > 0){
sis = request.getInputStream();
byte[] buffer = new byte[len];
sis.read(buffer, 0, len);
requestData = new String(buffer, encode);
}
}catch(IOException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
if(sis!=null){try{sis.close();}catch(Exception e){e.printStackTrace();}}
}
return requestData;
}
public static String charReader(HttpServletRequest request) {
String requestData = null;
BufferedReader br = null;
try{
br = request.getReader();
String line = null;
while((line = br.readLine()) != null){
requestData += line;
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(br!=null){try{br.close();}catch(Exception e){e.printStackTrace();};}
}
return requestData;
}
}
package com.ajb.common.utils.office;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import com.ajb.common.utils.string.StringUtil;
public class ExcelUtils {
/**
* 是否是2003的excel,返回true是2003
* @param fileName
* @return
*/
public static boolean isExcel2003(String fileName) {
return fileName.matches("^.+\\.(?i)(xls)$");
}
/**
* 是否是2007的excel,返回true是2007
* @param fileName
* @return
*/
public static boolean isExcel2007(String fileName) {
return fileName.matches("^.+\\.(?i)(xlsx)$");
}
/**
* 验证EXCEL文件
* @param filePath
* @return
*/
public static boolean validateExcel(String fileName){
if(fileName == null || !(isExcel2003(fileName) || isExcel2007(fileName))){
return false;
}
return true;
}
/**
* 通用性检查:1、文件是否为空
* 2、格式是否为excel
* 3、长度是否为空
* @param file
* @return
*/
public static String commonUploadCheck(MultipartFile file){
String checkResult = "";
if(file == null){
checkResult = "文件不能为空";
}else{
String fileName = file.getOriginalFilename();
if(!ExcelUtils.validateExcel(fileName)){
checkResult = "文件必须为excel格式!请检查文件后缀名是否为.xls或.xlsx";
}else{
long size = file.getSize();
if(StringUtils.isEmpty(fileName) || size == 0){
checkResult = "文件不能为空";
}
}
}
return checkResult;
}
/**
* 描述:获取IO流中的数据,组装成List<List<Object>>对象
* @param in,fileName
* @return
* @throws IOException
*/
public static List<List<Object>> getBankListByExcel(InputStream is,String fileName) throws Exception{
List<List<Object>> list = null;
Workbook work = getWorkbook(is,fileName);//创建Excel工作薄
if(null == work){
throw new Exception("创建Excel工作薄为空!");
}
Sheet sheet = null;
Row row = null;
Cell cell = null;
list = new ArrayList<List<Object>>();
for (int i = 0; i < work.getNumberOfSheets(); i++) {//遍历Excel中所有的sheet
sheet = work.getSheetAt(i);
if(sheet==null){continue;}
for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) {//遍历当前sheet中的所有行
row = sheet.getRow(j);
if(row == null){continue;}//||row.getFirstCellNum() == j
List<Object> li = new ArrayList<Object>();//遍历所有的列
for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++){
cell = row.getCell(y);
li.add(getCellValue(cell));
}
list.add(li);
}
}
// work.close();
return list;
}
/**
* 描述:根据文件后缀,自适应上传文件的版本
* @param inStr,fileName
* @return
* @throws Exception
*/
public static Workbook getWorkbook(InputStream is,String fileName) throws Exception{
Workbook wb = null;
if(ExcelUtils.isExcel2003(fileName)){
wb = new HSSFWorkbook(is);
}else{
wb = new XSSFWorkbook(is);
}
return wb;
}
private static boolean isDateCell(String dataFormatString){
boolean isDateCell = false;
if(StringUtil.isNullOrBlank(dataFormatString)){
return false;
}
if(dataFormatString.contains("y") && dataFormatString.contains("m") && dataFormatString.contains("d")){
isDateCell = true;
}
return isDateCell;
}
/**
* 描述:对表格中数值进行格式化
* @param cell
* @return
*/
public static String getCellValue(Cell cell){
String value = null;
DecimalFormat df = new DecimalFormat("0"); //格式化number String字符
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); //日期格式化
// DecimalFormat df2 = new DecimalFormat("0.00"); //格式化数字
/*String message = "单元格类型:";
if(cell.getCellType() == 0){
message += "NUMBERIC";
}else if(cell.getCellType() == 1){
message += "STRING";
}else if(cell.getCellType() == 4){
message += "BOOLEAN";
}else if(cell.getCellType() == 2){
message += "FORMULA";
}else{
message += "其他类型";
}*/
String dataFormStr = cell.getCellStyle().getDataFormatString();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
// message += " DataFormatString:"+cell.getCellStyle().getDataFormatString()+" NumericCellValue:"+cell.getNumericCellValue()+" DateCellValue:"+cell.getDateCellValue();
if("General".equals(dataFormStr)){
value = df.format(cell.getNumericCellValue());
}else if(isDateCell(dataFormStr)){
value = sdf.format(cell.getDateCellValue());
}else{
value = df.format(cell.getNumericCellValue());
}
break;
case Cell.CELL_TYPE_STRING:
value = cell.getRichStringCellValue().getString();
break;
case Cell.CELL_TYPE_BOOLEAN:
value = cell.getBooleanCellValue()+"";
break;
case Cell.CELL_TYPE_FORMULA: // 公式
value = cell.getStringCellValue()+ "";
break;
case Cell.CELL_TYPE_BLANK:
value = "";
break;
case Cell.CELL_TYPE_ERROR: // 故障
value = "非法字符";
break;
default:
value = "未知类型";
break;
}
// message += " value:"+value;
// System.out.println(message);
if(value != null){
value = value.trim();
}
return value;
}
/*int totalRows = sheet.getPhysicalNumberOfRows();//得到Excel的行数
int totalCells = 0;//总列数
if(totalRows>=2 && sheet.getRow(1) != null){//得到Excel的列数(前提是有行数),从第二行算起
totalCells=sheet.getRow(1).getPhysicalNumberOfCells();
}
StringBuffer sbf = new StringBuffer();
for(int r=0;r<totalRows;r++){//循环Excel行数,从第二行开始。标题不入库
Row row = sheet.getRow(r);
if (row == null){
System.out.println("第"+(r+1)+"行数据有问题,请仔细检查!");
continue;
}
for(int c = 0; c <totalCells; c++){
Cell cell = row.getCell(c);
if (null != cell){
System.out.print(cell.getStringCellValue()+" ");
sbf.append(cell.getStringCellValue()+" ");
}
}
System.out.println();
sbf.append("\n");
}*/
public static boolean checkEnd(List<Object> rowData){
boolean endFlag = false;
if(rowData == null || rowData.size() == 0){
endFlag = true;
}else{
endFlag = true;
for(Object item : rowData){
String value = (String)item;
if(value != null && !"".equals(value.trim())){
endFlag = false;
break;
}
}
}
return endFlag;
}
public static void main(String[] args){
File file = new File("C:\\Users\\zxh\\Desktop\\test.xlsx");
List<List<Object>> dataList = null;
try {
dataList = getBankListByExcel(new FileInputStream(file),file.getName());
} catch (Exception e) {
e.printStackTrace();
}
for(List<Object> row : dataList){
for(Object data : row){
System.out.print(data.toString()+" ");
}
System.out.println();
}
}
}
package com.ajb.common.utils.string;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* <p>
* 身份证合法性校验0
* </p>
* <pre>
* --15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
* --18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
* 最后一位为校验位
* </pre>
*
*/
public class IDcardValidator {
/**
* <pre>
* 省、直辖市代码表:
* 11 : 北京 12 : 天津 13 : 河北 14 : 山西 15 : 内蒙古
* 21 : 辽宁 22 : 吉林 23 : 黑龙江 31 : 上海 32 : 江苏
* 33 : 浙江 34 : 安徽 35 : 福建 36 : 江西 37 : 山东
* 41 : 河南 42 : 湖北 43 : 湖南 44 : 广东 45 : 广西 46 : 海南
* 50 : 重庆 51 : 四川 52 : 贵州 53 : 云南 54 : 西藏
* 61 : 陕西 62 : 甘肃 63 : 青海 64 : 宁夏 65 : 新疆
* 71 : 台湾
* 81 : 香港 82 : 澳门
* 91 : 国外
* </pre>
*/
private static String cityCode[] = { "11", "12", "13", "14", "15", "21",
"22", "23", "31", "32", "33", "34", "35", "36", "37", "41", "42",
"43", "44", "45", "46", "50", "51", "52", "53", "54", "61", "62",
"63", "64", "65", "71", "81", "82", "91" };
/**
* 每位加权因子
*/
private static int power[] = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5,
8, 4, 2 };
/**
* 验证所有的身份证的合法性
*
* @param idcard
* 身份证
* @return 合法返回true,否则返回false
*/
public static boolean isIdcardValid(String idcard) {
if(idcard == null || "".equals(idcard)) {
return false;
}
if(idcard.length() == 15) {
return validate15IDCard(idcard);
}else{
return validate18Idcard(idcard);
}
}
/**
* <p>
* 判断18位身份证的合法性
* </p>
* 根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。
* 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
* <p>
* 顺序码: 表示在同一地址码所标识的区域范围内,对同年、同月、同 日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配 给女性。
* </p>
* <p>
* 1.前1、2位数字表示:所在省份的代码; 2.第3、4位数字表示:所在城市的代码; 3.第5、6位数字表示:所在区县的代码;
* 4.第7~14位数字表示:出生年、月、日; 5.第15、16位数字表示:所在地的派出所的代码;
* 6.第17位数字表示性别:奇数表示男性,偶数表示女性;
* 7.第18位数字是校检码:也有的说是个人信息码,一般是随计算机的随机产生,用来检验身份证的正确性。校检码可以是0~9的数字,有时也用x表示。
* </p>
* <p>
* 第十八位数字(校验码)的计算方法为: 1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4
* 2 1 6 3 7 9 10 5 8 4 2
* </p>
* <p>
* 2.将这17位数字和系数相乘的结果相加。
* </p>
* <p>
* 3.用加出来和除以11,看余数是多少
* </p>
* 4.余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3
* 2。
* <p>
* 5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。
* </p>
*
* @param idcard
* @return
*/
public static boolean validate18Idcard(String idcard) {
if (idcard == null) {
return false;
}
// 非18位为假
if (idcard.length() != 18) {
return false;
}
// 获取前17位
String idcard17 = idcard.substring(0, 17);
// 前17位全部为数字
if (!isDigital(idcard17)) {
return false;
}
String provinceid = idcard.substring(0, 2);
// 校验省份
if (!checkProvinceid(provinceid)) {
return false;
}
// 校验出生日期
String birthday = idcard.substring(6, 14);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
try {
Date birthDate = sdf.parse(birthday);
String tmpDate = sdf.format(birthDate);
if (!tmpDate.equals(birthday)) {// 出生年月日不正确
return false;
}
} catch (ParseException e1) {
return false;
}
// 获取第18位
String idcard18Code = idcard.substring(17, 18);
char c[] = idcard17.toCharArray();
int bit[] = converCharToInt(c);
int sum17 = 0;
sum17 = getPowerSum(bit);
// 将和值与11取模得到余数进行校验码判断
String checkCode = getCheckCodeBySum(sum17);
if (null == checkCode) {
return false;
}
// 将身份证的第18位与算出来的校码进行匹配,不相等就为假
if (!idcard18Code.equalsIgnoreCase(checkCode)) {
return false;
}
return true;
}
/**
* 校验15位身份证
*
* <pre>
* 只校验省份和出生年月日
* </pre>
*
* @param idcard
* @return
*/
public static boolean validate15IDCard(String idcard) {
if (idcard == null) {
return false;
}
// 非15位为假
if (idcard.length() != 15) {
return false;
}
// 15全部为数字
if (!isDigital(idcard)) {
return false;
}
String provinceid = idcard.substring(0, 2);
// 校验省份
if (!checkProvinceid(provinceid)) {
return false;
}
String birthday = idcard.substring(6, 12);
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
try {
Date birthDate = sdf.parse(birthday);
String tmpDate = sdf.format(birthDate);
if (!tmpDate.equals(birthday)) {// 身份证日期错误
return false;
}
} catch (ParseException e1) {
return false;
}
return true;
}
/**
* 将15位的身份证转成18位身份证
*
* @param idcard
* @return
*/
public static String convertIdcarBy15bit(String idcard) {
if (idcard == null) {
return null;
}
// 非15位身份证
if (idcard.length() != 15) {
return null;
}
// 15全部为数字
if (!isDigital(idcard)) {
return null;
}
String provinceid = idcard.substring(0, 2);
// 校验省份
if (!checkProvinceid(provinceid)) {
return null;
}
String birthday = idcard.substring(6, 12);
SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
Date birthdate = null;
try {
birthdate = sdf.parse(birthday);
String tmpDate = sdf.format(birthdate);
if (!tmpDate.equals(birthday)) {// 身份证日期错误
return null;
}
} catch (ParseException e1) {
return null;
}
Calendar cday = Calendar.getInstance();
cday.setTime(birthdate);
String year = String.valueOf(cday.get(Calendar.YEAR));
String idcard17 = idcard.substring(0, 6) + year + idcard.substring(8);
char c[] = idcard17.toCharArray();
String checkCode = "";
// 将字符数组转为整型数组
int bit[] = converCharToInt(c);
int sum17 = 0;
sum17 = getPowerSum(bit);
// 获取和值与11取模得到余数进行校验码
checkCode = getCheckCodeBySum(sum17);
// 获取不到校验位
if (null == checkCode) {
return null;
}
// 将前17位与第18位校验码拼接
idcard17 += checkCode;
return idcard17;
}
/**
* 校验省份
*
* @param provinceid
* @return 合法返回TRUE,否则返回FALSE
*/
private static boolean checkProvinceid(String provinceid) {
for (String id : cityCode) {
if (id.equals(provinceid)) {
return true;
}
}
return false;
}
/**
* 数字验证
*
* @param str
* @return
*/
private static boolean isDigital(String str) {
return str.matches("^[0-9]*$");
}
/**
* 将身份证的每位和对应位的加权因子相乘之后,再得到和值
*
* @param bit
* @return
*/
private static int getPowerSum(int[] bit) {
int sum = 0;
if (power.length != bit.length) {
return sum;
}
for (int i = 0; i < bit.length; i++) {
for (int j = 0; j < power.length; j++) {
if (i == j) {
sum = sum + bit[i] * power[j];
}
}
}
return sum;
}
/**
* 将和值与11取模得到余数进行校验码判断
*
* @param checkCode
* @param sum17
* @return 校验位
*/
private static String getCheckCodeBySum(int sum17) {
String checkCode = null;
switch (sum17 % 11) {
case 10:
checkCode = "2";
break;
case 9:
checkCode = "3";
break;
case 8:
checkCode = "4";
break;
case 7:
checkCode = "5";
break;
case 6:
checkCode = "6";
break;
case 5:
checkCode = "7";
break;
case 4:
checkCode = "8";
break;
case 3:
checkCode = "9";
break;
case 2:
checkCode = "x";
break;
case 1:
checkCode = "0";
break;
case 0:
checkCode = "1";
break;
}
return checkCode;
}
/**
* 将字符数组转为整型数组
*
* @param c
* @return
* @throws NumberFormatException
*/
private static int[] converCharToInt(char[] c) throws NumberFormatException {
int[] a = new int[c.length];
int k = 0;
for (char temp : c) {
a[k++] = Integer.parseInt(String.valueOf(temp));
}
return a;
}
public static String getGenderFromID(String idcard){
String gender = "M";
int idxGenderStart = 16;
//如果是15位的证件号码
if(idcard.length() == 15) {
idxGenderStart = 14;
}
//性别
String idxGenderStr = idcard.substring(idxGenderStart, idxGenderStart + 1);
int idxGender = Integer.parseInt(idxGenderStr) % 2;
gender = (idxGender == 1) ? "M" : "F";
return gender;
}
public static String getBirthDateFromID(String idcard){
String birthDate = null;
int birthYearSpan = 4;
//如果是15位的证件号码
if(idcard.length() == 15) {
birthYearSpan = 2;
}
//出生日期
String year = (birthYearSpan == 2 ? "19" : "") + idcard.substring(6, 6 + birthYearSpan);
String month = idcard.substring(6 + birthYearSpan, 6 + birthYearSpan + 2);
String day = idcard.substring(8 + birthYearSpan, 8 + birthYearSpan + 2);
birthDate = year + '-' + month + '-' + day;
return birthDate;
}
public static boolean checkGenderWithID(String idCard,String gender){
boolean result = true;
String genderFormID = getGenderFromID(idCard);
if( ("M".equals(genderFormID) && "2".equals(gender))
||
("F".equals(genderFormID) && "1".equals(gender))
){
result = false;
}
return result;
}
public static boolean checkBirthDateWithID(String idCard,String birthDate){
boolean result = true;
String birthDateFromID = getBirthDateFromID(idCard);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date inputDate = sdf.parse(birthDate);
Date idDate = sdf.parse(birthDateFromID);
if(inputDate.compareTo(idDate) != 0){
result = false;
}
} catch (ParseException e) {
result = false;
}
return result;
}
public static void main(String[] args) throws Exception {
// String idcard = "130321860311519";
// String idcard = "34062119861001846X";
// String idcard = "340121198612204058";
// System.out.println(isIdcardValid(idcard));
// System.out.println(getGenderFromID(idcard));
// System.out.println(getBirthDateFromID(idcard));
// // 15位身份证转18位身份证
// System.out.println(convertIdcarBy15bit(idcard15));
// String birthDate = "1997-1-1";
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// Date date = sdf.parse(birthDate);
// String result = sdf.format(date);
// System.out.println(result);
// System.out.println(checkGenderWithID(idcard, "2"));
// System.out.println(checkBirthDateWithID(idcard, "1986-10-1"));
}
}
package com.ajb.common.utils.string;
import java.io.IOException;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtil {
private static ObjectMapper mapper = new ObjectMapper(); //转换器
public static String objToJson(Object obj){
mapper.setSerializationInclusion(Include.NON_NULL);
String json = null;
try {
json = mapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return json;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Object jsonToObj(String json,Class cl){
if(json == null || "".equals(json.trim())){
return null;
}
Object obj = null;
try {
obj = mapper.readValue(json, cl);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
return obj;
}
public static String format(String jsonStr) {
int level = 0;
StringBuffer jsonForMatStr = new StringBuffer();
for(int i=0;i<jsonStr.length();i++){
char c = jsonStr.charAt(i);
if(level>0&&'\n'==jsonForMatStr.charAt(jsonForMatStr.length()-1)){
jsonForMatStr.append(getLevelStr(level));
}
switch (c) {
case '{':
case '[':
jsonForMatStr.append(c+"\n");
level++;
break;
case ',':
jsonForMatStr.append(c+"\n");
break;
case '}':
case ']':
jsonForMatStr.append("\n");
level--;
jsonForMatStr.append(getLevelStr(level));
jsonForMatStr.append(c);
break;
default:
jsonForMatStr.append(c);
break;
}
}
return jsonForMatStr.toString();
}
private static String getLevelStr(int level){
StringBuffer levelStr = new StringBuffer();
for(int levelI = 0;levelI<level ; levelI++){
levelStr.append("\t");
}
return levelStr.toString();
}
}
package com.ajb.common.utils.string;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.List;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtil {
private static final String EMAIL_REGEX="^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";//邮箱正则表达式
/*
* 日期格式:http://blog.csdn.net/linghu_java/article/details/38379603
* yyyy-MM-dd HH:mm:ss:SSS 24小时制
* yyyy-MM-dd hh:mm:ss:SSS 12小时制
*/
/**
* 日期转换成字符串
* @param source
* @param pattern 例如 yyyy-MM-dd HH:mm:ss
* @return
*/
public static String dateParseString(Date source,String pattern){
if(source == null){
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(source);
}
/**
* 字符串转换成日期
* @param source
* @param pattern 例如 yyyy-MM-dd HH:mm:ss
* @return
*/
public static Date stringParseDate(String source,String pattern){
if(isNullOrBlank(source) || isNullOrBlank(pattern)){
return null;
}
Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
date = sdf.parse(source);
} catch (ParseException e) {
return null;
}
return date;
}
public static double doubleFormat(Double source,int num){
if(source == null){
source = 0d;
}
BigDecimal bd = new BigDecimal(source);
double result = bd.setScale(num,BigDecimal.ROUND_HALF_UP).doubleValue();
return result;
}
public static String doubleParseString(Double source,String parten){
if(source == null){
source = 0d;
}
if(parten == null){
parten = "##,###,###,##0.00";
}
DecimalFormat fmt = new DecimalFormat(parten);
return fmt.format(source);
}
public static String longParseString(Long source,String parten){
if(source == null){
source = 0L;
}
if(parten == null){
parten = "##,###,###,###";
}
DecimalFormat fmt = new DecimalFormat(parten);
return fmt.format(source);
}
/**
* 空字符串付默认值
* @param source
* @param defaultValue
* @return
*/
public static String nullStringToDefault(String source,String defaultValue){
String result = source;
if(isNullOrBlank(source)){
result = defaultValue;
}
return result;
}
public static Integer stringParseInt(String source){
Integer result = null;
if(isNullOrBlank(source)){
return null;
}else{
try{
result = Integer.parseInt(source);
}catch(Exception e){}
}
return result;
}
public static Long stringParseLong(String source){
Long result = null;
if(isNullOrBlank(source)){
return null;
}else{
try{
result = Long.parseLong(source);
}catch(Exception e){}
}
return result;
}
public static Double stringParseDouble(String source){
Double result = null;
if(isNullOrBlank(source)){
return null;
}else{
try{
result = Double.parseDouble(source);
}catch(Exception e){}
}
return result;
}
public static boolean isNullOrBlank(String source){
boolean result = false;
if(source == null){
result = true;
}else if("".equals(source.trim())){
result = true;
}
return result ;
}
public static String getClassType(Object source){
String classType = "Integer";
if(source == null){
return null;
}
String className = source.getClass().getName();
if(className.contains("java.lang.Integer")){
classType = "Integer";
}else if(className.contains("java.lang.Long")){
classType = "Long";
}else if(className.contains("java.lang.Double")){
classType = "Double";
}else if(className.contains("java.math.BigInteger")){
classType = "BigInteger";
}else if(className.contains("java.math.BigDecimal")){
classType = "BigDecimal";
}
return classType;
}
public static Integer intValue(Object source){
Integer result = null;
if(source == null){
return 0;
}
try{
if("Integer".equals(getClassType(source))){
result = ((Integer)source).intValue();
}else if("BigInteger".equals(getClassType(source))){
result = ((BigInteger)source).intValue();
}else if("BigDecimal".equals(getClassType(source))){
result = ((BigDecimal)source).intValue();
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}
public static boolean isNullOrZero(Object source){
boolean result = false;
if(source == null){
result = true;
}else{
if("Integer".equals(getClassType(source))){
int value = ((Integer)source).intValue();
if(value == 0){
result = true;
}
}else if("Long".equals(getClassType(source))){
long value = ((Long)source).longValue();
if(value == 0){
result = true;
}
}else if("Double".equals(getClassType(source))){
double value = ((Double)source).doubleValue();
if(value == 0){
result = true;
}
}else if("BigInteger".equals(getClassType(source))){
double value = ((BigInteger)source).doubleValue();
if(value == 0){
result = true;
}
}else if("BigDecimal".equals(getClassType(source))){
double value = ((BigDecimal)source).doubleValue();
if(value == 0){
result = true;
}
}
}
return result ;
}
/**
* 求时间差
* @param source 终止时间
* @param target 开始时间
* @param unit D天 H小时 M分 S秒 MS毫秒
* @return
*/
public static long getDatePeriod(Date source,Date target,String unit){
long result = 0;
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
long ns = 1000;
long ms = 1;
// 获得两个时间的毫秒时间差异
long diff = source.getTime() - target.getTime();
/*
// 计算差多少天
long day = diff / nd;
// 计算差多少小时
long hour = diff % nd / nh;
// 计算差多少分钟
long min = diff % nd % nh / nm;
// 计算差多少秒//输出结果
long sec = diff % nd % nh % nm / ns;
//return day + "天" + hour + "小时" + min + "分钟";
*/
if("D".equals(unit)){
result = diff / nd;
}else if("H".equals(unit)){
result = diff / nh;
}else if("M".equals(unit)){
result = diff / nm;
}else if("S".equals(unit)){
result = diff / ns;
}else if("MS".equals(unit)){
result = diff / ms;
}
return result;
}
/**
*
* @param source
* @param operation ADD或SUB
* @param unit S秒 M分钟 H小时 D天 W周 Mon月 Y年
* @param number
* @return
*/
public static Date dateOperation(Date source,String operation,String unit,int number){
Date result = null;
Calendar calendar = Calendar.getInstance();
calendar.setTime(source);
int field = Calendar.SECOND;
if("S".equals(unit)){
field = Calendar.SECOND;
}else if("M".equals(unit)){
field = Calendar.MINUTE;
}else if("H".equals(unit)){
field = Calendar.HOUR_OF_DAY;
}else if("D".equals(unit)){
field = Calendar.DATE;
}else if("W".equals(unit)){
field = Calendar.WEEK_OF_MONTH;
}else if("Mon".equals(unit)){
field = Calendar.MONTH;
}else if("Y".equals(unit)){
field = Calendar.YEAR;
}
if("SUB".equals(operation)){
calendar.add(field, -number);
}else{
calendar.add(field, number);
}
result = calendar.getTime();
return result;
}
/**
* 由出生日期获得年龄
* @param birthDay
* @return
* @throws Exception
*/
public static int getAge(Date birthDay){
int age = 0;
if(birthDay == null){
return 0;
}
try{
Calendar cal = Calendar.getInstance();
if (cal.before(birthDay)) {
// throw new IllegalArgumentException("The birthDay is before Now.It's unbelievable!");
return -1;
}
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH);
int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
cal.setTime(birthDay);
int yearBirth = cal.get(Calendar.YEAR);
int monthBirth = cal.get(Calendar.MONTH);
int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
age = yearNow - yearBirth;
if (monthNow <= monthBirth) {
if (monthNow == monthBirth) {
if (dayOfMonthNow < dayOfMonthBirth){
age--;
}
}else{
age--;
}
}
}catch(Exception e){}
return age;
}
/**
* 根据异常对象获取异常堆栈字符串
* @param e
* @return
*/
public static String parseExceptionStack(Exception e){
String exceptionStack = null;
/*StringBuffer sbf = new StringBuffer();
StackTraceElement[] stack = e.getStackTrace();
StackTraceElement element = null;
String message = e.toString();
sbf.append(message+"\n");
for(int i=0;i<stack.length;i++){
element = stack[i];
String fileName = element.getFileName();
String methodName = element.getMethodName();
String className = element.getClassName();
int lineNumber = element.getLineNumber();
String append = fileName+":"+lineNumber;
boolean isNativeMethod = element.isNativeMethod();
if(isNativeMethod){
append = "Native Method";
}
sbf.append(" at "+className+"."+methodName+"("+append+")\n");
}
exceptionStack = sbf.toString();*/
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
exceptionStack = sw.toString();
return exceptionStack;
}
public static boolean isValidDate(String source,String pattern) {
boolean convertSuccess = true;
if(isNullOrBlank(source)){
return false;
}
SimpleDateFormat format = new SimpleDateFormat(pattern);
try {
format.setLenient(false);
format.parse(source);
}catch(Exception e) {
convertSuccess=false;
}
return convertSuccess;
}
public static boolean checkEmail(String email){
return Pattern.matches(EMAIL_REGEX, email.trim());
}
/**
*
* @param area 省份名、城市名、县名
* @param birthDay 出生日期,格式(19891019)
* @param gender 性别(范围:1-9,男:奇数,女:偶数)
* @param age
* @return
*/
public static String createID(String area,String birthDay,String gender,Integer age){
String idNo = null;
String areaCode = null;
String seqNo = getRandomNum(2)+""; // (两位)顺序号,格式(00-99)
Random random = new Random();
String areaCodeFile = StringUtil.class.getResource("").getPath()+File.separator+"areaCode.txt";
List<String> areaList = readFile(areaCodeFile, "UTF-8");
if(area == null || "".equals(area)){
String item = areaList.get(random.nextInt(areaList.size()) -1);
areaCode = item.split(" ")[0];
}else{
for(String item : areaList){
if(item.contains(area)){
areaCode = item.split(" ")[0];
break;
}
}
}
if(areaCode == null){areaCode = "110101";}
if(birthDay == null || "".equals(birthDay)){
if(age == null || age <= 0){
int[] arr = new int[]{1,2,3,4};
int a = arr[random.nextInt(4)];
String ageStr = a+getRandomNum(1);
age = Integer.parseInt(ageStr);
}
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -age);
int randomDay = 1+(int)(Math.random()*360);
calendar.add(Calendar.DAY_OF_YEAR, -randomDay);
birthDay = dateParseString(calendar.getTime(), "yyyyMMdd");
}
if(gender == null || "".equals(gender)){
gender = getRandomNum(1)+"";
}
// 前17位要除以的数:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
int finalAreaCode = Integer.parseInt(areaCode.substring(0, 1)) * 7
+ Integer.parseInt(areaCode.substring(1, 2)) * 9
+ Integer.parseInt(areaCode.substring(2, 3)) * 10
+ Integer.parseInt(areaCode.substring(3, 4)) * 5
+ Integer.parseInt(areaCode.substring(4, 5)) * 8
+ Integer.parseInt(areaCode.substring(5, 6)) * 4;
int finalBirthday = Integer.parseInt(birthDay.substring(0, 1)) * 2
+ Integer.parseInt(birthDay.substring(1, 2)) * 1
+ Integer.parseInt(birthDay.substring(2, 3)) * 6
+ Integer.parseInt(birthDay.substring(3, 4)) * 3
+ Integer.parseInt(birthDay.substring(4, 5)) * 7
+ Integer.parseInt(birthDay.substring(5, 6)) * 9
+ Integer.parseInt(birthDay.substring(6, 7)) * 10
+ Integer.parseInt(birthDay.substring(7, 8)) * 5;
int NoIs = (Integer.parseInt(seqNo.substring(0, 1))) * 8
+ (Integer.parseInt(seqNo.substring(1, 2))) * 4;
int sexNo = (Integer.parseInt(gender.substring(0, 1))) * 2;
int checkCode = (finalAreaCode + finalBirthday + NoIs + sexNo) % 11;
int finalCheckCode = 0;
// 余数范围: 0 1 2 3 4 5 6 7 8 9 10
// 余数对应的数:1 0 X 9 8 7 6 5 4 3 2
// 计算出最终的校验码:finalCheckCode
switch (checkCode) {
case 0:
finalCheckCode = 1;
break;
case 1:
finalCheckCode = 0;
break;
case 2:
finalCheckCode = -3;
break;
case 3:
finalCheckCode = 9;
break;
case 4:
finalCheckCode = 8;
break;
case 5:
finalCheckCode = 7;
break;
case 6:
finalCheckCode = 6;
break;
case 7:
finalCheckCode = 5;
break;
case 8:
finalCheckCode = 4;
break;
case 9:
finalCheckCode = 3;
break;
case 10:
finalCheckCode = 2;
break;
default:
break;
}
// 区域编号(6位数)+出生日期(8位数)+顺序编号(2位数)+性别号(1位数)+校验码(1位数)=身份证号(18位数)
String checkInd = null;
if(finalCheckCode == -3){
checkInd = "X";
}else{
checkInd = finalCheckCode+"";
}
idNo = areaCode + birthDay + seqNo + gender + checkInd;
return idNo;
}
public static String createMail(){
String mail = getRandomString(5)+"@163.com";
return mail;
}
public static String createPhoneNo(){
return "139"+getRandomNum(8);
}
public static String getRandomString(int length) { //length表示生成字符串的长度
String base = "abcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
}
return sb.toString();
}
public static String getRandomNum(int length) { //length表示生成字符串的长度
String base = "0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
}
return sb.toString();
}
public static String createName(){
Random random=new Random(System.currentTimeMillis());
/* 598 百家姓 */
String[] Surname= {"赵","钱","孙","李","周","吴","郑","王","冯","陈","褚","卫","蒋","沈","韩","杨","朱","秦","尤","许",
"何","吕","施","张","孔","曹","严","华","金","魏","陶","姜","戚","谢","邹","喻","柏","水","窦","章","云","苏","潘","葛","奚","范","彭","郎",
"鲁","韦","昌","马","苗","凤","花","方","俞","任","袁","柳","酆","鲍","史","唐","费","廉","岑","薛","雷","贺","倪","汤","滕","殷",
"罗","毕","郝","邬","安","常","乐","于","时","傅","皮","卞","齐","康","伍","余","元","卜","顾","孟","平","黄","和",
"穆","萧","尹","姚","邵","湛","汪","祁","毛","禹","狄","米","贝","明","臧","计","伏","成","戴","谈","宋","茅","庞","熊","纪","舒",
"屈","项","祝","董","梁","杜","阮","蓝","闵","席","季","麻","强","贾","路","娄","危","江","童","颜","郭","梅","盛","林","刁","钟",
"徐","邱","骆","高","夏","蔡","田","樊","胡","凌","霍","虞","万","支","柯","昝","管","卢","莫","经","房","裘","缪","干","解","应",
"宗","丁","宣","贲","邓","郁","单","杭","洪","包","诸","左","石","崔","吉","钮","龚","程","嵇","邢","滑","裴","陆","荣","翁","荀",
"羊","于","惠","甄","曲","家","封","芮","羿","储","靳","汲","邴","糜","松","井","段","富","巫","乌","焦","巴","弓","牧","隗","山",
"谷","车","侯","宓","蓬","全","郗","班","仰","秋","仲","伊","宫","宁","仇","栾","暴","甘","钭","厉","戎","祖","武","符","刘","景",
"詹","束","龙","叶","幸","司","韶","郜","黎","蓟","溥","印","宿","白","怀","蒲","邰","从","鄂","索","咸","籍","赖","卓","蔺","屠",
"蒙","池","乔","阴","郁","胥","能","苍","双","闻","莘","党","翟","谭","贡","劳","逄","姬","申","扶","堵","冉","宰","郦","雍","却",
"璩","桑","桂","濮","牛","寿","通","边","扈","燕","冀","浦","尚","农","温","别","庄","晏","柴","瞿","阎","充","慕","连","茹","习",
"宦","艾","鱼","容","向","古","易","慎","戈","廖","庾","终","暨","居","衡","步","都","耿","满","弘","匡","国","文","寇","广","禄",
"阙","东","欧","殳","沃","利","蔚","越","夔","隆","师","巩","厍","聂","晁","勾","敖","融","冷","訾","辛","阚","那","简","饶","空",
"曾","毋","沙","乜","养","鞠","须","丰","巢","关","蒯","相","查","后","荆","红","游","郏","竺","权","逯","盖","益","桓","公","仉",
"督","岳","帅","缑","亢","况","郈","有","琴","归","海","晋","楚","闫","法","汝","鄢","涂","钦","商","牟","佘","佴","伯","赏","墨",
"哈","谯","篁","年","爱","阳","佟","言","福","南","火","铁","迟","漆","官","冼","真","展","繁","檀","祭","密","敬","揭","舜","楼",
"疏","冒","浑","挚","胶","随","高","皋","原","种","练","弥","仓","眭","蹇","覃","阿","门","恽","来","綦","召","仪","风","介","巨",
"木","京","狐","郇","虎","枚","抗","达","杞","苌","折","麦","庆","过","竹","端","鲜","皇","亓","老","是","秘","畅","邝","还","宾",
"闾","辜","纵","侴","万俟","司马","上官","欧阳","夏侯","诸葛","闻人","东方","赫连","皇甫","羊舌","尉迟","公羊","澹台","公冶","宗正",
"濮阳","淳于","单于","太叔","申屠","公孙","仲孙","轩辕","令狐","钟离","宇文","长孙","慕容","鲜于","闾丘","司徒","司空","兀官","司寇",
"南门","呼延","子车","颛孙","端木","巫马","公西","漆雕","车正","壤驷","公良","拓跋","夹谷","宰父","谷梁","段干","百里","东郭","微生",
"梁丘","左丘","东门","西门","南宫","第五","公仪","公乘","太史","仲长","叔孙","屈突","尔朱","东乡","相里","胡母","司城","张廖","雍门",
"毋丘","贺兰","綦毋","屋庐","独孤","南郭","北宫","王孙"};
int index=random.nextInt(Surname.length-1);
String name = Surname[index]; //获得一个随机的姓氏
/* 从常用字中选取一个或两个字作为名 */
if(random.nextBoolean()){
name+=getChinese()+getChinese();
}else {
name+=getChinese();
}
// System.out.println(name);
return name;
}
public static String getChinese() {
String str = null;
int highPos, lowPos;
Random random = new Random();
highPos = (176 + Math.abs(random.nextInt(71)));//区码,0xA0打头,从第16区开始,即0xB0=11*16=176,16~55一级汉字,56~87二级汉字
random=new Random();
lowPos = 161 + Math.abs(random.nextInt(94));//位码,0xA0打头,范围第1~94列
byte[] bArr = new byte[2];
bArr[0] = (new Integer(highPos)).byteValue();
bArr[1] = (new Integer(lowPos)).byteValue();
try {
str = new String(bArr, "GB2312"); //区位码组合成汉字
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str;
}
public static void main(String[] args){
// String idNo = createID("南部县", "19940929", "1", null);
String idNo = createID("长丰县", null, "1", 31);
System.out.println(idNo);
System.out.println(IDcardValidator.isIdcardValid(idNo));
}
@SuppressWarnings("rawtypes")
public static String currentIP(){
String currentIP = null;
try {
Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()){
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
//System.out.println(netInterface.getName());
Enumeration addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()){
ip = (InetAddress) addresses.nextElement();
if(ip != null && ip instanceof Inet4Address){
if(currentIP == null){
currentIP = "";
}
currentIP += ip.getHostAddress()+";";
// System.out.println("本机的IP = " + currentIP);
}
if(ip != null && ip instanceof Inet6Address){
if(currentIP == null){
currentIP = "";
}
currentIP += ip.getHostAddress()+":";
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return currentIP;
}
/**
* 获取HttpServletRequest请求IP
* @param request
* @return
*/
/*public static String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}*/
@SuppressWarnings("rawtypes")
public static void simpleObjectCopy(Object source,Object target){
if(source == null || target == null){ return; }
try {
Method[] sourceMethods = source.getClass().getDeclaredMethods();
for(Method smethod : sourceMethods){
Class returnType = smethod.getReturnType();
String sourceMethodName = smethod.getName();
if(!returnType.getTypeName().equals("void") && sourceMethodName.startsWith("get")){
Object[] paramArr = null;
Object getValue = smethod.invoke(source,paramArr);
if(getValue != null){
// System.out.println("--------------in simpleObjectCopy returnType : "+returnType.getTypeName()+" sourceMethodName="+sourceMethodName);
Method[] targetMethods = target.getClass().getDeclaredMethods();
for(Method tmethod : targetMethods){
String targetMethodName = tmethod.getName();
if(targetMethodName.equals("set"+sourceMethodName.substring(3))){
Class[] parameterTypes = tmethod.getParameterTypes();
if(parameterTypes != null && parameterTypes.length == 1 && parameterTypes[0].getTypeName().equals(returnType.getTypeName())){
// System.out.println("--------------in simpleObjectCopy targetMethodName:"+targetMethodName);
tmethod.invoke(target,getValue);
}//set value
break;
}//set
}//for targetMethod
}//get value != null
}//get
}//for sourceMethod
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
}
}
public static String getInputStreamContent(InputStream inputStream,String charset)throws Exception{
String content = null;
if(inputStream == null){
return null;
}
if(charset == null ){
charset = "UTF-8";
}
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,charset));// 为了进行一行读取操作
StringBuilder buffer = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
content = buffer.toString();
return content;
}
public static List<String> readFile(String fileName,String encoding){
List<String> contents = new ArrayList<String>();
File file = new File(fileName);
FileInputStream fi = null;
InputStreamReader ir = null;
BufferedReader br = null;
try {
fi = new FileInputStream(file);
ir = new InputStreamReader(fi,encoding);
br = new BufferedReader(ir);
while(br.ready()){
String line = br.readLine();
contents.add(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
fi.close();
ir.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return contents;
}
public static void writeFile(List<String> contents,String fileName,boolean appending,String encoding){
File file = new File(fileName);
FileOutputStream fo = null;
OutputStreamWriter or = null;
BufferedWriter bw = null;
try {
fo = new FileOutputStream(file,appending);
or = new OutputStreamWriter(fo,encoding);
bw = new BufferedWriter(or);
for(String line : contents){
bw.write(line);
bw.newLine();
}
bw.flush();
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
fo.close();
or.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 判断是否是数字
*/
private static final Pattern NUMBER_PATTERN = Pattern.compile("[0-9]*");
public static boolean isNumeric(String str){
// Pattern pattern = Pattern.compile("[0-9]*");
// Matcher isNum = pattern.matcher(str);
Matcher numMatcher = NUMBER_PATTERN.matcher(str);
if( !numMatcher.matches() ){
return false;
}
return true;
}
// 根据Unicode编码完美的判断中文汉字和符号
public static boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
return true;
}
return false;
}
public static Double calcuPersonalTAX(Double amount){
Double tax = 0d;
if(amount <= 800){
tax = 0.0d;
}else if(800 < amount && amount <= 4000){
tax = (amount - 800 ) * 0.2 ;
}else if(4000 < amount && amount <= 25000){
tax = amount * (1-0.2) * 0.2 ;
}else if(25000 < amount && amount <= 62500){
tax = amount * (1-0.2) * 0.3 -2000 ;
}else if(62500 < amount){
tax = amount * (1-0.2) * 0.4 - 7000 ;
}
return tax;
}
/**
* 判断字符串中是否含有数字
* @param content
* @return
*/
public static boolean hasDigit(String content) {
boolean flag = false;
Pattern pattern = Pattern.compile(".*\\d+.*");
Matcher m = pattern.matcher(content);
if (m.matches()) {
flag = true;
}
return flag;
}
}
package com.ajb.common.utils.string;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.Collection;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.namespace.QName;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
//import org.apache.commons.lang.StringUtils;
/**
* 使用Jaxb2.0实现XML<->Java Object的Binder.
*
* 特别支持Root对象是List的情形.
*
* @author
*/
public class XmlUtil {
// 多线程安全的Context.
private JAXBContext jaxbContext;
/**
* @param types
* 所有需要序列化的Root对象的类型.
*/
public XmlUtil(Class<?>... types) {
try {
jaxbContext = JAXBContext.newInstance(types);
} catch (JAXBException e) {
// throw new RuntimeException(e);
e.printStackTrace();
}
}
/**
* Java Object->Xml.
*/
public String toXml(Object root, String encoding) {
try {
StringWriter writer = new StringWriter();
createMarshaller(encoding).marshal(root, writer);
return writer.toString();
} catch (JAXBException e) {
// throw new RuntimeException(e);
e.printStackTrace();
return null;
}
}
/**
* Java Object->Xml, 特别支持对Root Element是Collection的情形.
*/
@SuppressWarnings("rawtypes")
public String toXml(Collection root, String rootName, String encoding) {
try {
CollectionWrapper wrapper = new CollectionWrapper();
wrapper.collection = root;
JAXBElement<CollectionWrapper> wrapperElement = new JAXBElement<CollectionWrapper>(
new QName(rootName), CollectionWrapper.class, wrapper);
StringWriter writer = new StringWriter();
createMarshaller(encoding).marshal(wrapperElement, writer);
return writer.toString();
} catch (JAXBException e) {
// throw new RuntimeException(e);
e.printStackTrace();
return null;
}
}
/**
* Xml->Java Object.
*/
@SuppressWarnings("unchecked")
public <T> T fromXml(String xml) {
if(xml == null || "".equals(xml.trim())){
return null;
}
try {
StringReader reader = new StringReader(xml);
return (T) createUnmarshaller().unmarshal(reader);
} catch (JAXBException e) {
// throw new RuntimeException(e);
e.printStackTrace();
return null;
}
}
/**
* Xml->Java Object, 支持大小写敏感或不敏感.
*/
@SuppressWarnings("unchecked")
public <T> T fromXml(String xml, boolean caseSensitive) {
try {
String fromXml = xml;
if (!caseSensitive){
fromXml = xml.toLowerCase();
}
StringReader reader = new StringReader(fromXml);
return (T) createUnmarshaller().unmarshal(reader);
} catch (JAXBException e) {
// throw new RuntimeException(e);
e.printStackTrace();
return null;
}
}
/**
* 创建Marshaller, 设定encoding(可为Null).
*/
public Marshaller createMarshaller(String encoding) {
try {
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
// if (StringUtils.isNotBlank(encoding)) {
if(encoding != null && !"".equals(encoding.trim())){
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
}
return marshaller;
} catch (JAXBException e) {
// throw new RuntimeException(e);
e.printStackTrace();
return null;
}
}
/**
* 创建UnMarshaller.
*/
public Unmarshaller createUnmarshaller() {
try {
return jaxbContext.createUnmarshaller();
} catch (JAXBException e) {
// throw new RuntimeException(e);
return null;
}
}
/**
* 封装Root Element 是 Collection的情况.
*/
public static class CollectionWrapper {
// @SuppressWarnings("unchecked")
@SuppressWarnings("rawtypes")
@XmlAnyElement
protected Collection collection;
}
public static String getNodeValue(String xml,String nodeName){
String nodeValue = null;
if(xml != null && xml.length() > 0){
String head = "<"+nodeName+">";
String tail = "</"+nodeName+">";
if(xml.contains(head) && xml.contains(tail)){
int beginIndex = xml.indexOf(head)+head.length();
int endIndex = xml.indexOf(tail);
nodeValue = xml.substring(beginIndex, endIndex);
if(nodeValue != null && nodeValue.length() >0){
if(nodeValue.startsWith("<![CDATA[") && nodeValue.endsWith("]]>")){
nodeValue = nodeValue.substring(9, nodeValue.length()-3);
}
}
}
}
return nodeValue;
}
public static String format(String str) {
if(str == null || "".equals(str.trim())){
return null;
}
String formatXml = str;
try{
SAXReader reader = new SAXReader();
// System.out.println(reader);
// 注释:创建一个串的字符输入流
StringReader in = new StringReader(str);
Document doc = reader.read(in);
// System.out.println(doc.getRootElement());
// 注释:创建输出格式
OutputFormat formater = OutputFormat.createPrettyPrint();
//formater=OutputFormat.createCompactFormat();
// 注释:设置xml的输出编码
formater.setEncoding("utf-8");
// 注释:创建输出(目标)
StringWriter out = new StringWriter();
// 注释:创建输出流
XMLWriter writer = new XMLWriter(out, formater);
// 注释:输出格式化的串到目标中,执行后。格式化后的串保存在out中。
writer.write(doc);
writer.close();
// System.out.println(out.toString());
// 注释:返回我们格式化后的结果
formatXml = out.toString();
}catch(Exception e){
e.printStackTrace();
}
return formatXml;
}
public static void main(String[] args){
String xml = ""
+"<xml><return_code><![CDATA[SUCCESS]]></return_code>"
+"<return_msg><![CDATA[OK]]></return_msg>"
+"<appid><![CDATA[wx350e0551f15c891d]]></appid>"
+"<mch_id><![CDATA[1467966602]]></mch_id>"
+"<nonce_str><![CDATA[sIKggVGaBFGavGlA]]></nonce_str>"
+"<sign><![CDATA[845C8A7FF9A0D456DB2E7C8D68B1CAD3]]></sign>"
+"<result_code><![CDATA[SUCCESS]]></result_code>"
+"<prepay_id><![CDATA[wx20170509102930c05e819bdf0584738530]]></prepay_id>"
+"<trade_type><![CDATA[NATIVE]]></trade_type>"
+"<code_url><![CDATA[weixin://wxpay/bizpayurl?pr=FrUICJf]]></code_url>"
+"</xml>";
String nodeName = "result_code";// "return_code";
String nodeValue = null;
if(xml != null && xml.length() > 0){
String head = "<"+nodeName+">";
String tail = "</"+nodeName+">";
if(xml.contains(head) && xml.contains(tail)){
int beginIndex = xml.indexOf(head)+head.length();
int endIndex = xml.indexOf(tail);
nodeValue = xml.substring(beginIndex, endIndex);
if(nodeValue != null && nodeValue.length() >0){
if(nodeValue.startsWith("<![CDATA[") && nodeValue.endsWith("]]>")){
nodeValue = nodeValue.substring(9, nodeValue.length()-3);
}
}
}
}
System.out.println(nodeValue);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.8.0_121">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ajb-car-vo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/java/com/ajb/car/vo/common/JsonResult.java=UTF-8
encoding/<project>=UTF-8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="ajb-car-vo">
<wb-resource deploy-path="/" source-path="/src/main/java"/>
</wb-module>
</project-modules>
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<installed facet="java" version="1.8"/>
<installed facet="jst.utility" version="1.0"/>
</faceted-project>
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ajb-car</groupId>
<artifactId>ajb-car</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>ajb-car-vo</artifactId>
<name>ajb-car-vo</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.7.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
</project>
package com.ajb.car.vo.common;
import java.io.Serializable;
import com.alibaba.fastjson.annotation.JSONField;
public class CommonPage implements Serializable{
/**
*
*/
private static final long serialVersionUID = -4466390966390712971L;
@JSONField(ordinal=1)
private String size;
@JSONField(ordinal=2)
private String start;
@JSONField(ordinal=3)
private String total;
public String isSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getTotal() {
return total;
}
public void setTotal(String total) {
this.total = total;
}
}
package com.ajb.car.vo.common;
import java.io.Serializable;
import com.alibaba.fastjson.annotation.JSONField;
public class CommonResponse implements Serializable{
/**
*
*/
private static final long serialVersionUID = -4466390966390712971L;
@JSONField(ordinal=1)
private boolean success;
@JSONField(ordinal=2)
private String msg;
@JSONField(ordinal=3)
private String statuscode;
public void setSuccess(boolean success) {
this.success = success;
}
public boolean getSuccess() {
return success;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void setStatuscode(String statuscode) {
this.statuscode = statuscode;
}
public String getStatuscode() {
return statuscode;
}
}
package com.ajb.car.vo.common;
import java.io.Serializable;
public class CommonResult implements Serializable {
private static final long serialVersionUID = 1L;
private Boolean success;
private String message;
private String errorCode;
private String errorMessage;
private String flag;
public Boolean isSuccess() {
return success;
}
public void setSuccess(Boolean success) {
this.success = success;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public CommonResult() {
super();
}
public CommonResult(Boolean success, String message) {
super();
this.success = success;
this.message = message;
}
public CommonResult(Boolean success, String message,String errorCode) {
super();
this.success = success;
this.message = message;
this.errorCode = errorCode;
}
public CommonResult(Boolean success, String message,String errorCode,String errorMessage) {
super();
this.success = success;
this.message = message;
this.errorCode = errorCode;
this.errorMessage = errorMessage;
}
}
package com.ajb.car.vo.common;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/***
* 返回结果封装
*
* @author fan
*
*/
public class JsonResult implements Serializable {
private static final long serialVersionUID = 1L;
private boolean success;
private String message;
private Object data;
public JsonResult(){}
public JsonResult(boolean success,String msg,Object data){
this.success=success;
this.message=msg;
this.data=data;
}
public JsonResult(boolean success,String msg){
this.success=success;
this.message=msg;
this.data=null;
}
private JsonResult(String msg, Object data) {
this.message=msg;
this.success=true;
this.data=data;
}
public Object getData() {
return data;
}
public String getMessage() {
return message;
}
public boolean isSuccess() {
return success;
}
public JsonResult ofSuccess(String msg, Object data) {
return new JsonResult(msg, data) ;
}
public void setData(Object data) {
this.data = data;
}
public void setMessage(String message) {
this.message = message;
}
public void setSuccess(boolean success) {
this.success = success;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void addResult(Object responseVO){
Class c = responseVO.getClass();
Method getMethod = null;
try {
Class[] classArr = null;
getMethod = c.getMethod("getCommonResult", classArr);
} catch (NoSuchMethodException | SecurityException e1) {
e1.printStackTrace();
}
CommonResult commonResult = null;
if(getMethod != null){
try {
Object[] objectArr = null;
commonResult = (CommonResult)getMethod.invoke(responseVO, objectArr);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
}
}
if(commonResult != null){
this.success = commonResult.isSuccess();
this.message = commonResult.getMessage();
}else{
this.success = false;
this.message = "未知异常!";
}
Method setMethod = null;
try {
setMethod = c.getMethod("setCommonResult", CommonResult.class);
} catch (NoSuchMethodException | SecurityException e) {
e.printStackTrace();
}
if(setMethod != null){
CommonResult args = null;
try {
setMethod.invoke(responseVO, args);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima;
import com.alibaba.fastjson.annotation.JSONField;
/**
* Auto-generated: 2018-06-21 18:31:4
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Token {
@JSONField(name="session")
private TokenInfo tokenInfo;
public void setTokenInfo(TokenInfo session) {
this.tokenInfo = session;
}
public TokenInfo getTokenInfo() {
return tokenInfo;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima;
/**
* Auto-generated: 2018-06-21 18:31:4
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class TokenInfo {
private String token;
private int expiretime;
public void setToken(String token) {
this.token = token;
}
public String getToken() {
return token;
}
public void setExpiretime(int expiretime) {
this.expiretime = expiretime;
}
public int getExpiretime() {
return expiretime;
}
}
\ No newline at end of file
package com.ajb.car.vo.zhima;
/**
* Copyright 2018 bejson.com
*/
import com.ajb.car.vo.common.CommonResponse;
import com.alibaba.fastjson.annotation.JSONField;
/**
* Auto-generated: 2018-06-21 18:31:4
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class TokenZhiMa extends CommonResponse{
/**
*
*/
private static final long serialVersionUID = 1L;
@JSONField(ordinal=4,name="datas")
private Token datas;
public void setDatas(Token datas) {
this.datas = datas;
}
public Token getDatas() {
return datas;
}
}
\ No newline at end of file
package com.ajb.car.vo.zhima.policy;
import java.io.Serializable;
import com.alibaba.fastjson.annotation.JSONField;
public class Policy implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@JSONField(name="pages")
private PolicyPage policyPage;
public PolicyPage getPolicyPage() {
return policyPage;
}
public void setPolicyPage(PolicyPage policyPage) {
this.policyPage = policyPage;
}
}
package com.ajb.car.vo.zhima.policy;
import java.util.Date;
/**
* Auto-generated: 2018-06-20 15:3:4
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class PolicyInfo {
private String policycode;
private String carNumber;
private String carOwner;
private Date createDate;
private String brandName;
private double allCharge;
private double tcPremium;
private double vsltax;
private double bzPremium;
private double totalPremium;
public void setPolicycode(String policycode) {
this.policycode = policycode;
}
public String getPolicycode() {
return policycode;
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
public String getCarNumber() {
return carNumber;
}
public void setCarOwner(String carOwner) {
this.carOwner = carOwner;
}
public String getCarOwner() {
return carOwner;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getCreateDate() {
return createDate;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public String getBrandName() {
return brandName;
}
public void setAllCharge(int allCharge) {
this.allCharge = allCharge;
}
public double getAllCharge() {
return allCharge;
}
public void setTcPremium(int tcPremium) {
this.tcPremium = tcPremium;
}
public double getTcPremium() {
return tcPremium;
}
public void setVsltax(double vsltax) {
this.vsltax = vsltax;
}
public double getVsltax() {
return vsltax;
}
public void setBzPremium(double bzPremium) {
this.bzPremium = bzPremium;
}
public double getBzPremium() {
return bzPremium;
}
public void setTotalPremium(double totalPremium) {
this.totalPremium = totalPremium;
}
public double getTotalPremium() {
return totalPremium;
}
}
\ No newline at end of file
package com.ajb.car.vo.zhima.policy;
import java.util.List;
import com.ajb.car.vo.common.CommonPage;
import com.alibaba.fastjson.annotation.JSONField;
public class PolicyPage extends CommonPage {
/**
*
*/
private static final long serialVersionUID = 1L;
@JSONField(ordinal=4,name="rows")
private List<PolicyInfo> rows;
public List<PolicyInfo> getRows() {
return rows;
}
public void setRows(List<PolicyInfo> rows) {
this.rows = rows;
}
}
package com.ajb.car.vo.zhima.policy;
import com.ajb.car.vo.common.CommonResponse;
import com.alibaba.fastjson.annotation.JSONField;
/**
* Auto-generated: 2018-06-20 15:3:4
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class PolicyResponse extends CommonResponse {
/**
*
*/
private static final long serialVersionUID = -5770303706303992111L;
@JSONField(ordinal=4,name="datas")
private Policy datas;
public Policy getDatas() {
return datas;
}
public void setDatas(Policy datas) {
this.datas = datas;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Applicant {
private String name;
private String certType;
private String certCode;
private String address;
private String email;
private String tel;
private String natureType;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setCertType(String certType) {
this.certType = certType;
}
public String getCertType() {
return certType;
}
public void setCertCode(String certCode) {
this.certCode = certCode;
}
public String getCertCode() {
return certCode;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getTel() {
return tel;
}
public void setNatureType(String natureType) {
this.natureType = natureType;
}
public String getNatureType() {
return natureType;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
import java.util.Date;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class BaseInfo {
private Date createDate;
private String tcPolicyID;
private String bzPolicyID;
private String bzApplySerialNo;
private String bzApplyNo;
private String bzPolicyNo;
private String bzPolicyStatus;
private Date tcStartTime;
private Date tcEndTime;
private int tcDay;
private Date bzStartTime;
private Date bzEndTime;
private int bzDay;
private String tcAmount;
private String tcsPremium;
private String tcPremium;
private String tcIfPay;
private String tcShortRate;
private String bzAmount;
private String bzsPremium;
private String bzIfPay;
private String bzPremium;
private String bzFloatRatio;
private String bzShortRate;
private String vsltax;
private String sellChannel;
private String businessKind;
private String businessChannel;
private String disputeSolution;
private String isagrrelated;
private String preTotVeh;
private String manyInsuranceKindFactor;
private String sxgRenewalId;
private String tcSxfl;
private String bzSxfl;
private String tcApplySerialNo;
private String tcApplyNo;
private String tcPolicyNo;
private String tcPolicyStatus;
private String tcInsType;
private String bzInsType;
private String tbdm;
private String tbdmName;
private String agencyCode;
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getCreateDate() {
return createDate;
}
public void setTcPolicyID(String tcPolicyID) {
this.tcPolicyID = tcPolicyID;
}
public String getTcPolicyID() {
return tcPolicyID;
}
public void setBzPolicyID(String bzPolicyID) {
this.bzPolicyID = bzPolicyID;
}
public String getBzPolicyID() {
return bzPolicyID;
}
public void setBzApplySerialNo(String bzApplySerialNo) {
this.bzApplySerialNo = bzApplySerialNo;
}
public String getBzApplySerialNo() {
return bzApplySerialNo;
}
public void setBzApplyNo(String bzApplyNo) {
this.bzApplyNo = bzApplyNo;
}
public String getBzApplyNo() {
return bzApplyNo;
}
public void setBzPolicyNo(String bzPolicyNo) {
this.bzPolicyNo = bzPolicyNo;
}
public String getBzPolicyNo() {
return bzPolicyNo;
}
public void setBzPolicyStatus(String bzPolicyStatus) {
this.bzPolicyStatus = bzPolicyStatus;
}
public String getBzPolicyStatus() {
return bzPolicyStatus;
}
public void setTcStartTime(Date tcStartTime) {
this.tcStartTime = tcStartTime;
}
public Date getTcStartTime() {
return tcStartTime;
}
public void setTcEndTime(Date tcEndTime) {
this.tcEndTime = tcEndTime;
}
public Date getTcEndTime() {
return tcEndTime;
}
public void setTcDay(int tcDay) {
this.tcDay = tcDay;
}
public int getTcDay() {
return tcDay;
}
public void setBzStartTime(Date bzStartTime) {
this.bzStartTime = bzStartTime;
}
public Date getBzStartTime() {
return bzStartTime;
}
public void setBzEndTime(Date bzEndTime) {
this.bzEndTime = bzEndTime;
}
public Date getBzEndTime() {
return bzEndTime;
}
public void setBzDay(int bzDay) {
this.bzDay = bzDay;
}
public int getBzDay() {
return bzDay;
}
public void setTcAmount(String tcAmount) {
this.tcAmount = tcAmount;
}
public String getTcAmount() {
return tcAmount;
}
public void setTcsPremium(String tcsPremium) {
this.tcsPremium = tcsPremium;
}
public String getTcsPremium() {
return tcsPremium;
}
public void setTcPremium(String tcPremium) {
this.tcPremium = tcPremium;
}
public String getTcPremium() {
return tcPremium;
}
public void setTcIfPay(String tcIfPay) {
this.tcIfPay = tcIfPay;
}
public String getTcIfPay() {
return tcIfPay;
}
public void setTcShortRate(String tcShortRate) {
this.tcShortRate = tcShortRate;
}
public String getTcShortRate() {
return tcShortRate;
}
public void setBzAmount(String bzAmount) {
this.bzAmount = bzAmount;
}
public String getBzAmount() {
return bzAmount;
}
public void setBzsPremium(String bzsPremium) {
this.bzsPremium = bzsPremium;
}
public String getBzsPremium() {
return bzsPremium;
}
public void setBzIfPay(String bzIfPay) {
this.bzIfPay = bzIfPay;
}
public String getBzIfPay() {
return bzIfPay;
}
public void setBzPremium(String bzPremium) {
this.bzPremium = bzPremium;
}
public String getBzPremium() {
return bzPremium;
}
public void setBzFloatRatio(String bzFloatRatio) {
this.bzFloatRatio = bzFloatRatio;
}
public String getBzFloatRatio() {
return bzFloatRatio;
}
public void setBzShortRate(String bzShortRate) {
this.bzShortRate = bzShortRate;
}
public String getBzShortRate() {
return bzShortRate;
}
public void setVsltax(String vsltax) {
this.vsltax = vsltax;
}
public String getVsltax() {
return vsltax;
}
public void setSellChannel(String sellChannel) {
this.sellChannel = sellChannel;
}
public String getSellChannel() {
return sellChannel;
}
public void setBusinessKind(String businessKind) {
this.businessKind = businessKind;
}
public String getBusinessKind() {
return businessKind;
}
public void setBusinessChannel(String businessChannel) {
this.businessChannel = businessChannel;
}
public String getBusinessChannel() {
return businessChannel;
}
public void setDisputeSolution(String disputeSolution) {
this.disputeSolution = disputeSolution;
}
public String getDisputeSolution() {
return disputeSolution;
}
public void setIsagrrelated(String isagrrelated) {
this.isagrrelated = isagrrelated;
}
public String getIsagrrelated() {
return isagrrelated;
}
public void setPreTotVeh(String preTotVeh) {
this.preTotVeh = preTotVeh;
}
public String getPreTotVeh() {
return preTotVeh;
}
public void setManyInsuranceKindFactor(String manyInsuranceKindFactor) {
this.manyInsuranceKindFactor = manyInsuranceKindFactor;
}
public String getManyInsuranceKindFactor() {
return manyInsuranceKindFactor;
}
public void setSxgRenewalId(String sxgRenewalId) {
this.sxgRenewalId = sxgRenewalId;
}
public String getSxgRenewalId() {
return sxgRenewalId;
}
public void setTcSxfl(String tcSxfl) {
this.tcSxfl = tcSxfl;
}
public String getTcSxfl() {
return tcSxfl;
}
public void setBzSxfl(String bzSxfl) {
this.bzSxfl = bzSxfl;
}
public String getBzSxfl() {
return bzSxfl;
}
public void setTcApplySerialNo(String tcApplySerialNo) {
this.tcApplySerialNo = tcApplySerialNo;
}
public String getTcApplySerialNo() {
return tcApplySerialNo;
}
public void setTcApplyNo(String tcApplyNo) {
this.tcApplyNo = tcApplyNo;
}
public String getTcApplyNo() {
return tcApplyNo;
}
public void setTcPolicyNo(String tcPolicyNo) {
this.tcPolicyNo = tcPolicyNo;
}
public String getTcPolicyNo() {
return tcPolicyNo;
}
public void setTcPolicyStatus(String tcPolicyStatus) {
this.tcPolicyStatus = tcPolicyStatus;
}
public String getTcPolicyStatus() {
return tcPolicyStatus;
}
public void setTcInsType(String tcInsType) {
this.tcInsType = tcInsType;
}
public String getTcInsType() {
return tcInsType;
}
public void setBzInsType(String bzInsType) {
this.bzInsType = bzInsType;
}
public String getBzInsType() {
return bzInsType;
}
public void setTbdm(String tbdm) {
this.tbdm = tbdm;
}
public String getTbdm() {
return tbdm;
}
public void setTbdmName(String tbdmName) {
this.tbdmName = tbdmName;
}
public String getTbdmName() {
return tbdmName;
}
public void setAgencyCode(String agencyCode) {
this.agencyCode = agencyCode;
}
public String getAgencyCode() {
return agencyCode;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class BzCoverages {
private ThirdPartyLiabilityExemptDeductibleSpecialClause ThirdPartyLiabilityExemptDeductibleSpecialClause;
private DamageLossCoverage DamageLossCoverage;
private CarBodyPaintCoverage CarBodyPaintCoverage;
private DamageLossExemptDeductibleSpecialClause DamageLossExemptDeductibleSpecialClause;
private CarBodyPaintExemptDeductibleSpecialClause CarBodyPaintExemptDeductibleSpecialClause;
private ThirdPartyLiabilityCoverage ThirdPartyLiabilityCoverage;
public void setThirdPartyLiabilityExemptDeductibleSpecialClause(ThirdPartyLiabilityExemptDeductibleSpecialClause ThirdPartyLiabilityExemptDeductibleSpecialClause) {
this.ThirdPartyLiabilityExemptDeductibleSpecialClause = ThirdPartyLiabilityExemptDeductibleSpecialClause;
}
public ThirdPartyLiabilityExemptDeductibleSpecialClause getThirdPartyLiabilityExemptDeductibleSpecialClause() {
return ThirdPartyLiabilityExemptDeductibleSpecialClause;
}
public void setDamageLossCoverage(DamageLossCoverage DamageLossCoverage) {
this.DamageLossCoverage = DamageLossCoverage;
}
public DamageLossCoverage getDamageLossCoverage() {
return DamageLossCoverage;
}
public void setCarBodyPaintCoverage(CarBodyPaintCoverage CarBodyPaintCoverage) {
this.CarBodyPaintCoverage = CarBodyPaintCoverage;
}
public CarBodyPaintCoverage getCarBodyPaintCoverage() {
return CarBodyPaintCoverage;
}
public void setDamageLossExemptDeductibleSpecialClause(DamageLossExemptDeductibleSpecialClause DamageLossExemptDeductibleSpecialClause) {
this.DamageLossExemptDeductibleSpecialClause = DamageLossExemptDeductibleSpecialClause;
}
public DamageLossExemptDeductibleSpecialClause getDamageLossExemptDeductibleSpecialClause() {
return DamageLossExemptDeductibleSpecialClause;
}
public void setCarBodyPaintExemptDeductibleSpecialClause(CarBodyPaintExemptDeductibleSpecialClause CarBodyPaintExemptDeductibleSpecialClause) {
this.CarBodyPaintExemptDeductibleSpecialClause = CarBodyPaintExemptDeductibleSpecialClause;
}
public CarBodyPaintExemptDeductibleSpecialClause getCarBodyPaintExemptDeductibleSpecialClause() {
return CarBodyPaintExemptDeductibleSpecialClause;
}
public void setThirdPartyLiabilityCoverage(ThirdPartyLiabilityCoverage ThirdPartyLiabilityCoverage) {
this.ThirdPartyLiabilityCoverage = ThirdPartyLiabilityCoverage;
}
public ThirdPartyLiabilityCoverage getThirdPartyLiabilityCoverage() {
return ThirdPartyLiabilityCoverage;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class CarBodyPaintCoverage {
private String kind;
private boolean select;
private String sumInsured;
private int count;
private double floatingRate;
private double premiumRate;
private double standardPremium;
private double policyPremium;
public void setKind(String kind) {
this.kind = kind;
}
public String getKind() {
return kind;
}
public void setSelect(boolean select) {
this.select = select;
}
public boolean getSelect() {
return select;
}
public void setSumInsured(String sumInsured) {
this.sumInsured = sumInsured;
}
public String getSumInsured() {
return sumInsured;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setFloatingRate(double floatingRate) {
this.floatingRate = floatingRate;
}
public double getFloatingRate() {
return floatingRate;
}
public void setPremiumRate(double premiumRate) {
this.premiumRate = premiumRate;
}
public double getPremiumRate() {
return premiumRate;
}
public void setStandardPremium(double standardPremium) {
this.standardPremium = standardPremium;
}
public double getStandardPremium() {
return standardPremium;
}
public void setPolicyPremium(double policyPremium) {
this.policyPremium = policyPremium;
}
public double getPolicyPremium() {
return policyPremium;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class CarBodyPaintExemptDeductibleSpecialClause {
private String kind;
private boolean select;
private String sumInsured;
private int count;
private double floatingRate;
private double premiumRate;
private double standardPremium;
private double policyPremium;
public void setKind(String kind) {
this.kind = kind;
}
public String getKind() {
return kind;
}
public void setSelect(boolean select) {
this.select = select;
}
public boolean getSelect() {
return select;
}
public void setSumInsured(String sumInsured) {
this.sumInsured = sumInsured;
}
public String getSumInsured() {
return sumInsured;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setFloatingRate(double floatingRate) {
this.floatingRate = floatingRate;
}
public double getFloatingRate() {
return floatingRate;
}
public void setPremiumRate(double premiumRate) {
this.premiumRate = premiumRate;
}
public double getPremiumRate() {
return premiumRate;
}
public void setStandardPremium(double standardPremium) {
this.standardPremium = standardPremium;
}
public double getStandardPremium() {
return standardPremium;
}
public void setPolicyPremium(double policyPremium) {
this.policyPremium = policyPremium;
}
public double getPolicyPremium() {
return policyPremium;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Claimant {
private String name;
private String certType;
private String certCode;
private String email;
private String tel;
private String address;
private String natureType;
private String customerType;
private String clLevel;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setCertType(String certType) {
this.certType = certType;
}
public String getCertType() {
return certType;
}
public void setCertCode(String certCode) {
this.certCode = certCode;
}
public String getCertCode() {
return certCode;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getTel() {
return tel;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setNatureType(String natureType) {
this.natureType = natureType;
}
public String getNatureType() {
return natureType;
}
public void setCustomerType(String customerType) {
this.customerType = customerType;
}
public String getCustomerType() {
return customerType;
}
public void setClLevel(String clLevel) {
this.clLevel = clLevel;
}
public String getClLevel() {
return clLevel;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
import java.util.Date;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class ConfirmInfo {
private String policycode;
private String applicantname;
private String applicantcertType;
private String applicantcertCode;
private String applicantTel;
private String insuredname;
private String insuredcertType;
private String insuredcertCode;
private String claimantname;
private String claimantcertType;
private String claimantcertCode;
private String invoiceKind;
private String invoiceTitle;
private String taxCode;
private String invoiceBank;
private String invoiceBankCardid;
private String invoiceAddress;
private String invoiceTel;
private String receiverName;
private String receiverTel;
private String receiverAddress;
private Date receiverDate;
public void setPolicycode(String policycode) {
this.policycode = policycode;
}
public String getPolicycode() {
return policycode;
}
public void setApplicantname(String applicantname) {
this.applicantname = applicantname;
}
public String getApplicantname() {
return applicantname;
}
public void setApplicantcertType(String applicantcertType) {
this.applicantcertType = applicantcertType;
}
public String getApplicantcertType() {
return applicantcertType;
}
public void setApplicantcertCode(String applicantcertCode) {
this.applicantcertCode = applicantcertCode;
}
public String getApplicantcertCode() {
return applicantcertCode;
}
public void setApplicantTel(String applicantTel) {
this.applicantTel = applicantTel;
}
public String getApplicantTel() {
return applicantTel;
}
public void setInsuredname(String insuredname) {
this.insuredname = insuredname;
}
public String getInsuredname() {
return insuredname;
}
public void setInsuredcertType(String insuredcertType) {
this.insuredcertType = insuredcertType;
}
public String getInsuredcertType() {
return insuredcertType;
}
public void setInsuredcertCode(String insuredcertCode) {
this.insuredcertCode = insuredcertCode;
}
public String getInsuredcertCode() {
return insuredcertCode;
}
public void setClaimantname(String claimantname) {
this.claimantname = claimantname;
}
public String getClaimantname() {
return claimantname;
}
public void setClaimantcertType(String claimantcertType) {
this.claimantcertType = claimantcertType;
}
public String getClaimantcertType() {
return claimantcertType;
}
public void setClaimantcertCode(String claimantcertCode) {
this.claimantcertCode = claimantcertCode;
}
public String getClaimantcertCode() {
return claimantcertCode;
}
public void setInvoiceKind(String invoiceKind) {
this.invoiceKind = invoiceKind;
}
public String getInvoiceKind() {
return invoiceKind;
}
public void setInvoiceTitle(String invoiceTitle) {
this.invoiceTitle = invoiceTitle;
}
public String getInvoiceTitle() {
return invoiceTitle;
}
public void setTaxCode(String taxCode) {
this.taxCode = taxCode;
}
public String getTaxCode() {
return taxCode;
}
public void setInvoiceBank(String invoiceBank) {
this.invoiceBank = invoiceBank;
}
public String getInvoiceBank() {
return invoiceBank;
}
public void setInvoiceBankCardid(String invoiceBankCardid) {
this.invoiceBankCardid = invoiceBankCardid;
}
public String getInvoiceBankCardid() {
return invoiceBankCardid;
}
public void setInvoiceAddress(String invoiceAddress) {
this.invoiceAddress = invoiceAddress;
}
public String getInvoiceAddress() {
return invoiceAddress;
}
public void setInvoiceTel(String invoiceTel) {
this.invoiceTel = invoiceTel;
}
public String getInvoiceTel() {
return invoiceTel;
}
public void setReceiverName(String receiverName) {
this.receiverName = receiverName;
}
public String getReceiverName() {
return receiverName;
}
public void setReceiverTel(String receiverTel) {
this.receiverTel = receiverTel;
}
public String getReceiverTel() {
return receiverTel;
}
public void setReceiverAddress(String receiverAddress) {
this.receiverAddress = receiverAddress;
}
public String getReceiverAddress() {
return receiverAddress;
}
public void setReceiverDate(Date receiverDate) {
this.receiverDate = receiverDate;
}
public Date getReceiverDate() {
return receiverDate;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class DamageLossCoverage {
private String kind;
private boolean select;
private String sumInsured;
private int count;
private double floatingRate;
private double premiumRate;
private double standardPremium;
private double policyPremium;
public void setKind(String kind) {
this.kind = kind;
}
public String getKind() {
return kind;
}
public void setSelect(boolean select) {
this.select = select;
}
public boolean getSelect() {
return select;
}
public void setSumInsured(String sumInsured) {
this.sumInsured = sumInsured;
}
public String getSumInsured() {
return sumInsured;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setFloatingRate(double floatingRate) {
this.floatingRate = floatingRate;
}
public double getFloatingRate() {
return floatingRate;
}
public void setPremiumRate(double premiumRate) {
this.premiumRate = premiumRate;
}
public double getPremiumRate() {
return premiumRate;
}
public void setStandardPremium(double standardPremium) {
this.standardPremium = standardPremium;
}
public double getStandardPremium() {
return standardPremium;
}
public void setPolicyPremium(double policyPremium) {
this.policyPremium = policyPremium;
}
public double getPolicyPremium() {
return policyPremium;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class DamageLossExemptDeductibleSpecialClause {
private String kind;
private boolean select;
private String sumInsured;
private int count;
private double floatingRate;
private double premiumRate;
private double standardPremium;
private double policyPremium;
public void setKind(String kind) {
this.kind = kind;
}
public String getKind() {
return kind;
}
public void setSelect(boolean select) {
this.select = select;
}
public boolean getSelect() {
return select;
}
public void setSumInsured(String sumInsured) {
this.sumInsured = sumInsured;
}
public String getSumInsured() {
return sumInsured;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setFloatingRate(double floatingRate) {
this.floatingRate = floatingRate;
}
public double getFloatingRate() {
return floatingRate;
}
public void setPremiumRate(double premiumRate) {
this.premiumRate = premiumRate;
}
public double getPremiumRate() {
return premiumRate;
}
public void setStandardPremium(double standardPremium) {
this.standardPremium = standardPremium;
}
public double getStandardPremium() {
return standardPremium;
}
public void setPolicyPremium(double policyPremium) {
this.policyPremium = policyPremium;
}
public double getPolicyPremium() {
return policyPremium;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Datas {
private Priceinfo priceinfo;
private ConfirmInfo confirmInfo;
public void setPriceinfo(Priceinfo priceinfo) {
this.priceinfo = priceinfo;
}
public Priceinfo getPriceinfo() {
return priceinfo;
}
public void setConfirmInfo(ConfirmInfo confirmInfo) {
this.confirmInfo = confirmInfo;
}
public ConfirmInfo getConfirmInfo() {
return confirmInfo;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Insured {
private String name;
private String certType;
private String certCode;
private String tel;
private String email;
private String address;
private String natureType;
private String isInsuredTicket;
private String customerType;
private String clAge;
private String clGender;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setCertType(String certType) {
this.certType = certType;
}
public String getCertType() {
return certType;
}
public void setCertCode(String certCode) {
this.certCode = certCode;
}
public String getCertCode() {
return certCode;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getTel() {
return tel;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setNatureType(String natureType) {
this.natureType = natureType;
}
public String getNatureType() {
return natureType;
}
public void setIsInsuredTicket(String isInsuredTicket) {
this.isInsuredTicket = isInsuredTicket;
}
public String getIsInsuredTicket() {
return isInsuredTicket;
}
public void setCustomerType(String customerType) {
this.customerType = customerType;
}
public String getCustomerType() {
return customerType;
}
public void setClAge(String clAge) {
this.clAge = clAge;
}
public String getClAge() {
return clAge;
}
public void setClGender(String clGender) {
this.clGender = clGender;
}
public String getClGender() {
return clGender;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
import java.util.Date;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Priceinfo {
private String policycode;
private String carNumber;
private String carOwner;
private String purchasePrice;
private String currentPrice;
private String brandName;
private String modelNumber;
private int tcCoverageStatus;
private int bzCoverageStatus;
private String tcCoverageMsg;
private String bzCoverageMsg;
private String status;
private String hastc;
private String hasbz;
private double tcPremium;
private double vsltax;
private double bzFloatRatio;
private double bzPremium;
private double totalPremium;
private double tcCharge;
private double bzCharge;
private double allCharge;
private Date createDate;
private Date tcStartTime;
private Date bzStartTime;
private TcCoverages tcCoverages;
private BzCoverages bzCoverages;
private Applicant applicant;
private BaseInfo baseInfo;
private Claimant claimant;
private Insured insured;
private VehInfo vehInfo;
private VehStore vehStore;
private VsltaxInfo vsltaxInfo;
public void setPolicycode(String policycode) {
this.policycode = policycode;
}
public String getPolicycode() {
return policycode;
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
public String getCarNumber() {
return carNumber;
}
public void setCarOwner(String carOwner) {
this.carOwner = carOwner;
}
public String getCarOwner() {
return carOwner;
}
public void setPurchasePrice(String purchasePrice) {
this.purchasePrice = purchasePrice;
}
public String getPurchasePrice() {
return purchasePrice;
}
public void setCurrentPrice(String currentPrice) {
this.currentPrice = currentPrice;
}
public String getCurrentPrice() {
return currentPrice;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public String getBrandName() {
return brandName;
}
public void setModelNumber(String modelNumber) {
this.modelNumber = modelNumber;
}
public String getModelNumber() {
return modelNumber;
}
public void setTcCoverageStatus(int tcCoverageStatus) {
this.tcCoverageStatus = tcCoverageStatus;
}
public int getTcCoverageStatus() {
return tcCoverageStatus;
}
public void setBzCoverageStatus(int bzCoverageStatus) {
this.bzCoverageStatus = bzCoverageStatus;
}
public int getBzCoverageStatus() {
return bzCoverageStatus;
}
public void setTcCoverageMsg(String tcCoverageMsg) {
this.tcCoverageMsg = tcCoverageMsg;
}
public String getTcCoverageMsg() {
return tcCoverageMsg;
}
public void setBzCoverageMsg(String bzCoverageMsg) {
this.bzCoverageMsg = bzCoverageMsg;
}
public String getBzCoverageMsg() {
return bzCoverageMsg;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public void setHastc(String hastc) {
this.hastc = hastc;
}
public String getHastc() {
return hastc;
}
public void setHasbz(String hasbz) {
this.hasbz = hasbz;
}
public String getHasbz() {
return hasbz;
}
public void setTcPremium(int tcPremium) {
this.tcPremium = tcPremium;
}
public double getTcPremium() {
return tcPremium;
}
public void setVsltax(double vsltax) {
this.vsltax = vsltax;
}
public double getVsltax() {
return vsltax;
}
public void setBzFloatRatio(double bzFloatRatio) {
this.bzFloatRatio = bzFloatRatio;
}
public double getBzFloatRatio() {
return bzFloatRatio;
}
public void setBzPremium(double bzPremium) {
this.bzPremium = bzPremium;
}
public double getBzPremium() {
return bzPremium;
}
public void setTotalPremium(double totalPremium) {
this.totalPremium = totalPremium;
}
public double getTotalPremium() {
return totalPremium;
}
public void setTcCharge(int tcCharge) {
this.tcCharge = tcCharge;
}
public double getTcCharge() {
return tcCharge;
}
public void setBzCharge(double bzCharge) {
this.bzCharge = bzCharge;
}
public double getBzCharge() {
return bzCharge;
}
public void setAllCharge(double allCharge) {
this.allCharge = allCharge;
}
public double getAllCharge() {
return allCharge;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Date getCreateDate() {
return createDate;
}
public void setTcStartTime(Date tcStartTime) {
this.tcStartTime = tcStartTime;
}
public Date getTcStartTime() {
return tcStartTime;
}
public void setBzStartTime(Date bzStartTime) {
this.bzStartTime = bzStartTime;
}
public Date getBzStartTime() {
return bzStartTime;
}
public void setTcCoverages(TcCoverages tcCoverages) {
this.tcCoverages = tcCoverages;
}
public TcCoverages getTcCoverages() {
return tcCoverages;
}
public void setBzCoverages(BzCoverages bzCoverages) {
this.bzCoverages = bzCoverages;
}
public BzCoverages getBzCoverages() {
return bzCoverages;
}
public void setApplicant(Applicant applicant) {
this.applicant = applicant;
}
public Applicant getApplicant() {
return applicant;
}
public void setBaseInfo(BaseInfo baseInfo) {
this.baseInfo = baseInfo;
}
public BaseInfo getBaseInfo() {
return baseInfo;
}
public void setClaimant(Claimant claimant) {
this.claimant = claimant;
}
public Claimant getClaimant() {
return claimant;
}
public void setInsured(Insured insured) {
this.insured = insured;
}
public Insured getInsured() {
return insured;
}
public void setVehInfo(VehInfo vehInfo) {
this.vehInfo = vehInfo;
}
public VehInfo getVehInfo() {
return vehInfo;
}
public void setVehStore(VehStore vehStore) {
this.vehStore = vehStore;
}
public VehStore getVehStore() {
return vehStore;
}
public void setVsltaxInfo(VsltaxInfo vsltaxInfo) {
this.vsltaxInfo = vsltaxInfo;
}
public VsltaxInfo getVsltaxInfo() {
return vsltaxInfo;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class QuotationDetail {
private boolean success;
private String msg;
private String statuscode;
private Datas datas;
public void setSuccess(boolean success) {
this.success = success;
}
public boolean getSuccess() {
return success;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void setStatuscode(String statuscode) {
this.statuscode = statuscode;
}
public String getStatuscode() {
return statuscode;
}
public void setDatas(Datas datas) {
this.datas = datas;
}
public Datas getDatas() {
return datas;
}
}
\ No newline at end of file
package com.ajb.car.vo.zhima.quotation;
import java.io.Serializable;
public class QuotationRequestVO implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String begindate;
private String enddate;
public String getBegindate() {
return begindate;
}
public void setBegindate(String begindate) {
this.begindate = begindate;
}
public String getEnddate() {
return enddate;
}
public void setEnddate(String enddate) {
this.enddate = enddate;
}
}
package com.ajb.car.vo.zhima.quotation;
import java.math.BigDecimal;
import com.ajb.car.vo.common.CommonResult;
public class QuotationResponse {
private Integer total = 0;
private BigDecimal totalPremium = new BigDecimal(0);
private BigDecimal bzPremium = new BigDecimal(0);
private BigDecimal tcPremium = new BigDecimal(0);
private BigDecimal tsltax = new BigDecimal(0);
private BigDecimal allCharge = new BigDecimal(0);
private CommonResult commonResult;//查询结果信息
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
public BigDecimal getTotalPremium() {
return totalPremium;
}
public void setTotalPremium(BigDecimal totalPremium) {
this.totalPremium = totalPremium;
}
public BigDecimal getTcPremium() {
return tcPremium;
}
public void setTcPremium(BigDecimal tcPremium) {
this.tcPremium = tcPremium;
}
public BigDecimal getTsltax() {
return tsltax;
}
public void setTsltax(BigDecimal tsltax) {
this.tsltax = tsltax;
}
public BigDecimal getAllCharge() {
return allCharge;
}
public void setAllCharge(BigDecimal allCharge) {
this.allCharge = allCharge;
}
public Integer getTotal() {
return total;
}
public void setTotal(Integer total) {
this.total = total;
}
public BigDecimal getBzPremium() {
return bzPremium;
}
public void setBzPremium(BigDecimal bzPremium) {
this.bzPremium = bzPremium;
}
}
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class TRAFFICCOMPULSORYPRODUCT {
private String kind;
private boolean select;
private String sumInsured;
private int count;
private double floatingRate;
private double premiumRate;
private double standardPremium;
private double policyPremium;
public void setKind(String kind) {
this.kind = kind;
}
public String getKind() {
return kind;
}
public void setSelect(boolean select) {
this.select = select;
}
public boolean getSelect() {
return select;
}
public void setSumInsured(String sumInsured) {
this.sumInsured = sumInsured;
}
public String getSumInsured() {
return sumInsured;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setFloatingRate(int floatingRate) {
this.floatingRate = floatingRate;
}
public double getFloatingRate() {
return floatingRate;
}
public void setPremiumRate(double premiumRate) {
this.premiumRate = premiumRate;
}
public double getPremiumRate() {
return premiumRate;
}
public void setStandardPremium(double standardPremium) {
this.standardPremium = standardPremium;
}
public double getStandardPremium() {
return standardPremium;
}
public void setPolicyPremium(double policyPremium) {
this.policyPremium = policyPremium;
}
public double getPolicyPremium() {
return policyPremium;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class TcCoverages {
private TRAFFICCOMPULSORYPRODUCT TRAFFICCOMPULSORYPRODUCT;
public void setTRAFFICCOMPULSORYPRODUCT(TRAFFICCOMPULSORYPRODUCT TRAFFICCOMPULSORYPRODUCT) {
this.TRAFFICCOMPULSORYPRODUCT = TRAFFICCOMPULSORYPRODUCT;
}
public TRAFFICCOMPULSORYPRODUCT getTRAFFICCOMPULSORYPRODUCT() {
return TRAFFICCOMPULSORYPRODUCT;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class ThirdPartyLiabilityCoverage {
private String kind;
private boolean select;
private String sumInsured;
private int count;
private double floatingRate;
private double premiumRate;
private double standardPremium;
private double policyPremium;
public void setKind(String kind) {
this.kind = kind;
}
public String getKind() {
return kind;
}
public void setSelect(boolean select) {
this.select = select;
}
public boolean getSelect() {
return select;
}
public void setSumInsured(String sumInsured) {
this.sumInsured = sumInsured;
}
public String getSumInsured() {
return sumInsured;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setFloatingRate(double floatingRate) {
this.floatingRate = floatingRate;
}
public double getFloatingRate() {
return floatingRate;
}
public void setPremiumRate(double premiumRate) {
this.premiumRate = premiumRate;
}
public double getPremiumRate() {
return premiumRate;
}
public void setStandardPremium(double standardPremium) {
this.standardPremium = standardPremium;
}
public double getStandardPremium() {
return standardPremium;
}
public void setPolicyPremium(double policyPremium) {
this.policyPremium = policyPremium;
}
public double getPolicyPremium() {
return policyPremium;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class ThirdPartyLiabilityExemptDeductibleSpecialClause {
private String kind;
private boolean select;
private String sumInsured;
private int count;
private double floatingRate;
private double premiumRate;
private double standardPremium;
private double policyPremium;
public void setKind(String kind) {
this.kind = kind;
}
public String getKind() {
return kind;
}
public void setSelect(boolean select) {
this.select = select;
}
public boolean getSelect() {
return select;
}
public void setSumInsured(String sumInsured) {
this.sumInsured = sumInsured;
}
public String getSumInsured() {
return sumInsured;
}
public void setCount(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setFloatingRate(double floatingRate) {
this.floatingRate = floatingRate;
}
public double getFloatingRate() {
return floatingRate;
}
public void setPremiumRate(double premiumRate) {
this.premiumRate = premiumRate;
}
public double getPremiumRate() {
return premiumRate;
}
public void setStandardPremium(double standardPremium) {
this.standardPremium = standardPremium;
}
public double getStandardPremium() {
return standardPremium;
}
public void setPolicyPremium(double policyPremium) {
this.policyPremium = policyPremium;
}
public double getPolicyPremium() {
return policyPremium;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
import java.util.Date;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class VehInfo {
private String isNewCar;
private String newCarFlag;
private String insuranceFlag;
private String modelNumber;
private String modelSerialCode;
private String frameNumber;
private String plateType;
private String engineNumber;
private Date firstRegistrationDate;
private String registrationNumber;
private String category;
private String licenseOwner;
private String licenseOwnerCertType;
private String licenseOwnerCertCode;
private String ownerNature;
private String modelCharacterNumber;
private String attribute;
private String bizAttribute;
private String bizCategory;
private String use;
private String purchasePrice;
private String kindPrice;
private String currentValue;
private String seatCapacity;
private String carryingCapacity;
private String glassType;
private String engineSize;
private String loanVehicleFlag;
private String brand;
private String drivingArea;
private String vehiclePower;
private String vehiclePowerJY;
private String fuelType;
private String specialCarFlag;
private String purchaseinvoicesDate;
private String modelIdCode;
private String platformModelCode;
private String vehicleUsageDetail;
private String illegalNumLastYear;
private String tcDesignedAge;
private String annualMileage;
private String specvtype;
private String instalment;
private String designedAge;
private String depreciatedExpireAge;
private String plateColor;
private String manufacturer;
private String bodyColor;
private String producePlaceType;
private String industryVehicleCode;
private String platformBrand;
private String brandCode;
private String series;
private String seriesCode;
private String carName;
private String noticeType;
private String tradeCode;
public void setIsNewCar(String isNewCar) {
this.isNewCar = isNewCar;
}
public String getIsNewCar() {
return isNewCar;
}
public void setNewCarFlag(String newCarFlag) {
this.newCarFlag = newCarFlag;
}
public String getNewCarFlag() {
return newCarFlag;
}
public void setInsuranceFlag(String insuranceFlag) {
this.insuranceFlag = insuranceFlag;
}
public String getInsuranceFlag() {
return insuranceFlag;
}
public void setModelNumber(String modelNumber) {
this.modelNumber = modelNumber;
}
public String getModelNumber() {
return modelNumber;
}
public void setModelSerialCode(String modelSerialCode) {
this.modelSerialCode = modelSerialCode;
}
public String getModelSerialCode() {
return modelSerialCode;
}
public void setFrameNumber(String frameNumber) {
this.frameNumber = frameNumber;
}
public String getFrameNumber() {
return frameNumber;
}
public void setPlateType(String plateType) {
this.plateType = plateType;
}
public String getPlateType() {
return plateType;
}
public void setEngineNumber(String engineNumber) {
this.engineNumber = engineNumber;
}
public String getEngineNumber() {
return engineNumber;
}
public void setFirstRegistrationDate(Date firstRegistrationDate) {
this.firstRegistrationDate = firstRegistrationDate;
}
public Date getFirstRegistrationDate() {
return firstRegistrationDate;
}
public void setRegistrationNumber(String registrationNumber) {
this.registrationNumber = registrationNumber;
}
public String getRegistrationNumber() {
return registrationNumber;
}
public void setCategory(String category) {
this.category = category;
}
public String getCategory() {
return category;
}
public void setLicenseOwner(String licenseOwner) {
this.licenseOwner = licenseOwner;
}
public String getLicenseOwner() {
return licenseOwner;
}
public void setLicenseOwnerCertType(String licenseOwnerCertType) {
this.licenseOwnerCertType = licenseOwnerCertType;
}
public String getLicenseOwnerCertType() {
return licenseOwnerCertType;
}
public void setLicenseOwnerCertCode(String licenseOwnerCertCode) {
this.licenseOwnerCertCode = licenseOwnerCertCode;
}
public String getLicenseOwnerCertCode() {
return licenseOwnerCertCode;
}
public void setOwnerNature(String ownerNature) {
this.ownerNature = ownerNature;
}
public String getOwnerNature() {
return ownerNature;
}
public void setModelCharacterNumber(String modelCharacterNumber) {
this.modelCharacterNumber = modelCharacterNumber;
}
public String getModelCharacterNumber() {
return modelCharacterNumber;
}
public void setAttribute(String attribute) {
this.attribute = attribute;
}
public String getAttribute() {
return attribute;
}
public void setBizAttribute(String bizAttribute) {
this.bizAttribute = bizAttribute;
}
public String getBizAttribute() {
return bizAttribute;
}
public void setBizCategory(String bizCategory) {
this.bizCategory = bizCategory;
}
public String getBizCategory() {
return bizCategory;
}
public void setUse(String use) {
this.use = use;
}
public String getUse() {
return use;
}
public void setPurchasePrice(String purchasePrice) {
this.purchasePrice = purchasePrice;
}
public String getPurchasePrice() {
return purchasePrice;
}
public void setKindPrice(String kindPrice) {
this.kindPrice = kindPrice;
}
public String getKindPrice() {
return kindPrice;
}
public void setCurrentValue(String currentValue) {
this.currentValue = currentValue;
}
public String getCurrentValue() {
return currentValue;
}
public void setSeatCapacity(String seatCapacity) {
this.seatCapacity = seatCapacity;
}
public String getSeatCapacity() {
return seatCapacity;
}
public void setCarryingCapacity(String carryingCapacity) {
this.carryingCapacity = carryingCapacity;
}
public String getCarryingCapacity() {
return carryingCapacity;
}
public void setGlassType(String glassType) {
this.glassType = glassType;
}
public String getGlassType() {
return glassType;
}
public void setEngineSize(String engineSize) {
this.engineSize = engineSize;
}
public String getEngineSize() {
return engineSize;
}
public void setLoanVehicleFlag(String loanVehicleFlag) {
this.loanVehicleFlag = loanVehicleFlag;
}
public String getLoanVehicleFlag() {
return loanVehicleFlag;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand() {
return brand;
}
public void setDrivingArea(String drivingArea) {
this.drivingArea = drivingArea;
}
public String getDrivingArea() {
return drivingArea;
}
public void setVehiclePower(String vehiclePower) {
this.vehiclePower = vehiclePower;
}
public String getVehiclePower() {
return vehiclePower;
}
public void setVehiclePowerJY(String vehiclePowerJY) {
this.vehiclePowerJY = vehiclePowerJY;
}
public String getVehiclePowerJY() {
return vehiclePowerJY;
}
public void setFuelType(String fuelType) {
this.fuelType = fuelType;
}
public String getFuelType() {
return fuelType;
}
public void setSpecialCarFlag(String specialCarFlag) {
this.specialCarFlag = specialCarFlag;
}
public String getSpecialCarFlag() {
return specialCarFlag;
}
public void setPurchaseinvoicesDate(String purchaseinvoicesDate) {
this.purchaseinvoicesDate = purchaseinvoicesDate;
}
public String getPurchaseinvoicesDate() {
return purchaseinvoicesDate;
}
public void setModelIdCode(String modelIdCode) {
this.modelIdCode = modelIdCode;
}
public String getModelIdCode() {
return modelIdCode;
}
public void setPlatformModelCode(String platformModelCode) {
this.platformModelCode = platformModelCode;
}
public String getPlatformModelCode() {
return platformModelCode;
}
public void setVehicleUsageDetail(String vehicleUsageDetail) {
this.vehicleUsageDetail = vehicleUsageDetail;
}
public String getVehicleUsageDetail() {
return vehicleUsageDetail;
}
public void setIllegalNumLastYear(String illegalNumLastYear) {
this.illegalNumLastYear = illegalNumLastYear;
}
public String getIllegalNumLastYear() {
return illegalNumLastYear;
}
public void setTcDesignedAge(String tcDesignedAge) {
this.tcDesignedAge = tcDesignedAge;
}
public String getTcDesignedAge() {
return tcDesignedAge;
}
public void setAnnualMileage(String annualMileage) {
this.annualMileage = annualMileage;
}
public String getAnnualMileage() {
return annualMileage;
}
public void setSpecvtype(String specvtype) {
this.specvtype = specvtype;
}
public String getSpecvtype() {
return specvtype;
}
public void setInstalment(String instalment) {
this.instalment = instalment;
}
public String getInstalment() {
return instalment;
}
public void setDesignedAge(String designedAge) {
this.designedAge = designedAge;
}
public String getDesignedAge() {
return designedAge;
}
public void setDepreciatedExpireAge(String depreciatedExpireAge) {
this.depreciatedExpireAge = depreciatedExpireAge;
}
public String getDepreciatedExpireAge() {
return depreciatedExpireAge;
}
public void setPlateColor(String plateColor) {
this.plateColor = plateColor;
}
public String getPlateColor() {
return plateColor;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public String getManufacturer() {
return manufacturer;
}
public void setBodyColor(String bodyColor) {
this.bodyColor = bodyColor;
}
public String getBodyColor() {
return bodyColor;
}
public void setProducePlaceType(String producePlaceType) {
this.producePlaceType = producePlaceType;
}
public String getProducePlaceType() {
return producePlaceType;
}
public void setIndustryVehicleCode(String industryVehicleCode) {
this.industryVehicleCode = industryVehicleCode;
}
public String getIndustryVehicleCode() {
return industryVehicleCode;
}
public void setPlatformBrand(String platformBrand) {
this.platformBrand = platformBrand;
}
public String getPlatformBrand() {
return platformBrand;
}
public void setBrandCode(String brandCode) {
this.brandCode = brandCode;
}
public String getBrandCode() {
return brandCode;
}
public void setSeries(String series) {
this.series = series;
}
public String getSeries() {
return series;
}
public void setSeriesCode(String seriesCode) {
this.seriesCode = seriesCode;
}
public String getSeriesCode() {
return seriesCode;
}
public void setCarName(String carName) {
this.carName = carName;
}
public String getCarName() {
return carName;
}
public void setNoticeType(String noticeType) {
this.noticeType = noticeType;
}
public String getNoticeType() {
return noticeType;
}
public void setTradeCode(String tradeCode) {
this.tradeCode = tradeCode;
}
public String getTradeCode() {
return tradeCode;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class VehStore {
private String vehtypeno;
private String vehtypename;
private String brandName;
private String czName;
private String pql;
private String zw;
private String dw;
private String bxjzh;
private String price;
private String riskFlagCode;
private String riskFlags;
private String fullWeight;
private String vehser;
private String vehserno;
private String tpyRiskflagCode;
private String tpyRiskflagName;
private String currentValue;
private String vtpalias;
private String remark;
private String gearboxType;
public void setVehtypeno(String vehtypeno) {
this.vehtypeno = vehtypeno;
}
public String getVehtypeno() {
return vehtypeno;
}
public void setVehtypename(String vehtypename) {
this.vehtypename = vehtypename;
}
public String getVehtypename() {
return vehtypename;
}
public void setBrandName(String brandName) {
this.brandName = brandName;
}
public String getBrandName() {
return brandName;
}
public void setCzName(String czName) {
this.czName = czName;
}
public String getCzName() {
return czName;
}
public void setPql(String pql) {
this.pql = pql;
}
public String getPql() {
return pql;
}
public void setZw(String zw) {
this.zw = zw;
}
public String getZw() {
return zw;
}
public void setDw(String dw) {
this.dw = dw;
}
public String getDw() {
return dw;
}
public void setBxjzh(String bxjzh) {
this.bxjzh = bxjzh;
}
public String getBxjzh() {
return bxjzh;
}
public void setPrice(String price) {
this.price = price;
}
public String getPrice() {
return price;
}
public void setRiskFlagCode(String riskFlagCode) {
this.riskFlagCode = riskFlagCode;
}
public String getRiskFlagCode() {
return riskFlagCode;
}
public void setRiskFlags(String riskFlags) {
this.riskFlags = riskFlags;
}
public String getRiskFlags() {
return riskFlags;
}
public void setFullWeight(String fullWeight) {
this.fullWeight = fullWeight;
}
public String getFullWeight() {
return fullWeight;
}
public void setVehser(String vehser) {
this.vehser = vehser;
}
public String getVehser() {
return vehser;
}
public void setVehserno(String vehserno) {
this.vehserno = vehserno;
}
public String getVehserno() {
return vehserno;
}
public void setTpyRiskflagCode(String tpyRiskflagCode) {
this.tpyRiskflagCode = tpyRiskflagCode;
}
public String getTpyRiskflagCode() {
return tpyRiskflagCode;
}
public void setTpyRiskflagName(String tpyRiskflagName) {
this.tpyRiskflagName = tpyRiskflagName;
}
public String getTpyRiskflagName() {
return tpyRiskflagName;
}
public void setCurrentValue(String currentValue) {
this.currentValue = currentValue;
}
public String getCurrentValue() {
return currentValue;
}
public void setVtpalias(String vtpalias) {
this.vtpalias = vtpalias;
}
public String getVtpalias() {
return vtpalias;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getRemark() {
return remark;
}
public void setGearboxType(String gearboxType) {
this.gearboxType = gearboxType;
}
public String getGearboxType() {
return gearboxType;
}
}
\ No newline at end of file
/**
* Copyright 2018 bejson.com
*/
package com.ajb.car.vo.zhima.quotation;
/**
* Auto-generated: 2018-06-26 15:40:26
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class VsltaxInfo {
private String vehKind;
private String payerName;
private int isperson;
private String certType;
private String certCode;
private String taxState;
private String telephone;
private String regAddr;
private String loadCapicity;
private String startDate;
private String backDateFrom;
private String lateDateFrom;
private String endDate;
private String backDateTo;
private String lateDateTo;
private String taxPayer;
private int taxPayable;
public void setVehKind(String vehKind) {
this.vehKind = vehKind;
}
public String getVehKind() {
return vehKind;
}
public void setPayerName(String payerName) {
this.payerName = payerName;
}
public String getPayerName() {
return payerName;
}
public void setIsperson(int isperson) {
this.isperson = isperson;
}
public int getIsperson() {
return isperson;
}
public void setCertType(String certType) {
this.certType = certType;
}
public String getCertType() {
return certType;
}
public void setCertCode(String certCode) {
this.certCode = certCode;
}
public String getCertCode() {
return certCode;
}
public void setTaxState(String taxState) {
this.taxState = taxState;
}
public String getTaxState() {
return taxState;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getTelephone() {
return telephone;
}
public void setRegAddr(String regAddr) {
this.regAddr = regAddr;
}
public String getRegAddr() {
return regAddr;
}
public void setLoadCapicity(String loadCapicity) {
this.loadCapicity = loadCapicity;
}
public String getLoadCapicity() {
return loadCapicity;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getStartDate() {
return startDate;
}
public void setBackDateFrom(String backDateFrom) {
this.backDateFrom = backDateFrom;
}
public String getBackDateFrom() {
return backDateFrom;
}
public void setLateDateFrom(String lateDateFrom) {
this.lateDateFrom = lateDateFrom;
}
public String getLateDateFrom() {
return lateDateFrom;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getEndDate() {
return endDate;
}
public void setBackDateTo(String backDateTo) {
this.backDateTo = backDateTo;
}
public String getBackDateTo() {
return backDateTo;
}
public void setLateDateTo(String lateDateTo) {
this.lateDateTo = lateDateTo;
}
public String getLateDateTo() {
return lateDateTo;
}
public void setTaxPayer(String taxPayer) {
this.taxPayer = taxPayer;
}
public String getTaxPayer() {
return taxPayer;
}
public void setTaxPayable(int taxPayable) {
this.taxPayable = taxPayable;
}
public int getTaxPayable() {
return taxPayable;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ajb-car</groupId>
<artifactId>ajb-car</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 编译时的编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<!-- TODO 管理子模块各种版本 -->
<druid.version>1.1.9</druid.version>
</properties>
<modules>
<module>ajb-car-vo</module>
<module>ajb-car-entity</module>
<module>ajb-car-jpa</module>
<module>ajb-car-utils</module>
<module>ajb-car-api</module>
</modules>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
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