Selaa lähdekoodia

添加支付代码到项目中

XF--LRQYEJOKYDS\Administrator 4 vuotta sitten
vanhempi
commit
8b73debabf
100 muutettua tiedostoa jossa 6910 lisäystä ja 0 poistoa
  1. 9 0
      PreRegistration/.idea/PreRegistration.iml
  2. 14 0
      PreRegistration/.idea/artifacts/PreRegistration__1__war.xml
  3. 82 0
      PreRegistration/.idea/artifacts/PreRegistration__1__war_exploded.xml
  4. 14 0
      PreRegistration/.idea/artifacts/PreRegistration__2__war.xml
  5. 82 0
      PreRegistration/.idea/artifacts/PreRegistration__2__war_exploded.xml
  6. 18 0
      PreRegistration/.idea/compiler.xml
  7. 6 0
      PreRegistration/.idea/encodings.xml
  8. 13 0
      PreRegistration/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml
  9. 13 0
      PreRegistration/.idea/libraries/Maven__com_alibaba_fastjson_1_1_41.xml
  10. 13 0
      PreRegistration/.idea/libraries/Maven__com_alipay_sdk_java_20170818173712.xml
  11. 13 0
      PreRegistration/.idea/libraries/Maven__com_alipay_sdk_java_source_20170818173712.xml
  12. 13 0
      PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_6_1.xml
  13. 13 0
      PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_6_1.xml
  14. 13 0
      PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_6_1.xml
  15. 13 0
      PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_6_1.xml
  16. 13 0
      PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_6_1.xml
  17. 13 0
      PreRegistration/.idea/libraries/Maven__com_google_zxing_core_3_1_0.xml
  18. 13 0
      PreRegistration/.idea/libraries/Maven__com_google_zxing_javase_3_1_0.xml
  19. 13 0
      PreRegistration/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_4_0.xml
  20. 13 0
      PreRegistration/.idea/libraries/Maven__com_sun_mail_javax_mail_1_5_0.xml
  21. 13 0
      PreRegistration/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml
  22. 13 0
      PreRegistration/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml
  23. 13 0
      PreRegistration/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml
  24. 13 0
      PreRegistration/.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_2_2.xml
  25. 13 0
      PreRegistration/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml
  26. 13 0
      PreRegistration/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_1.xml
  27. 13 0
      PreRegistration/.idea/libraries/Maven__commons_io_commons_io_2_4.xml
  28. 13 0
      PreRegistration/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml
  29. 13 0
      PreRegistration/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml
  30. 13 0
      PreRegistration/.idea/libraries/Maven__commons_pool_commons_pool_1_3.xml
  31. 13 0
      PreRegistration/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml
  32. 13 0
      PreRegistration/.idea/libraries/Maven__javax_activation_activation_1_1.xml
  33. 13 0
      PreRegistration/.idea/libraries/Maven__javax_javaee_api_7_0.xml
  34. 13 0
      PreRegistration/.idea/libraries/Maven__jdom_jdom_1_0.xml
  35. 13 0
      PreRegistration/.idea/libraries/Maven__jstl_jstl_1_2.xml
  36. 13 0
      PreRegistration/.idea/libraries/Maven__junit_junit_4_11.xml
  37. 13 0
      PreRegistration/.idea/libraries/Maven__log4j_log4j_1_2_17.xml
  38. 13 0
      PreRegistration/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_30.xml
  39. 13 0
      PreRegistration/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml
  40. 13 0
      PreRegistration/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml
  41. 13 0
      PreRegistration/.idea/libraries/Maven__org_apache_axis_axis_1_4.xml
  42. 13 0
      PreRegistration/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml
  43. 13 0
      PreRegistration/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml
  44. 13 0
      PreRegistration/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk16_1_45.xml
  45. 13 0
      PreRegistration/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml
  46. 13 0
      PreRegistration/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml
  47. 13 0
      PreRegistration/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml
  48. 13 0
      PreRegistration/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml
  49. 13 0
      PreRegistration/.idea/libraries/Maven__org_json_json_20160810.xml
  50. 13 0
      PreRegistration/.idea/libraries/Maven__org_mybatis_mybatis_3_2_6.xml
  51. 13 0
      PreRegistration/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml
  52. 13 0
      PreRegistration/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml
  53. 13 0
      PreRegistration/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml
  54. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_aop_4_0_2_RELEASE.xml
  55. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_beans_4_0_2_RELEASE.xml
  56. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_context_4_0_2_RELEASE.xml
  57. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_context_support_4_0_2_RELEASE.xml
  58. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_core_4_3_8_RELEASE.xml
  59. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_expression_4_0_2_RELEASE.xml
  60. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_jdbc_4_0_2_RELEASE.xml
  61. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_oxm_4_0_2_RELEASE.xml
  62. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_test_4_0_2_RELEASE.xml
  63. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_tx_4_0_2_RELEASE.xml
  64. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_web_4_0_2_RELEASE.xml
  65. 13 0
      PreRegistration/.idea/libraries/Maven__org_springframework_spring_webmvc_4_0_2_RELEASE.xml
  66. 13 0
      PreRegistration/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml
  67. 14 0
      PreRegistration/.idea/libraries/lib.xml
  68. 12 0
      PreRegistration/.idea/misc.xml
  69. 10 0
      PreRegistration/.idea/modules.xml
  70. 409 0
      PreRegistration/.idea/workspace.xml
  71. 34 0
      PreRegistration/PreRegistration/.classpath
  72. 1 0
      PreRegistration/PreRegistration/.gitignore
  73. 14 0
      PreRegistration/PreRegistration/.idea/compiler.xml
  74. 7 0
      PreRegistration/PreRegistration/.idea/encodings.xml
  75. 6 0
      PreRegistration/PreRegistration/.idea/inspectionProfiles/Project_Default.xml
  76. 19 0
      PreRegistration/PreRegistration/.idea/misc.xml
  77. 6 0
      PreRegistration/PreRegistration/.idea/vcs.xml
  78. 486 0
      PreRegistration/PreRegistration/.idea/workspace.xml
  79. 2 0
      PreRegistration/PreRegistration/.myumldata
  80. 64 0
      PreRegistration/PreRegistration/.project
  81. 12 0
      PreRegistration/PreRegistration/.settings/.jsdtscope
  82. 2 0
      PreRegistration/PreRegistration/.settings/com.genuitec.eclipse.j2eedt.core.prefs
  83. 14 0
      PreRegistration/PreRegistration/.settings/org.eclipse.core.resources.prefs
  84. 16 0
      PreRegistration/PreRegistration/.settings/org.eclipse.jdt.core.prefs
  85. 2 0
      PreRegistration/PreRegistration/.settings/org.eclipse.jdt.ui.prefs
  86. 4 0
      PreRegistration/PreRegistration/.settings/org.eclipse.m2e.core.prefs
  87. 10 0
      PreRegistration/PreRegistration/.settings/org.eclipse.wst.common.component
  88. 12 0
      PreRegistration/PreRegistration/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
  89. 11 0
      PreRegistration/PreRegistration/.settings/org.eclipse.wst.common.project.facet.core.xml
  90. 1 0
      PreRegistration/PreRegistration/.settings/org.eclipse.wst.jsdt.ui.superType.container
  91. 1 0
      PreRegistration/PreRegistration/.settings/org.eclipse.wst.jsdt.ui.superType.name
  92. 2 0
      PreRegistration/PreRegistration/.settings/org.eclipse.wst.validation.prefs
  93. 343 0
      PreRegistration/PreRegistration/pom.xml
  94. 49 0
      PreRegistration/PreRegistration/src/main/java/autoGenerator/generatorConfig.xml
  95. 33 0
      PreRegistration/PreRegistration/src/main/java/com/platform/controller/alipay/AlipayAPIClientFactory.java
  96. 1111 0
      PreRegistration/PreRegistration/src/main/java/com/platform/controller/alipay/AlipayJsonController.java
  97. 28 0
      PreRegistration/PreRegistration/src/main/java/com/platform/controller/alipay/AlipayXmlController.java
  98. 749 0
      PreRegistration/PreRegistration/src/main/java/com/platform/controller/epay/EPayJsonController.java
  99. 1007 0
      PreRegistration/PreRegistration/src/main/java/com/platform/controller/epay/EPayXmlController.java
  100. 1427 0
      PreRegistration/PreRegistration/src/main/java/com/platform/controller/prereg/PreregXmlController.java

+ 9 - 0
PreRegistration/.idea/PreRegistration.iml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 14 - 0
PreRegistration/.idea/artifacts/PreRegistration__1__war.xml

@@ -0,0 +1,14 @@
+<component name="ArtifactManager">
+  <artifact type="war" name="PreRegistration (1):war">
+    <output-path>$PROJECT_DIR$/PreRegistration/target</output-path>
+    <properties id="maven-jee-properties">
+      <options>
+        <module>PreRegistration (1)</module>
+        <packaging>war</packaging>
+      </options>
+    </properties>
+    <root id="archive" name="PreRegistration.war">
+      <element id="artifact" artifact-name="PreRegistration (1):war exploded" />
+    </root>
+  </artifact>
+</component>

+ 82 - 0
PreRegistration/.idea/artifacts/PreRegistration__1__war_exploded.xml

@@ -0,0 +1,82 @@
+<component name="ArtifactManager">
+  <artifact type="exploded-war" name="PreRegistration (1):war exploded">
+    <output-path>$PROJECT_DIR$/PreRegistration/target/PreRegistration</output-path>
+    <properties id="maven-jee-properties">
+      <options>
+        <exploded>true</exploded>
+        <module>PreRegistration (1)</module>
+        <packaging>war</packaging>
+      </options>
+    </properties>
+    <root id="root">
+      <element id="directory" name="WEB-INF">
+        <element id="directory" name="classes">
+          <element id="module-output" name="PreRegistration (1)" />
+        </element>
+        <element id="directory" name="lib">
+          <element id="library" level="project" name="Maven: org.springframework:spring-core:4.3.8.RELEASE" />
+          <element id="library" level="project" name="Maven: commons-logging:commons-logging:1.2" />
+          <element id="library" level="project" name="Maven: jdom:jdom:1.0" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-web:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-beans:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-context:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-oxm:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-tx:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-jdbc:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-webmvc:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-expression:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-aop:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: aopalliance:aopalliance:1.0" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-context-support:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-test:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.mybatis:mybatis:3.2.6" />
+          <element id="library" level="project" name="Maven: org.mybatis:mybatis-spring:1.2.2" />
+          <element id="library" level="project" name="Maven: javax:javaee-api:7.0" />
+          <element id="library" level="project" name="Maven: com.sun.mail:javax.mail:1.5.0" />
+          <element id="library" level="project" name="Maven: javax.activation:activation:1.1" />
+          <element id="library" level="project" name="Maven: mysql:mysql-connector-java:5.1.30" />
+          <element id="library" level="project" name="Maven: commons-dbcp:commons-dbcp:1.2.2" />
+          <element id="library" level="project" name="Maven: commons-pool:commons-pool:1.3" />
+          <element id="library" level="project" name="Maven: jstl:jstl:1.2" />
+          <element id="library" level="project" name="Maven: log4j:log4j:1.2.17" />
+          <element id="library" level="project" name="Maven: com.alibaba:fastjson:1.1.41" />
+          <element id="library" level="project" name="Maven: dom4j:dom4j:1.6.1" />
+          <element id="library" level="project" name="Maven: xml-apis:xml-apis:1.0.b2" />
+          <element id="library" level="project" name="Maven: org.slf4j:slf4j-api:1.7.7" />
+          <element id="library" level="project" name="Maven: org.slf4j:slf4j-log4j12:1.7.7" />
+          <element id="library" level="project" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" />
+          <element id="library" level="project" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" />
+          <element id="library" level="project" name="Maven: commons-fileupload:commons-fileupload:1.3.1" />
+          <element id="library" level="project" name="Maven: commons-io:commons-io:2.4" />
+          <element id="library" level="project" name="Maven: commons-codec:commons-codec:1.9" />
+          <element id="library" level="project" name="Maven: org.json:json:20160810" />
+          <element id="library" level="project" name="Maven: commons-httpclient:commons-httpclient:3.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.6.1" />
+          <element id="library" level="project" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.6.1" />
+          <element id="library" level="project" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" />
+          <element id="library" level="project" name="Maven: commons-beanutils:commons-beanutils:1.8.0" />
+          <element id="library" level="project" name="Maven: commons-collections:commons-collections:3.2.1" />
+          <element id="library" level="project" name="Maven: commons-lang:commons-lang:2.5" />
+          <element id="library" level="project" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" />
+          <element id="library" level="project" name="Maven: com.google.zxing:core:3.1.0" />
+          <element id="library" level="project" name="Maven: com.google.zxing:javase:3.1.0" />
+          <element id="library" level="project" name="Maven: org.apache.httpcomponents:httpcore:4.4.1" />
+          <element id="library" level="project" name="Maven: org.apache.httpcomponents:httpclient:4.3.6" />
+          <element id="library" level="project" name="Maven: com.alipay:sdk-java:20170818173712" />
+          <element id="library" level="project" name="Maven: com.alipay:sdk-java-source:20170818173712" />
+          <element id="library" level="project" name="Maven: org.bouncycastle:bcprov-jdk16:1.45" />
+          <element id="library" level="project" name="Maven: com.oracle:ojdbc6:11.2.0.4.0" />
+          <element id="library" level="project" name="Maven: org.apache.axis:axis:1.4" />
+        </element>
+      </element>
+      <element id="directory" name="META-INF">
+        <element id="file-copy" path="$PROJECT_DIR$/PreRegistration/target/PreRegistration/META-INF/MANIFEST.MF" />
+      </element>
+      <element id="javaee-facet-resources" facet="PreRegistration (1)/web/Web" />
+    </root>
+  </artifact>
+</component>

+ 14 - 0
PreRegistration/.idea/artifacts/PreRegistration__2__war.xml

@@ -0,0 +1,14 @@
+<component name="ArtifactManager">
+  <artifact type="war" name="PreRegistration (2):war">
+    <output-path>$PROJECT_DIR$/PreRegistration/target</output-path>
+    <properties id="maven-jee-properties">
+      <options>
+        <module>PreRegistration (2)</module>
+        <packaging>war</packaging>
+      </options>
+    </properties>
+    <root id="archive" name="PreRegistration.war">
+      <element id="artifact" artifact-name="PreRegistration (2):war exploded" />
+    </root>
+  </artifact>
+</component>

+ 82 - 0
PreRegistration/.idea/artifacts/PreRegistration__2__war_exploded.xml

@@ -0,0 +1,82 @@
+<component name="ArtifactManager">
+  <artifact type="exploded-war" name="PreRegistration (2):war exploded">
+    <output-path>$PROJECT_DIR$/PreRegistration/target/PreRegistration</output-path>
+    <properties id="maven-jee-properties">
+      <options>
+        <exploded>true</exploded>
+        <module>PreRegistration (2)</module>
+        <packaging>war</packaging>
+      </options>
+    </properties>
+    <root id="root">
+      <element id="directory" name="WEB-INF">
+        <element id="directory" name="classes">
+          <element id="module-output" name="PreRegistration (2)" />
+        </element>
+        <element id="directory" name="lib">
+          <element id="library" level="project" name="Maven: org.springframework:spring-core:4.3.8.RELEASE" />
+          <element id="library" level="project" name="Maven: commons-logging:commons-logging:1.2" />
+          <element id="library" level="project" name="Maven: jdom:jdom:1.0" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-web:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-beans:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-context:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-oxm:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-tx:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-jdbc:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-webmvc:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-expression:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-aop:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: aopalliance:aopalliance:1.0" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-context-support:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.springframework:spring-test:4.0.2.RELEASE" />
+          <element id="library" level="project" name="Maven: org.mybatis:mybatis:3.2.6" />
+          <element id="library" level="project" name="Maven: org.mybatis:mybatis-spring:1.2.2" />
+          <element id="library" level="project" name="Maven: javax:javaee-api:7.0" />
+          <element id="library" level="project" name="Maven: com.sun.mail:javax.mail:1.5.0" />
+          <element id="library" level="project" name="Maven: javax.activation:activation:1.1" />
+          <element id="library" level="project" name="Maven: mysql:mysql-connector-java:5.1.30" />
+          <element id="library" level="project" name="Maven: commons-dbcp:commons-dbcp:1.2.2" />
+          <element id="library" level="project" name="Maven: commons-pool:commons-pool:1.3" />
+          <element id="library" level="project" name="Maven: jstl:jstl:1.2" />
+          <element id="library" level="project" name="Maven: log4j:log4j:1.2.17" />
+          <element id="library" level="project" name="Maven: com.alibaba:fastjson:1.1.41" />
+          <element id="library" level="project" name="Maven: dom4j:dom4j:1.6.1" />
+          <element id="library" level="project" name="Maven: xml-apis:xml-apis:1.0.b2" />
+          <element id="library" level="project" name="Maven: org.slf4j:slf4j-api:1.7.7" />
+          <element id="library" level="project" name="Maven: org.slf4j:slf4j-log4j12:1.7.7" />
+          <element id="library" level="project" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" />
+          <element id="library" level="project" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" />
+          <element id="library" level="project" name="Maven: commons-fileupload:commons-fileupload:1.3.1" />
+          <element id="library" level="project" name="Maven: commons-io:commons-io:2.4" />
+          <element id="library" level="project" name="Maven: commons-codec:commons-codec:1.9" />
+          <element id="library" level="project" name="Maven: org.json:json:20160810" />
+          <element id="library" level="project" name="Maven: commons-httpclient:commons-httpclient:3.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.1" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.6.1" />
+          <element id="library" level="project" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" />
+          <element id="library" level="project" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.6.1" />
+          <element id="library" level="project" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" />
+          <element id="library" level="project" name="Maven: commons-beanutils:commons-beanutils:1.8.0" />
+          <element id="library" level="project" name="Maven: commons-collections:commons-collections:3.2.1" />
+          <element id="library" level="project" name="Maven: commons-lang:commons-lang:2.5" />
+          <element id="library" level="project" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" />
+          <element id="library" level="project" name="Maven: com.google.zxing:core:3.1.0" />
+          <element id="library" level="project" name="Maven: com.google.zxing:javase:3.1.0" />
+          <element id="library" level="project" name="Maven: org.apache.httpcomponents:httpcore:4.4.1" />
+          <element id="library" level="project" name="Maven: org.apache.httpcomponents:httpclient:4.3.6" />
+          <element id="library" level="project" name="Maven: com.alipay:sdk-java:20170818173712" />
+          <element id="library" level="project" name="Maven: com.alipay:sdk-java-source:20170818173712" />
+          <element id="library" level="project" name="Maven: org.bouncycastle:bcprov-jdk16:1.45" />
+          <element id="library" level="project" name="Maven: com.oracle:ojdbc6:11.2.0.4.0" />
+          <element id="library" level="project" name="Maven: org.apache.axis:axis:1.4" />
+        </element>
+      </element>
+      <element id="directory" name="META-INF">
+        <element id="file-copy" path="$PROJECT_DIR$/PreRegistration/target/PreRegistration/META-INF/MANIFEST.MF" />
+      </element>
+      <element id="javaee-facet-resources" facet="PreRegistration (2)/web/Web" />
+    </root>
+  </artifact>
+</component>

+ 18 - 0
PreRegistration/.idea/compiler.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="PreRegistration (2)" />
+        <module name="PreRegistration (1)" />
+      </profile>
+    </annotationProcessing>
+    <bytecodeTargetLevel>
+      <module name="PreRegistration (1)" target="1.7" />
+      <module name="PreRegistration (2)" target="1.7" />
+    </bytecodeTargetLevel>
+  </component>
+</project>

+ 6 - 0
PreRegistration/.idea/encodings.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/PreRegistration" charset="UTF-8" />
+  </component>
+</project>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: aopalliance:aopalliance:1.0">
+    <CLASSES>
+      <root url="jar://D:/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/aopalliance/aopalliance/1.0/aopalliance-1.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_alibaba_fastjson_1_1_41.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.alibaba:fastjson:1.1.41">
+    <CLASSES>
+      <root url="jar://D:/repository/com/alibaba/fastjson/1.1.41/fastjson-1.1.41.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/alibaba/fastjson/1.1.41/fastjson-1.1.41-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/alibaba/fastjson/1.1.41/fastjson-1.1.41-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_alipay_sdk_java_20170818173712.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.alipay:sdk-java:20170818173712">
+    <CLASSES>
+      <root url="jar://D:/repository/com/alipay/sdk-java/20170818173712/sdk-java-20170818173712.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/alipay/sdk-java/20170818173712/sdk-java-20170818173712-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/alipay/sdk-java/20170818173712/sdk-java-20170818173712-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_alipay_sdk_java_source_20170818173712.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.alipay:sdk-java-source:20170818173712">
+    <CLASSES>
+      <root url="jar://D:/repository/com/alipay/sdk-java-source/20170818173712/sdk-java-source-20170818173712.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/alipay/sdk-java-source/20170818173712/sdk-java-source-20170818173712-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/alipay/sdk-java-source/20170818173712/sdk-java-source-20170818173712-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_6_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.1">
+    <CLASSES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.1/jackson-annotations-2.6.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.1/jackson-annotations-2.6.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.1/jackson-annotations-2.6.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_6_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.1">
+    <CLASSES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-core/2.6.1/jackson-core-2.6.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-core/2.6.1/jackson-core-2.6.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-core/2.6.1/jackson-core-2.6.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_6_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.1">
+    <CLASSES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-databind/2.6.1/jackson-databind-2.6.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-databind/2.6.1/jackson-databind-2.6.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/core/jackson-databind/2.6.1/jackson-databind-2.6.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_6_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.6.1">
+    <CLASSES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.6.1/jackson-dataformat-xml-2.6.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.6.1/jackson-dataformat-xml-2.6.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.6.1/jackson-dataformat-xml-2.6.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_6_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.6.1">
+    <CLASSES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.6.1/jackson-module-jaxb-annotations-2.6.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.6.1/jackson-module-jaxb-annotations-2.6.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.6.1/jackson-module-jaxb-annotations-2.6.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_google_zxing_core_3_1_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.google.zxing:core:3.1.0">
+    <CLASSES>
+      <root url="jar://D:/repository/com/google/zxing/core/3.1.0/core-3.1.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/google/zxing/core/3.1.0/core-3.1.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/google/zxing/core/3.1.0/core-3.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_google_zxing_javase_3_1_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.google.zxing:javase:3.1.0">
+    <CLASSES>
+      <root url="jar://D:/repository/com/google/zxing/javase/3.1.0/javase-3.1.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/google/zxing/javase/3.1.0/javase-3.1.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/google/zxing/javase/3.1.0/javase-3.1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_4_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.oracle:ojdbc6:11.2.0.4.0">
+    <CLASSES>
+      <root url="jar://D:/repository/com/oracle/ojdbc6/11.2.0.4.0/ojdbc6-11.2.0.4.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/oracle/ojdbc6/11.2.0.4.0/ojdbc6-11.2.0.4.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/oracle/ojdbc6/11.2.0.4.0/ojdbc6-11.2.0.4.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__com_sun_mail_javax_mail_1_5_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: com.sun.mail:javax.mail:1.5.0">
+    <CLASSES>
+      <root url="jar://D:/repository/com/sun/mail/javax.mail/1.5.0/javax.mail-1.5.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/com/sun/mail/javax.mail/1.5.0/javax.mail-1.5.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/com/sun/mail/javax.mail/1.5.0/javax.mail-1.5.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-beanutils:commons-beanutils:1.8.0">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-codec:commons-codec:1.9">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-codec/commons-codec/1.9/commons-codec-1.9.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-codec/commons-codec/1.9/commons-codec-1.9-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-codec/commons-codec/1.9/commons-codec-1.9-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-collections:commons-collections:3.2.1">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_2_2.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-dbcp:commons-dbcp:1.2.2">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-fileupload:commons-fileupload:1.3.1">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-httpclient:commons-httpclient:3.1">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_io_commons_io_2_4.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-io:commons-io:2.4">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-io/commons-io/2.4/commons-io-2.4.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-io/commons-io/2.4/commons-io-2.4-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-lang:commons-lang:2.5">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-lang/commons-lang/2.5/commons-lang-2.5.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-lang/commons-lang/2.5/commons-lang-2.5-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-logging:commons-logging:1.2">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-logging/commons-logging/1.2/commons-logging-1.2-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-logging/commons-logging/1.2/commons-logging-1.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__commons_pool_commons_pool_1_3.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: commons-pool:commons-pool:1.3">
+    <CLASSES>
+      <root url="jar://D:/repository/commons-pool/commons-pool/1.3/commons-pool-1.3.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/commons-pool/commons-pool/1.3/commons-pool-1.3-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/commons-pool/commons-pool/1.3/commons-pool-1.3-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: dom4j:dom4j:1.6.1">
+    <CLASSES>
+      <root url="jar://D:/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__javax_activation_activation_1_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: javax.activation:activation:1.1">
+    <CLASSES>
+      <root url="jar://D:/repository/javax/activation/activation/1.1/activation-1.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/javax/activation/activation/1.1/activation-1.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/javax/activation/activation/1.1/activation-1.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__javax_javaee_api_7_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: javax:javaee-api:7.0">
+    <CLASSES>
+      <root url="jar://D:/repository/javax/javaee-api/7.0/javaee-api-7.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/javax/javaee-api/7.0/javaee-api-7.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/javax/javaee-api/7.0/javaee-api-7.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__jdom_jdom_1_0.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: jdom:jdom:1.0">
+    <CLASSES>
+      <root url="jar://D:/repository/jdom/jdom/1.0/jdom-1.0.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/jdom/jdom/1.0/jdom-1.0-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/jdom/jdom/1.0/jdom-1.0-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__jstl_jstl_1_2.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: jstl:jstl:1.2">
+    <CLASSES>
+      <root url="jar://D:/repository/jstl/jstl/1.2/jstl-1.2.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/jstl/jstl/1.2/jstl-1.2-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/jstl/jstl/1.2/jstl-1.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__junit_junit_4_11.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: junit:junit:4.11">
+    <CLASSES>
+      <root url="jar://D:/repository/junit/junit/4.11/junit-4.11.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/junit/junit/4.11/junit-4.11-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/junit/junit/4.11/junit-4.11-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__log4j_log4j_1_2_17.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: log4j:log4j:1.2.17">
+    <CLASSES>
+      <root url="jar://D:/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/log4j/log4j/1.2.17/log4j-1.2.17-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/log4j/log4j/1.2.17/log4j-1.2.17-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_30.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: mysql:mysql-connector-java:5.1.30">
+    <CLASSES>
+      <root url="jar://D:/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: net.sf.ezmorph:ezmorph:1.0.6">
+    <CLASSES>
+      <root url="jar://D:/repository/net/sf/ezmorph/ezmorph/1.0.6/ezmorph-1.0.6.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/net/sf/ezmorph/ezmorph/1.0.6/ezmorph-1.0.6-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/net/sf/ezmorph/ezmorph/1.0.6/ezmorph-1.0.6-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: net.sf.json-lib:json-lib:jdk15:2.4">
+    <CLASSES>
+      <root url="jar://D:/repository/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/net/sf/json-lib/json-lib/2.4/json-lib-2.4-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/net/sf/json-lib/json-lib/2.4/json-lib-2.4-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_apache_axis_axis_1_4.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.apache.axis:axis:1.4">
+    <CLASSES>
+      <root url="jar://D:/repository/org/apache/axis/axis/1.4/axis-1.4.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/apache/axis/axis/1.4/axis-1.4-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/apache/axis/axis/1.4/axis-1.4-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.apache.httpcomponents:httpclient:4.3.6">
+    <CLASSES>
+      <root url="jar://D:/repository/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.apache.httpcomponents:httpcore:4.4.1">
+    <CLASSES>
+      <root url="jar://D:/repository/org/apache/httpcomponents/httpcore/4.4.1/httpcore-4.4.1.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/apache/httpcomponents/httpcore/4.4.1/httpcore-4.4.1-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/apache/httpcomponents/httpcore/4.4.1/httpcore-4.4.1-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk16_1_45.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.bouncycastle:bcprov-jdk16:1.45">
+    <CLASSES>
+      <root url="jar://D:/repository/org/bouncycastle/bcprov-jdk16/1.45/bcprov-jdk16-1.45.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/bouncycastle/bcprov-jdk16/1.45/bcprov-jdk16-1.45-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/bouncycastle/bcprov-jdk16/1.45/bcprov-jdk16-1.45-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13">
+    <CLASSES>
+      <root url="jar://D:/repository/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13">
+    <CLASSES>
+      <root url="jar://D:/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.codehaus.woodstox:stax2-api:3.1.4">
+    <CLASSES>
+      <root url="jar://D:/repository/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/codehaus/woodstox/stax2-api/3.1.4/stax2-api-3.1.4-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.hamcrest:hamcrest-core:1.3">
+    <CLASSES>
+      <root url="jar://D:/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_json_json_20160810.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.json:json:20160810">
+    <CLASSES>
+      <root url="jar://D:/repository/org/json/json/20160810/json-20160810.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/json/json/20160810/json-20160810-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/json/json/20160810/json-20160810-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_mybatis_mybatis_3_2_6.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.mybatis:mybatis:3.2.6">
+    <CLASSES>
+      <root url="jar://D:/repository/org/mybatis/mybatis/3.2.6/mybatis-3.2.6.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/mybatis/mybatis/3.2.6/mybatis-3.2.6-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/mybatis/mybatis/3.2.6/mybatis-3.2.6-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.mybatis:mybatis-spring:1.2.2">
+    <CLASSES>
+      <root url="jar://D:/repository/org/mybatis/mybatis-spring/1.2.2/mybatis-spring-1.2.2.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/mybatis/mybatis-spring/1.2.2/mybatis-spring-1.2.2-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/mybatis/mybatis-spring/1.2.2/mybatis-spring-1.2.2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.slf4j:slf4j-api:1.7.7">
+    <CLASSES>
+      <root url="jar://D:/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.slf4j:slf4j-log4j12:1.7.7">
+    <CLASSES>
+      <root url="jar://D:/repository/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_aop_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-aop:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-aop/4.0.2.RELEASE/spring-aop-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-aop/4.0.2.RELEASE/spring-aop-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-aop/4.0.2.RELEASE/spring-aop-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_beans_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-beans:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-beans/4.0.2.RELEASE/spring-beans-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-beans/4.0.2.RELEASE/spring-beans-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-beans/4.0.2.RELEASE/spring-beans-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_context_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-context:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-context/4.0.2.RELEASE/spring-context-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-context/4.0.2.RELEASE/spring-context-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-context/4.0.2.RELEASE/spring-context-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_context_support_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-context-support:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-context-support/4.0.2.RELEASE/spring-context-support-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-context-support/4.0.2.RELEASE/spring-context-support-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-context-support/4.0.2.RELEASE/spring-context-support-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_core_4_3_8_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-core:4.3.8.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-core/4.3.8.RELEASE/spring-core-4.3.8.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-core/4.3.8.RELEASE/spring-core-4.3.8.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-core/4.3.8.RELEASE/spring-core-4.3.8.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_expression_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-expression:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-expression/4.0.2.RELEASE/spring-expression-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-expression/4.0.2.RELEASE/spring-expression-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-expression/4.0.2.RELEASE/spring-expression-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_jdbc_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-jdbc:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-jdbc/4.0.2.RELEASE/spring-jdbc-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-jdbc/4.0.2.RELEASE/spring-jdbc-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-jdbc/4.0.2.RELEASE/spring-jdbc-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_oxm_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-oxm:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-oxm/4.0.2.RELEASE/spring-oxm-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-oxm/4.0.2.RELEASE/spring-oxm-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-oxm/4.0.2.RELEASE/spring-oxm-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_test_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-test:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-test/4.0.2.RELEASE/spring-test-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-test/4.0.2.RELEASE/spring-test-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-test/4.0.2.RELEASE/spring-test-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_tx_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-tx:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-tx/4.0.2.RELEASE/spring-tx-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-tx/4.0.2.RELEASE/spring-tx-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-tx/4.0.2.RELEASE/spring-tx-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_web_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-web:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-web/4.0.2.RELEASE/spring-web-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-web/4.0.2.RELEASE/spring-web-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-web/4.0.2.RELEASE/spring-web-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__org_springframework_spring_webmvc_4_0_2_RELEASE.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: org.springframework:spring-webmvc:4.0.2.RELEASE">
+    <CLASSES>
+      <root url="jar://D:/repository/org/springframework/spring-webmvc/4.0.2.RELEASE/spring-webmvc-4.0.2.RELEASE.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/org/springframework/spring-webmvc/4.0.2.RELEASE/spring-webmvc-4.0.2.RELEASE-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/org/springframework/spring-webmvc/4.0.2.RELEASE/spring-webmvc-4.0.2.RELEASE-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 13 - 0
PreRegistration/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml

@@ -0,0 +1,13 @@
+<component name="libraryTable">
+  <library name="Maven: xml-apis:xml-apis:1.0.b2">
+    <CLASSES>
+      <root url="jar://D:/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
+    </CLASSES>
+    <JAVADOC>
+      <root url="jar://D:/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-javadoc.jar!/" />
+    </JAVADOC>
+    <SOURCES>
+      <root url="jar://D:/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar!/" />
+    </SOURCES>
+  </library>
+</component>

+ 14 - 0
PreRegistration/.idea/libraries/lib.xml

@@ -0,0 +1,14 @@
+<component name="libraryTable">
+  <library name="lib">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/PreRegistration/src/main/webapp/WEB-INF/lib/axis.jar!/" />
+      <root url="jar://$PROJECT_DIR$/PreRegistration/src/main/webapp/WEB-INF/lib/jaxrpc.jar!/" />
+      <root url="jar://$PROJECT_DIR$/PreRegistration/src/main/webapp/WEB-INF/lib/wsdl4j.jar!/" />
+      <root url="jar://$PROJECT_DIR$/PreRegistration/src/main/webapp/WEB-INF/lib/saaj.jar!/" />
+      <root url="jar://$PROJECT_DIR$/PreRegistration/src/main/webapp/WEB-INF/lib/commons-discovery-0.2.jar!/" />
+      <root url="jar://$PROJECT_DIR$/PreRegistration/src/main/webapp/WEB-INF/lib/commons-logging.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>

+ 12 - 0
PreRegistration/.idea/misc.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="FrameworkDetectionExcludesConfiguration">
+    <file type="web" url="file://$PROJECT_DIR$/PreRegistration" />
+  </component>
+  <component name="JavaScriptSettings">
+    <option name="languageLevel" value="ES6" />
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 10 - 0
PreRegistration/.idea/modules.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/PreRegistration.iml" filepath="$PROJECT_DIR$/.idea/PreRegistration.iml" />
+      <module fileurl="file://$PROJECT_DIR$/PreRegistration/PreRegistration (1).iml" filepath="$PROJECT_DIR$/PreRegistration/PreRegistration (1).iml" />
+      <module fileurl="file://$PROJECT_DIR$/PreRegistration/PreRegistration (2).iml" filepath="$PROJECT_DIR$/PreRegistration/PreRegistration (2).iml" />
+    </modules>
+  </component>
+</project>

+ 409 - 0
PreRegistration/.idea/workspace.xml

@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ArtifactsWorkspaceSettings">
+    <artifacts-to-build>
+      <artifact name="PreRegistration (1):war" />
+      <artifact name="PreRegistration (1):war exploded" />
+      <artifact name="PreRegistration (2):war" />
+      <artifact name="PreRegistration (2):war exploded" />
+    </artifacts-to-build>
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" id="f9d92f7b-7239-427e-a30e-47048a5f014b" name="Default Changelist" comment="" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="DatabaseView">
+    <option name="SHOW_INTERMEDIATE" value="true" />
+    <option name="GROUP_DATA_SOURCES" value="false" />
+    <option name="GROUP_SCHEMA" value="true" />
+    <option name="GROUP_CONTENTS" value="true" />
+    <option name="SORT_POSITIONED" value="false" />
+    <option name="SHOW_EMPTY_GROUPS" value="false" />
+    <option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
+    <option name="HIDDEN_KINDS">
+      <set />
+    </option>
+    <expand />
+    <select />
+  </component>
+  <component name="Git.Settings">
+    <option name="ROOT_SYNC" value="DONT_SYNC" />
+  </component>
+  <component name="LogFilters">
+    <option name="FILTER_ERRORS" value="false" />
+    <option name="FILTER_WARNINGS" value="false" />
+    <option name="FILTER_INFO" value="true" />
+    <option name="FILTER_DEBUG" value="true" />
+    <option name="CUSTOM_FILTER" />
+  </component>
+  <component name="MavenImportPreferences">
+    <option name="generalSettings">
+      <MavenGeneralSettings>
+        <option name="localRepository" value="D:\repository" />
+        <option name="mavenHome" value="D:/maven/apache-maven-3.3.9" />
+        <option name="userSettingsFile" value="D:\maven\apache-maven-3.3.9\conf\settings.xml" />
+      </MavenGeneralSettings>
+    </option>
+    <option name="importingSettings">
+      <MavenImportingSettings>
+        <option name="jdkForImporter" value="1.8" />
+        <option name="vmOptionsForImporter" value="-Xmx512m" />
+      </MavenImportingSettings>
+    </option>
+  </component>
+  <component name="MavenRunner">
+    <option name="jreName" value="1.8" />
+    <option name="skipTests" value="true" />
+  </component>
+  <component name="ProjectId" id="1kcn6qqL4VkJDHbocTWM25yBuW5" />
+  <component name="PropertiesComponent">
+    <property name="ToolWindowMessages.ShowToolbar" value="false" />
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="aspect.path.notification.shown" value="true" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/PreRegistration" />
+    <property name="project.structure.last.edited" value="Artifacts" />
+    <property name="project.structure.proportion" value="0.15" />
+    <property name="project.structure.side.proportion" value="0.2" />
+    <property name="settings.editor.selected.configurable" value="MavenSettings" />
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
+  <component name="RunManager">
+    <configuration default="true" type="JetRunConfigurationType" factoryName="Kotlin">
+      <module name="main" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="WORKING_DIRECTORY" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration default="true" type="KotlinStandaloneScriptRunConfigurationType" factoryName="Kotlin script">
+      <module name="main" />
+      <option name="filePath" />
+      <option name="vmParameters" />
+      <option name="alternativeJrePath" />
+      <option name="programParameters" />
+      <option name="passParentEnvs" value="true" />
+      <option name="workingDirectory" />
+      <option name="isAlternativeJrePathEnabled" value="false" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="WORKING_DIRECTORY" />
+      <option name="filePath" />
+      <option name="vmParameters" />
+      <option name="alternativeJrePath" />
+      <option name="programParameters" />
+      <option name="passParentEnvs" value="true" />
+      <option name="workingDirectory" />
+      <option name="isAlternativeJrePathEnabled" value="false" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="WORKING_DIRECTORY" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration default="true" type="TomeeConfiguration" factoryName="Local" ALTERNATIVE_JRE_ENABLED="false">
+      <deployment />
+      <server-settings>
+        <option name="BASE_DIRECTORY_NAME" value="_PreRegistration" />
+      </server-settings>
+      <predefined_log_file enabled="true" id="Tomcat" />
+      <predefined_log_file enabled="true" id="Tomcat Catalina" />
+      <predefined_log_file id="Tomcat Manager" />
+      <predefined_log_file id="Tomcat Host Manager" />
+      <predefined_log_file id="Tomcat Localhost Access" />
+      <RunnerSettings RunnerId="Debug">
+        <option name="DEBUG_PORT" value="56225" />
+      </RunnerSettings>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="Tomcat 9.0" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 9.0" ALTERNATIVE_JRE_ENABLED="true" ALTERNATIVE_JRE_PATH="1.8" nameIsGenerated="true">
+      <option name="START_JAVASCRIPT_DEBUGGER" value="true" />
+      <option name="UPDATING_POLICY" value="restart-server" />
+      <deployment>
+        <artifact name="PreRegistration (2):war">
+          <settings>
+            <option name="CONTEXT_PATH" value="" />
+          </settings>
+        </artifact>
+        <artifact name="PreRegistration (2):war exploded">
+          <settings>
+            <option name="CONTEXT_PATH" value="" />
+          </settings>
+        </artifact>
+        <artifact name="PreRegistration (1):war">
+          <settings>
+            <option name="CONTEXT_PATH" value="" />
+          </settings>
+        </artifact>
+        <artifact name="PreRegistration (1):war exploded">
+          <settings>
+            <option name="CONTEXT_PATH" value="" />
+          </settings>
+        </artifact>
+      </deployment>
+      <server-settings>
+        <option name="BASE_DIRECTORY_NAME" value="Tomcat_9_0_PreRegistration" />
+      </server-settings>
+      <predefined_log_file enabled="true" id="Tomcat" />
+      <predefined_log_file enabled="true" id="Tomcat Catalina" />
+      <predefined_log_file id="Tomcat Manager" />
+      <predefined_log_file id="Tomcat Host Manager" />
+      <predefined_log_file id="Tomcat Localhost Access" />
+      <RunnerSettings RunnerId="Debug">
+        <option name="DEBUG_PORT" value="56015" />
+      </RunnerSettings>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <method v="2">
+        <option name="Make" enabled="true" />
+        <option name="BuildArtifacts" enabled="false" />
+      </method>
+    </configuration>
+    <configuration default="true" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 9.0" ALTERNATIVE_JRE_ENABLED="true" ALTERNATIVE_JRE_PATH="1.8">
+      <option name="START_JAVASCRIPT_DEBUGGER" value="true" />
+      <option name="UPDATING_POLICY" value="restart-server" />
+      <deployment>
+        <file path="$PROJECT_DIR$/PreRegistration">
+          <settings>
+            <option name="CONTEXT_PATH" value="" />
+          </settings>
+        </file>
+      </deployment>
+      <server-settings>
+        <option name="BASE_DIRECTORY_NAME" value="_PreRegistration" />
+      </server-settings>
+      <predefined_log_file enabled="true" id="Tomcat" />
+      <predefined_log_file enabled="true" id="Tomcat Catalina" />
+      <predefined_log_file id="Tomcat Manager" />
+      <predefined_log_file id="Tomcat Host Manager" />
+      <predefined_log_file id="Tomcat Localhost Access" />
+      <RunnerSettings RunnerId="Debug">
+        <option name="DEBUG_PORT" value="56015" />
+      </RunnerSettings>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration default="true" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Remote" ALTERNATIVE_JRE_ENABLED="false">
+      <option name="LOCAL" value="false" />
+      <deployment />
+      <server-settings>
+        <data>
+          <option name="targets">
+            <list>
+              <WatchedTargetModelImpl>
+                <option name="name" value="CONTEXT_XML" />
+                <name>CONTEXT_XML</name>
+              </WatchedTargetModelImpl>
+              <StagingTargetModelImpl>
+                <option name="name" value="STAGING" />
+                <name>STAGING</name>
+              </StagingTargetModelImpl>
+            </list>
+          </option>
+          <option name="transportHostId" />
+        </data>
+      </server-settings>
+      <predefined_log_file enabled="true" id="Tomcat" />
+      <predefined_log_file enabled="true" id="TOMCAT_LOCALHOST_LOG_ID" />
+      <RunnerSettings RunnerId="Debug">
+        <option name="DEBUG_PORT" value="56237" />
+        <option name="LOCAL" value="false" />
+      </RunnerSettings>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+  </component>
+  <component name="SvnConfiguration">
+    <configuration>C:\Users\Administrator\AppData\Roaming\Subversion</configuration>
+  </component>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="f9d92f7b-7239-427e-a30e-47048a5f014b" name="Default Changelist" comment="" />
+      <created>1606008575471</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1606008575471</updated>
+      <workItem from="1606008579729" duration="1173000" />
+      <workItem from="1606009985282" duration="1456000" />
+      <workItem from="1606024075299" duration="999000" />
+      <workItem from="1606025494321" duration="887000" />
+      <workItem from="1606029859790" duration="124000" />
+      <workItem from="1606030005857" duration="189000" />
+      <workItem from="1606030214838" duration="679000" />
+      <workItem from="1606030924019" duration="473000" />
+      <workItem from="1606031427252" duration="1661000" />
+      <workItem from="1606044884220" duration="4991000" />
+      <workItem from="1606092981018" duration="1052000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
+  </component>
+</project>

+ 34 - 0
PreRegistration/PreRegistration/.classpath

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/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="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="test" 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.jst.server.core.container/com.springsource.sts.ide.tomcat.runtimeTarget/Pivotal tc Server v4.0"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+		<attributes>
+			<attribute name="owner.project.facets" value="java"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

+ 1 - 0
PreRegistration/PreRegistration/.gitignore

@@ -0,0 +1 @@
+/target/

+ 14 - 0
PreRegistration/PreRegistration/.idea/compiler.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="PreRegistration" />
+        <module name="PreRegistrationHeZeShiLiYiYuan9002" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>

+ 7 - 0
PreRegistration/PreRegistration/.idea/encodings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding" addBOMForNewFiles="with NO BOM">
+    <file url="file://$PROJECT_DIR$" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/../PreRegistrationHeZeShiLiYiYuan9002" charset="UTF-8" />
+  </component>
+</project>

+ 6 - 0
PreRegistration/PreRegistration/.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="Duplicates" enabled="false" level="WARNING" enabled_by_default="false" />
+  </profile>
+</component>

+ 19 - 0
PreRegistration/PreRegistration/.idea/misc.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="FrameworkDetectionExcludesConfiguration">
+    <file type="web" url="file://$PROJECT_DIR$" />
+    <file type="web" url="file://$PROJECT_DIR$/../PreRegistrationHeZeShiLiYiYuan9002" />
+  </component>
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+        <option value="$PROJECT_DIR$/../PreRegistrationHeZeShiLiYiYuan9002/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 6 - 0
PreRegistration/PreRegistration/.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>

+ 486 - 0
PreRegistration/PreRegistration/.idea/workspace.xml

@@ -0,0 +1,486 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="62d72b79-5fa3-46f4-81d7-ce33add9e05f" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/artifacts/PreRegistration_war.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/artifacts/PreRegistration_war_exploded.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/encodings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_alibaba_fastjson_1_1_41.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_alipay_sdk_java_20170818173712.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_alipay_sdk_java_source_20170818173712.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_6_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_6_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_6_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_6_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_6_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_google_zxing_core_3_1_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_google_zxing_javase_3_1_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_oracle_ojdbc6_11_2_0_4_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__com_sun_mail_javax_mail_1_5_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_8_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_codec_commons_codec_1_9.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_dbcp_commons_dbcp_1_2_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_httpclient_commons_httpclient_3_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_io_commons_io_2_4.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_pool_commons_pool_1_3.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__dom4j_dom4j_1_6_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__javax_activation_activation_1_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__javax_javaee_api_7_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__jdom_jdom_1_0.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__jstl_jstl_1_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__junit_junit_4_11.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__log4j_log4j_1_2_17.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_30.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__net_sf_ezmorph_ezmorph_1_0_6.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_axis_axis_1_4.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_3_6.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk16_1_45.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_13.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_json_json_20160810.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_mybatis_mybatis_3_2_6.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_2_2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_7.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_7.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_aop_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_beans_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_context_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_context_support_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_core_4_3_8_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_expression_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_jdbc_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_oxm_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_test_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_tx_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_web_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__org_springframework_spring_webmvc_4_0_2_RELEASE.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+    </list>
+    <ignored path="$PROJECT_DIR$/target/" />
+    <ignored path="$PROJECT_DIR$/../PreRegistrationHeZeShiLiYiYuan9002/target/" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/spring-mvc.xml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="323">
+              <caret line="19" column="62" selection-start-line="19" selection-start-column="62" selection-end-line="19" selection-end-column="62" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/spring-mybatis.xml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="138">
+              <caret line="28" column="34" selection-start-line="28" selection-start-column="34" selection-end-line="28" selection-end-column="34" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/../PreRegistrationHeZeShiLiYiYuan9002/src/main/java/com/platform/dao/impl/IEHSBPreregProvideDaoImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1772">
+              <caret line="370" column="21" lean-forward="true" selection-start-line="370" selection-start-column="21" selection-end-line="370" selection-end-column="21" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/resources/spring-task.xml">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="136">
+              <caret line="8" column="65" selection-start-line="8" selection-start-column="65" selection-end-line="8" selection-end-column="65" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
+  </component>
+  <component name="ProjectFrameBounds" fullScreen="true">
+    <option name="width" value="1680" />
+    <option name="height" value="1050" />
+  </component>
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="PackagesPane" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="platform" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="platform" type="462c0819:PsiDirectoryNode" />
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="platform" type="462c0819:PsiDirectoryNode" />
+              <item name="controller" type="462c0819:PsiDirectoryNode" />
+              <item name="prereg" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="platform" type="462c0819:PsiDirectoryNode" />
+              <item name="dao" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="PreRegistration" type="b2602c69:ProjectViewProjectNode" />
+              <item name="PreRegistrationHeZeShiLiYiYuan9002" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="main" type="462c0819:PsiDirectoryNode" />
+              <item name="java" type="462c0819:PsiDirectoryNode" />
+              <item name="platform" type="462c0819:PsiDirectoryNode" />
+              <item name="dao" type="462c0819:PsiDirectoryNode" />
+              <item name="impl" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="Scope" />
+    </panes>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="aspect.path.notification.shown" value="true" />
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1599991189657" />
+    <property name="nodejs.protractor.protractor_package" value="" />
+    <property name="project.structure.last.edited" value="Modules" />
+    <property name="project.structure.proportion" value="0.0" />
+    <property name="project.structure.side.proportion" value="0.0" />
+    <property name="settings.editor.selected.configurable" value="Errors" />
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
+  <component name="RunManager">
+    <configuration name="Tomcat7-Local-8080" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat 7.0.85" ALTERNATIVE_JRE_ENABLED="false">
+      <option name="UPDATING_POLICY" value="restart-server" />
+      <deployment>
+        <artifact name="PreRegistrationHeZeShiLiYiYuan9002:war exploded">
+          <settings>
+            <option name="CONTEXT_PATH" value="/PreRegistrationHeZeShiLiYiYuan9002_war_exploded" />
+          </settings>
+        </artifact>
+      </deployment>
+      <server-settings>
+        <option name="BASE_DIRECTORY_NAME" value="Unnamed_PreRegistration" />
+      </server-settings>
+      <predefined_log_file enabled="true" id="Tomcat" />
+      <predefined_log_file enabled="true" id="Tomcat Catalina" />
+      <predefined_log_file id="Tomcat Manager" />
+      <predefined_log_file id="Tomcat Host Manager" />
+      <predefined_log_file id="Tomcat Localhost Access" />
+      <RunnerSettings RunnerId="Debug">
+        <option name="DEBUG_PORT" value="54888" />
+      </RunnerSettings>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Cover">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Debug">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <ConfigurationWrapper VM_VAR="JAVA_OPTS" RunnerId="Run">
+        <option name="USE_ENV_VARIABLES" value="true" />
+        <STARTUP>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </STARTUP>
+        <SHUTDOWN>
+          <option name="USE_DEFAULT" value="true" />
+          <option name="SCRIPT" value="" />
+          <option name="VM_PARAMETERS" value="" />
+          <option name="PROGRAM_PARAMETERS" value="" />
+        </SHUTDOWN>
+      </ConfigurationWrapper>
+      <method v="2">
+        <option name="Make" enabled="true" />
+        <option name="BuildArtifacts" enabled="true">
+          <artifact name="PreRegistrationHeZeShiLiYiYuan9002:war exploded" />
+        </option>
+      </method>
+    </configuration>
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
+  </component>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="62d72b79-5fa3-46f4-81d7-ce33add9e05f" name="Default Changelist" comment="" />
+      <created>1599989986075</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1599989986075</updated>
+      <workItem from="1599989988760" duration="1546000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="1546000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="0" y="0" width="1680" height="1050" extended-state="0" />
+    <editor active="true" />
+    <layout>
+      <window_info id="Designer" />
+      <window_info id="Image Layers" />
+      <window_info id="Capture Tool" />
+      <window_info id="UI Designer" />
+      <window_info id="Favorites" side_tool="true" />
+      <window_info id="Web" side_tool="true" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24969475" />
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
+      <window_info anchor="bottom" id="Application Servers" weight="0.32959184" />
+      <window_info anchor="bottom" id="Spring" />
+      <window_info anchor="bottom" id="Terminal" weight="0.32959184" />
+      <window_info anchor="bottom" id="Docker" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Event Log" side_tool="true" />
+      <window_info anchor="bottom" id="Messages" weight="0.40816328" />
+      <window_info anchor="bottom" id="Java Enterprise" weight="0.32959184" />
+      <window_info anchor="bottom" id="Database Changes" />
+      <window_info anchor="bottom" id="Version Control" weight="0.32959184" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" />
+      <window_info anchor="bottom" id="Run" order="2" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="bottom" id="TODO" order="6" />
+      <window_info anchor="right" id="Maven" />
+      <window_info anchor="right" id="Palette" />
+      <window_info anchor="right" id="JSF" />
+      <window_info anchor="right" id="Capture Analysis" />
+      <window_info anchor="right" id="CDI" />
+      <window_info anchor="right" id="Database" />
+      <window_info anchor="right" id="Palette&#9;" />
+      <window_info anchor="right" id="Theme Preview" />
+      <window_info anchor="right" id="Bean Validation" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+    </layout>
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/main/resources/spring-mvc.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="323">
+          <caret line="19" column="62" selection-start-line="19" selection-start-column="62" selection-end-line="19" selection-end-column="62" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/spring-task.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="136">
+          <caret line="8" column="65" selection-start-line="8" selection-start-column="65" selection-end-line="8" selection-end-column="65" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../PreRegistrationHeZeShiLiYiYuan9002/src/main/java/com/platform/controller/prereg/HZSLPreregXmlController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="261" column="29" lean-forward="true" selection-start-line="261" selection-start-column="29" selection-end-line="261" selection-end-column="29" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/resources/spring-mybatis.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="138">
+          <caret line="28" column="34" selection-start-line="28" selection-start-column="34" selection-end-line="28" selection-end-column="34" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../PreRegistrationHeZeShiLiYiYuan9002/src/main/java/com/platform/dao/impl/IEHSBPreregProvideDaoImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1772">
+          <caret line="370" column="21" lean-forward="true" selection-start-line="370" selection-start-column="21" selection-end-line="370" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+  </component>
+  <component name="masterDetails">
+    <states>
+      <state key="ArtifactsStructureConfigurable.UI">
+        <settings>
+          <artifact-editor />
+          <last-edited>PreRegistration:war</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+                <option value="0.5" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="FacetStructureConfigurable.UI">
+        <settings>
+          <last-edited>Spring</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="GlobalLibrariesConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="JdkListConfigurable.UI">
+        <settings>
+          <last-edited>1.8</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="ModuleStructureConfigurable.UI">
+        <settings>
+          <last-edited>PreRegistrationHeZeShiLiYiYuan9002</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+                <option value="0.6" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+      <state key="ProjectLibrariesConfigurable.UI">
+        <settings>
+          <last-edited>Maven: aopalliance:aopalliance:1.0</last-edited>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+    </states>
+  </component>
+</project>

+ 2 - 0
PreRegistration/PreRegistration/.myumldata

@@ -0,0 +1,2 @@
+#Fri Jul 18 08:56:57 CST 2014
+CodeGenContainer=java.util.Vector

+ 64 - 0
PreRegistration/PreRegistration/.project

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>PreRegistration</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.springframework.ide.eclipse.core.springbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.fusesource.ide.project.RiderProjectBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.fusesource.ide.project.RiderProjectNature</nature>
+		<nature>org.springframework.ide.eclipse.core.springnature</nature>
+		<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>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>

+ 12 - 0
PreRegistration/PreRegistration/.settings/.jsdtscope

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry 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/StandardBrowser/html5"/>
+	<classpathentry kind="output" path=""/>
+</classpath>

+ 2 - 0
PreRegistration/PreRegistration/.settings/com.genuitec.eclipse.j2eedt.core.prefs

@@ -0,0 +1,2 @@
+defaultTldInfo=f\=http\://java.sun.com/jsf/core;http\://java.sun.com/jsf/html\=h;http\://struts.apache.org/tags-bean\=bean;http\://java.sun.com/jsp/jstl/fmt\=fmt;nested\=http\://struts.apache.org/tags-nested;bean\=http\://struts.apache.org/tags-bean;http\://java.sun.com/jsp/jstl/sql\=sql;c\=http\://java.sun.com/jsp/jstl/core;fmt\=http\://java.sun.com/jsp/jstl/fmt;http\://struts.apache.org/tags-logic\=logic;http\://java.sun.com/jsp/jstl/xml\=x;http\://java.sun.com/jsp/jstl/core\=c;logic\=http\://struts.apache.org/tags-logic;h\=http\://java.sun.com/jsf/html;http\://struts.apache.org/tags-tiles\=tiles;http\://java.sun.com/jsp/jstl/functions\=fn;tiles\=http\://struts.apache.org/tags-tiles;sql\=http\://java.sun.com/jsp/jstl/sql;http\://struts.apache.org/tags-html\=html;http\://struts.apache.org/tags-nested\=nested;html\=http\://struts.apache.org/tags-html;http\://java.sun.com/jsf/core\=f;fn\=http\://java.sun.com/jsp/jstl/functions;x\=http\://java.sun.com/jsp/jstl/xml
+eclipse.preferences.version=1

+ 14 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,14 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/java/org/tempuri/HISImplBindingStub.java=UTF-8
+encoding//src/main/java/org/tempuri/HISImpl_PortType.java=UTF-8
+encoding//src/main/java/org/tempuri/HISImpl_Service.java=UTF-8
+encoding//src/main/java/org/tempuri/HISImpl_ServiceLocator.java=UTF-8
+encoding//src/main/java/org/tempuri/HISImpl___FounderRequestData.java=UTF-8
+encoding//src/main/java/org/tempuri/HISImpl___FounderRequestDataResponse.java=UTF-8
+encoding//src/main/java/org/tempuri/HISImpl___hisInterface.java=UTF-8
+encoding//src/main/java/org/tempuri/HISImpl___hisInterfaceResponse.java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/main/resources/jdbc.properties=UTF-8
+encoding//src/main/resources/log4j.properties=UTF-8
+encoding/<project>=UTF-8

+ 16 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.jdt.core.prefs

@@ -0,0 +1,16 @@
+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.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+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.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.7

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 2 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.jdt.ui.prefs


+ 4 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.m2e.core.prefs

@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1

+ 10 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.wst.common.component

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="PreRegistration">
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
+        <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/resources"/>
+        <property name="java-output-path" value="/Test/target/classes"/>
+        <property name="context-root" value="PreRegistration"/>
+    </wb-module>
+</project-modules>

+ 12 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml

@@ -0,0 +1,12 @@
+<root>
+  <facet id="jst.jaxrs">
+    <node name="libprov">
+      <attribute name="provider-id" value="maven-lib-provider"/>
+    </node>
+  </facet>
+  <facet id="jst.jsf">
+    <node name="libprov">
+      <attribute name="provider-id" value="jsf-no-op-library-provider"/>
+    </node>
+  </facet>
+</root>

+ 11 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.wst.common.project.facet.core.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <fixed facet="wst.jsdt.web"/>
+  <installed facet="maven" version="1.0"/>
+  <installed facet="wst.jsdt.web" version="1.0"/>
+  <installed facet="jst.web" version="3.0"/>
+  <installed facet="jst.web.jstl" version="1.2.2"/>
+  <installed facet="jst.jaxrs" version="2.0"/>
+  <installed facet="jst.jsf" version="2.2"/>
+  <installed facet="java" version="1.7"/>
+</faceted-project>

+ 1 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.wst.jsdt.ui.superType.container

@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary

+ 1 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.wst.jsdt.ui.superType.name

@@ -0,0 +1 @@
+Window

+ 2 - 0
PreRegistration/PreRegistration/.settings/org.eclipse.wst.validation.prefs

@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1

+ 343 - 0
PreRegistration/PreRegistration/pom.xml

@@ -0,0 +1,343 @@
+<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/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>com.platform</groupId>
+	<artifactId>PreRegistration</artifactId>
+	<packaging>war</packaging>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>PreRegistration</name>
+	<url>http://maven.apache.org</url>
+	<properties>
+		<!-- spring版本号 -->
+		<spring.version>4.0.2.RELEASE</spring.version>
+		<!-- mybatis版本号 -->
+		<mybatis.version>3.2.6</mybatis.version>
+		<!-- log4j日志文件管理包版本 -->
+		<slf4j.version>1.7.7</slf4j.version>
+		<log4j.version>1.2.17</log4j.version>
+		<log4j2.version>2.8.2</log4j2.version>
+		<!-- 文件拷贝时的编码 -->
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<!-- 编译时的编码 -->
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.11</version>
+			<!-- 表示开发的时候引入,发布的时候不会加载此包 -->
+			<scope>test</scope>
+		</dependency>
+		<!-- spring核心包 -->
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-core</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<!-- jdomjar包 -->
+		<dependency>
+				<groupId>jdom</groupId>
+				<artifactId>jdom</artifactId>
+				<version>1.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-web</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-oxm</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-tx</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-jdbc</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-webmvc</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-aop</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-context-support</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-test</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+		
+		
+		<!-- mybatis核心包 -->
+		<dependency>
+			<groupId>org.mybatis</groupId>
+			<artifactId>mybatis</artifactId>
+			<version>${mybatis.version}</version>
+		</dependency>
+		<!-- mybatis/spring包 -->
+		<dependency>
+			<groupId>org.mybatis</groupId>
+			<artifactId>mybatis-spring</artifactId>
+			<version>1.2.2</version>
+		</dependency>
+		<!-- 导入java ee jar 包 -->
+		<dependency>
+			<groupId>javax</groupId>
+			<artifactId>javaee-api</artifactId>
+			<version>7.0</version>
+		</dependency>
+		<!-- 导入Mysql数据库链接jar包 -->
+		<dependency>
+			<groupId>mysql</groupId>
+			<artifactId>mysql-connector-java</artifactId>
+			<version>5.1.30</version>
+		</dependency>
+		<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
+		<dependency>
+			<groupId>commons-dbcp</groupId>
+			<artifactId>commons-dbcp</artifactId>
+			<version>1.2.2</version>
+		</dependency>
+		<!-- JSTL标签类 -->
+		<dependency>
+			<groupId>jstl</groupId>
+			<artifactId>jstl</artifactId>
+			<version>1.2</version>
+		</dependency>
+		<!-- 日志文件管理包 -->
+		<!-- log start -->
+		<dependency>
+			<groupId>log4j</groupId>
+			<artifactId>log4j</artifactId>
+			<version>${log4j.version}</version>
+		</dependency>
+
+
+		<!-- 格式化对象,方便输出日志 -->
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>fastjson</artifactId>
+			<version>1.1.41</version>
+		</dependency>
+		<dependency>
+            <groupId>dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+            <version>1.6.1</version>
+        </dependency>
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<version>${slf4j.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-log4j12</artifactId>
+			<version>${slf4j.version}</version>
+		</dependency>
+		<!-- log end -->
+		<!-- 映入JSON -->
+		<dependency>
+			<groupId>org.codehaus.jackson</groupId>
+			<artifactId>jackson-mapper-asl</artifactId>
+			<version>1.9.13</version>
+		</dependency>
+		<!-- 上传组件包 -->
+		<dependency>
+			<groupId>commons-fileupload</groupId>
+			<artifactId>commons-fileupload</artifactId>
+			<version>1.3.1</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>2.4</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-codec</groupId>
+			<artifactId>commons-codec</artifactId>
+			<version>1.9</version>
+		</dependency>
+		<!-- 引入org.json jar包 -->
+		<dependency>
+			<groupId>org.json</groupId>
+			<artifactId>json</artifactId>
+			<version>20160810</version>
+		</dependency>
+		<!-- 引入commons-httpclient jar包 -->
+		<dependency>
+			<groupId>commons-httpclient</groupId>
+			<artifactId>commons-httpclient</artifactId>
+			<version>3.1</version>
+		</dependency>
+		<!-- jackson-core -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-core</artifactId>
+			<version>2.6.1</version>
+		</dependency>
+		<!-- jackson-databind -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-databind</artifactId>
+			<version>2.6.1</version>
+		</dependency>
+		<!--jackson-annotations -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-annotations</artifactId>
+			<version>2.6.1</version>
+		</dependency>
+		<!--jackson-annotations -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.core</groupId>
+			<artifactId>jackson-annotations</artifactId>
+			<version>2.6.1</version>
+		</dependency>
+		<!--jackson-dataformat-xml -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.dataformat</groupId>
+			<artifactId>jackson-dataformat-xml</artifactId>
+			<version>2.6.1</version>
+		</dependency>
+		<!--jackson-module-jaxb-annotations -->
+		<dependency>
+			<groupId>com.fasterxml.jackson.module</groupId>
+			<artifactId>jackson-module-jaxb-annotations</artifactId>
+			<version>2.6.1</version>
+		</dependency>
+		<dependency>
+			<groupId>net.sf.json-lib</groupId>
+			<artifactId>json-lib</artifactId>
+			<version>2.4</version>
+			<classifier>jdk15</classifier>
+		</dependency>
+		<!-- 二维码生成工具类 -->
+		<dependency>  
+        <groupId>com.google.zxing</groupId>  
+        <artifactId>core</artifactId>  
+        <version>3.1.0</version>  
+    </dependency>  
+    <dependency>  
+        <groupId>com.google.zxing</groupId>  
+        <artifactId>javase</artifactId>  
+        <version>3.1.0</version>  
+    </dependency>
+    <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
+	<dependency>
+	    <groupId>org.apache.httpcomponents</groupId>
+	    <artifactId>httpcore</artifactId>
+	    <version>4.4.1</version>
+	</dependency>
+    <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
+	<dependency>
+		<groupId>org.apache.httpcomponents</groupId>
+		<artifactId>httpclient</artifactId>
+		<version>4.3.6</version>
+	</dependency>
+	<!-- 引入alipay java sdk -->
+   <dependency>
+         <groupId>com.alipay</groupId>
+         <artifactId>sdk-java</artifactId>
+         <version>20170818173712</version>
+   </dependency> 
+	<dependency>
+         <groupId>com.alipay</groupId>
+         <artifactId>sdk-java-source</artifactId>
+         <version>20170818173712</version>
+   </dependency>
+		<!-- https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16 -->
+	<dependency>
+		<groupId>org.bouncycastle</groupId>
+		<artifactId>bcprov-jdk16</artifactId>
+		<version>1.45</version>
+	</dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>4.3.8.RELEASE</version>
+        </dependency>
+         <!-- oracle jdbc driver -->    
+	    <dependency>      
+	        <groupId>com.oracle</groupId>      
+	        <artifactId>ojdbc6</artifactId> 
+	        <version>11.2.0.4.0</version>  
+	    </dependency> 
+	    <!-- https://mvnrepository.com/artifact/org.apache.axis/axis -->
+		<dependency>
+		    <groupId>org.apache.axis</groupId>
+		    <artifactId>axis</artifactId>
+		    <version>1.4</version>
+		</dependency>
+    </dependencies>
+	
+	
+	<build>
+		<finalName>PreRegistration</finalName>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.tomcat.maven</groupId>
+				<artifactId>tomcat7-maven-plugin</artifactId>
+				<version>2.1</version>
+				<configuration>
+					<!-- 注意此处的url,修改成tomcat监听的端口即可 -->
+					<url>http://localhost:8080/manager/text</url>
+					<server>tomcat7</server> <!-- 此处的名字必须和setting.xml中配置的ID一致 -->
+					<path>/${project.artifactId}</path> <!-- 此处的名字是项目发布的工程名 -->
+					<server>tomcat7</server>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.3</version>
+				<configuration>
+					<!-- 指定source和target的版本 -->
+					<source>1.7</source>
+					<target>1.7</target>
+					<encoding>utf-8</encoding> 
+				</configuration>
+			</plugin>
+
+		</plugins>
+
+		<resources>
+			<resource>
+				<directory>src/main/java</directory>
+				<includes>
+					<include>**/*.xml</include>
+				</includes>
+				<filtering>false</filtering>
+			</resource>
+			<resource>
+				<directory>src/main/resources</directory>
+				<includes>
+					<include>**/*.xml</include>
+					<include>**/*.properties</include>
+				</includes>
+				<filtering>false</filtering>
+			</resource>
+		</resources>
+	</build>
+</project>

+ 49 - 0
PreRegistration/PreRegistration/src/main/java/autoGenerator/generatorConfig.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
+<generatorConfiguration >
+   <!-- 引入配置文件 -->  
+    <properties url="file:////Users/justin/Documents/workspace/HS-PIMP/PreRegistration/src/main/resources/init.properties"/>  
+    <!-- 指定数据连接驱动jar地址 -->  
+    <classPathEntry location="${jarClassPath}" />
+    
+    <!-- 一个数据库一个context -->
+	<context id="context">
+		<!-- 注释 -->
+		<commentGenerator>
+			<property name="suppressAllComments" value="false" /><!-- 是否取消注释 -->
+			<property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳 -->
+		</commentGenerator>
+		
+		<!-- jdbc连接 -->  
+        <jdbcConnection driverClass="${jdbc_driver}"   connectionURL="${jdbc_url}" userId="${jdbc_user}"   password="${jdbc_password}" /> 
+		 <!-- 类型转换 -->  
+        <javaTypeResolver>  
+            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->  
+            <property name="forceBigDecimals" value="false"/>  
+        </javaTypeResolver> 
+        
+		<!-- 生成实体类地址 -->    
+        <javaModelGenerator targetPackage="${targetPackage.pojo}"   targetProject="${targetProject}" >  
+            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
+            <property name="enableSubPackages" value="false"/>  
+            <!-- 是否针对string类型的字段在set的时候进行trim调用 -->  
+            <property name="trimStrings" value="true"/>  
+        </javaModelGenerator>  
+          
+        <!-- 生成mapxml文件 -->  
+        <sqlMapGenerator targetPackage="${targetPackage.mapping}"   targetProject="${targetProject}" >  
+            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
+            <property name="enableSubPackages" value="false" />  
+        </sqlMapGenerator>  
+          
+        <!-- 生成mapxml对应client,也就是接口dao -->      
+        <javaClientGenerator targetPackage="${targetPackage.dao}"   targetProject="${targetProject}" type="XMLMAPPER" >  
+            <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
+            <property name="enableSubPackages" value="false" />
+        </javaClientGenerator> 
+        
+        <table tableName="SECTIONTYPE_DICTIONARY" domainObjectName="SectiontypeDictionary" >
+    	</table>
+    	
+  </context>
+</generatorConfiguration>

+ 33 - 0
PreRegistration/PreRegistration/src/main/java/com/platform/controller/alipay/AlipayAPIClientFactory.java

@@ -0,0 +1,33 @@
+/**
+ * Alipay.com Inc.
+ * Copyright (c) 2004-2014 All Rights Reserved.
+ */
+package com.platform.controller.alipay;
+
+import com.alipay.api.AlipayClient;
+import com.alipay.api.DefaultAlipayClient;
+
+
+/**
+ * API调用客户端工厂
+ * 
+ * @author taixu.zqq
+ * @version $Id: AlipayAPIClientFactory.java, v 0.1 2014年7月23日 下午5:07:45 taixu.zqq Exp $
+ */
+public class AlipayAPIClientFactory {
+
+    /** API调用客户端 */
+    private static AlipayClient alipayClient;
+    
+    /**
+     * 获得API调用客户端
+     * 
+     * @return
+     */
+    public static AlipayClient getAlipayClient(String ALIPAY_GATEWAY,String APP_ID,String PRIVATE_KEY,String CHARSET,String ALIPAY_PUBLIC_KEY,String SIGN_TYPE){
+        if(null == alipayClient){
+            alipayClient = new DefaultAlipayClient(ALIPAY_GATEWAY, APP_ID,PRIVATE_KEY, "json", CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);
+        }
+        return alipayClient;
+    }
+}

+ 1111 - 0
PreRegistration/PreRegistration/src/main/java/com/platform/controller/alipay/AlipayJsonController.java

@@ -0,0 +1,1111 @@
+/**   
+* @Title: AlipayJsonController.java 
+* @Package com.platform.controller.alipay 
+* @Description: TODO(用一句话描述该文件做什么) 
+* @author kiosk
+* @date 2017年8月28日 上午8:21:02 
+* @version V1.0   
+*/
+package com.platform.controller.alipay;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.dom4j.DocumentException;
+import org.json.JSONException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.ContextLoader;
+import org.springframework.web.context.WebApplicationContext;
+
+import com.alibaba.fastjson.JSON;
+import com.alipay.api.AlipayApiException;
+import com.alipay.api.AlipayClient;
+import com.alipay.api.internal.util.AlipaySignature;
+import com.alipay.api.request.AlipayDataDataserviceBillDownloadurlQueryRequest;
+import com.alipay.api.request.AlipayTradeCancelRequest;
+import com.alipay.api.request.AlipayTradeFastpayRefundQueryRequest;
+import com.alipay.api.request.AlipayTradePrecreateRequest;
+import com.alipay.api.request.AlipayTradeQueryRequest;
+import com.alipay.api.request.AlipayTradeRefundRequest;
+import com.alipay.api.response.AlipayDataDataserviceBillDownloadurlQueryResponse;
+import com.alipay.api.response.AlipayTradeCancelResponse;
+import com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse;
+import com.alipay.api.response.AlipayTradePrecreateResponse;
+import com.alipay.api.response.AlipayTradeQueryResponse;
+import com.alipay.api.response.AlipayTradeRefundResponse;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import com.platform.pojo.AlipayConfig;
+import com.platform.pojo.AlipayConfigExample;
+import com.platform.pojo.AlipayJournal;
+import com.platform.pojo.InterfaceInvokeLog;
+import com.platform.request.json.AliPayRequestParameter;
+import com.platform.request.json.AlipayRequestParameterForCancel;
+import com.platform.request.json.AlipayRequestParameterForDownloadurlQuery;
+import com.platform.request.json.AlipayRequestParameterForQuery;
+import com.platform.request.json.AlipayRequestParameterForRefund;
+import com.platform.request.json.AlipayRequestParameterForRefundQuery;
+import com.platform.response.json.AlipayResponseParameterForCancel;
+import com.platform.response.json.AlipayResponseParameterForDownloadurlQuery;
+import com.platform.response.json.AlipayResponseParameterForInsert;
+import com.platform.response.json.AlipayResponseParameterForQrCode;
+import com.platform.response.json.AlipayResponseParameterForQuery;
+import com.platform.response.json.AlipayResponseParameterForRefund;
+import com.platform.response.json.AlipayResponseParameterForRefundQuery;
+import com.platform.service.AlipayJournalService;
+import com.platform.service.IAliPayService;
+import com.platform.util.ConstantsUtil;
+import com.platform.util.DateUtil;
+import com.platform.util.JSONUtil;
+import com.platform.util.QRCodeUtil;
+import com.platform.util.WebToolUtils;
+import com.platform.util.Xml2JsonUtil;
+
+/** 
+ * @ClassName: AlipayJsonController 
+ * @Description: TODO(支付宝AliPay扫码付对接类) 
+ * @author kiosk
+ * @date 2017年8月28日 上午8:21:02 
+ *  
+ */
+@Controller
+@RequestMapping("/alipayjson")
+public class AlipayJsonController {
+	//定义日志文件操作类对象
+	private static Logger logger =(Logger) LoggerFactory.getLogger(AlipayJsonController.class);
+	@Resource
+	private IAliPayService aliPayService;//引入service
+	@Resource
+	private AlipayJournalService alipayJournalService;
+	
+	//定义变量和查询条件类
+	List<AlipayConfig> alipayConfigs = new ArrayList<AlipayConfig>();
+	AlipayConfigExample example = new AlipayConfigExample();
+	
+	/**
+	 * 
+	* @Title: pay 
+	* @Description: TODO(支付宝扫码付预下单方法) 
+	* @param @param requestParameter
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/pay", consumes="application/json",method=RequestMethod.POST)
+	@ResponseBody
+	public String pay(@RequestBody AliPayRequestParameter requestParameter){
+		logger.debug("###################################################执行支付宝扫码支付下单接口pay方法开始");
+		logger.debug("###################################################接收到的body值:"+requestParameter);
+		String resultStr=null;
+		String str = null;
+		String errorString=null;
+		//将返回的XML结果封装处理成接口调用日志Java类对象
+		XmlMapper xmlMapper = new XmlMapper();
+		ObjectMapper mapper = new ObjectMapper(); //转换器
+		logger.debug("##########################################################读取支付宝扫码支付配置表开始");
+		example.or().andDeleteFlagEqualTo(0);
+		alipayConfigs=aliPayService.getConfigList(example);
+		logger.debug("#########################################获取到的支付配置表数据记录条数"+alipayConfigs.size());
+		if (alipayConfigs.size()==0) {
+			errorString="支付配置表没有配置!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_precreate_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_precreate_response> ";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+
+				// TODO Auto-generated catch block
+				errorString=e.toString();
+			}
+			logger.debug("支付配置表没有配置");
+		}else if (alipayConfigs.size() ==1){
+			logger.debug("#########################################################获取到的支付配置表唯一一条记录,支付开始");
+			//全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+			mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
+			try {
+				//将传入的Java类转换为Json串
+				str = JSONUtil.objectToJson(requestParameter).toString();
+				logger.debug("##########################################body值转换为Json串:"+str);
+				//声明支付宝支付请求客户端
+				AlipayClient alipayClient = AlipayAPIClientFactory.getAlipayClient(alipayConfigs.get(0).getPrepayGateUrl(),alipayConfigs.get(0).getAppId(), ConstantsUtil.PRIVATE_KEY, ConstantsUtil.CHARSET, ConstantsUtil.ALIPAY_PUBLIC_KEY,ConstantsUtil.SIGN_TYPE);
+				System.out.println(alipayClient.toString());
+				// 使用SDK,构建群发请求模型
+				AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
+				request.setBizContent(str);
+				//这里设置支付扫码完成回调的异步通知url,地址必须是外网,保证支付宝能访问到,最好用域名
+				request.setNotifyUrl(alipayConfigs.get(0).getPrepayNotifyUrl());
+				AlipayTradePrecreateResponse response = null;
+				try {
+					// 使用SDK,调用交易下单接口
+					response = alipayClient
+							.execute(request);
+					logger.debug("#########响应对象为"+response);
+					System.out.println(response.getBody());
+					System.out.println(response.getSubMsg());
+					System.out.println(response.isSuccess());
+					System.out.println(response.getMsg());
+					// 这里只是简单的打印,请开发者根据实际情况自行进行处理
+					AlipayResponseParameterForQrCode alipayResponse=new AlipayResponseParameterForQrCode();
+					if (null != response && response.isSuccess()) {
+						if (response.getCode().equals("10000")) {
+							System.out.println("商户订单号:"+response.getOutTradeNo());
+							System.out.println("二维码值:"+response.getQrCode());//商户将此二维码值生成二维码,然后展示给用户,用户用支付宝手机钱包扫码完成支付
+							String qrCodePath=getWebappsURL()+File.separator+"uploadImages"+
+							File.separator+"qrcode"+File.separator+"alipay"+File.separator+"mb"+
+								File.separator+DateUtil.format(new Date(),"yyyyMMdd");
+							System.err.println("#######二维码存放地址"+qrCodePath);
+							String ip="";
+							String code_url="";
+							ip=WebToolUtils.getLocalIP();
+							logger.debug("#########本机ip"+ip);
+							String filename=QRCodeUtil.encode(response.getQrCode(), qrCodePath, false);
+							code_url="Http://"+ip+":"+ConstantsUtil.TOMCAT_PORT_WXALIPAY+File.separator+"uploadImages"+
+									File.separator+"qrcode"+File.separator+"alipay"+File.separator+"mb"+File.separator+
+									DateUtil.format(new Date(),"yyyyMMdd")+File.separator+filename;
+							System.err.println(code_url);
+							code_url=code_url.replace("\\", "/");
+							Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+							for(Object obj:mapStr.keySet()){
+								if(obj=="sign"){
+									alipayResponse.setSign((String)mapStr.get(obj));
+								}
+							}
+							alipayResponse.setCode(response.getCode());
+							alipayResponse.setMsg(response.getMsg());
+							alipayResponse.setCode_url(code_url);
+							alipayResponse.setQr_code(response.getQrCode());
+							alipayResponse.setOut_trade_no(response.getOutTradeNo());
+							alipayResponse.setSub_code(response.getSubCode());
+							alipayResponse.setSub_msg(response.getSubMsg());
+							resultStr=JSONUtil.objectToJson(alipayResponse).toString();
+							System.err.println("________________返回的数据"+resultStr);
+							AlipayResponseParameterForInsert alipayResponseParameterForInsert=new AlipayResponseParameterForInsert();
+							alipayResponseParameterForInsert.setCode(response.getCode());
+							alipayResponseParameterForInsert.setService("unifiedorder_service");
+							alipayResponseParameterForInsert.setService_version("2.0");
+							alipayResponseParameterForInsert.setSign_type(ConstantsUtil.SIGN_TYPE);
+							alipayResponseParameterForInsert.setInput_charset("UTF-8");
+							alipayResponseParameterForInsert.setCode_url(code_url);
+							alipayResponseParameterForInsert.setOut_trade_no(response.getOutTradeNo());
+							alipayResponseParameterForInsert.setMsg(response.getMsg());
+							alipayResponseParameterForInsert.setSub_code(response.getSubCode());
+							alipayResponseParameterForInsert.setSub_msg(response.getSubMsg());
+							InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+							interfaceInvokeLog.setService(alipayResponseParameterForInsert.getService());
+							interfaceInvokeLog.setServiceVersion(alipayResponseParameterForInsert.getService_version());
+							interfaceInvokeLog.setSignType(alipayResponseParameterForInsert.getSign_type());
+							interfaceInvokeLog.setCode(alipayResponseParameterForInsert.getCode());
+							interfaceInvokeLog.setInputCharset(alipayResponseParameterForInsert.getInput_charset());
+							interfaceInvokeLog.setMsg(alipayResponseParameterForInsert.getMsg());
+							interfaceInvokeLog.setOutTradeNo(alipayResponseParameterForInsert.getOut_trade_no());
+							interfaceInvokeLog.setSubCode(alipayResponseParameterForInsert.getSub_code());
+							interfaceInvokeLog.setSubMsg(alipayResponseParameterForInsert.getSub_msg());
+							int num=aliPayService.saveInvokeLog(interfaceInvokeLog);
+							logger.debug("#########返回行数"+num);
+						} else{
+						//打印错误码
+						 Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+							for(Object obj:mapStr.keySet()){
+								if(obj=="sign"){
+									alipayResponse.setSign((String)mapStr.get(obj));
+								}
+							}
+					       alipayResponse.setCode(response.getCode());
+					       alipayResponse.setOut_trade_no(response.getOutTradeNo());
+					       alipayResponse.setMsg(response.getMsg());
+					       alipayResponse.setSub_code(response.getSubCode());
+					       alipayResponse.setSub_msg(response.getSubMsg());
+					       resultStr=JSONUtil.objectToJson(alipayResponse).toString();
+						}
+					}else if(response!=null){
+						//打印错误码
+						 Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+							for(Object obj:mapStr.keySet()){
+								if(obj=="sign"){
+									alipayResponse.setSign((String)mapStr.get(obj));
+								}
+							}
+					       alipayResponse.setCode(response.getCode());
+					       alipayResponse.setOut_trade_no(response.getOutTradeNo());
+					       alipayResponse.setMsg(response.getMsg());
+					       alipayResponse.setSub_code(response.getSubCode());
+					       alipayResponse.setSub_msg(response.getSubMsg());
+					       resultStr=JSONUtil.objectToJson(alipayResponse).toString();
+						}
+				}catch (AlipayApiException e) {
+					System.out.println("异常描述:"+e.toString());
+					errorString=e.toString();
+					resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_precreate_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_precreate_response> ";
+					try {
+						resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+					} catch (DocumentException ee) {
+						// TODO Auto-generated catch block
+						ee.printStackTrace();
+					}
+				} catch (Exception e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+
+			}catch (JSONException e) {
+				errorString="数据转换错误(JSONException)!";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_precreate_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_precreate_response> ";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException ee) {
+					// TODO Auto-generated catch block
+					errorString=ee.toString();
+				}
+				logger.debug("################################################################数据转换错误(JSONException):"+e.toString());
+			} catch (IOException e) {
+				errorString="流异常(IOException)!";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_precreate_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_precreate_response> ";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException ee) {
+					// TODO Auto-generated catch block
+					errorString=ee.toString();
+				}
+				logger.debug("#######################################################################流异常(IOException):"+e.toString());
+			}
+		}else {
+			errorString="支付配置表存在多条记录!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_precreate_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_precreate_response> ";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				errorString=e.toString();
+			}
+			logger.debug("################################################################################支付配置表存在多条记录");
+		}
+		logger.debug("#######################################################################执行支付宝扫码支付下单接口pay方法结束");
+		return resultStr;
+	}
+
+
+	/**
+	 * 
+	* @Title: pay 
+	* @Description: TODO(支付宝扫码查询方法)
+	* @param @param requestParameter
+	* @param @return  设定文件
+	* @return String  返回类型
+	* @throws
+	 */
+	@RequestMapping(value="/query",consumes="application/json",method=RequestMethod.POST)
+	@ResponseBody
+    public String query(@RequestBody AlipayRequestParameterForQuery requestParameterForQuery){
+		logger.debug("########支付宝查询方法开始执行");
+		String resultStr=null;
+		String str=null;
+		String errorString=null;
+		ObjectMapper mapper = new ObjectMapper();
+		example.or().andDeleteFlagEqualTo(0);
+		alipayConfigs=aliPayService.getConfigList(example);
+		if(alipayConfigs.size()==0){
+			errorString="配置表没有配置";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_query_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}else if(alipayConfigs.size()==1){
+			logger.debug("#######获得支付表唯一一条记录 查询开始");
+			try {
+				str=JSONUtil.objectToJson(requestParameterForQuery).toString();
+				logger.debug("body值返回json串"+str);
+				AlipayClient alipayClient=AlipayAPIClientFactory.getAlipayClient(alipayConfigs.get(0).getSearchGateUrl(), alipayConfigs.get(0).getAppId(), ConstantsUtil.PRIVATE_KEY, ConstantsUtil.CHARSET, ConstantsUtil.ALIPAY_PUBLIC_KEY, ConstantsUtil.SIGN_TYPE);
+				System.err.println(alipayClient.toString());
+				AlipayTradeQueryRequest request=new AlipayTradeQueryRequest();
+				request.setBizContent(str);
+				AlipayTradeQueryResponse response=null;
+				try {
+					response=alipayClient.execute(request);
+					System.out.println(response.getBody());
+					System.out.println(response.getMsg());
+					System.out.println(response.getTotalAmount());
+					AlipayResponseParameterForQuery alipayResponseParameterForQuery=new AlipayResponseParameterForQuery();
+					if(response!=null&&response.isSuccess()){
+					Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+						for(Object obj:mapStr.keySet()){
+							if(obj=="sign"){
+								alipayResponseParameterForQuery.setSign((String)mapStr.get(obj));
+							}
+						}
+					alipayResponseParameterForQuery.setCode(response.getCode());
+					alipayResponseParameterForQuery.setMsg(response.getMsg());
+					alipayResponseParameterForQuery.setSub_msg(response.getSubCode());
+					alipayResponseParameterForQuery.setSub_msg(response.getSubMsg());
+					alipayResponseParameterForQuery.setTrade_no(response.getTradeNo());
+					alipayResponseParameterForQuery.setOut_trade_no(response.getOutTradeNo());
+					alipayResponseParameterForQuery.setBuyer_logon_id(response.getBuyerLogonId());
+					alipayResponseParameterForQuery.setTrade_status(response.getTradeStatus());
+					alipayResponseParameterForQuery.setTotal_amount(response.getTotalAmount());
+					alipayResponseParameterForQuery.setReceipt_amount(response.getReceiptAmount());
+					alipayResponseParameterForQuery.setBuyer_pay_amount(response.getBuyerPayAmount());
+					alipayResponseParameterForQuery.setPoint_amount(response.getPointAmount());
+					alipayResponseParameterForQuery.setInvoice_amount(response.getInvoiceAmount());
+					alipayResponseParameterForQuery.setSend_pay_date(response.getSendPayDate());
+					System.out.println(response.getSendPayDate());
+					alipayResponseParameterForQuery.setStore_id(response.getStoreId());
+					alipayResponseParameterForQuery.setTerminal_id(response.getTerminalId());
+					alipayResponseParameterForQuery.setFund_bill_list(response.getFundBillList());
+					alipayResponseParameterForQuery.setStore_name(response.getAlipayStoreId());
+					alipayResponseParameterForQuery.setBuyer_user_id(response.getBuyerUserId());
+					resultStr=JSONUtil.objectToJson(alipayResponseParameterForQuery).toString();
+					AlipayResponseParameterForInsert alipayResponseParameterForInsert=new AlipayResponseParameterForInsert();
+					alipayResponseParameterForInsert.setService("query_order_service");
+					alipayResponseParameterForInsert.setService_version("1.0");
+					InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+					interfaceInvokeLog.setService(alipayResponseParameterForInsert.getService());
+					interfaceInvokeLog.setServiceVersion(alipayResponseParameterForInsert.getService_version());
+					interfaceInvokeLog.setTradeNo(alipayResponseParameterForQuery.getTrade_no());
+					interfaceInvokeLog.setOutTradeNo(alipayResponseParameterForQuery.getOut_trade_no());
+					interfaceInvokeLog.setBuyerLogonId(alipayResponseParameterForQuery.getBuyer_logon_id());
+					interfaceInvokeLog.setTradeStatus(alipayResponseParameterForQuery.getTrade_status());
+					interfaceInvokeLog.setTotalFee(Float.parseFloat(alipayResponseParameterForQuery.getTotal_amount()));
+					interfaceInvokeLog.setReceiptAmount(alipayResponseParameterForQuery.getReceipt_amount());
+					interfaceInvokeLog.setCode(response.getCode());
+					interfaceInvokeLog.setMsg(response.getMsg());
+					interfaceInvokeLog.setSubCode(response.getSubCode());
+					interfaceInvokeLog.setSubMsg(response.getSubMsg());
+					interfaceInvokeLog.setBuyerUserId(alipayResponseParameterForQuery.getBuyer_user_id());
+					int num=aliPayService.saveInvokeLog(interfaceInvokeLog);
+					System.err.println("影响了多少行"+num);
+					}else if(response!=null){
+						Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+						for(Object obj:mapStr.keySet()){
+							if(obj=="sign"){
+								alipayResponseParameterForQuery.setSign((String)mapStr.get(obj));
+							}
+						}
+						alipayResponseParameterForQuery.setSub_code(response.getSubMsg());
+						alipayResponseParameterForQuery.setSub_msg(response.getSubMsg());
+						alipayResponseParameterForQuery.setCode(response.getCode());
+						alipayResponseParameterForQuery.setMsg(response.getMsg());
+						alipayResponseParameterForQuery.setTrade_no(response.getTradeNo());
+						alipayResponseParameterForQuery.setOut_trade_no(response.getOutTradeNo());
+						alipayResponseParameterForQuery.setBuyer_logon_id(response.getBuyerLogonId());
+						resultStr=JSONUtil.objectToJson(alipayResponseParameterForQuery).toString();
+						logger.debug("#########查询接口对象转换为JSON字符串"+resultStr);
+					}
+				} catch (AlipayApiException e) {
+					errorString=e.toString();
+					resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_query_response>";
+					try {
+						resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+					} catch (DocumentException e1) {
+						// TODO Auto-generated catch block
+						e1.printStackTrace();
+					}
+				}
+			} catch(JSONException e){
+				errorString="数据转换错误(JSONException)";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_query_response>";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			 } catch (IOException e) {
+				errorString="流异常(IOException)";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_query_response>";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			}
+		}else{
+			  errorString="配置表有多条记录";
+			  resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_query_response>";
+			  try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				errorString=e.toString();
+				e.printStackTrace();
+			}
+		  }
+    	return resultStr;
+    }
+	/**
+	 * 
+	* @Title: refund 
+	* @Description: TODO(支付宝扫码退款方法) 
+	* @param @param requestParameterForRefund
+	* @param @return 设定文件
+	* @return String 返回类型
+	* @throws
+	 */
+	@RequestMapping(value="/refund",consumes="application/json",method=RequestMethod.POST)
+	@ResponseBody
+	public String refund(@RequestBody AlipayRequestParameterForRefund requestParameterForRefund){
+		String resultStr=null;
+		String str=null;
+		String errorString=null;
+		example.or().andDeleteFlagEqualTo(0);
+		alipayConfigs=aliPayService.getConfigList(example);
+		if(alipayConfigs.size()==0){
+			errorString="配置表里没有配置";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}else if(alipayConfigs.size()==1){
+			logger.debug("#######获得支付表里唯一一条记录 退款开始");
+		    try {
+				str=JSONUtil.objectToJson(requestParameterForRefund).toString();
+				logger.debug("body返回的json串"+str);
+				AlipayClient alipayClient=AlipayAPIClientFactory.getAlipayClient(alipayConfigs.get(0).getRefundGateUrl(),alipayConfigs.get(0).getAppId(),ConstantsUtil.PRIVATE_KEY,ConstantsUtil.CHARSET, ConstantsUtil.ALIPAY_PUBLIC_KEY,ConstantsUtil.SIGN_TYPE);
+				System.out.println(alipayClient.toString());
+				AlipayTradeRefundRequest request=new AlipayTradeRefundRequest();
+				request.setBizContent(str);
+				AlipayTradeRefundResponse response=null;
+				response=alipayClient.execute(request);
+			    System.out.println(response.getBody());
+			    System.out.println(response.getRefundFee());
+			    System.out.println(response.getGmtRefundPay());
+			    AlipayResponseParameterForRefund alipayResponseParameterForRefund=new AlipayResponseParameterForRefund();
+			    InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+			    AlipayResponseParameterForInsert alipayResponseParameterForInsert=new AlipayResponseParameterForInsert();
+			    if(response!=null&&response.isSuccess()){
+			    Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+					for(Object obj:mapStr.keySet()){
+						if(obj=="sign"){
+							alipayResponseParameterForRefund.setSign((String)mapStr.get(obj));
+						}
+					}
+			    alipayResponseParameterForRefund.setCode(response.getCode());
+			    alipayResponseParameterForRefund.setMsg(response.getMsg());
+			    alipayResponseParameterForRefund.setSub_code(response.getSubCode());
+			    alipayResponseParameterForRefund.setSub_msg(response.getSubMsg());
+			    alipayResponseParameterForRefund.setTrade_no(response.getTradeNo());
+			    alipayResponseParameterForRefund.setOut_trade_no(response.getOutTradeNo());
+			    alipayResponseParameterForRefund.setBuyer_logon_id(response.getBuyerLogonId());
+			    alipayResponseParameterForRefund.setFund_change(response.getFundChange());
+			    alipayResponseParameterForRefund.setRefund_fee(response.getRefundFee());
+			    alipayResponseParameterForRefund.setGmt_refund_pay(response.getGmtRefundPay());
+			    alipayResponseParameterForRefund.setRefund_detail_item_list(response.getRefundDetailItemList());
+			    alipayResponseParameterForRefund.setStore_name(response.getStoreName());
+			    alipayResponseParameterForRefund.setBuyer_user_id(response.getBuyerUserId());
+			    resultStr=JSONUtil.objectToJson(alipayResponseParameterForRefund).toString();
+			    AlipayJournal alipayJournal=new AlipayJournal();
+			    alipayJournal.setCode(response.getCode());
+			    alipayJournal.setOut_trade_no(response.getOutTradeNo());
+			    alipayJournal.setTrade_no(response.getTradeNo());
+			    alipayJournal.setBuyer_logon_id(response.getBuyerLogonId());
+			    alipayJournal.setFund_change(response.getFundChange());
+			    alipayJournal.setRefund_fee(response.getSendBackFee());
+			    alipayJournal.setOut_request_no(requestParameterForRefund.getOut_request_no());
+			    SimpleDateFormat formate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+			    String strdate=formate.format(response.getGmtRefundPay());
+			    alipayJournal.setGmt_refund_pay(strdate);
+			    alipayJournal.setRefund_status("1");
+			    int number=alipayJournalService.insertAlipayJournal(alipayJournal);
+			    logger.debug("#########支付宝流水表影响行数"+number);
+			    alipayResponseParameterForInsert.setService("refund_service");
+			    alipayResponseParameterForInsert.setService_version("1.0");
+			    alipayResponseParameterForInsert.setInput_charset("utf-8");
+			    interfaceInvokeLog.setCode(alipayResponseParameterForRefund.getCode());
+			    interfaceInvokeLog.setMsg(alipayResponseParameterForRefund.getMsg());
+			    interfaceInvokeLog.setSubCode(alipayResponseParameterForRefund.getSub_code());
+			    interfaceInvokeLog.setSubMsg(alipayResponseParameterForRefund.getSub_msg());
+			    interfaceInvokeLog.setTradeNo(alipayResponseParameterForRefund.getTrade_no());
+			    interfaceInvokeLog.setOutTradeNo(alipayResponseParameterForRefund.getOut_trade_no());
+			    interfaceInvokeLog.setRefundFee(alipayResponseParameterForRefund.getRefund_fee());
+			    interfaceInvokeLog.setBuyerUserId(alipayResponseParameterForRefund.getBuyer_user_id());
+			    interfaceInvokeLog.setService(alipayResponseParameterForInsert.getService());
+			    interfaceInvokeLog.setServiceVersion(alipayResponseParameterForInsert.getService_version());
+			    int num=aliPayService.saveInvokeLog(interfaceInvokeLog);
+			    logger.debug("影响了行数"+num);
+			    }else if(response!=null){
+			      Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+						for(Object obj:mapStr.keySet()){
+							if(obj=="sign"){
+								alipayResponseParameterForRefund.setSign((String)mapStr.get(obj));
+							}
+						}
+			    	alipayResponseParameterForRefund.setCode(response.getCode());
+			    	alipayResponseParameterForRefund.setMsg(response.getMsg());
+			    	alipayResponseParameterForRefund.setSub_code(response.getSubCode());
+			    	alipayResponseParameterForRefund.setSub_msg(response.getSubMsg());
+			    	alipayResponseParameterForRefund.setBuyer_logon_id(response.getBuyerLogonId());
+			    	alipayResponseParameterForRefund.setBuyer_user_id(response.getBuyerUserId());
+			    	alipayResponseParameterForRefund.setTrade_no(response.getTradeNo());
+			    	alipayResponseParameterForRefund.setOut_trade_no(response.getOutTradeNo());
+			    	alipayResponseParameterForRefund.setStore_name(response.getStoreName());
+			    	resultStr=JSONUtil.objectToJson(alipayResponseParameterForRefund).toString();
+			    	logger.debug("#############退款接口对象"+resultStr);
+			    	alipayResponseParameterForInsert.setService("refund_service");
+				    alipayResponseParameterForInsert.setService_version("1.0");
+				    alipayResponseParameterForInsert.setInput_charset("utf-8");
+			    	interfaceInvokeLog.setSubCode(alipayResponseParameterForRefund.getSub_code());
+				    interfaceInvokeLog.setSubMsg(alipayResponseParameterForRefund.getSub_msg());
+				    interfaceInvokeLog.setTradeNo(alipayResponseParameterForRefund.getTrade_no());
+				    interfaceInvokeLog.setOutTradeNo(alipayResponseParameterForRefund.getOut_trade_no());
+				    interfaceInvokeLog.setBuyerUserId(alipayResponseParameterForRefund.getBuyer_user_id());
+				    interfaceInvokeLog.setService(alipayResponseParameterForInsert.getService());
+				    interfaceInvokeLog.setServiceVersion(alipayResponseParameterForInsert.getService_version());
+				    int num=aliPayService.saveInvokeLog(interfaceInvokeLog);
+				    logger.debug("##########影响行数"+num);
+			    }
+			} catch (JSONException e) {
+				errorString="数据转换错误(JSONException)";
+				resultStr="<?xml version=\1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_response>";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			} catch (IOException e) {
+				errorString="流异常(IOException)";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_response>";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			} catch (AlipayApiException e) {
+				errorString=e.toString();
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_response>";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			}
+		}else{
+			errorString="配置表有多条记录";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		return resultStr;
+	}
+
+	@RequestMapping(value="/refundQuery",consumes="application/json",method=RequestMethod.POST)
+	@ResponseBody
+	public String refundQuery(@RequestBody AlipayRequestParameterForRefundQuery alipayRequestParameterForRefundQuery){
+		String resultStr=null;
+		String str=null;
+		String errorString=null;
+		example.or().andDeleteFlagEqualTo(0);
+		alipayConfigs=aliPayService.getConfigList(example);
+		if(alipayConfigs.size()==0){
+			errorString="配置表里没配置";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_query_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}else if(alipayConfigs.size()==1){
+			logger.debug("##########获得配置表中的唯一一条记录 退款查询开始");
+			try {
+				str=JSONUtil.objectToJson(alipayRequestParameterForRefundQuery).toString();
+				AlipayClient alipayClient=AlipayAPIClientFactory.getAlipayClient(ConstantsUtil.ALIPAY_GATEWAY,alipayConfigs.get(0).getAppId(),ConstantsUtil.PRIVATE_KEY, ConstantsUtil.CHARSET, ConstantsUtil.ALIPAY_PUBLIC_KEY, ConstantsUtil.SIGN_TYPE);
+				System.err.println(alipayClient.toString());
+				AlipayTradeFastpayRefundQueryRequest request=new AlipayTradeFastpayRefundQueryRequest();
+				request.setBizContent(str);
+				AlipayTradeFastpayRefundQueryResponse response=null;
+			    try {
+					response=alipayClient.execute(request);
+					System.out.println(response.getBody());
+					System.out.println(response.getTotalAmount());
+					System.out.println(response.getRefundReason());
+					AlipayResponseParameterForRefundQuery alipayResponseParameterForRefundQuery=new AlipayResponseParameterForRefundQuery();
+					 Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+						for(Object obj:mapStr.keySet()){
+							if(obj=="sign"){
+								alipayResponseParameterForRefundQuery.setSign((String)mapStr.get(obj));
+							}
+						}
+					alipayResponseParameterForRefundQuery.setCode(response.getCode());
+					alipayResponseParameterForRefundQuery.setMsg(response.getMsg());
+					alipayResponseParameterForRefundQuery.setSub_code(response.getSubCode());
+					alipayResponseParameterForRefundQuery.setSub_msg(response.getSubMsg());
+					alipayResponseParameterForRefundQuery.setTrade_no(response.getTradeNo());
+					alipayResponseParameterForRefundQuery.setOut_trade_no(response.getOutTradeNo());
+					alipayResponseParameterForRefundQuery.setOut_request_no(response.getOutRequestNo());
+					alipayResponseParameterForRefundQuery.setRefund_reason(response.getRefundReason());
+					alipayResponseParameterForRefundQuery.setTotal_amount(response.getTotalAmount());
+					alipayResponseParameterForRefundQuery.setRefund_amount(response.getRefundAmount());
+					resultStr=JSONUtil.objectToJson(alipayResponseParameterForRefundQuery).toString();
+					InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+					interfaceInvokeLog.setTradeNo(alipayResponseParameterForRefundQuery.getTrade_no());
+					interfaceInvokeLog.setOutTradeNo(alipayResponseParameterForRefundQuery.getOut_trade_no());
+					interfaceInvokeLog.setTotalFee(Float.parseFloat(alipayResponseParameterForRefundQuery.getTotal_amount()));
+					interfaceInvokeLog.setRefundFee(alipayResponseParameterForRefundQuery.getRefund_amount());
+				    int num=aliPayService.saveInvokeLog(interfaceInvokeLog);
+				    logger.debug("影响的行数"+num);
+				} catch (AlipayApiException e) {
+				    errorString=e.toString();
+				    resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_query_response>";
+				    try {
+						resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+					} catch (DocumentException e1) {
+						// TODO Auto-generated catch block
+						e1.printStackTrace();
+					}
+				}
+			} catch (JSONException e) {
+				 errorString="数据格式转换错误(JSONException)";
+				 resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_query_response>";
+				 try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+				 
+			} catch (IOException e) {
+				errorString="流异常(IOException)";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_query_response>";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			}
+		}else{
+			errorString="配置表中有多条记录";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_refund_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_refund_query_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		return resultStr;
+	}
+	/**
+	 * 
+	* @Title: cancel 
+	* @Description: TODO(支付宝扫码撤销订单方法) 
+	* @param @param alipayRequestParameterForCancel
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/cancel",consumes="application/json",method=RequestMethod.POST)
+	@ResponseBody
+	public String cancel(@RequestBody AlipayRequestParameterForCancel alipayRequestParameterForCancel){
+		String resultStr=null;
+		String str=null;
+		String errorString=null;
+		example.or().andDeleteFlagEqualTo(0);
+		alipayConfigs=aliPayService.getConfigList(example);
+		if(alipayConfigs.size()==0){
+			errorString="配置表里没配置";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_cancel_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_cancel_response>";
+		    try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}  
+		}else if(alipayConfigs.size()==1){
+			logger.debug("配置表里有唯一一条记录 撤销订单开始");
+			try {
+				str=JSONUtil.objectToJson(alipayRequestParameterForCancel).toString();
+				System.out.println("body返回的json串"+str);
+				AlipayClient alipayClient=AlipayAPIClientFactory.getAlipayClient(alipayConfigs.get(0).getCancelGateUrl(),alipayConfigs.get(0).getAppId(), ConstantsUtil.PRIVATE_KEY,ConstantsUtil.CHARSET,ConstantsUtil.ALIPAY_PUBLIC_KEY,ConstantsUtil.SIGN_TYPE);
+				System.out.println(alipayClient.toString());
+				AlipayTradeCancelRequest request=new AlipayTradeCancelRequest();
+				request.setBizContent(str);
+				AlipayTradeCancelResponse response=null;
+				try {
+					response=alipayClient.execute(request);
+					System.out.println(response.getBody());
+					System.out.println(response.getAction());
+					System.out.println(response.getRetryFlag());
+					AlipayResponseParameterForCancel alipayResponseParameterForCancel=new AlipayResponseParameterForCancel();
+					 Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+						for(Object obj:mapStr.keySet()){
+							if(obj=="sign"){
+								alipayResponseParameterForCancel.setSign((String)mapStr.get(obj));
+							}
+						}
+					alipayResponseParameterForCancel.setCode(response.getCode());
+					alipayResponseParameterForCancel.setMsg(response.getMsg());
+					alipayResponseParameterForCancel.setSub_code(response.getSubCode());
+					alipayResponseParameterForCancel.setSub_msg(response.getSubMsg());
+					alipayResponseParameterForCancel.setTrade_no(response.getTradeNo());
+					alipayResponseParameterForCancel.setOut_trade_no(response.getOutTradeNo());
+					alipayResponseParameterForCancel.setRetry_flag(response.getRetryFlag());
+					alipayResponseParameterForCancel.setAction(response.getAction());
+					resultStr=JSONUtil.objectToJson(alipayResponseParameterForCancel).toString();
+					InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+					interfaceInvokeLog.setCode(alipayResponseParameterForCancel.getCode());
+					interfaceInvokeLog.setMsg(alipayResponseParameterForCancel.getMsg());
+					interfaceInvokeLog.setSubCode(alipayResponseParameterForCancel.getSub_code());
+					interfaceInvokeLog.setSubMsg(alipayResponseParameterForCancel.getSub_msg());
+					interfaceInvokeLog.setTradeNo(alipayResponseParameterForCancel.getTrade_no());
+					interfaceInvokeLog.setOutTradeNo(alipayResponseParameterForCancel.getOut_trade_no());
+					interfaceInvokeLog.setRetryFlag(alipayResponseParameterForCancel.getRetry_flag());
+					interfaceInvokeLog.setAction(alipayResponseParameterForCancel.getAction());
+					int num=aliPayService.saveInvokeLog(interfaceInvokeLog);
+					logger.debug("影响的行数"+num);
+				} catch (AlipayApiException e) {
+				   errorString=e.toString();
+				   resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_cancel_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_cancel_response>";
+				   try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+					}
+				}
+			} catch (JSONException e) {
+				errorString="数据格式转换错误(JSONException)";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_cancel_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_cancel_response>";
+				try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			} catch (IOException e) {
+				errorString="流异常(IOException)";
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_cancel_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_cancel_response>";
+			}
+		}else{
+			errorString="配置表有多条记录";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_trade_cancel_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_trade_cancel_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		return resultStr;
+	}
+
+	/**
+	 * 
+	* @Title: downloadurlQuery 
+	* @Description: TODO(支付宝扫码对账单下载方法) 
+	* @param @param alipayRequestParameterForCancel
+	* @param @return    设定文件
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/billDownloadurlQuery",consumes="application/json",method=RequestMethod.POST)
+	@ResponseBody
+	public String billDownloadurlQuery(@RequestBody AlipayRequestParameterForDownloadurlQuery requestParameterForDownloadurlQuery){
+		String resultStr=null;
+		String str=null;
+		String errorString=null;
+		example.or().andDeleteFlagEqualTo(0);
+		alipayConfigs=aliPayService.getConfigList(example);
+		if(alipayConfigs.size()==0){
+			errorString="配置表中没有配置";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_data_dataservice_bill_downloadurl_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_data_dataservice_bill_downloadurl_query_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}else if(alipayConfigs.size()==1){
+			logger.debug("配置表里有唯一一条记录 对账单下载开始");
+			try {
+				str=JSONUtil.objectToJson(requestParameterForDownloadurlQuery).toString();
+				System.out.println("body转换为json串"+str);
+				AlipayClient alipayClient=AlipayAPIClientFactory.getAlipayClient(alipayConfigs.get(0).getAccountDownloadGateUrl(),alipayConfigs.get(0).getAppId(), ConstantsUtil.PRIVATE_KEY, ConstantsUtil.CHARSET, ConstantsUtil.ALIPAY_PUBLIC_KEY, ConstantsUtil.SIGN_TYPE);
+				System.out.println(alipayClient.toString());
+				AlipayDataDataserviceBillDownloadurlQueryRequest request=new AlipayDataDataserviceBillDownloadurlQueryRequest();
+				request.setBizContent(str);
+				AlipayDataDataserviceBillDownloadurlQueryResponse response=null;
+				try {
+					response=alipayClient.execute(request);
+					System.out.println(response.getBillDownloadUrl());
+					AlipayResponseParameterForDownloadurlQuery alipayResponseParameterForDownloadurlQuery=new AlipayResponseParameterForDownloadurlQuery();
+					 Map mapStr=JSON.parseObject(response.getBody(), Map.class);
+						for(Object obj:mapStr.keySet()){
+							if(obj=="sign"){
+								alipayResponseParameterForDownloadurlQuery.setSign((String)mapStr.get(obj));
+							}
+						}
+					alipayResponseParameterForDownloadurlQuery.setCode(response.getCode());
+					alipayResponseParameterForDownloadurlQuery.setMsg(response.getMsg());
+					alipayResponseParameterForDownloadurlQuery.setSub_code(response.getSubCode());
+					alipayResponseParameterForDownloadurlQuery.setSub_msg(response.getSubMsg());
+					alipayResponseParameterForDownloadurlQuery.setBill_download_url(response.getBillDownloadUrl());
+					resultStr=JSONUtil.objectToJson(alipayResponseParameterForDownloadurlQuery).toString();
+					InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+					interfaceInvokeLog.setCode(alipayResponseParameterForDownloadurlQuery.getCode());
+					interfaceInvokeLog.setMsg(alipayResponseParameterForDownloadurlQuery.getMsg());
+					interfaceInvokeLog.setSubCode(alipayResponseParameterForDownloadurlQuery.getSub_code());
+				    interfaceInvokeLog.setSubMsg(alipayResponseParameterForDownloadurlQuery.getSub_msg());
+				    interfaceInvokeLog.setBillDownloadUrl(alipayResponseParameterForDownloadurlQuery.getBill_download_url());
+				    int num=aliPayService.saveInvokeLog(interfaceInvokeLog);
+				    logger.debug("影响的行数"+num);
+				} catch (AlipayApiException e) {
+					errorString=e.toString();
+					resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_data_dataservice_bill_downloadurl_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_data_dataservice_bill_downloadurl_query_response>";
+					try {
+						resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+					} catch (DocumentException e1) {
+						// TODO Auto-generated catch block
+						e1.printStackTrace();
+					}
+				}
+			} catch (JSONException e) {
+			      errorString="数据格式转换错误(JSONException)";
+			      resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_data_dataservice_bill_downloadurl_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_data_dataservice_bill_downloadurl_query_response>";
+			      try {
+					resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			} catch (IOException e) {
+				errorString = "流异常(IOException)";
+				resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_data_dataservice_bill_downloadurl_query_response> <code>" + "-1" + "</code><msg>" + errorString + "</msg></alipay_data_dataservice_bill_downloadurl_query_response>";
+				try {
+					resultStr = Xml2JsonUtil.xml2Json(resultStr).toString();
+				} catch (DocumentException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			}
+		}else{
+			errorString="配置表里存在多条记录";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <alipay_data_dataservice_bill_downloadurl_query_response> <code>"+"-1"+"</code><msg>"+errorString+"</msg></alipay_data_dataservice_bill_downloadurl_query_response>";
+			try {
+				resultStr=Xml2JsonUtil.xml2Json(resultStr).toString();
+			} catch (DocumentException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		return resultStr;
+	}
+
+	/**
+	 * 
+	* @Title: payNotify 
+	* @Description: TODO(支付宝扫码回调方法) 
+	* @param @param responseParameterForNotify
+	* @param @return    设定文件
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/payNotify",method=RequestMethod.POST,produces=MediaType.TEXT_HTML_VALUE)
+	@ResponseBody
+    public String payNotify(HttpServletRequest request){
+		logger.debug("#############支付回调开始");
+	    try{
+		Map<String,String> param=new HashMap<String, String>();
+		Map<String,String[]> requestParam=request.getParameterMap();
+		for(Iterator iter=requestParam.keySet().iterator();iter.hasNext();){
+			String name=(String) iter.next();
+			String[] values=(String[])requestParam.get(name);
+			String valueStr="";
+			for(int i=0;i<values.length;i++){
+				valueStr=(i==values.length-1)?valueStr+values[i]:valueStr+values[i]+",";
+			}
+			valueStr=new String(valueStr.getBytes("UTF-8"),"UTF-8");
+			param.put(name, valueStr);
+		}
+		if(request.getParameter("refund_fee")==null){
+		AlipayJournal alipayJournal=new AlipayJournal();
+		String trade_no=new String(request.getParameter("trade_no").getBytes("UTF-8"),"UTF-8");
+		String out_trade_no=new String(request.getParameter("out_trade_no").getBytes("UTF-8"),"UTF-8");
+		String buyer_logon_id=new String(request.getParameter("buyer_logon_id").getBytes("UTF-8"),"UTF-8");
+		String seller_id=new String(request.getParameter("seller_id").getBytes("UTF-8"),"UTF-8");
+		String seller_email=new String(request.getParameter("seller_email").getBytes("UTF-8"),"UTF-8");
+		String trade_status=new String(request.getParameter("trade_status").getBytes("UTF-8"),"UTF-8");
+		String total_amount=new String(request.getParameter("total_amount").getBytes("UTF-8"),"UTF-8");
+		String receipt_amount=new String(request.getParameter("receipt_amount").getBytes("UTF-8"),"UTF-8");
+		String invoice_amount=new String(request.getParameter("invoice_amount").getBytes("UTF-8"),"UTF-8");
+		String buyer_pay_amount=new String(request.getParameter("buyer_pay_amount").getBytes("UTF-8"),"UTF-8");
+		String subject=new String(request.getParameter("subject").getBytes("UTF-8"),"UTF-8");
+		String sign_type=new String(request.getParameter("sign_type").getBytes("UTF-8"),"UTF-8");
+		String notify_id=new String(request.getParameter("notify_id").getBytes("UTF-8"),"UTF-8");
+		String notify_type=new String(request.getParameter("notify_type").getBytes("UTF-8"),"UTF-8");
+		String notify_time=new String(request.getParameter("notify_time").getBytes("UTF-8"),"UTF-8");
+		alipayJournal.setTrade_no(trade_no);
+		alipayJournal.setOut_trade_no(out_trade_no);
+		alipayJournal.setBuyer_logon_id(buyer_logon_id);
+		alipayJournal.setSeller_id(seller_id);
+		alipayJournal.setSeller_email(seller_email);
+		alipayJournal.setTrade_status(trade_status);
+		alipayJournal.setTotal_amount(total_amount);
+		alipayJournal.setReceipt_amount(receipt_amount);
+		alipayJournal.setInvoice_amount(invoice_amount);
+		alipayJournal.setBuyer_pay_amount(buyer_pay_amount);
+		alipayJournal.setSubject(subject);
+	    alipayJournal.setSign_type(sign_type);
+	    alipayJournal.setNotify_id(notify_id);
+	    alipayJournal.setNotify_time(DateUtil.parseDate(notify_time));
+	    alipayJournal.setNotify_type(notify_type);
+	    int num=alipayJournalService.insertAlipayJournal(alipayJournal);
+	    logger.debug("影响的行数"+num);
+	    InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+	    interfaceInvokeLog.setTradeNo(trade_no);
+	    interfaceInvokeLog.setOutTradeNo(out_trade_no);
+	    interfaceInvokeLog.setTotalFee(Float.valueOf(total_amount));
+	    interfaceInvokeLog.setBuyerLogonId(buyer_logon_id);
+	    interfaceInvokeLog.setReceiptAmount(receipt_amount);
+	    interfaceInvokeLog.setTradeStatus(trade_status);
+	    interfaceInvokeLog.setNotifyId(notify_id);
+	    int number=aliPayService.saveInvokeLog(interfaceInvokeLog);
+	    logger.debug("#########影响行数"+number);
+		}
+//        if(AlipayNotify.verify(param)){
+//				out.write("success");
+//		 }else{
+//	    	out.write("fail");
+//		 }
+			if(AlipaySignature.rsaCheckV1(param, ConstantsUtil.ALIPAY_PUBLIC_KEY,ConstantsUtil.CHARSET, ConstantsUtil.SIGN_TYPE)){
+				logger.debug("#############################################################################给回调接口发送接收成功结果开始");
+				//给回调接口发送接收成功结果
+				
+				
+				logger.debug("##################################################################给回调接口发送接收成功结果字符串"+"success");
+				logger.debug("############################################################################给回调接口发送接收成功结果结束");
+				return "success";
+			 }else{
+				return "fail";
+			 }
+	    }catch (UnsupportedEncodingException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}catch(IOException e){
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (AlipayApiException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return null;
+    }
+	
+	
+	@RequestMapping(value="/refundNotify",method=RequestMethod.POST)
+	public String refundNotify(HttpServletRequest request,HttpServletResponse response){
+		logger.debug("##########退款回调开始");
+		try {
+			PrintWriter out=response.getWriter();
+		
+		Map<String,String> params=new HashMap<String, String>();
+		Map<String,String[]> requestParams=request.getParameterMap();
+		for(Iterator iter=requestParams.keySet().iterator();iter.hasNext();){
+			String name=(String) iter.next();
+			String[] values=(String[]) requestParams.get(name);
+			String valueStr="";
+			for(int i=0;i<values.length;i++){
+				valueStr=(i==values.length-1)?valueStr+values[i]:valueStr+values[i]+",";
+			}
+			params.put(name, valueStr);
+		}
+		String notify_time=new String(request.getParameter("notify_time").getBytes("UTF-8"),"UTF-8");
+		String notify_type=new String(request.getParameter("notify_type").getBytes("UTF-8"),"UTF-8");
+		String  notify_id=new String(request.getParameter("notify_id").getBytes("UTF-8"),"UTF-8");
+		String sign_type=new String(request.getParameter("sign_type").getBytes("UTF-8"),"UTF-8");
+		String trade_no=new String(request.getParameter("trade_no").getBytes("UTF-8"),"UTF-8");
+		String out_trade_no=new String(request.getParameter("out_trade_no").getBytes("UTF-8"),"UTF-8");
+		String buyer_logon_id =new String(request.getParameter("buyer_logon_id").getBytes("UTF-8"),"UTF-8");
+		String seller_id=new String(request.getParameter("seller_id").getBytes("UTF-8"),"UTF-8");
+		String seller_email=new String(request.getParameter("seller_email").getBytes("UTF-8"),"UTF-8");
+		String total_amount =new String(request.getParameter("total_amount").getBytes("UTF-8"),"UTF-8");
+		String refund_fee=new String(request.getParameter("refund_fee").getBytes("UTF-8"),"UTF-8");
+		String send_back_fee=new String(request.getParameter("send_back_fee").getBytes("UTF-8"),"UTF-8");
+		String gmt_refund=new String(request.getParameter("gmt_refund").getBytes("UTF-8"),"UTF-8");
+		AlipayJournal alipayJournal=new AlipayJournal();
+		alipayJournal.setNotify_time(DateUtil.parseDate(notify_time));
+		alipayJournal.setNotify_type(notify_type);
+		alipayJournal.setNotify_id(notify_id);
+		alipayJournal.setSign_type(sign_type);
+		alipayJournal.setTrade_no(trade_no);
+		alipayJournal.setOut_trade_no(out_trade_no);
+		alipayJournal.setBuyer_logon_id(buyer_logon_id);
+		alipayJournal.setSeller_id(seller_id);
+		alipayJournal.setSeller_email(seller_email);
+		alipayJournal.setTotal_amount(total_amount);
+		alipayJournal.setRefund_fee(refund_fee);
+		alipayJournal.setSend_back_fee(send_back_fee);
+		SimpleDateFormat formate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	    String strdate=formate.format(gmt_refund);
+		alipayJournal.setGmt_refund_pay(strdate);
+		int num=alipayJournalService.insertAlipayJournal(alipayJournal);
+		logger.debug("######影响行数"+num);
+		InterfaceInvokeLog interfaceInvokeLog=new InterfaceInvokeLog();
+		interfaceInvokeLog.setNotifyId(notify_id);
+		interfaceInvokeLog.setOutTradeNo(out_trade_no);
+		interfaceInvokeLog.setTradeNo(trade_no);
+		interfaceInvokeLog.setRefundFee(refund_fee);
+		interfaceInvokeLog.setTotalFee(Float.valueOf(total_amount));
+		int number=aliPayService.saveInvokeLog(interfaceInvokeLog);
+		logger.debug("######影响的行数"+number);
+			if(AlipaySignature.rsaCheckV1(params, ConstantsUtil.ALIPAY_PUBLIC_KEY, ConstantsUtil.CHARSET, ConstantsUtil.SIGN_TYPE)){
+				logger.debug("###########退款异步验签");
+				return "success";
+			}else{
+				return "fail";
+			}
+		
+		}catch(IOException e){
+			e.printStackTrace();
+		}catch (AlipayApiException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	public String getWebappsURL(){
+		String fengeFu = File.separator;
+		WebApplicationContext webApplicationContext = ContextLoader
+				.getCurrentWebApplicationContext();
+		ServletContext servletContext = webApplicationContext.getServletContext();
+		String webRoot = servletContext.getRealPath(fengeFu);
+		int lastXiegangIndex = webRoot.substring(0,
+				webRoot.lastIndexOf(fengeFu)).lastIndexOf(fengeFu);
+		String webappsLujing = webRoot.substring(0, lastXiegangIndex);
+		return webappsLujing;
+	}
+}

+ 28 - 0
PreRegistration/PreRegistration/src/main/java/com/platform/controller/alipay/AlipayXmlController.java

@@ -0,0 +1,28 @@
+/**   
+* @Title: AlipayXmlController.java 
+* @Package com.platform.controller.alipay 
+* @Description: TODO(用一句话描述该文件做什么) 
+* @author kiosk
+* @date 2017年8月28日 上午8:21:21 
+* @version V1.0   
+*/
+package com.platform.controller.alipay;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/** 
+ * @ClassName: AlipayXmlController 
+ * @Description: TODO(支付宝AliPay扫码付对接类) 
+ * @author kiosk
+ * @date 2017年8月28日 上午8:21:21 
+ *  
+ */
+@Controller
+@RequestMapping("/alipayxml")
+public class AlipayXmlController {
+	//定义日志文件操作类对象
+	private static Logger logger =(Logger) LoggerFactory.getLogger(AlipayXmlController.class);
+}

+ 749 - 0
PreRegistration/PreRegistration/src/main/java/com/platform/controller/epay/EPayJsonController.java

@@ -0,0 +1,749 @@
+package com.platform.controller.epay;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+import org.json.JSONException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import com.platform.pojo.InterfaceInvokeLog;
+import com.platform.request.json.RequestParameter;
+import com.platform.request.json.RequestParameterForEpay;
+import com.platform.response.json.ResponseParameter;
+import com.platform.response.json.ResponseParameterForInsert;
+import com.platform.service.IEPayService;
+import com.platform.util.ClassUtil;
+import com.platform.util.ConstantsUtil;
+import com.platform.util.DateUtil;
+import com.platform.util.EpayMD5;
+import com.platform.util.HttpUtil;
+import com.platform.util.JSONUtil;
+
+/**
+ * 
+* @ClassName: EPayController 
+* @Description: TODO(兰州银行百合易付(EPay)支付对接类) 
+* @author kiosk
+* @date 2017年7月23日 下午4:24:01 
+*
+ */
+
+@Controller
+@RequestMapping("/epayjson")
+public class EPayJsonController {
+	//定义日志文件操作类对象
+	private static Logger logger =(Logger) LoggerFactory.getLogger(EPayJsonController.class);
+	@Resource
+	private IEPayService ePayService;
+	
+	/**
+	 * 
+	* @Title: pay 
+	* @Description: TODO(百合易付支付下单接口) 
+	* @param @param requestParameter
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/pay",method=RequestMethod.POST)
+	@ResponseBody
+	public String pay(@RequestBody RequestParameter requestParameter){
+		logger.debug("执行百合易付支付下单接口pay方法开始@@@@@@@@@@@");
+		logger.debug("接收到的body值:"+requestParameter);
+		String resultStr=null;
+		String str = null;
+		String errorString=null;
+		ObjectMapper mapper = new ObjectMapper(); //转换器
+		//全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+		mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
+		try {
+			//将传入的Java类转换为Json串
+			str = JSONUtil.objectToJson(requestParameter).toString();
+			logger.debug("body值转换为Json串:"+str);
+			RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+			//准备支付赋值操作
+			requestParamForEpay=(RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+			requestParamForEpay.setService("unifiedorder_service");  //服务名称	 
+			requestParamForEpay.setService_version("2.0"); //版本号
+			requestParamForEpay.setInput_charset("UTF-8");  //字符集
+			requestParamForEpay.setSign_type("MD5");//签名算法
+			requestParamForEpay.setFee_type("1");//人民币
+			Map<String,String> params = new HashMap<String,String>();
+			params=ClassUtil.setConditionMap(requestParamForEpay);
+			//签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+			//拼原始串
+			Map<String,String> filterMap=EpayMD5.paraFilter(params);
+			String linkStr=EpayMD5.createLinkString(filterMap);
+			logger.debug("MD5签名拼原始串的值:"+linkStr);
+			//签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+			String sign= EpayMD5.sign(linkStr, ConstantsUtil.SIGN_KEY_TEST, "UTF-8");
+			logger.debug("私钥(key)加入进行MD5签名后的值:"+sign);
+			params.put("sign",sign);//将签名结果放入map
+			//发送POST请求,返回XML结果
+			resultStr=HttpUtil.sendPostMap(ConstantsUtil.PAY_REQUEST_TEST_URL, params, "UTF-8",false);
+			logger.debug("执行HTTP POST 请求后得到的XML返回结果:"+resultStr);
+			if(null==resultStr || "".equals(resultStr)){
+				errorString="接口异常!返回数据为空,请检查接口是否可用;接口地址:"+ConstantsUtil.PAY_REQUEST_TEST_URL;
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+				logger.debug("@@@@@@@@@@@@@@@@@@"+errorString);
+			}else {
+				/**
+				 * ******************************************************************************************************
+				 */
+				//将返回的XML结果封装处理成接口调用日志Java类对象
+				XmlMapper xmlMapper = new XmlMapper();
+				ResponseParameterForInsert responseParameterForInsert=new ResponseParameterForInsert();
+				try {
+					responseParameterForInsert = xmlMapper.readValue(resultStr, ResponseParameterForInsert.class);
+					logger.debug("XML结果封装处理成接口调用成功,日志Java类对象为:"+responseParameterForInsert);
+					//声明日志插入结果对象
+					InterfaceInvokeLog record = new InterfaceInvokeLog();
+					//基础赋值
+					record.setMachineIp(requestParameter.getMachine_ip());
+					record.setMachineNo(requestParameter.getMachine_no());
+					record.setMachineName(requestParameter.getMachine_name());
+					record.setMachineType(requestParameter.getMachine_type());
+					record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+					record.setInvokeType("1");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+					record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+					record.setService(responseParameterForInsert.getService());
+					record.setServiceVersion(responseParameterForInsert.getService_version());
+					record.setInputCharset(responseParameterForInsert.getInput_charset());
+					//对象赋值操作
+					record.setRetcode(responseParameterForInsert.getRetcode());
+					record.setTransactionId(responseParameterForInsert.getTransaction_id());
+					record.setOutTradeNo(responseParameterForInsert.getOut_trade_no());
+					record.setCodeUrl(responseParameterForInsert.getCode_url());
+					record.setQrUrl(responseParameterForInsert.getQr_url());
+					//调用service,插入对象
+					logger.debug("调用service,插入对象开始@@@@@@@@@@@@@@");
+					int num = ePayService.saveInvokeLog(record);
+					logger.debug("调用service,插入对象结束,影响条数:"+num);
+		        }catch(JsonParseException e){
+		        	logger.debug("XML结果封装处理成接口调用日志Java类对象失败,Json解析出错:"+e.toString());
+		        	e.printStackTrace();
+		        }catch(JsonMappingException e){
+		        	 logger.debug("XML结果封装处理成接口调用日志Java类对象失败,Json映射出错:"+e.toString());
+		        	 e.printStackTrace();
+		        }catch (IOException e) {
+		            // TODO Auto-generated catch block
+		            e.printStackTrace();
+		            logger.debug("XML结果封装处理成接口调用日志Java类对象失败,流出错:"+e.toString());
+		        }
+			}
+		} catch (JSONException e) {
+			errorString="数据转换错误(JSONException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("数据转换错误(JSONException):"+e.toString());
+		} catch (IOException e) {
+			errorString="流异常(IOException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("流异常(IOException):"+e.toString());
+		}
+		logger.debug("执行百合易付支付下单接口pay方法结束@@@@@@@@@@@");
+		
+		return resultStr;
+	}
+	
+	/**
+	 * 
+	* @Title: refund 
+	* @Description: TODO(百合易付退款接口) 
+	* @param @param requestParameter
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/refund",method=RequestMethod.POST)
+	@ResponseBody
+	public String refund(@RequestBody RequestParameter requestParameter){
+		logger.debug("执行百合易付退款接口refund方法开始@@@@@@@@@@@");
+		logger.debug("接收到的body值:"+requestParameter);
+		String resultStr=null;
+		String str = null;
+		String errorString=null;
+		ObjectMapper mapper = new ObjectMapper(); //转换器
+		//全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+		mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
+		try {
+			//将传入的Java类转换为Json串
+			str = JSONUtil.objectToJson(requestParameter).toString();
+			logger.debug("body值转换为Json串:"+str);
+			RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+			//准备退款赋值操作
+			requestParamForEpay=(RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+			//准备退款赋值操作
+			requestParamForEpay.setService("refund_service");  //服务名称	 
+			requestParamForEpay.setService_version("1.0"); //版本号
+			requestParamForEpay.setInput_charset("UTF-8");  //字符集
+			requestParamForEpay.setSign_type("MD5");//签名算法
+			Map<String,String> params = new HashMap<String,String>();
+			params=ClassUtil.setConditionMap(requestParamForEpay);
+			//签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+			//拼原始串
+			Map<String,String> filterMap=EpayMD5.paraFilter(params);
+			String linkStr=EpayMD5.createLinkString(filterMap);
+			logger.debug("MD5签名拼原始串的值:"+linkStr);
+			//签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+			String sign= EpayMD5.sign(linkStr, ConstantsUtil.SIGN_KEY_TEST, "UTF-8");
+			logger.debug("私钥(key)加入进行MD5签名后的值:"+sign);
+			params.put("sign",sign);//将签名结果放入map
+			//发送POST请求,返回XML结果
+			resultStr=HttpUtil.sendPostMap(ConstantsUtil.REFUND_REQUEST_TEST_URL, params, "UTF-8",false);
+			logger.debug("执行HTTP POST 请求后得到的XML返回结果:"+resultStr);
+			if(null==resultStr || "".equals(resultStr)){
+				errorString="接口异常!返回数据为空,请检查接口是否可用;接口地址:"+ConstantsUtil.REFUND_REQUEST_TEST_URL;
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+				logger.debug("@@@@@@@@@@@@@@@@@@"+errorString);
+			}else {
+				/**
+				 * ******************************************************************************************************
+				 */
+				//将返回的XML结果封装处理成接口调用日志Java类对象
+				XmlMapper xmlMapper = new XmlMapper();
+				ResponseParameterForInsert responseParameterForInsert=new ResponseParameterForInsert();
+				try {
+					responseParameterForInsert = xmlMapper.readValue(resultStr, ResponseParameterForInsert.class);
+					logger.debug("XML结果封装处理成接口调用成功,日志Java类对象为:"+responseParameterForInsert);
+					//声明日志插入结果对象
+					InterfaceInvokeLog record = new InterfaceInvokeLog();
+					//基础赋值
+					record.setMachineIp(requestParameter.getMachine_ip());
+					record.setMachineNo(requestParameter.getMachine_no());
+					record.setMachineName(requestParameter.getMachine_name());
+					record.setMachineType(requestParameter.getMachine_type());
+					record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+					record.setInvokeType("2");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+					record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+					record.setService(responseParameterForInsert.getService());
+					record.setServiceVersion(responseParameterForInsert.getService_version());
+					record.setInputCharset(responseParameterForInsert.getInput_charset());
+					record.setSignType(responseParameterForInsert.getSign_type());
+					record.setSign(responseParameterForInsert.getSign());
+					//对象赋值操作
+					record.setRetcode(responseParameterForInsert.getRetcode());
+					record.setRetmsg(responseParameterForInsert.getRetmsg());
+					record.setPartner(responseParameterForInsert.getPartner());
+					record.setSubpartner(responseParameterForInsert.getSubpartner());
+					record.setTransactionId(responseParameterForInsert.getTransaction_id());
+					record.setOutRefundNo(responseParameterForInsert.getOut_refund_no());
+					record.setRefundId(responseParameterForInsert.getRefund_id());
+					record.setRefundChannel(responseParameterForInsert.getRefund_channel());
+					record.setRefundFee(responseParameterForInsert.getRefund_fee());
+					record.setRefundStatus(responseParameterForInsert.getRefund_status());
+					record.setRecvUserId(responseParameterForInsert.getRecv_user_id());
+					record.setReccvUserName(responseParameterForInsert.getReccv_user_name());
+					record.setTimeEnd(responseParameterForInsert.getTime_end());
+					//调用service,插入对象
+					logger.debug("调用service,插入对象开始@@@@@@@@@@@@@@");
+					int num = ePayService.saveInvokeLog(record);
+					logger.debug("调用service,插入对象结束,影响条数:"+num);
+		        }catch(JsonParseException e){
+		        	logger.debug("XML结果封装处理成接口调用日志Java类对象失败,Json解析出错:"+e.toString());
+		        	e.printStackTrace();
+		        }catch(JsonMappingException e){
+		        	 logger.debug("XML结果封装处理成接口调用日志Java类对象失败,Json映射出错:"+e.toString());
+		        	 e.printStackTrace();
+		        }catch (IOException e) {
+		            // TODO Auto-generated catch block
+		            e.printStackTrace();
+		            logger.debug("XML结果封装处理成接口调用日志Java类对象失败,流出错:"+e.toString());
+		        }
+			}
+			logger.debug("执行百合易付退款接口refund方法结束@@@@@@@@@@@");
+		} catch (JSONException e) {
+			errorString="数据转换错误(JSONException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("数据转换错误(JSONException):"+e.toString());
+		} catch (IOException e) {
+			errorString="流异常(IOException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("流异常(IOException):"+e.toString());
+		}
+		logger.debug("执行百合易付退款接口refund方法结束@@@@@@@@@@@");
+		return resultStr;
+	}
+	
+	/**
+	 * 
+	* @Title: search 
+	* @Description: TODO(百合易付订单查询接口) 
+	* @param @param requestParameter
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/search",method=RequestMethod.POST)
+	@ResponseBody
+	public String search(@RequestBody RequestParameter requestParameter){
+		logger.debug("执行百合易付订单查询接口search方法开始@@@@@@@@@@@");
+		logger.debug("接收到的body值:"+requestParameter);
+		String resultStr=null;
+		String str = null;
+		String errorString=null;
+		ObjectMapper mapper = new ObjectMapper(); //转换器
+		//全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+		mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
+		try {
+			//将传入的Java类转换为Json串
+			str = JSONUtil.objectToJson(requestParameter).toString();
+			logger.debug("body值转换为Json串:"+str);
+			RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+			//准备查询赋值操作
+			requestParamForEpay=(RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+			//准备查询赋值操作
+			requestParamForEpay.setService("query_order_service");  //服务名称
+			requestParamForEpay.setService_version("1.0"); //版本号
+			requestParamForEpay.setInput_charset("UTF-8");  //字符集
+			requestParamForEpay.setSign_type("MD5");//签名算法
+			Map<String,String> params = new HashMap<String,String>();
+			params=ClassUtil.setConditionMap(requestParamForEpay);
+			//签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+			//拼原始串
+			Map<String,String> filterMap=EpayMD5.paraFilter(params);
+			String linkStr=EpayMD5.createLinkString(filterMap);
+			logger.debug("MD5签名拼原始串的值:"+linkStr);
+			//签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+			String sign= EpayMD5.sign(linkStr, ConstantsUtil.SIGN_KEY_TEST, "UTF-8");
+			logger.debug("私钥(key)加入进行MD5签名后的值:"+sign);
+			params.put("sign",sign);//将签名结果放入map
+			//发送POST请求,返回XML结果
+			resultStr=HttpUtil.sendPostMap(ConstantsUtil.SEARCH_REQUEST_TEST_URL, params, "UTF-8",false);
+			logger.debug("执行HTTP POST 请求后得到的XML返回结果:"+resultStr);
+			if(null==resultStr || "".equals(resultStr)){
+				errorString="接口异常!返回数据为空,请检查接口是否可用;接口地址:"+ConstantsUtil.SEARCH_REQUEST_TEST_URL;
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+				logger.debug("@@@@@@@@@@@@@@@@@@"+errorString);
+			}else {
+				/**
+				 * ******************************************************************************************************
+				 */
+				//将返回的XML结果封装处理成接口调用日志Java类对象
+				XmlMapper xmlMapper = new XmlMapper();
+				ResponseParameterForInsert responseParameterForInsert=new ResponseParameterForInsert();
+				try {
+					responseParameterForInsert = xmlMapper.readValue(resultStr, ResponseParameterForInsert.class);
+					logger.debug("XML结果封装处理成接口调用成功,日志Java类对象为:"+responseParameterForInsert);
+					//声明日志插入结果对象
+					InterfaceInvokeLog record = new InterfaceInvokeLog();
+					//基础赋值
+					record.setMachineIp(requestParameter.getMachine_ip());
+					record.setMachineNo(requestParameter.getMachine_no());
+					record.setMachineName(requestParameter.getMachine_name());
+					record.setMachineType(requestParameter.getMachine_type());
+					record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+					record.setInvokeType("3");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+					record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+					record.setService(responseParameterForInsert.getService());
+					record.setServiceVersion(responseParameterForInsert.getService_version());
+					record.setInputCharset(responseParameterForInsert.getInput_charset());
+					record.setSignType(responseParameterForInsert.getSign_type());
+					record.setSign(responseParameterForInsert.getSign());
+					//对象赋值操作
+					record.setRetcode(responseParameterForInsert.getRetcode());
+					record.setTradeState(responseParameterForInsert.getTrade_state());
+					record.setRefundState(responseParameterForInsert.getRefund_state());
+					record.setClearState(responseParameterForInsert.getClear_state());
+					record.setRetmsg(responseParameterForInsert.getRetmsg());
+					record.setTradeMode(responseParameterForInsert.getTrade_mode());
+					record.setTradeType(responseParameterForInsert.getTrade_type());
+					record.setBankTransno(responseParameterForInsert.getBank_transno());
+					record.setTotalFee(Float.parseFloat(responseParameterForInsert.getTotal_fee()));
+					record.setFeeType(responseParameterForInsert.getFee_type());
+					record.setOutTradeNo(responseParameterForInsert.getOut_trade_no());
+					record.setOutRefundNo(responseParameterForInsert.getOut_refund_no());
+					record.setTransactionId(responseParameterForInsert.getTransaction_id());
+					record.setIsSplit(String.valueOf(responseParameterForInsert.isIs_split()));
+					record.setTimeEnd(responseParameterForInsert.getTime_end());
+					if(null != responseParameterForInsert.getTransport_fee()){
+						record.setTransportFee(responseParameterForInsert.getTransport_fee().toString());
+					}
+					record.setPlatCharge(String.valueOf(responseParameterForInsert.getPlatCharge()));
+					record.setSubPlatCharge(String.valueOf(responseParameterForInsert.getSubPlatCharge()));
+					record.setProductFee(String.valueOf(responseParameterForInsert.getProduct_fee()));
+					record.setDiscount(String.valueOf(responseParameterForInsert.getDiscount()));
+					record.setAttach(responseParameterForInsert.getAttach());
+					//调用service,插入对象
+					logger.debug("调用service,插入对象开始@@@@@@@@@@@@@@");
+					int num = ePayService.saveInvokeLog(record);
+					logger.debug("调用service,插入对象结束,影响条数:"+num);
+					logger.debug("执行百合易付订单查询接口search方法结束@@@@@@@@@@@");
+		        }catch(JsonParseException e){
+		        	logger.debug("XML结果封装处理成接口调用日志Java类对象失败,Json解析出错:"+e.toString());
+		        	e.printStackTrace();
+		        }catch(JsonMappingException e){
+		        	 logger.debug("XML结果封装处理成接口调用日志Java类对象失败,Json映射出错:"+e.toString());
+		        	 e.printStackTrace();
+		        }catch (IOException e) {
+		            // TODO Auto-generated catch block
+		            e.printStackTrace();
+		            logger.debug("XML结果封装处理成接口调用日志Java类对象失败,流出错:"+e.toString());
+		        }
+			}
+			logger.debug("执行百合易付订单查询接口search方法结束@@@@@@@@@@@");
+		} catch (JSONException e) {
+			errorString="数据转换错误(JSONException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("数据转换错误(JSONException):"+e.toString());
+		} catch (IOException e) {
+			errorString="流异常(IOException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("流异常(IOException):"+e.toString());
+		}
+		logger.debug("执行百合易付订单查询接口search方法结束@@@@@@@@@@@");
+		return resultStr;
+	}
+	
+	/**
+	 * 
+	* @Title: paynotify 
+	* @Description: TODO(百合易付支付异步通知接口) 
+	* @param @param responseParameter
+	* @param @param response
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/paynotify",method=RequestMethod.POST,consumes="application/x-www-form-urlencoded")
+	public void paynotify(ResponseParameter responseParameter, HttpServletResponse response){
+		logger.debug("执行百合易付支付异步通知接口paynotify方法开始@@@@@@@@@@@");
+		logger.debug("接收到的值:"+responseParameter);
+		try {
+			logger.debug("日志表插入开始@@@@@@@@@@@@@@");
+			//声明日志插入结果对象
+			InterfaceInvokeLog record = new InterfaceInvokeLog();
+			logger.debug("声明日志插入结果对象@@@@@@@@@@@@@@"+record);
+			//基础赋值
+			logger.debug("基础赋值操作开始@@@@@@@@@@@@@@");
+			record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+			record.setInvokeType("4");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+			record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+			record.setService(responseParameter.getService());
+			record.setServiceVersion(responseParameter.getService_version());
+			record.setInputCharset(responseParameter.getInput_charset());
+			record.setSignType(responseParameter.getSign_type());
+			record.setSign(responseParameter.getSign());
+			logger.debug("基础赋值操作结束@@@@@@@@@@@@@@");
+			//对象赋值操作
+			logger.debug("对象赋值操作开始@@@@@@@@@@@@@@");
+			record.setRetcode(responseParameter.getRetcode());
+			record.setTradeMode(responseParameter.getTrade_mode());
+			record.setTradeState(responseParameter.getTrade_state());
+			record.setPayInfo(responseParameter.getPay_info());
+			record.setTransChannel(responseParameter.getTrans_channel());
+			record.setPartner(responseParameter.getPartner());
+			record.setSubpartner(responseParameter.getSubpartner());
+			record.setOutTradeNo(responseParameter.getOut_trade_no());
+			record.setTransactionId(responseParameter.getTransaction_id());
+			record.setBankType(responseParameter.getBank_type());
+			record.setTotalFee(Float.parseFloat(responseParameter.getTotal_fee()));
+			record.setFeeType(responseParameter.getFee_type());
+			record.setNotifyId(responseParameter.getNotify_id());
+			record.setTimeEnd(responseParameter.getTime_end());
+			if(null != responseParameter.getTransport_fee()){
+				record.setTransportFee(responseParameter.getTransport_fee().toString());
+			}
+			if(null != responseParameter.getProduct_fee()){
+				record.setProductFee(responseParameter.getProduct_fee().toString());
+			}
+			if(null != responseParameter.getDiscount()){
+				record.setDiscount(responseParameter.getDiscount().toString());
+			}
+			record.setBuyerAlias(responseParameter.getBuyer_alias());
+			record.setAttach(responseParameter.getAttach());
+			logger.debug("对象赋值操作结束@@@@@@@@@@@@@@");
+			//调用service,插入对象
+			logger.debug("调用service,插入对象开始@@@@@@@@@@@@@@");
+			int num = ePayService.saveInvokeLog(record);
+			logger.debug("调用service,插入对象结束,影响条数:"+num);
+			logger.debug("日志表插入结束@@@@@@@@@@@@@@");
+			/**
+			 * *****************************************************************************************
+			 */
+			logger.debug("给回调接口发送接收成功结果开始@@@@@@@@@@@");
+			//给回调接口发送接收成功结果
+			response.reset();
+			PrintWriter out = response.getWriter();
+			out.write("success");
+			logger.debug("给回调接口发送接收成功结果字符串"+"success");
+			logger.debug("给回调接口发送接收成功结果结束@@@@@@@@@@@");
+			/**
+			 * *******************************************************************************************
+			 */
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			 logger.debug("支付回调失败,异常信息:"+e.toString());
+		}
+	}
+	
+	/**
+	 * 
+	* @Title: refundnotify 
+	* @Description: TODO(百合易付退款异步通知接口方法) 
+	* @param @param responseParameter
+	* @param @param response    设定文件 
+	* @return void    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/refundnotify",method=RequestMethod.POST,consumes="application/x-www-form-urlencoded")
+	public void refundnotify(ResponseParameter responseParameter, HttpServletResponse response){
+		logger.debug("执行百合易付退款异步通知接口refundnotify方法开始@@@@@@@@@@@");
+		logger.debug("接收到的值:"+responseParameter);
+		try {
+			logger.debug("日志表插入开始@@@@@@@@@@@@@@");
+			//声明日志插入结果对象
+			InterfaceInvokeLog record = new InterfaceInvokeLog();
+			logger.debug("声明日志插入结果对象@@@@@@@@@@@@@@"+record);
+			//基础赋值
+			logger.debug("基础赋值操作开始@@@@@@@@@@@@@@");
+			record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+			record.setInvokeType("5");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+			record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+			record.setService(responseParameter.getService());
+			record.setServiceVersion(responseParameter.getService_version());
+			record.setInputCharset(responseParameter.getInput_charset());
+			record.setSignType(responseParameter.getSign_type());
+			record.setSign(responseParameter.getSign());
+			logger.debug("基础赋值操作结束@@@@@@@@@@@@@@");
+			//对象赋值操作
+			logger.debug("对象赋值操作开始@@@@@@@@@@@@@@");
+			record.setRetcode(responseParameter.getRetcode());
+			record.setRetmsg(responseParameter.getRetmsg());
+			record.setPartner(responseParameter.getPartner());
+			record.setSubpartner(responseParameter.getSubpartner());
+			record.setTransactionId(responseParameter.getTransaction_id());
+			record.setOutRefundNo(responseParameter.getOut_refund_no());
+			record.setRefundId(responseParameter.getRefund_id());
+			record.setRefundChannel(responseParameter.getRefund_channel());
+			record.setRefundFee(responseParameter.getRefund_fee());
+			record.setRefundStatus(responseParameter.getRefund_status());
+			record.setRecvUserId(responseParameter.getRecv_user_id());
+			record.setReccvUserName(responseParameter.getReccv_user_name());
+			record.setTimeEnd(responseParameter.getTime_end());
+			logger.debug("对象赋值操作结束@@@@@@@@@@@@@@");
+			//调用service,插入对象
+			logger.debug("调用service,插入对象开始@@@@@@@@@@@@@@");
+			int num = ePayService.saveInvokeLog(record);
+			logger.debug("调用service,插入对象结束,影响条数:"+num);
+			logger.debug("日志表插入结束@@@@@@@@@@@@@@");
+			/**
+			 * *****************************************************************************************
+			 */
+			logger.debug("给回调接口发送接收成功结果开始@@@@@@@@@@@");
+			//给回调接口发送接收成功结果
+			response.reset();
+			PrintWriter out = response.getWriter();
+			out.write("success");
+			logger.debug("给回调接口发送接收成功结果字符串"+"success");
+			logger.debug("给回调接口发送接收成功结果结束@@@@@@@@@@@");
+			/**
+			 * *******************************************************************************************
+			 */
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			 logger.debug("支付回调失败,异常信息:"+e.toString());
+		}
+	}
+	
+	/**
+	 * 
+	* @Title: accountdownload 
+	* @Description: TODO(对账单下载接口)
+	* 商户对指定日期的对账单发起查询,三维易付实时返回该天订单的信息。接口只能下载昨天及昨天之前的对账单 
+	* @param @param requestParameter
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/accountdownload",method=RequestMethod.POST)
+	@ResponseBody
+	public String accountdownload(@RequestBody RequestParameter requestParameter){
+		logger.debug("执行百合易付对账单下载接口accountdownload方法开始@@@@@@@@@@@");
+		logger.debug("接收到的body值:"+requestParameter);
+		String resultStr=null;
+		String str = null;
+		String errorString=null;
+		ObjectMapper mapper = new ObjectMapper(); //转换器
+		//全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+		mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
+		try {
+			//将传入的Java类转换为Json串
+			str = JSONUtil.objectToJson(requestParameter).toString();
+			logger.debug("body值转换为Json串:"+str);
+			RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+			//准备查询赋值操作
+			requestParamForEpay=(RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+			//准备查询赋值操作
+			requestParamForEpay.setService("account_ download_service");  //服务名称
+			requestParamForEpay.setService_version("1.0"); //版本号
+			requestParamForEpay.setInput_charset("UTF-8");  //字符集
+			requestParamForEpay.setSign_type("MD5");//签名算法
+			Map<String,String> params = new HashMap<String,String>();
+			params=ClassUtil.setConditionMap(requestParamForEpay);
+			//签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+			//拼原始串
+			Map<String,String> filterMap=EpayMD5.paraFilter(params);
+			String linkStr=EpayMD5.createLinkString(filterMap);
+			logger.debug("MD5签名拼原始串的值:"+linkStr);
+			//签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+			String sign= EpayMD5.sign(linkStr, ConstantsUtil.SIGN_KEY_TEST, "UTF-8");
+			logger.debug("私钥(key)加入进行MD5签名后的值:"+sign);
+			params.put("sign",sign);//将签名结果放入map
+			//发送POST请求,返回XML结果
+			resultStr=HttpUtil.sendPostMap(ConstantsUtil.ACCOUNT_DOWNLOAD_TEST_URL, params, "UTF-8",false);
+			logger.debug("执行HTTP POST 请求后得到的XML返回结果:"+resultStr);
+			if(null==resultStr || "".equals(resultStr)){
+				errorString="接口异常!返回数据为空,请检查接口是否可用;接口地址:"+ConstantsUtil.ACCOUNT_DOWNLOAD_TEST_URL;
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+				logger.debug("@@@@@@@@@@@@@@@@@@"+errorString);
+			}else {
+				//do nothing
+			}
+		} catch (JSONException e) {
+			errorString="数据转换错误(JSONException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("数据转换错误(JSONException):"+e.toString());
+		} catch (IOException e) {
+			errorString="流异常(IOException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("流异常(IOException):"+e.toString());
+		}
+		logger.debug("执行百合易付对账单下载接口accountdownload方法结束@@@@@@@@@@@");
+		return resultStr;
+	}
+	
+	
+	
+	/**
+	 * 
+	* @Title: notifyIdSearch 
+	* @Description: TODO(通知ID查询接口:) 
+	* 对于商户系统支付的订单,返回支付结果时,如果返回的notify_id字段不为空,
+	* 商户系统通过商户号+notify_id的方式调用该查询接口,不需要签名,来验证是否来自三维易付的请求。
+	* 建议商户系统获取支付结果时,先调用此接口,返回成功时,再验证签名是否正确。二者都验证都通过后,再进行业务数据处理
+	* @param @param requestParameter
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/notifyidsearch",method=RequestMethod.POST)
+	@ResponseBody
+	public String notifyIdSearch(@RequestBody RequestParameter requestParameter){
+		logger.debug("执行百合易付通知ID查询接口notifyIdSearch方法开始@@@@@@@@@@@");
+		logger.debug("接收到的body值:"+requestParameter);
+		String resultStr=null;
+		String str = null;
+		String errorString=null;
+		ObjectMapper mapper = new ObjectMapper(); //转换器
+		//全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+		mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
+		try {
+			//将传入的Java类转换为Json串
+			str = JSONUtil.objectToJson(requestParameter).toString();
+			logger.debug("body值转换为Json串:"+str);
+			RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+			//准备支付赋值操作
+			requestParamForEpay=(RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+			Map<String,String> params = new HashMap<String,String>();
+			params=ClassUtil.setConditionMap(requestParamForEpay);
+			//发送POST请求,返回XML结果
+			resultStr=HttpUtil.sendPostMap(ConstantsUtil.NOTIFYID_SEARCH_TEST_URL, params, "UTF-8",false);
+			logger.debug("执行HTTP POST 请求后得到的XML返回结果:"+resultStr);
+			if(null==resultStr || "".equals(resultStr)){
+				errorString="接口异常!返回数据为空,请检查接口是否可用;接口地址:"+ConstantsUtil.NOTIFYID_SEARCH_TEST_URL;
+				resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+				logger.debug("@@@@@@@@@@@@@@@@@@"+errorString);
+			}else {
+				//do nothing
+			}
+		}catch (JSONException e) {
+			errorString="数据转换错误(JSONException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("数据转换错误(JSONException):"+e.toString());
+		}catch (IOException e) {
+			errorString="流异常(IOException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("流异常(IOException):"+e.toString());
+		}
+		logger.debug("执行百合易付通知ID查询接口notifyIdSearch方法结束@@@@@@@@@@@");
+		return resultStr;
+	}
+	
+	/**
+	 *
+	* @Title: mySign 
+	* @Description: TODO(获取签名接口:根据不同的服务类型,传入参数,获取签名值,以便比对) 
+	* @param @param requestParameter
+	* @param @return    设定文件 
+	* @return String    返回类型 
+	* @throws
+	 */
+	@RequestMapping(value="/mysgin",method=RequestMethod.POST)
+	@ResponseBody
+	public String mySign(@RequestBody RequestParameter requestParameter){
+		logger.debug("执行百合易付获取签名mysgin方法开始@@@@@@@@@@@");
+		logger.debug("接收到的body值:"+requestParameter);
+		String resultStr=null;
+		String str = null;
+		String errorString=null;
+		ObjectMapper mapper = new ObjectMapper(); //转换器
+		//全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+		mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);
+		try {
+			//将传入的Java类转换为Json串
+			str = JSONUtil.objectToJson(requestParameter).toString();
+			logger.debug("body值转换为Json串:"+str);
+			RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+			//准备签名赋值操作
+			requestParamForEpay=(RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+			//准备签名赋值操作
+			requestParamForEpay.setService("refund_service");  //服务名称
+			requestParamForEpay.setService_version("1.0"); //版本号
+			requestParamForEpay.setInput_charset("UTF-8");  //字符集
+			requestParamForEpay.setSign_type("MD5");//签名算法
+			Map<String,String> params = new HashMap<String,String>();
+			params=ClassUtil.setConditionMap(requestParamForEpay);
+			//签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+			//拼原始串
+			Map<String,String> filterMap=EpayMD5.paraFilter(params);
+			String linkStr=EpayMD5.createLinkString(filterMap);
+			logger.debug("MD5签名拼原始串的值:"+linkStr);
+			//签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+			String sign= EpayMD5.sign(linkStr, ConstantsUtil.SIGN_KEY_TEST, "UTF-8");
+			logger.debug("私钥(key)加入进行MD5签名后的值:"+sign);
+			resultStr=sign;
+		}catch (JSONException e) {
+			errorString="数据转换错误(JSONException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("数据转换错误(JSONException):"+e.toString());
+		} catch (IOException e) {
+			errorString="流异常(IOException)!";
+			resultStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>"+"-1"+"</retcode><retmsg>"+errorString+"</retmsg></epay> ";
+			logger.debug("流异常(IOException):"+e.toString());
+		}
+		logger.debug("执行百合易付获取签名mysgin方法结束@@@@@@@@@@@");
+		return resultStr;
+	}
+	
+	
+
+}

+ 1007 - 0
PreRegistration/PreRegistration/src/main/java/com/platform/controller/epay/EPayXmlController.java

@@ -0,0 +1,1007 @@
+package com.platform.controller.epay;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletResponse;
+
+import org.json.JSONException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.ContextLoader;
+import org.springframework.web.context.WebApplicationContext;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import com.platform.pojo.Epay;
+import com.platform.pojo.EpayConfig;
+import com.platform.pojo.EpayConfigExample;
+import com.platform.pojo.InterfaceInvokeLog;
+import com.platform.pojo.TransactionJournal;
+import com.platform.request.xml.RequestParameter;
+import com.platform.request.xml.RequestParameterForEpay;
+import com.platform.response.xml.ResponseParameter;
+import com.platform.response.xml.ResponseParameterForInsert;
+import com.platform.response.xml.ResponseParameterForQrCode;
+import com.platform.service.IEPayService;
+import com.platform.util.ClassUtil;
+import com.platform.util.ConstantsUtil;
+import com.platform.util.DateUtil;
+import com.platform.util.EpayMD5;
+import com.platform.util.HttpUtil;
+import com.platform.util.JSONUtil;
+import com.platform.util.JaxbUtil;
+import com.platform.util.QRCodeUtil;
+import com.platform.util.WebToolUtils;
+
+/**
+ * @author kiosk
+ * @ClassName: EPayController
+ * @Description: TODO(兰州银行百合易付 ( EPay)支付对接类)
+ * @date 2017年7月23日 下午4:24:01
+ */
+
+@Controller
+@RequestMapping("/epayxml")
+public class EPayXmlController {
+    //定义日志文件操作类对象
+    private static Logger logger = (Logger) LoggerFactory.getLogger(EPayXmlController.class);
+    @Resource
+    private IEPayService ePayService;
+
+    List<EpayConfig> epayConfigs = new ArrayList<EpayConfig>();
+    EpayConfigExample example = new EpayConfigExample();
+
+    /**
+     * @param @param  requestParameter
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: pay
+     * @Description: TODO(百合易付支付下单接口)
+     */
+    @RequestMapping(value = "/pay", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String pay(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###################################################执行百合易付支付下单接口pay方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        //将返回的XML结果封装处理成接口调用日志Java类对象
+        XmlMapper xmlMapper = new XmlMapper();
+        ObjectMapper mapper = new ObjectMapper(); //转换器
+        logger.debug("##########################################################读取百合易付支付配置表开始");
+        example.or().andDeleteFlagEqualTo(0);
+        epayConfigs = ePayService.getConfigList(example);
+        logger.debug("#########################################获取到的支付配置表数据记录条数" + epayConfigs.size());
+        if (epayConfigs.size() == 0) {
+            errorString = "支付配置表没有配置!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("支付配置表没有配置");
+        } else if (epayConfigs.size() == 1) {
+            logger.debug("#########################################################获取到的支付配置表唯一一条记录,支付开始");
+            //全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+            try {
+                //将传入的Java类转换为Json串
+                str = JSONUtil.objectToJson(requestParameter).toString();
+                logger.debug("##########################################body值转换为Json串:" + str);
+                RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+                //准备支付赋值操作
+                requestParamForEpay = (RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+                requestParamForEpay.setService(epayConfigs.get(0).getPayService());  //服务名称
+                requestParamForEpay.setService_version("2.0"); //版本号
+                requestParamForEpay.setInput_charset("UTF-8");  //字符集
+                requestParamForEpay.setSign_type("MD5");//签名算法
+                requestParamForEpay.setFee_type("1");//人民币
+                requestParamForEpay.setPay_type("unifiedorder");
+                requestParamForEpay.setTrade_mode("0002");
+                requestParamForEpay.setTrans_channel("mb");
+                requestParamForEpay.setBiz_type("0009");
+                //读取表配置赋值开始
+                logger.debug("######################读取表配置赋值开始############################");
+                requestParamForEpay.setService(epayConfigs.get(0).getPayService());
+                requestParamForEpay.setNotify_url(epayConfigs.get(0).getPayNotifyUrl());
+                requestParamForEpay.setReturn_url(epayConfigs.get(0).getReturnUrl());
+                requestParamForEpay.setShow_url(epayConfigs.get(0).getShowUrl());
+                requestParamForEpay.setPartner(epayConfigs.get(0).getPartner());
+                requestParamForEpay.setSubpartner(epayConfigs.get(0).getSubpartner());
+                requestParamForEpay.setSpbill_create_ip(requestParameter.getMachine_ip());
+                logger.debug("######################读取表配置赋值结束############################");
+                //读取表配置赋值结束
+                Map<String, String> params = new HashMap<String, String>();
+                params = ClassUtil.setConditionMap(requestParamForEpay);
+                //签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                //拼原始串
+                Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                String linkStr = EpayMD5.createLinkString(filterMap);
+                logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                //签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+                String sign = EpayMD5.sign(linkStr, epayConfigs.get(0).getSignKey(), "UTF-8");
+                logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + sign);
+                params.put("sign", sign);//将签名结果放入map
+                //发送POST请求,返回XML结果
+                resultStr = HttpUtil.sendPostMap(epayConfigs.get(0).getPayGateUrl(), params, "UTF-8", false);
+                logger.debug("#######################################执行HTTP POST 请求后得到的XML返回结果:" + resultStr);
+                if (null == resultStr || "".equals(resultStr)) {
+                    errorString = "接口异常!返回数据为空,请检查接口是否可用;接口地址:" + epayConfigs.get(0).getPayGateUrl();
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                    logger.debug("############################################################" + errorString);
+                } else {
+                    /**
+                     * ******************************************************************************************************
+                     */
+                    ResponseParameterForInsert responseParameterForInsert = new ResponseParameterForInsert();
+                    try {
+                        //服务器端根据二维码内容重新生成二维码
+                        logger.debug("######################################服务器端根据二维码内容重新生成二维码");
+                        ResponseParameterForInsert responseParameterForQrCode = new ResponseParameterForInsert();
+                        responseParameterForQrCode = xmlMapper.readValue(resultStr, ResponseParameterForInsert.class);
+                        //获取二维码内容地址
+                        String qr_url = responseParameterForQrCode.getQr_url();
+                        logger.debug("######################################获取到的二维码内容地址" + qr_url);
+                        //设定二维码图片存放目录地址
+                        String folderPath = getWebappsURL()
+                                + File.separator + "uploadimeges"
+                                + File.separator + "qrcode"
+                                + File.separator + "epay"
+                                + File.separator + "mb"
+                                + File.separator + DateUtil.format(new Date(), "yyyyMMdd");
+                        logger.debug("######################################设定二维码图片存放目录地址" + folderPath);
+                        String ip = "";
+                        String code_url = "";
+                        ip = WebToolUtils.getLocalIP();//获得本机IP
+                        logger.debug("#############################################获得本机IP" + ip);
+                        //重新生成二维码图片
+                        String fileName = QRCodeUtil.encode(qr_url, folderPath, false);
+                        code_url = "http://" + ip + ":" + ConstantsUtil.TOMCAT_PORT + File.separator + "uploadimeges"
+                                + File.separator + "qrcode"
+                                + File.separator + "epay"
+                                + File.separator + "mb"
+                                + File.separator + DateUtil.format(new Date(), "yyyyMMdd") + File.separator + fileName;
+                        code_url = code_url.replace("\\", "/");
+                        logger.debug("######################################重新生成的二维码图片地址" + code_url);
+                        responseParameterForQrCode.setCode_url(code_url);
+                        ResponseParameterForQrCode responseParameterForQrCode2 = new ResponseParameterForQrCode();
+                        responseParameterForQrCode2.setRetcode(responseParameterForQrCode.getRetcode());
+                        responseParameterForQrCode2.setService(responseParameterForQrCode.getService());
+                        responseParameterForQrCode2.setService_version(responseParameterForQrCode.getService_version());
+                        responseParameterForQrCode2.setInput_charset(responseParameterForQrCode.getInput_charset());
+                        responseParameterForQrCode2.setTransaction_id(responseParameterForQrCode.getTransaction_id());
+                        responseParameterForQrCode2.setOut_trade_no(responseParameterForQrCode.getOut_trade_no());
+                        responseParameterForQrCode2.setQr_url(responseParameterForQrCode.getQr_url());
+                        responseParameterForQrCode2.setCode_url(responseParameterForQrCode.getCode_url());
+                        //重新将java对象转换成xml字符串
+                        resultStr = JaxbUtil.convertToXml(responseParameterForQrCode2);
+                        logger.debug("######################################重新将java对象转换成xml字符串:" + resultStr);
+
+                        responseParameterForInsert = xmlMapper.readValue(resultStr, ResponseParameterForInsert.class);
+                        logger.debug("############################XML结果封装处理成接口调用成功,日志Java类对象为:" + responseParameterForInsert);
+                        //声明日志插入结果对象
+                        InterfaceInvokeLog record = new InterfaceInvokeLog();
+                        //基础赋值
+                        record.setMachineIp(requestParameter.getMachine_ip());
+                        record.setMachineNo(requestParameter.getMachine_no());
+                        record.setMachineName(requestParameter.getMachine_name());
+                        record.setMachineType(requestParameter.getMachine_type());
+                        record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+                        record.setInvokeType("1");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+                        record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+                        record.setService(responseParameterForInsert.getService());
+                        record.setServiceVersion(responseParameterForInsert.getService_version());
+                        record.setInputCharset(responseParameterForInsert.getInput_charset());
+                        //对象赋值操作
+                        record.setRetcode(responseParameterForInsert.getRetcode());
+                        record.setTransactionId(responseParameterForInsert.getTransaction_id());
+                        record.setOutTradeNo(responseParameterForInsert.getOut_trade_no());
+                        record.setCodeUrl(responseParameterForInsert.getCode_url());
+                        record.setQrUrl(responseParameterForInsert.getQr_url());
+                        //调用service,插入对象
+                        logger.debug("####################################################调用service,插入日志表对象开始");
+                        int num = ePayService.saveInvokeLog(record);
+                        logger.debug("######################################调用service,插入日志表对象结束,影响条数:" + num);
+                    } catch (JsonParseException e) {
+                        logger.debug("##################XML结果封装处理成接口调用日志Java类对象失败,Json解析出错:" + e.toString());
+                        e.printStackTrace();
+                    } catch (JsonMappingException e) {
+                        logger.debug("##################XML结果封装处理成接口调用日志Java类对象失败,Json映射出错:" + e.toString());
+                        e.printStackTrace();
+                    } catch (IOException e) {
+                        // TODO Auto-generated catch block
+                        e.printStackTrace();
+                        logger.debug("###################XML结果封装处理成接口调用日志Java类对象失败,流出错:" + e.toString());
+                    } catch (Exception e) {
+                        // TODO Auto-generated catch block
+                        e.printStackTrace();
+                        logger.debug("######################################二维码图片生成失败,异常结果:" + e.toString());
+                    }
+                }
+            } catch (JSONException e) {
+                errorString = "数据转换错误(JSONException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("################################################################数据转换错误(JSONException):" + e.toString());
+            } catch (IOException e) {
+                errorString = "流异常(IOException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("#######################################################################流异常(IOException):" + e.toString());
+            }
+        } else {
+            errorString = "支付配置表存在多条记录!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("################################################################################支付配置表存在多条记录");
+        }
+        logger.debug("#######################################################################执行百合易付支付下单接口pay方法结束");
+        return resultStr;
+    }
+
+    /**
+     * @param @param  requestParameter
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: refund
+     * @Description: TODO(百合易付退款接口)
+     */
+    @RequestMapping(value = "/refund", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String refund(@RequestBody RequestParameter requestParameter) {
+        logger.debug("#############################################执行百合易付退款接口refund方法开始");
+        logger.debug("###############################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        logger.debug("#######################################################################读取百合易付支付配置表开始");
+        example.or().andDeleteFlagEqualTo(0);
+        epayConfigs = ePayService.getConfigList(example);
+        logger.debug("#######################################################获取到的支付配置表数据记录条数" + epayConfigs.size());
+        if (epayConfigs.size() == 0) {
+            errorString = "支付配置表没有配置!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("##############################################################################支付配置表没有配置");
+        } else if (epayConfigs.size() == 1) {
+            ObjectMapper mapper = new ObjectMapper(); //转换器
+            //全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+            try {
+                //将传入的Java类转换为Json串
+                str = JSONUtil.objectToJson(requestParameter).toString();
+                logger.debug("########################################################################body值转换为Json串:" + str);
+                RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+                //准备退款赋值操作
+                requestParamForEpay = (RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+                //准备退款赋值操作
+                requestParamForEpay.setService(epayConfigs.get(0).getRefundService());  //服务名称
+                requestParamForEpay.setService_version("1.0"); //版本号
+                requestParamForEpay.setInput_charset("UTF-8");  //字符集
+                requestParamForEpay.setSign_type("MD5");//签名算法
+                requestParamForEpay.setPartner(epayConfigs.get(0).getPartner());
+                requestParamForEpay.setSubpartner(epayConfigs.get(0).getSubpartner());
+                requestParamForEpay.setNotify_url(epayConfigs.get(0).getRefundNotifyUrl());
+                Map<String, String> params = new HashMap<String, String>();
+                params = ClassUtil.setConditionMap(requestParamForEpay);
+                //签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                //拼原始串
+                Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                String linkStr = EpayMD5.createLinkString(filterMap);
+                logger.debug("##############################################MD5签名拼原始串的值:" + linkStr);
+                //签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+                String sign = EpayMD5.sign(linkStr, epayConfigs.get(0).getSignKey(), "UTF-8");
+                logger.debug("#####################################私钥(key)加入进行MD5签名后的值:" + sign);
+                params.put("sign", sign);//将签名结果放入map
+                //发送POST请求,返回XML结果
+                resultStr = HttpUtil.sendPostMap(epayConfigs.get(0).getRefundGateUrl(), params, "UTF-8", false);
+                logger.debug("##############################执行HTTP POST 请求后得到的XML返回结果:" + resultStr);
+                if (null == resultStr || "".equals(resultStr)) {
+                    errorString = "接口异常!返回数据为空,请检查接口是否可用;接口地址:" + epayConfigs.get(0).getRefundGateUrl();
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                    logger.debug("###########################################################" + errorString);
+                } else {
+                    /**
+                     * ******************************************************************************************************
+                     */
+                    //将返回的XML结果封装处理成接口调用日志Java类对象
+                    XmlMapper xmlMapper = new XmlMapper();
+                    ResponseParameterForInsert responseParameterForInsert = new ResponseParameterForInsert();
+                    try {
+                        responseParameterForInsert = xmlMapper.readValue(resultStr, ResponseParameterForInsert.class);
+                        logger.debug("###########################XML结果封装处理成接口调用成功,日志Java类对象为:" + responseParameterForInsert);
+                        //声明日志插入结果对象
+                        InterfaceInvokeLog record = new InterfaceInvokeLog();
+                        //基础赋值
+                        record.setMachineIp(requestParameter.getMachine_ip());
+                        record.setMachineNo(requestParameter.getMachine_no());
+                        record.setMachineName(requestParameter.getMachine_name());
+                        record.setMachineType(requestParameter.getMachine_type());
+                        record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+                        record.setInvokeType("2");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+                        record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+                        record.setService(responseParameterForInsert.getService());
+                        record.setServiceVersion(responseParameterForInsert.getService_version());
+                        record.setInputCharset(responseParameterForInsert.getInput_charset());
+                        record.setSignType(responseParameterForInsert.getSign_type());
+                        record.setSign(responseParameterForInsert.getSign());
+                        //对象赋值操作
+                        record.setRetcode(responseParameterForInsert.getRetcode());
+                        record.setRetmsg(responseParameterForInsert.getRetmsg());
+                        record.setPartner(responseParameterForInsert.getPartner());
+                        record.setSubpartner(responseParameterForInsert.getSubpartner());
+                        record.setTransactionId(responseParameterForInsert.getTransaction_id());
+                        record.setOutRefundNo(responseParameterForInsert.getOut_refund_no());
+                        record.setRefundId(responseParameterForInsert.getRefund_id());
+                        record.setRefundChannel(responseParameterForInsert.getRefund_channel());
+                        record.setRefundFee(responseParameterForInsert.getRefund_fee());
+                        record.setRefundStatus(responseParameterForInsert.getRefund_status());
+                        record.setRecvUserId(responseParameterForInsert.getRecv_user_id());
+                        record.setReccvUserName(responseParameterForInsert.getReccv_user_name());
+                        record.setTimeEnd(responseParameterForInsert.getTime_end());
+                        //调用service,插入对象
+                        logger.debug("################################################################调用service,插入日志表对象开始");
+                        int num = ePayService.saveInvokeLog(record);
+                        logger.debug("######################################################调用service,插入对象结束,影响条数:" + num);
+                    } catch (JsonParseException e) {
+                        logger.debug("###############################XML结果封装处理成接口调用日志Java类对象失败,Json解析出错:" + e.toString());
+                        e.printStackTrace();
+                    } catch (JsonMappingException e) {
+                        logger.debug("################################3XML结果封装处理成接口调用日志Java类对象失败,Json映射出错:" + e.toString());
+                        e.printStackTrace();
+                    } catch (IOException e) {
+                        // TODO Auto-generated catch block
+                        e.printStackTrace();
+                        logger.debug("######################################XML结果封装处理成接口调用日志Java类对象失败,流出错:" + e.toString());
+                    }
+                }
+            } catch (JSONException e) {
+                errorString = "数据转换错误(JSONException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("################################################################数据转换错误(JSONException):" + e.toString());
+            } catch (IOException e) {
+                errorString = "流异常(IOException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("########################################################################流异常(IOException):" + e.toString());
+            }
+        } else {
+            errorString = "支付配置表存在多条记录!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("################################################################################支付配置表存在多条记录");
+        }
+        logger.debug("##########################################################################执行百合易付退款接口refund方法结束");
+        return resultStr;
+    }
+
+    /**
+     * @param @param  requestParameter
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: search
+     * @Description: TODO(百合易付订单查询接口)
+     */
+    @RequestMapping(value = "/search", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String search(@RequestBody RequestParameter requestParameter) {
+        logger.debug("#######################################################################执行百合易付订单查询接口search方法开始");
+        logger.debug("#########################################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        if (epayConfigs.size() == 0) {
+            example.or().andDeleteFlagEqualTo(0);
+            epayConfigs = ePayService.getConfigList(example);
+        }
+        logger.debug("###############################################################获取到的支付配置表数据记录条数" + epayConfigs.size());
+        if (epayConfigs.size() == 0) {
+            errorString = "支付配置表没有配置!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("######################################################################################支付配置表没有配置");
+        } else if (epayConfigs.size() == 1) {
+            ObjectMapper mapper = new ObjectMapper(); //转换器
+            //全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+            try {
+                //将传入的Java类转换为Json串
+                str = JSONUtil.objectToJson(requestParameter).toString();
+                logger.debug("#############################################################################body值转换为Json串:" + str);
+                RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+                //准备查询赋值操作
+                requestParamForEpay = (RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+                //准备查询赋值操作
+                requestParamForEpay.setService(epayConfigs.get(0).getSearchService());  //服务名称
+                requestParamForEpay.setService_version("1.0"); //版本号
+                requestParamForEpay.setInput_charset("UTF-8");  //字符集
+                requestParamForEpay.setSign_type("MD5");//签名算法
+                requestParamForEpay.setPartner(epayConfigs.get(0).getPartner());
+                requestParamForEpay.setSubpartner(epayConfigs.get(0).getSubpartner());
+                Map<String, String> params = new HashMap<String, String>();
+                params = ClassUtil.setConditionMap(requestParamForEpay);
+                //签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                //拼原始串
+                Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                String linkStr = EpayMD5.createLinkString(filterMap);
+                logger.debug("#########################################################################MD5签名拼原始串的值:" + linkStr);
+                //签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+                String sign = EpayMD5.sign(linkStr, epayConfigs.get(0).getSignKey(), "UTF-8");
+                logger.debug("################################################################私钥(key)加入进行MD5签名后的值:" + sign);
+                params.put("sign", sign);//将签名结果放入map
+                //发送POST请求,返回XML结果
+                resultStr = HttpUtil.sendPostMap(epayConfigs.get(0).getSearchGateUrl(), params, "UTF-8", false);
+                logger.debug("########################################################执行HTTP POST 请求后得到的XML返回结果:" + resultStr);
+                if (null == resultStr || "".equals(resultStr)) {
+                    errorString = "接口异常!返回数据为空,请检查接口是否可用;接口地址:" + epayConfigs.get(0).getSearchGateUrl();
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                    logger.debug("######################################################################################" + errorString);
+                } else {
+                    /**
+                     * ******************************************************************************************************
+                     */
+                    //将返回的XML结果封装处理成接口调用日志Java类对象
+//					XmlMapper xmlMapper = new XmlMapper();
+//					ResponseParameterForInsert responseParameterForInsert=new ResponseParameterForInsert();
+//					try {
+//						responseParameterForInsert = xmlMapper.readValue(resultStr, ResponseParameterForInsert.class);
+//						logger.debug("###############################XML结果封装处理成接口调用成功,日志Java类对象为:"+responseParameterForInsert);
+//						//声明日志插入结果对象
+//						InterfaceInvokeLog record = new InterfaceInvokeLog();
+//						//基础赋值
+//						record.setMachineIp(requestParameter.getMachine_ip());
+//						record.setMachineNo(requestParameter.getMachine_no());
+//						record.setMachineName(requestParameter.getMachine_name());
+//						record.setMachineType(requestParameter.getMachine_type());
+//						record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+//						record.setInvokeType("3");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+//						record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+//						record.setService(responseParameterForInsert.getService());
+//						record.setServiceVersion(responseParameterForInsert.getService_version());
+//						record.setInputCharset(responseParameterForInsert.getInput_charset());
+//						record.setSignType(responseParameterForInsert.getSign_type());
+//						record.setSign(responseParameterForInsert.getSign());
+//						//对象赋值操作
+//						record.setRetcode(responseParameterForInsert.getRetcode());
+//						record.setTradeState(responseParameterForInsert.getTrade_state());
+//						record.setRefundState(responseParameterForInsert.getRefund_state());
+//						record.setClearState(responseParameterForInsert.getClear_state());
+//						record.setRetmsg(responseParameterForInsert.getRetmsg());
+//						record.setTradeMode(responseParameterForInsert.getTrade_mode());
+//						record.setTradeType(responseParameterForInsert.getTrade_type());
+//						record.setBankTransno(responseParameterForInsert.getBank_transno());
+//						record.setTotalFee(responseParameterForInsert.getTotal_fee());
+//						record.setFeeType(responseParameterForInsert.getFee_type());
+//						record.setOutTradeNo(responseParameterForInsert.getOut_trade_no());
+//						record.setOutRefundNo(responseParameterForInsert.getOut_refund_no());
+//						record.setTransactionId(responseParameterForInsert.getTransaction_id());
+//						record.setIsSplit(String.valueOf(responseParameterForInsert.isIs_split()));
+//						record.setTimeEnd(responseParameterForInsert.getTime_end());
+//						if(null != responseParameterForInsert.getTransport_fee()){
+//							record.setTransportFee(responseParameterForInsert.getTransport_fee().toString());
+//						}
+//						record.setPlatCharge(String.valueOf(responseParameterForInsert.getPlatCharge()));
+//						record.setSubPlatCharge(String.valueOf(responseParameterForInsert.getSubPlatCharge()));
+//						record.setProductFee(String.valueOf(responseParameterForInsert.getProduct_fee()));
+//						record.setDiscount(String.valueOf(responseParameterForInsert.getDiscount()));
+//						record.setAttach(responseParameterForInsert.getAttach());
+//						//调用service,插入对象
+//						logger.debug("#######################################################################调用service,插入日志表对象开始");
+//						int num = ePayService.saveInvokeLog(record);
+//						logger.debug("########################################################调用service,插入日志表对象结束,影响条数:"+num);
+//			        }catch(JsonParseException e){
+//			        	logger.debug("#####################################XML结果封装处理成接口调用日志Java类对象失败,Json解析出错:"+e.toString());
+//			        	e.printStackTrace();
+//			        }catch(JsonMappingException e){
+//			        	 logger.debug("####################################XML结果封装处理成接口调用日志Java类对象失败,Json映射出错:"+e.toString());
+//			        	 e.printStackTrace();
+//			        }catch (IOException e) {
+//			            // TODO Auto-generated catch block
+//			            e.printStackTrace();
+//			            logger.debug("#########################################XML结果封装处理成接口调用日志Java类对象失败,流出错:"+e.toString());
+//			        }
+                }
+                logger.debug("###################################################################执行百合易付订单查询接口search方法结束");
+            } catch (JSONException e) {
+                errorString = "数据转换错误(JSONException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("################################################################数据转换错误(JSONException):" + e.toString());
+            } catch (IOException e) {
+                errorString = "流异常(IOException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("#######################################################################流异常(IOException):" + e.toString());
+            }
+        } else {
+            errorString = "支付配置表存在多条记录!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("################################################################################支付配置表存在多条记录");
+        }
+
+        logger.debug("######################################################################执行百合易付订单查询接口search方法结束");
+        return resultStr;
+    }
+
+    /**
+     * @param @param  responseParameter
+     * @param @param  response
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: paynotify
+     * @Description: TODO(百合易付支付异步通知接口)
+     */
+    @RequestMapping(value = "/paynotify", method = RequestMethod.POST, consumes = "application/x-www-form-urlencoded")
+    public void paynotify(ResponseParameter responseParameter, HttpServletResponse response) {
+        logger.debug("##################################################################执行百合易付支付异步通知接口paynotify方法开始");
+        logger.debug("############################################################################接收到的值:" + responseParameter);
+        try {
+            logger.debug("########################################################################################日志表插入开始");
+            //声明日志插入结果对象
+            InterfaceInvokeLog record = new InterfaceInvokeLog();
+            logger.debug("############################################################################声明日志插入结果对象" + record);
+            //基础赋值
+            logger.debug("####################################################################################基础赋值操作开始");
+            record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+            record.setInvokeType("4");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  99-其他
+            record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+            record.setService(responseParameter.getService());
+            record.setServiceVersion(responseParameter.getService_version());
+            record.setInputCharset(responseParameter.getInput_charset());
+            record.setSignType(responseParameter.getSign_type());
+            record.setSign(responseParameter.getSign());
+            logger.debug("#################################################################################基础赋值操作结束");
+            //对象赋值操作
+            logger.debug("############################################################################日志表对象赋值操作开始");
+            record.setRetcode(responseParameter.getRetcode());
+            record.setTradeMode(responseParameter.getTrade_mode());
+            record.setTradeState(responseParameter.getTrade_state());
+            record.setPayInfo(responseParameter.getPay_info());
+            record.setTransChannel(responseParameter.getTrans_channel());
+            record.setPartner(responseParameter.getPartner());
+            record.setSubpartner(responseParameter.getSubpartner());
+            record.setOutTradeNo(responseParameter.getOut_trade_no());
+            record.setTransactionId(responseParameter.getTransaction_id());
+            record.setBankType(responseParameter.getBank_type());
+            if (null != responseParameter.getTotal_fee()) {
+                record.setTotalFee(Float.parseFloat(responseParameter.getTotal_fee().toString()));
+            }
+            record.setFeeType(responseParameter.getFee_type());
+            record.setNotifyId(responseParameter.getNotify_id());
+            record.setTimeEnd(responseParameter.getTime_end());
+            if (null != responseParameter.getTransport_fee()) {
+                record.setTransportFee(responseParameter.getTransport_fee().toString());
+            }
+            if (null != responseParameter.getProduct_fee()) {
+                record.setProductFee(responseParameter.getProduct_fee().toString());
+            }
+            if (null != responseParameter.getDiscount()) {
+                record.setDiscount(responseParameter.getDiscount().toString());
+            }
+            record.setBuyerAlias(responseParameter.getBuyer_alias());
+            record.setAttach(responseParameter.getAttach());
+            logger.debug("###################################################################################日志表对象赋值操作结束");
+            //调用service,插入日志表
+            logger.debug("###############################################################################调用service,插入日志表开始");
+            int num = ePayService.saveInvokeLog(record);
+            logger.debug("#################################################################调用service,插入日志表结束,影响条数:" + num);
+            /////////////////////////////////////////////////////////////////////////////////////////
+            logger.debug("#########################################################################################流水表插入开始");
+            //声明流水表对象
+            TransactionJournal transactionJournal = new TransactionJournal();
+            //对象赋值操作
+            logger.debug("##################################################################################流水表对象赋值操作开始");
+            transactionJournal.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+            transactionJournal.setRetcode(responseParameter.getRetcode());
+            transactionJournal.setTradeMode(responseParameter.getTrade_mode());
+            transactionJournal.setTradeState(responseParameter.getTrade_state());
+            transactionJournal.setPayInfo(responseParameter.getPay_info());
+            transactionJournal.setTransChannel(responseParameter.getTrans_channel());
+            transactionJournal.setPartner(responseParameter.getPartner());
+            transactionJournal.setSubpartner(responseParameter.getSubpartner());
+            transactionJournal.setOutTradeNo(responseParameter.getOut_trade_no());
+            transactionJournal.setTransactionId(responseParameter.getTransaction_id());
+            transactionJournal.setBankType(responseParameter.getBank_type());
+            if (null != responseParameter.getTotal_fee()) {
+                transactionJournal.setTotalFee(responseParameter.getTotal_fee());
+            }
+            transactionJournal.setFeeType(responseParameter.getFee_type());
+            transactionJournal.setNotifyId(responseParameter.getNotify_id());
+            transactionJournal.setTimeEnd(responseParameter.getTime_end());
+            if (null != responseParameter.getTransport_fee()) {
+                transactionJournal.setTransportFee(responseParameter.getTransport_fee());
+            }
+            if (null != responseParameter.getProduct_fee()) {
+                transactionJournal.setProductFee(responseParameter.getProduct_fee());
+            }
+            if (null != responseParameter.getDiscount()) {
+                transactionJournal.setDiscount(responseParameter.getDiscount());
+            }
+            transactionJournal.setBuyerAlias(responseParameter.getBuyer_alias());
+            transactionJournal.setAttach(responseParameter.getAttach());
+            transactionJournal.setTradeType("0001");//交易类型:百合易付(0001-支付交易  0002 – 退款交易)
+            transactionJournal.setCreateTime(DateUtil.parseDate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
+            logger.debug("###################################################################################流水表对象赋值操作结束");
+            //调用service,插入日志表
+            logger.debug("################################################################################调用service,插入日志表开始");
+            int num2 = ePayService.saveTransactionJournal(transactionJournal);
+            logger.debug("#################################################################调用service,插入日志表结束,影响条数:" + num2);
+            logger.debug("##########################################################################################流水表插入结束");
+            /////////////////////////////////////////////////////////////////////////////////////
+
+            /**
+             * *****************************************************************************************
+             */
+            logger.debug("#############################################################################给回调接口发送接收成功结果开始");
+            //给回调接口发送接收成功结果
+            response.reset();
+            PrintWriter out = response.getWriter();
+            out.write("success");
+            logger.debug("##################################################################给回调接口发送接收成功结果字符串" + "success");
+            logger.debug("############################################################################给回调接口发送接收成功结果结束");
+            /**
+             * *******************************************************************************************
+             */
+        } catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+            logger.debug("######################################################################支付回调失败,异常信息:" + e.toString());
+        }
+    }
+
+    /**
+     * @param @param responseParameter
+     * @param @param response  设定文件
+     * @return void    返回类型
+     * @throws
+     * @Title: refundnotify
+     * @Description: TODO(百合易付退款异步通知接口方法)
+     */
+    @RequestMapping(value = "/refundnotify", method = RequestMethod.POST, consumes = "application/x-www-form-urlencoded")
+    public void refundnotify(ResponseParameter responseParameter, HttpServletResponse response) {
+        logger.debug("#################################################################执行百合易付退款异步通知接口refundnotify方法开始");
+        logger.debug("##############################################################################接收到的值:" + responseParameter);
+        try {
+            logger.debug("##########################################################################################日志表插入开始");
+            //声明日志插入结果对象
+            InterfaceInvokeLog record = new InterfaceInvokeLog();
+            logger.debug("###############################################################################声明日志插入结果对象" + record);
+            //基础赋值
+            logger.debug("########################################################################################基础赋值操作开始");
+            record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+            record.setInvokeType("5");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  6-对账单下载 99-其他
+            record.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+            record.setService(responseParameter.getService());
+            record.setServiceVersion(responseParameter.getService_version());
+            record.setInputCharset(responseParameter.getInput_charset());
+            record.setSignType(responseParameter.getSign_type());
+            record.setSign(responseParameter.getSign());
+            logger.debug("########################################################################################基础赋值操作结束");
+            //对象赋值操作
+            logger.debug("########################################################################################对象赋值操作开始");
+            record.setRetcode(responseParameter.getRetcode());
+            record.setRetmsg(responseParameter.getRetmsg());
+            record.setPartner(responseParameter.getPartner());
+            record.setSubpartner(responseParameter.getSubpartner());
+            record.setTransactionId(responseParameter.getTransaction_id());
+            record.setOutRefundNo(responseParameter.getOut_refund_no());
+            record.setRefundId(responseParameter.getRefund_id());
+            record.setRefundChannel(responseParameter.getRefund_channel());
+            record.setRefundFee(responseParameter.getRefund_fee());
+            record.setRefundStatus(responseParameter.getRefund_status());
+            record.setRecvUserId(responseParameter.getRecv_user_id());
+            record.setReccvUserName(responseParameter.getReccv_user_name());
+            record.setTimeEnd(responseParameter.getTime_end());
+            logger.debug("#######################################################################################对象赋值操作结束");
+            //调用service,插入对象
+            logger.debug("###########################################################################调用service,插入日志表对象开始");
+            int num = ePayService.saveInvokeLog(record);
+            logger.debug("#############################################################调用service,插入日志表对象结束,影响条数:" + num);
+            logger.debug("#########################################################################################日志表插入结束");
+            /////////////////////////////////////////////////////////////////////////////////////////
+            logger.debug("########################################################################################流水表插入开始");
+            //声明流水表对象
+            TransactionJournal transactionJournal = new TransactionJournal();
+            //对象赋值操作
+            logger.debug("#################################################################################流水表对象赋值操作开始");
+            transactionJournal.setTradeChannel("1");//交易渠道:1-百合易付 2-支付宝 3-微信 99-其他
+            transactionJournal.setRetcode(responseParameter.getRetcode());
+            transactionJournal.setRetmsg(responseParameter.getRetmsg());
+            transactionJournal.setPartner(responseParameter.getPartner());
+            transactionJournal.setSubpartner(responseParameter.getSubpartner());
+            transactionJournal.setTransactionId(responseParameter.getTransaction_id());
+            transactionJournal.setOutRefundNo(responseParameter.getOut_refund_no());
+            transactionJournal.setRefundId(responseParameter.getRefund_id());
+            transactionJournal.setRefundChannel(responseParameter.getRefund_channel());
+            transactionJournal.setRefundFee(responseParameter.getRefund_fee());
+            transactionJournal.setRefundStatus(responseParameter.getRefund_status());
+            transactionJournal.setRecvUserId(responseParameter.getRecv_user_id());
+            transactionJournal.setReccvUserName(responseParameter.getReccv_user_name());
+            transactionJournal.setTimeEnd(responseParameter.getTime_end());
+            transactionJournal.setTradeType("0002");//交易类型:百合易付(0001-支付交易  0002 – 退款交易)
+            transactionJournal.setCreateTime(DateUtil.parseDate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")));
+            logger.debug("###################################################################################流水表对象赋值操作结束");
+            //调用service,插入对象
+            logger.debug("###############################################################################调用service,插入流水表开始");
+            int num2 = ePayService.saveTransactionJournal(transactionJournal);
+            logger.debug("################################################################调用service,插入流水表结束,影响条数:" + num2);
+            logger.debug("#########################################################################################流水表插入结束");
+            /**
+             * *****************************************************************************************
+             */
+            logger.debug("###########################################################################给回调接口发送接收成功结果开始");
+            //给回调接口发送接收成功结果
+            response.reset();
+            PrintWriter out = response.getWriter();
+            out.write("success");
+            logger.debug("################################################################给回调接口发送接收成功结果字符串" + "success");
+            logger.debug("##########################################################################给回调接口发送接收成功结果结束");
+            /**
+             * *******************************************************************************************
+             */
+        } catch (IOException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+            logger.debug("####################################################################支付回调失败,异常信息:" + e.toString());
+        }
+    }
+
+    /**
+     * @param @param  requestParameter
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: accountdownload
+     * @Description: TODO(对账单下载接口)
+     * 商户对指定日期的对账单发起查询,三维易付实时返回该天订单的信息。接口只能下载昨天及昨天之前的对账单
+     */
+    @RequestMapping(value = "/accountdownload", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String accountdownload(@RequestBody RequestParameter requestParameter) {
+        logger.debug("#############################################################执行百合易付对账单下载接口accountdownload方法开始");
+        logger.debug("##########################################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        logger.debug("##########################################################读取百合易付支付配置表开始");
+        example.or().andDeleteFlagEqualTo(0);
+        epayConfigs = ePayService.getConfigList(example);
+        logger.debug("#########################################获取到的支付配置表数据记录条数" + epayConfigs.size());
+        if (epayConfigs.size() == 0) {
+            errorString = "支付配置表没有配置!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("支付配置表没有配置");
+        } else if (epayConfigs.size() == 1) {
+            logger.debug("#########################################################获取到的支付配置表唯一一条记录,支付开始");
+            ObjectMapper mapper = new ObjectMapper(); //转换器
+            //全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+            try {
+                //将传入的Java类转换为Json串
+                str = JSONUtil.objectToJson(requestParameter).toString();
+                logger.debug("###############################################################################body值转换为Json串:" + str);
+                RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+                //准备查询赋值操作
+                requestParamForEpay = (RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+                //准备查询赋值操作
+                requestParamForEpay.setService("account_ download_service");  //服务名称
+                requestParamForEpay.setService_version("1.0"); //版本号
+                requestParamForEpay.setInput_charset("UTF-8");  //字符集
+                requestParamForEpay.setSign_type("MD5");//签名算法
+                Map<String, String> params = new HashMap<String, String>();
+                params = ClassUtil.setConditionMap(requestParamForEpay);
+                //签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                //拼原始串
+                Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                String linkStr = EpayMD5.createLinkString(filterMap);
+                logger.debug("#############################################################################MD5签名拼原始串的值:" + linkStr);
+                //签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+                String sign = EpayMD5.sign(linkStr, ConstantsUtil.SIGN_KEY_TEST, "UTF-8");
+                logger.debug("####################################################################私钥(key)加入进行MD5签名后的值:" + sign);
+                params.put("sign", sign);//将签名结果放入map
+                //发送POST请求,返回XML结果
+                resultStr = HttpUtil.sendPostMap(epayConfigs.get(0).getAccountDownloadGateUrl(), params, "UTF-8", false);
+                logger.debug("############################################################执行HTTP POST 请求后得到的XML返回结果:" + resultStr);
+                if (null == resultStr || "".equals(resultStr)) {
+                    errorString = "接口异常!返回数据为空,请检查接口是否可用;接口地址:" + epayConfigs.get(0).getAccountDownloadGateUrl();
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                    logger.debug("#########################################################################################" + errorString);
+                } else {
+                    logger.debug("##########################################################################################日志表插入开始");
+                    //声明日志插入结果对象
+                    InterfaceInvokeLog record = new InterfaceInvokeLog();
+                    logger.debug("###############################################################################声明日志插入结果对象" + record);
+                    //基础赋值
+                    logger.debug("########################################################################################基础赋值操作开始");
+                    record.setInvokeTime(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss.SSS"));
+                    record.setInvokeType("6");//调用类型:1-支付 2-退款  3-查询 4-支付回调 5-退款回调  6-对账单下载 99-其他
+                    record.setService("account_ download_service");
+                    record.setServiceVersion("1.0");
+                    record.setSignType("MD5");
+                    record.setInputCharset("UTF-8");  //字符集
+                    logger.debug("########################################################################################基础赋值操作结束");
+                    //对象赋值操作
+                    logger.debug("########################################################################################对象赋值操作开始");
+                    Epay epay = JaxbUtil.converyToJavaBean(resultStr, Epay.class);
+                    record.setRetcode(epay.getRetcode());
+                    record.setRetmsg(epay.getRetmsg());
+                    logger.debug("#######################################################################################对象赋值操作结束");
+                    //调用service,插入对象
+                    logger.debug("###########################################################################调用service,插入日志表对象开始");
+                    int num = ePayService.saveInvokeLog(record);
+                    logger.debug("#############################################################调用service,插入日志表对象结束,影响条数:" + num);
+                    logger.debug("#########################################################################################日志表插入结束");
+                }
+            } catch (JSONException e) {
+                errorString = "数据转换错误(JSONException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("################################################################数据转换错误(JSONException):" + e.toString());
+            } catch (IOException e) {
+                errorString = "流异常(IOException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("#######################################################################流异常(IOException):" + e.toString());
+            }
+        } else {
+            errorString = "支付配置表存在多条记录!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("################################################################################支付配置表存在多条记录");
+        }
+        logger.debug("###########################################################执行百合易付对账单下载接口accountdownload方法结束");
+        return resultStr;
+    }
+
+
+    /**
+     * @param @param  requestParameter
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: notifyIdSearch
+     * @Description: TODO(通知ID查询接口 :)
+     * 对于商户系统支付的订单,返回支付结果时,如果返回的notify_id字段不为空,
+     * 商户系统通过商户号+notify_id的方式调用该查询接口,不需要签名,来验证是否来自三维易付的请求。
+     * 建议商户系统获取支付结果时,先调用此接口,返回成功时,再验证签名是否正确。二者都验证都通过后,再进行业务数据处理
+     */
+    @RequestMapping(value = "/notifyidsearch", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String notifyIdSearch(@RequestBody RequestParameter requestParameter) {
+        logger.debug("#################################################################执行百合易付通知ID查询接口notifyIdSearch方法开始");
+        logger.debug("###########################################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        logger.debug("##########################################################读取百合易付支付配置表开始");
+        example.or().andDeleteFlagEqualTo(0);
+        epayConfigs = ePayService.getConfigList(example);
+        logger.debug("#########################################获取到的支付配置表数据记录条数" + epayConfigs.size());
+        if (epayConfigs.size() == 0) {
+            errorString = "支付配置表没有配置!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("支付配置表没有配置");
+        } else if (epayConfigs.size() == 1) {
+            logger.debug("#########################################################获取到的支付配置表唯一一条记录,支付开始");
+            ObjectMapper mapper = new ObjectMapper(); //转换器
+            //全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+            try {
+                //将传入的Java类转换为Json串
+                str = JSONUtil.objectToJson(requestParameter).toString();
+                logger.debug("#################################################################################body值转换为Json串:" + str);
+                RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+                //准备支付赋值操作
+                requestParamForEpay = (RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+                Map<String, String> params = new HashMap<String, String>();
+                params = ClassUtil.setConditionMap(requestParamForEpay);
+                //发送POST请求,返回XML结果
+                resultStr = HttpUtil.sendPostMap(epayConfigs.get(0).getNotifyidGateUrl(), params, "UTF-8", false);
+                logger.debug("###########################################################执行HTTP POST 请求后得到的XML返回结果:" + resultStr);
+                if (null == resultStr || "".equals(resultStr)) {
+                    errorString = "接口异常!返回数据为空,请检查接口是否可用;接口地址:" + epayConfigs.get(0).getNotifyidGateUrl();
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                    logger.debug("#########################################################################################" + errorString);
+                } else {
+                    //do nothing
+                }
+            } catch (JSONException e) {
+                errorString = "数据转换错误(JSONException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("################################################################数据转换错误(JSONException):" + e.toString());
+            } catch (IOException e) {
+                errorString = "流异常(IOException)!";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+                logger.debug("########################################################################流异常(IOException):" + e.toString());
+            }
+        } else {
+            errorString = "支付配置表存在多条记录!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("################################################################################支付配置表存在多条记录");
+        }
+        logger.debug("##############################################################执行百合易付通知ID查询接口notifyIdSearch方法结束");
+        return resultStr;
+    }
+
+    /**
+     * @param @param  requestParameter
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: mySign
+     * @Description: TODO(获取签名接口 : 根据不同的服务类型 , 传入参数 , 获取签名值 , 以便比对)
+     */
+    @RequestMapping(value = "/mysgin", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String mySign(@RequestBody RequestParameter requestParameter) {
+        logger.debug("########################################################################执行百合易付获取签名mysgin方法开始");
+        logger.debug("########################################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        ObjectMapper mapper = new ObjectMapper(); //转换器
+        //全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            //将传入的Java类转换为Json串
+            str = JSONUtil.objectToJson(requestParameter).toString();
+            logger.debug("##############################################################################body值转换为Json串:" + str);
+            RequestParameterForEpay requestParamForEpay = new RequestParameterForEpay();
+            //准备签名赋值操作
+            requestParamForEpay = (RequestParameterForEpay) mapper.readValue(str, RequestParameterForEpay.class);
+            //准备签名赋值操作
+            requestParamForEpay.setService("refund_service");  //服务名称
+            requestParamForEpay.setService_version("1.0"); //版本号
+            requestParamForEpay.setInput_charset("UTF-8");  //字符集
+            requestParamForEpay.setSign_type("MD5");//签名算法
+            Map<String, String> params = new HashMap<String, String>();
+            params = ClassUtil.setConditionMap(requestParamForEpay);
+            //签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+            //拼原始串
+            Map<String, String> filterMap = EpayMD5.paraFilter(params);
+            String linkStr = EpayMD5.createLinkString(filterMap);
+            logger.debug("#############################################################################MD5签名拼原始串的值:" + linkStr);
+            //签名(签名时要把三维易付分配给商户的私钥(key)加入进行MD5签名)
+            String sign = EpayMD5.sign(linkStr, ConstantsUtil.SIGN_KEY_TEST, "UTF-8");
+            logger.debug("####################################################################私钥(key)加入进行MD5签名后的值:" + sign);
+            resultStr = sign;
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("################################################################数据转换错误(JSONException):" + e.toString());
+        } catch (IOException e) {
+            errorString = "流异常(IOException)!";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <epay> <retcode>" + "-1" + "</retcode><retmsg>" + errorString + "</retmsg></epay> ";
+            logger.debug("########################################################################流异常(IOException):" + e.toString());
+        }
+        logger.debug("#########################################################################执行百合易付获取签名mysgin方法结束");
+        return resultStr;
+    }
+
+    /**
+     * @param @return 设定文件
+     * @return String    返回类型
+     * @throws
+     * @Title: getWebappsURL
+     * @Description: TODO(获取tomcat发布目录webapps路径)
+     */
+    public String getWebappsURL() {
+        String fengeFu = File.separator;
+        WebApplicationContext webApplicationContext = ContextLoader
+                .getCurrentWebApplicationContext();
+        ServletContext servletContext = webApplicationContext
+                .getServletContext();
+        String webRoot = servletContext.getRealPath(fengeFu);
+        int lastXiegangIndex = webRoot.substring(0,
+                webRoot.lastIndexOf(fengeFu)).lastIndexOf(fengeFu);
+        String webappsLujing = webRoot.substring(0, lastXiegangIndex);
+        return webappsLujing;
+    }
+
+}

+ 1427 - 0
PreRegistration/PreRegistration/src/main/java/com/platform/controller/prereg/PreregXmlController.java

@@ -0,0 +1,1427 @@
+/**
+ * @Title: PreregXmlController.java
+ * @Package com.platform.controller.prereg
+ * @Description: TODO(用一句话描述该文件做什么)
+ * @author kiosk
+ * @date 2017年12月4日 上午8:59:49
+ * @version V1.0
+ */
+package com.platform.controller.prereg;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import com.platform.pojo.*;
+import org.json.JSONException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.platform.request.prereg.xml.RequestParameter;
+import com.platform.request.prereg.xml.RequestParameterForPrereg;
+import com.platform.response.prereg.xml.ResponseParameter;
+import com.platform.service.IPreregService;
+import com.platform.util.ClassUtil;
+import com.platform.util.EpayMD5;
+import com.platform.util.JSONUtil;
+import com.platform.util.JaxbUtil2;
+import com.platform.util.JaxbUtil2.CollectionWrapper;
+
+/**
+ * @ClassName: PreregXmlController
+ * @Description: TODO(这里用一句话描述这个类的作用)
+ * @author kiosk
+ * @date 2017年12月4日 上午8:59:49
+ *
+ */
+@Controller
+@RequestMapping("/preregxml")
+public class PreregXmlController {
+    // 定义日志文件操作类对象
+    private static Logger logger = (Logger) LoggerFactory.getLogger(PreregXmlController.class);
+    // 引入医院基础信息查询接口Service
+    @Resource
+    private IPreregService preregService;
+
+    // 定义厂商信息List
+    List<VendorInfo> vendorInfos = new ArrayList<VendorInfo>();
+
+    /**
+     *
+     * @Title: getSign @Description: TODO(获取签名接口) @param @param
+     *         requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/getSign", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String getSign(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###################################################执行获取签名接口getSign方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            // 将传入的Java类转换为Json串
+            str = JSONUtil.objectToJson(requestParameter).toString();
+            logger.debug("##########################################body值转换为Json串:" + str);
+            // 签名准备工作
+            RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+            requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str, RequestParameterForPrereg.class);
+            Map<String, String> params = new HashMap<String, String>();
+            params = ClassUtil.setConditionMap(requestParamForPrereg);
+            logger.debug("##########################################签名准备工作获取到的map值:" + params);
+            // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+            // 拼接原始串
+            Map<String, String> filterMap = EpayMD5.paraFilter(params);
+            String linkStr = EpayMD5.createLinkString(filterMap);
+            logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+            // Example查询类
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    String sign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + sign);
+                    ResponseParameter responseParameter = new ResponseParameter();
+                    responseParameter.setCode("0");
+                    responseParameter.setMsg("签名成功");
+                    responseParameter.setSign(sign);
+                    // 将java对象转换为XML字符串
+                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class, CollectionWrapper.class);
+                    resultStr = requestBinder.toXml(responseParameter, "utf-8");
+                    logger.debug("###########################################签名成功后返回的resultStr为:" + resultStr);
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名结束");
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (IOException e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+    @RequestMapping(value = "/querySectionTypes", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String querySectionTypes(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################查询排班科室信息接口querySectionTypes方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<SectionType> sectionTypes = preregService.selectAllSectionTypes();
+                                if (sectionTypes.size() > 0) {
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    responseParameter.setCode("0");
+                                    responseParameter.setMsg("请求成功");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                    responseParameter.setSectionTypes(sectionTypes);
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "未查询到科室大类记录";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+
+    /**
+     *
+     * @Title: queryAllSection @Description: TODO(查询排班科室信息接口) @param @param
+     *         requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/querySections", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String querySections(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################查询排班科室信息接口querySections方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<Section> sections = preregService.selectSecions(requestParameter.getStartDate(),
+                                        requestParameter.getEndDate(), requestParameter.getTimeInteval(), requestParameter.getSectionType());
+                                if (sections.size() > 0) {
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    responseParameter.setCode("0");
+                                    responseParameter.setMsg("请求成功");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                    responseParameter.setSections(sections);
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "当前日期内没有科室排班记录";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+    /**
+     *
+     * @Title: queryDoctors @Description: TODO(查询选定科室下的排班医生) @param @param
+     *         requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/queryDoctors", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String queryDoctors(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################查询排班医生信息接口queryDoctors方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<Doctor> doctors = preregService.selectDoctors(requestParameter.getStartDate(),
+                                        requestParameter.getEndDate(), requestParameter.getTimeInteval(),
+                                        requestParameter.getSectionNo());
+                                if (doctors.size() > 0) {
+                                    int i = 1;
+                                    for (Doctor doctor : doctors) {
+                                        doctor.setSerailNo(String.valueOf(i));
+                                        i++;
+                                    }
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    responseParameter.setCode("0");
+                                    responseParameter.setMsg("请求成功");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                    responseParameter.setDoctors(doctors);
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "当前日期内没有该科室的医生排班记录";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+
+    /**
+     * 预约锁号接口:根据传入的条件,按照号表序号进行顺序依次锁号
+     * @param requestParameter
+     * @return
+     */
+    @RequestMapping(value = "/lockTickets", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String lockTickets(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################根据条件进行预约锁号接口lockTickets方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        //全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<Ticket> tickets;
+                                //显示保留号:根据sortNo升序排列
+                                if (vendorInfos.get(0).getRetainShowFlag().equals("0")) {
+                                    tickets = preregService.selectTicketsAll(requestParameter.getStartDate(),
+                                            requestParameter.getEndDate(), requestParameter.getTimeInteval(),
+                                            requestParameter.getSectionNo(), requestParameter.getDoctorNo());
+                                } else {//不显示保留号:根据sortNo升序排列
+                                    tickets = preregService.selectTicketsNoRetain(requestParameter.getStartDate(),
+                                            requestParameter.getEndDate(), requestParameter.getTimeInteval(),
+                                            requestParameter.getSectionNo(), requestParameter.getDoctorNo());
+                                }
+                                if (tickets.size() > 0) {
+                                    Ticket ticket;
+                                    List<Ticket> ticketsForReturn=new ArrayList<Ticket>();
+                                    ticket=tickets.get(0);
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    //根据主键(id)更新号表状态为锁号(7)
+                                    int updateNum=preregService.updateSchedulesPlanByPrimaryKey(ticket.getPlanId()
+                                            ,"7");
+                                    if (updateNum>0){
+                                        responseParameter.setCode("10000");
+                                        responseParameter.setMsg("请求成功");
+                                        responseParameter.setSign(requestParameter.getSign());
+                                        ticketsForReturn.add(ticket);
+                                        responseParameter.setTickets(ticketsForReturn);
+                                        // 将java对象转换为XML字符串
+                                        JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                                CollectionWrapper.class);
+                                        resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                        resultStr = resXML;
+                                    }else {
+                                        errorString = "锁号失败!请联系管理员";
+                                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                                + "10013" + "</code><msg>" + errorString + "</msg></response> ";
+                                    }
+                                } else {
+                                    errorString = "当前条件没有可用的号源记录";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "10012" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "10002" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "99999" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "10008" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "10003"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "10004"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "10006"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "10007"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+
+
+    /**
+     *
+     * @Title: queryTicketList @Description:
+     *         TODO(查询所有符合条件的可预约号源明细记录list) @param @param
+     *         requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/queryTicketList", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String queryTicketList(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################查询可预约号列表接口queryTicketList方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<Ticket> tickets = null;
+                                // 显示保留号
+                                if (vendorInfos.get(0).getRetainShowFlag().equals("0")) {
+                                    tickets = preregService.selectTicketsAll(requestParameter.getStartDate(),
+                                            requestParameter.getEndDate(), requestParameter.getTimeInteval(),
+                                            requestParameter.getSectionNo(), requestParameter.getDoctorNo());
+                                } else {// 不显示保留号
+                                    tickets = preregService.selectTicketsNoRetain(requestParameter.getStartDate(),
+                                            requestParameter.getEndDate(), requestParameter.getTimeInteval(),
+                                            requestParameter.getSectionNo(), requestParameter.getDoctorNo());
+                                }
+                                if (tickets.size() > 0) {
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    responseParameter.setCode("0");
+                                    responseParameter.setMsg("请求成功");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                    responseParameter.setTickets(tickets);
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "当前条件没有可用的号源记录";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+    /**
+     *
+     * @Title: reserveById @Description: TODO(这里用一句话描述这个方法的作用) @param @param
+     * requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/reserveById", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String reserveById(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################根据主键预约接口reserveById方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                // 插入预约表,并更新原号表记录标记为已预约
+                                OrderReg orderReg = new OrderReg();
+                                orderReg.setId(requestParameter.getPlanId());
+                                orderReg.setOrderDate(requestParameter.getOrderDate());
+                                orderReg.setOrderName(requestParameter.getOrderName());
+                                orderReg.setPhoneNumber(requestParameter.getPhoneNo());
+                                orderReg.setOrderSectionNo(requestParameter.getSectionNo());
+                                orderReg.setOrderSectionName(requestParameter.getSectionName());
+                                orderReg.setOrderDoctorNo(requestParameter.getDoctorNo());
+                                orderReg.setOrderDoctorName(requestParameter.getDoctorName());
+                                orderReg.setOrderType(requestParameter.getOrderType());
+                                orderReg.setRegType(requestParameter.getTimeInteval());
+                                orderReg.setRegCategoryNo(requestParameter.getSchedulesNo());
+                                orderReg.setRegCategoryName(requestParameter.getSchedulesName());
+                                orderReg.setOrderSource(requestParameter.getOrderSource());
+                                orderReg.setSortNo(requestParameter.getSortNo());
+                                orderReg.setPatientCardNo(requestParameter.getCardNo());
+                                orderReg.setPatientIdcardNo(requestParameter.getIdNo());
+                                orderReg.setRegStatus("0");// 预约状态:0-正常,1-取号, 2-作废, 9-取消;默认0-正常
+                                orderReg.setOrderTime(requestParameter.getOrderTime());
+                                orderReg.setPlanId(requestParameter.getPlanId());
+                                int num = preregService.insertAndUpdate(orderReg);
+                                ResponseParameter responseParameter = new ResponseParameter();
+                                if (num == 2) {
+                                    responseParameter.setCode("0");
+                                    responseParameter.setMsg("预约成功");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                } else {
+                                    responseParameter.setCode("-1");
+                                    responseParameter.setMsg("预约失败");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                }
+                                // 将java对象转换为XML字符串
+                                JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                        CollectionWrapper.class);
+                                resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                resultStr = resXML;
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+    /**
+     *
+     * @Title: reserveByRegTime @Description: TODO(这里用一句话描述这个方法的作用) @param @param
+     * requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/reserveByRegTime", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String reserveByRegTime(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################根据挂号时间预约接口reserveByRegTime方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<Ticket> tickets = null;
+                                // 显示保留号
+                                tickets = preregService.selectTicketsByRegTime(requestParameter.getRegTime(),
+                                        requestParameter.getTimeInteval(), requestParameter.getSectionNo(),
+                                        requestParameter.getDoctorNo());
+                                if (tickets.size() > 0) {
+                                    // 插入预约表,并更新原号表记录标记为已预约
+                                    OrderReg orderReg = new OrderReg();
+                                    orderReg.setId(tickets.get(0).getPlanId());
+                                    orderReg.setOrderDate(requestParameter.getOrderDate());
+                                    orderReg.setOrderName(requestParameter.getOrderName());
+                                    orderReg.setPhoneNumber(requestParameter.getPhoneNo());
+                                    orderReg.setPatientCardNo(requestParameter.getCardNo());
+                                    orderReg.setPatientIdcardNo(requestParameter.getIdNo());
+                                    orderReg.setOrderSectionNo(requestParameter.getSectionNo());
+                                    orderReg.setOrderSectionName(requestParameter.getSectionName());
+                                    orderReg.setOrderDoctorNo(requestParameter.getDoctorNo());
+                                    orderReg.setOrderDoctorName(requestParameter.getDoctorName());
+                                    orderReg.setOrderType(requestParameter.getOrderType());
+                                    orderReg.setRegType(requestParameter.getTimeInteval());
+                                    orderReg.setRegCategoryNo(tickets.get(0).getSchedulesNo());
+                                    orderReg.setRegCategoryName(tickets.get(0).getSchedulesName());
+                                    orderReg.setOrderSource(requestParameter.getOrderSource());
+                                    orderReg.setSortNo(tickets.get(0).getSortNo());
+                                    orderReg.setRegStatus("0");// 预约状态:0-正常,1-取号, 2-作废, 9-取消;默认0-正常
+                                    orderReg.setOrderTime(requestParameter.getOrderTime());
+                                    orderReg.setPlanId(tickets.get(0).getPlanId());
+                                    int num = preregService.insertAndUpdate(orderReg);
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    if (num == 2) {
+                                        responseParameter.setCode("0");
+                                        responseParameter.setMsg("预约成功");
+                                        responseParameter.setSign(requestParameter.getSign());
+                                    } else {
+                                        responseParameter.setCode("-1");
+                                        responseParameter.setMsg("预约失败");
+                                        responseParameter.setSign(requestParameter.getSign());
+                                    }
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "没有可预约的号源";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+
+    /**
+     *查询预约列表接口
+     * @Title: reserveByRegTime @Description: TODO(查询患者的预约信息) @param @param
+     * requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/queryPreregedTickets", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String queryPreregedTickets(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################查询患者的预约信息接口queryPreregedTickets方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<OrderTicket> orderTickets = null;
+                                // 预约记录list
+                                orderTickets = preregService.selectPreregedTickets(requestParameter.getCardNo(),requestParameter.getVisitDate());
+                                if (orderTickets.size() > 0) {
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    responseParameter.setCode("0");
+                                    responseParameter.setMsg("查询成功");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                    responseParameter.setOrderTickets(orderTickets);
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "您没有预约记录";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+
+    /**
+     *预约取号接口
+     * @param requestParameter
+     * @return
+     */
+    @RequestMapping(value = "/getTickets", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String getPreregedTickets(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################取号接口getTickets方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                if (!requestParameter.getPlanId().equals("") && !requestParameter.getPlanId().equals(null)) {
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    int num=preregService.updateStatusFlag(requestParameter.getPlanId());
+                                    if (num>0){
+                                        responseParameter.setCode("0");
+                                        responseParameter.setMsg("取号成功");
+                                        responseParameter.setSign(requestParameter.getSign());
+                                    }else {
+                                        responseParameter.setCode("-1");
+                                        responseParameter.setMsg("取号失败");
+                                    }
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "预约记录ID不能为空";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+
+
+    /**
+     *查询某医生的预约病人信息列表接口
+     * @Title: reserveByRegTime @Description: TODO(查询患者的预约信息) @param @param
+     * requestParameter @param @return 设定文件 @return String 返回类型 @throws
+     */
+    @RequestMapping(value = "/queryPreregedPatients", consumes = "application/xml", method = RequestMethod.POST)
+    @ResponseBody
+    public String queryPreregedPatients(@RequestBody RequestParameter requestParameter) {
+        logger.debug("###########################################查询某医生的预约病人信息列表接口queryPreregedPatients方法开始");
+        logger.debug("###################################################接收到的body值:" + requestParameter);
+        String resultStr = null;
+        String str = null;
+        String errorString = null;
+        String resXML = null;
+        ObjectMapper mapper = new ObjectMapper(); // 转换器
+        // 全局DeserializationFeature配置:配置该objectMapper在反序列化时,忽略目标对象没有的属性。凡是使用该objectMapper反序列化时,都会拥有该特性。
+        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        try {
+            logger.debug("###########################################查询厂商授权私钥记录开始");
+            // Example查询类
+            VendorInfoExample example = new VendorInfoExample();
+            example.or().andVendorCodeEqualTo(requestParameter.getVendorCode())
+                    .andVendorNameEqualTo(requestParameter.getVendorName()).andDeleteFlagEqualTo(1);
+            vendorInfos = preregService.selectVendorList(example);
+            logger.debug("###########################################查询厂商授权私钥记录条数:" + vendorInfos.size());
+            if (vendorInfos.size() > 0) {
+                logger.debug("###########################################查询厂商授权私钥记录条数大于0,条数为:" + vendorInfos.size());
+                if (vendorInfos.size() == 1) {
+                    logger.debug("###########################################查询厂商授权私钥记录条数为1,即找到唯一一条记录,签名开始");
+                    // 将传入的Java类转换为Json串
+                    str = JSONUtil.objectToJson(requestParameter).toString();
+                    logger.debug("##########################################body值转换为Json串:" + str);
+                    // 准备签名工作
+                    RequestParameterForPrereg requestParamForPrereg = new RequestParameterForPrereg();
+                    requestParamForPrereg = (RequestParameterForPrereg) mapper.readValue(str,
+                            RequestParameterForPrereg.class);
+                    Map<String, String> params = new HashMap<String, String>();
+                    params = ClassUtil.setConditionMap(requestParamForPrereg);
+                    // 签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
+                    // 拼原始串
+                    Map<String, String> filterMap = EpayMD5.paraFilter(params);
+                    String linkStr = EpayMD5.createLinkString(filterMap);
+                    logger.debug("######################################MD5签名拼原始串的值:" + linkStr);
+                    // 签名(签名时把私钥(key)加入进行MD5签名)
+                    String serverSign = EpayMD5.sign(linkStr, vendorInfos.get(0).getLicenseCode(), "UTF-8");
+                    logger.debug("###################################私钥(key)加入进行MD5签名后的值:" + serverSign);
+                    // 验签过程
+                    if (serverSign.equals(requestParameter.getSign())) {
+                        Long clientTime = new Long(requestParameter.getTimeStamp());
+                        Date serverDate = new Date();
+                        Long serverTime = serverDate.getTime() / 1000;
+                        try {
+                            long interval = serverTime - clientTime;
+                            // 验证是否过期:默认300s
+                            if (interval < 300) {
+                                List<PreregedPatient> patients = null;
+                                // 预约记录list
+                                patients = preregService.selectPreregedPatients(requestParameter.getDoctorNo(),requestParameter.getStartDate(),requestParameter.getEndDate());
+                                if (patients.size() > 0) {
+                                    ResponseParameter responseParameter = new ResponseParameter();
+                                    responseParameter.setCode("0");
+                                    responseParameter.setMsg("查询成功");
+                                    responseParameter.setSign(requestParameter.getSign());
+                                    responseParameter.setPatients(patients);
+                                    // 将java对象转换为XML字符串
+                                    JaxbUtil2 requestBinder = new JaxbUtil2(ResponseParameter.class,
+                                            CollectionWrapper.class);
+                                    resXML = requestBinder.toXml(responseParameter, "utf-8");
+                                    resultStr = resXML;
+                                } else {
+                                    errorString = "没有预约病人记录";
+                                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                            + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                                }
+                            } else {
+                                errorString = "请求已经过期";
+                                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                        + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            }
+                        } catch (Exception e) {
+                            errorString = "出现未知异常";
+                            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                    + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                            logger.debug("################################################################出现未知异常"
+                                    + e.getStackTrace());
+                        }
+                    } else {
+                        errorString = "签名认证失败";
+                        resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>"
+                                + "-1" + "</code><msg>" + errorString + "</msg></response> ";
+                        logger.debug("################################################################签名认证失败");
+                    }
+                } else {
+                    errorString = "找到重复的厂商信息";
+                    resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                            + "</code><msg>" + errorString + "</msg></response> ";
+                    logger.debug("################################################################找到重复的厂商信息");
+                }
+            } else {
+                errorString = "没有该厂商的授权信息";
+                resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                        + "</code><msg>" + errorString + "</msg></response> ";
+                logger.debug("################################################################没有该厂商的信息");
+            }
+        } catch (JSONException e) {
+            errorString = "数据转换错误(JSONException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("################################################################数据转换错误(JSONException):"
+                    + e.toString());
+        } catch (Exception e) {
+            errorString = "流异常(IOException)";
+            resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <response> <code>" + "-1"
+                    + "</code><msg>" + errorString + "</msg></response> ";
+            logger.debug("#######################################################################流异常(IOException):"
+                    + e.toString());
+        }
+        return resultStr;
+    }
+
+}

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä