Jelajahi Sumber

测试版本提交

cy 6 tahun lalu
induk
melakukan
ebc66a0f96
100 mengubah file dengan 10871 tambahan dan 0 penghapusan
  1. 11 0
      .idea/artifacts/Gradle___com_emato___ccnet_wx_mp3_0_war.xml
  2. 109 0
      .idea/artifacts/Gradle___com_emato___ccnet_wx_mp3_0_war__exploded_.xml
  3. 13 0
      .idea/modules/ccnet-wx-mp3.0.iml
  4. 122 0
      .idea/modules/ccnet-wx-mp3.0_main.iml
  5. 130 0
      .idea/modules/ccnet-wx-mp3.0_test.iml
  6. 134 0
      build.gradle
  7. 2 0
      settings.gradle
  8. 29 0
      src/main/java/com/emato/ccnet/wx/CcnetWeimobApplication.java
  9. 13 0
      src/main/java/com/emato/ccnet/wx/ServletInitializer.java
  10. 191 0
      src/main/java/com/emato/ccnet/wx/aop/AspectWebLog.java
  11. 11 0
      src/main/java/com/emato/ccnet/wx/biz/CebCustomsResponse.java
  12. 17 0
      src/main/java/com/emato/ccnet/wx/biz/CebReqAddDate.java
  13. 12 0
      src/main/java/com/emato/ccnet/wx/biz/CebReqBiz.java
  14. 22 0
      src/main/java/com/emato/ccnet/wx/biz/CebReqGetDate.java
  15. 12 0
      src/main/java/com/emato/ccnet/wx/biz/CebReqSend.java
  16. 12 0
      src/main/java/com/emato/ccnet/wx/biz/CebReqSendDate.java
  17. 20 0
      src/main/java/com/emato/ccnet/wx/biz/CebReqSendDateAfter.java
  18. 13 0
      src/main/java/com/emato/ccnet/wx/biz/CebRespDateRespons.java
  19. 12 0
      src/main/java/com/emato/ccnet/wx/biz/GetDataBiz.java
  20. 169 0
      src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311CustiomsResponse.java
  21. 37 0
      src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311OrderAddDate.java
  22. 109 0
      src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311OrderBiz.java
  23. 48 0
      src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311OrderGetDate.java
  24. 76 0
      src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311SendDateAfter.java
  25. 216 0
      src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311SendDateRequet.java
  26. 107 0
      src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311SendDateResponse.java
  27. 35 0
      src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayAddDate.java
  28. 79 0
      src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayBiz.java
  29. 56 0
      src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayOrderGetDate.java
  30. 158 0
      src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayResponse.java
  31. 84 0
      src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplaySendDateAfter.java
  32. 222 0
      src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplaySendDateRequet.java
  33. 107 0
      src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplaySendDateResponse.java
  34. 36 0
      src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511OmsWayAddDate.java
  35. 95 0
      src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511OmsWayBiz.java
  36. 60 0
      src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511OmsWayGetDate.java
  37. 242 0
      src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511Response.java
  38. 90 0
      src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511SendDateAfter.java
  39. 261 0
      src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511SendDateRequest.java
  40. 83 0
      src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511SendDateResponse.java
  41. 38 0
      src/main/java/com/emato/ccnet/wx/biz/req/wxorder/order/WxOrderAddDate.java
  42. 52 0
      src/main/java/com/emato/ccnet/wx/biz/req/wxorder/order/WxOrderGetDate.java
  43. 55 0
      src/main/java/com/emato/ccnet/wx/biz/req/wxorder/order/WxOrderGrabBiz.java
  44. 38 0
      src/main/java/com/emato/ccnet/wx/biz/req/wxorder/ordergoods/WxOrderGoodsAddDate.java
  45. 64 0
      src/main/java/com/emato/ccnet/wx/biz/req/wxorder/ordergoods/WxOrderGoodsGetDate.java
  46. 55 0
      src/main/java/com/emato/ccnet/wx/biz/req/wxorder/ordergoods/WxOrderGoodsGrabBiz.java
  47. 24 0
      src/main/java/com/emato/ccnet/wx/config/AspectWebConfiguration.java
  48. 51 0
      src/main/java/com/emato/ccnet/wx/config/Cus.java
  49. 36 0
      src/main/java/com/emato/ccnet/wx/config/DistributedSystemProperties.java
  50. 76 0
      src/main/java/com/emato/ccnet/wx/config/Merchant.java
  51. 113 0
      src/main/java/com/emato/ccnet/wx/config/Weimob.java
  52. 69 0
      src/main/java/com/emato/ccnet/wx/config/db/middle/MiddleDataSourceConfiguration.java
  53. 41 0
      src/main/java/com/emato/ccnet/wx/config/db/middle/MiddleMapperConfiguration.java
  54. 69 0
      src/main/java/com/emato/ccnet/wx/config/db/primary/PrimaryDataSourceConfiguration.java
  55. 41 0
      src/main/java/com/emato/ccnet/wx/config/db/primary/PrimaryMapperConfiguration.java
  56. 54 0
      src/main/java/com/emato/ccnet/wx/config/servlet/WebMvcConfiguration.java
  57. 26 0
      src/main/java/com/emato/ccnet/wx/config/spring/SpringConfiguration.java
  58. 271 0
      src/main/java/com/emato/ccnet/wx/contants/CcnetContants.java
  59. 146 0
      src/main/java/com/emato/ccnet/wx/contants/Contants.java
  60. 31 0
      src/main/java/com/emato/ccnet/wx/contants/SysContants.java
  61. 309 0
      src/main/java/com/emato/ccnet/wx/contants/WmContants.java
  62. 48 0
      src/main/java/com/emato/ccnet/wx/controller/CusOrderController.java
  63. 41 0
      src/main/java/com/emato/ccnet/wx/controller/CusPlayController.java
  64. 41 0
      src/main/java/com/emato/ccnet/wx/controller/CusWaybillController.java
  65. 0 0
      src/main/java/com/emato/ccnet/wx/controller/README.md
  66. 41 0
      src/main/java/com/emato/ccnet/wx/controller/WxOrderController.java
  67. 503 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrder.java
  68. 303 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrderGoods.java
  69. 252 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrderResp.java
  70. 212 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrderStatus.java
  71. 582 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybill.java
  72. 183 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybillGoods.java
  73. 272 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybillResp.java
  74. 182 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybillStatus.java
  75. 192 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxCuspayResp.java
  76. 192 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxCuspayStatus.java
  77. 713 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxOrder.java
  78. 293 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxOrderGoods.java
  79. 372 0
      src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxPayDoc.java
  80. 299 0
      src/main/java/com/emato/ccnet/wx/dao/entity/wx/WxOrderDate.java
  81. 149 0
      src/main/java/com/emato/ccnet/wx/dao/entity/wx/WxOrderGoodsDate.java
  82. 32 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderGoodsMapper.java
  83. 39 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderMapper.java
  84. 15 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderRespMapper.java
  85. 50 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderStatusMapper.java
  86. 35 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillGoodsMapper.java
  87. 37 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillMapper.java
  88. 15 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillRespMapper.java
  89. 50 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillStatusMapper.java
  90. 18 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxCuspayRespMapper.java
  91. 29 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxCuspayStatusMapper.java
  92. 25 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxOrderGoodsMapper.java
  93. 32 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxOrderMapper.java
  94. 24 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxPayDocMapper.java
  95. 28 0
      src/main/java/com/emato/ccnet/wx/dao/mapper/wx/WxOrderGrabMapper.java
  96. 540 0
      src/main/java/com/emato/ccnet/wx/dto/ccnetdto/BondedStockMerchantOrder.java
  97. 43 0
      src/main/java/com/emato/ccnet/wx/dto/ccnetdto/BondedStockMerchantOrderItem.java
  98. 17 0
      src/main/java/com/emato/ccnet/wx/dto/ccnetdto/CbecOrderMerchantNotiReturnOrder.java
  99. 29 0
      src/main/java/com/emato/ccnet/wx/dto/ccnetdto/CiqResultStatusDto.java
  100. 29 0
      src/main/java/com/emato/ccnet/wx/dto/ccnetdto/CusResultStatusDto.java

+ 11 - 0
.idea/artifacts/Gradle___com_emato___ccnet_wx_mp3_0_war.xml

@@ -0,0 +1,11 @@
+<component name="ArtifactManager">
+  <artifact type="war" name="Gradle : com.emato : ccnet-wx-mp3.0.war">
+    <output-path>$PROJECT_DIR$/build/libs</output-path>
+    <properties id="gradle-properties">
+      <options external-project-path="$PROJECT_DIR$" />
+    </properties>
+    <root id="archive" name="ccnet-wx-mp3.0.war">
+      <element id="artifact" artifact-name="Gradle : com.emato : ccnet-wx-mp3.0.war (exploded)" />
+    </root>
+  </artifact>
+</component>

+ 109 - 0
.idea/artifacts/Gradle___com_emato___ccnet_wx_mp3_0_war__exploded_.xml

@@ -0,0 +1,109 @@
+<component name="ArtifactManager">
+  <artifact type="exploded-war" name="Gradle : com.emato : ccnet-wx-mp3.0.war (exploded)">
+    <output-path>$PROJECT_DIR$/build/libs/exploded/ccnet-wx-mp3.0.war</output-path>
+    <properties id="gradle-properties">
+      <options external-project-path="$PROJECT_DIR$">
+        <manifest>TWFuaWZlc3QtVmVyc2lvbjogMS4wDQoNCg==</manifest>
+      </options>
+    </properties>
+    <root id="root">
+      <element id="directory" name="META-INF">
+        <element id="file-copy" path="$PROJECT_DIR$/build/libs/exploded/ccnet-wx-mp3.0.war/META-INF/MANIFEST.MF" />
+      </element>
+      <element id="javaee-facet-resources" facet="ccnet-wx-mp3.0_main/web/Web Gradle : ccnet-wx-mp3.0.war" />
+      <element id="directory" name="WEB-INF">
+        <element id="directory" name="classes">
+          <element id="module-output" name="ccnet-wx-mp3.0_main" />
+          <element id="dir-copy" path="$PROJECT_DIR$/out/production/resources" />
+        </element>
+        <element id="directory" name="lib">
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-configuration-processor:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter-web:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter-aop:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter-jdbc:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" />
+          <element id="library" level="project" name="Gradle: org.mariadb.jdbc:mariadb-java-client:2.2.3" />
+          <element id="library" level="project" name="Gradle: com.zaxxer:HikariCP:2.7.9" />
+          <element id="library" level="project" name="Gradle: org.logback-extensions:logback-ext-spring:0.1.4" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter-json:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.4" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.4" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.module:jackson-module-afterburner:2.9.4" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.4" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.9.5" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.5" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.5" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.core:jackson-databind:2.9.4" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.core:jackson-core:2.9.4" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.jackson.core:jackson-annotations:2.9.4" />
+          <element id="library" level="project" name="Gradle: com.alibaba:fastjson:1.2.15" />
+          <element id="library" level="project" name="Gradle: com.google.guava:guava:23.3-jre" />
+          <element id="library" level="project" name="Gradle: com.squareup.okhttp3:okhttp:3.10.0" />
+          <element id="library" level="project" name="Gradle: net.sf.json-lib:json-lib:jdk15:2.4" />
+          <element id="library" level="project" name="Gradle: commons-beanutils:commons-beanutils:1.9.3" />
+          <element id="library" level="project" name="Gradle: commons-io:commons-io:2.6" />
+          <element id="library" level="project" name="Gradle: org.apache.httpcomponents:httpclient:4.5.4" />
+          <element id="library" level="project" name="Gradle: commons-codec:commons-codec:1.11" />
+          <element id="library" level="project" name="Gradle: org.apache.commons:commons-lang3:3.6" />
+          <element id="library" level="project" name="Gradle: joda-time:joda-time:2.9.9" />
+          <element id="library" level="project" name="Gradle: com.google.code.gson:gson:2.6.2" />
+          <element id="library" level="project" name="Gradle: redis.clients:jedis:2.9.0" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter-amqp:1.5.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter-tomcat:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.hibernate.validator:hibernate-validator:6.0.9.Final" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-webmvc:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.amqp:spring-rabbit:2.0.3.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-web:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-autoconfigure:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-context:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-aop:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.aspectj:aspectjweaver:1.8.13" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-jdbc:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.mybatis:mybatis:3.4.5" />
+          <element id="library" level="project" name="Gradle: org.mybatis:mybatis-spring:1.3.1" />
+          <element id="library" level="project" name="Gradle: org.springframework.boot:spring-boot-starter-logging:2.0.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: ch.qos.logback:logback-classic:1.2.3" />
+          <element id="library" level="project" name="Gradle: com.rabbitmq:amqp-client:5.1.2" />
+          <element id="library" level="project" name="Gradle: org.apache.logging.log4j:log4j-to-slf4j:2.10.0" />
+          <element id="library" level="project" name="Gradle: org.slf4j:jul-to-slf4j:1.7.25" />
+          <element id="library" level="project" name="Gradle: org.slf4j:slf4j-api:1.7.25" />
+          <element id="library" level="project" name="Gradle: com.fasterxml.woodstox:woodstox-core:5.0.3" />
+          <element id="library" level="project" name="Gradle: org.codehaus.woodstox:stax2-api:3.1.4" />
+          <element id="library" level="project" name="Gradle: com.google.code.findbugs:jsr305:1.3.9" />
+          <element id="library" level="project" name="Gradle: com.google.errorprone:error_prone_annotations:2.0.18" />
+          <element id="library" level="project" name="Gradle: com.google.j2objc:j2objc-annotations:1.1" />
+          <element id="library" level="project" name="Gradle: org.codehaus.mojo:animal-sniffer-annotations:1.14" />
+          <element id="library" level="project" name="Gradle: com.squareup.okio:okio:1.14.0" />
+          <element id="library" level="project" name="Gradle: commons-logging:commons-logging:1.2" />
+          <element id="library" level="project" name="Gradle: commons-collections:commons-collections:3.2.2" />
+          <element id="library" level="project" name="Gradle: org.apache.httpcomponents:httpcore:4.4.9" />
+          <element id="library" level="project" name="Gradle: org.apache.commons:commons-pool2:2.5.0" />
+          <element id="library" level="project" name="Gradle: net.sf.ezmorph:ezmorph:1.0.6" />
+          <element id="library" level="project" name="Gradle: commons-lang:commons-lang:2.5" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-messaging:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: javax.annotation:javax.annotation-api:1.3.2" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-tx:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-beans:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-expression:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.amqp:spring-amqp:2.0.3.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework.retry:spring-retry:1.2.2.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-core:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.yaml:snakeyaml:1.19" />
+          <element id="library" level="project" name="Gradle: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.31" />
+          <element id="library" level="project" name="Gradle: org.apache.tomcat.embed:tomcat-embed-core:8.5.31" />
+          <element id="library" level="project" name="Gradle: org.apache.tomcat.embed:tomcat-embed-el:8.5.31" />
+          <element id="library" level="project" name="Gradle: javax.validation:validation-api:2.0.1.Final" />
+          <element id="library" level="project" name="Gradle: org.jboss.logging:jboss-logging:3.3.2.Final" />
+          <element id="library" level="project" name="Gradle: com.fasterxml:classmate:1.3.4" />
+          <element id="library" level="project" name="Gradle: ch.qos.logback:logback-core:1.2.3" />
+          <element id="library" level="project" name="Gradle: org.springframework:spring-jcl:5.0.6.RELEASE" />
+          <element id="library" level="project" name="Gradle: org.apache.logging.log4j:log4j-api:2.10.0" />
+        </element>
+      </element>
+    </root>
+  </artifact>
+</component>

+ 13 - 0
.idea/modules/ccnet-wx-mp3.0.iml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="ccnet-wx-mp3.0" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="com.emato" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$/../..">
+      <excludeFolder url="file://$MODULE_DIR$/../../.gradle" />
+      <excludeFolder url="file://$MODULE_DIR$/../../build" />
+      <excludeFolder url="file://$MODULE_DIR$/../../out" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 122 - 0
.idea/modules/ccnet-wx-mp3.0_main.iml

@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="ccnet-wx-mp3.0:main" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="com.emato" external.system.module.type="sourceSet" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+      </configuration>
+    </facet>
+    <facet type="web" name="Web Gradle : ccnet-wx-mp3.0.war">
+      <configuration>
+        <webroots>
+          <root url="file://E:\project\zw-project\ccnet-wx\ccnet-wx-mp3.0\src\main\webapp" relative="/" />
+        </webroots>
+      </configuration>
+    </facet>
+    <facet type="web" name="Web Gradle : atalong-spring-boot-gradle-1.0.0.war">
+      <configuration>
+        <webroots>
+          <root url="file://E:\project\zw-project\ccnet-wx\ccnet-wx-mp3.0\src\main\webapp" relative="/" />
+        </webroots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/../../out/production/classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$/../../src/main">
+      <sourceFolder url="file://$MODULE_DIR$/../../src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/../../src/main/resources" type="java-resource" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-configuration-processor:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-web:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-aop:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-jdbc:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.mariadb.jdbc:mariadb-java-client:2.2.3" level="project" />
+    <orderEntry type="library" name="Gradle: com.zaxxer:HikariCP:2.7.9" level="project" />
+    <orderEntry type="library" name="Gradle: org.logback-extensions:logback-ext-spring:0.1.4" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-json:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.module:jackson-module-afterburner:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.9.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-databind:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-core:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-annotations:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.2.15" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.guava:guava:23.3-jre" level="project" />
+    <orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.10.0" level="project" />
+    <orderEntry type="library" name="Gradle: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
+    <orderEntry type="library" name="Gradle: commons-beanutils:commons-beanutils:1.9.3" level="project" />
+    <orderEntry type="library" name="Gradle: commons-io:commons-io:2.6" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.httpcomponents:httpclient:4.5.4" level="project" />
+    <orderEntry type="library" name="Gradle: commons-codec:commons-codec:1.11" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.commons:commons-lang3:3.6" level="project" />
+    <orderEntry type="library" name="Gradle: joda-time:joda-time:2.9.9" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.6.2" level="project" />
+    <orderEntry type="library" name="Gradle: redis.clients:jedis:2.9.0" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-amqp:1.5.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-tomcat:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.hibernate.validator:hibernate-validator:6.0.9.Final" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-webmvc:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.amqp:spring-rabbit:2.0.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-web:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-autoconfigure:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-context:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-aop:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.aspectj:aspectjweaver:1.8.13" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-jdbc:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis:mybatis:3.4.5" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis:mybatis-spring:1.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-logging:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: ch.qos.logback:logback-classic:1.2.3" level="project" />
+    <orderEntry type="library" name="Gradle: com.rabbitmq:amqp-client:5.1.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.logging.log4j:log4j-to-slf4j:2.10.0" level="project" />
+    <orderEntry type="library" name="Gradle: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Gradle: org.slf4j:slf4j-api:1.7.25" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.woodstox:woodstox-core:5.0.3" level="project" />
+    <orderEntry type="library" name="Gradle: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.code.findbugs:jsr305:1.3.9" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.errorprone:error_prone_annotations:2.0.18" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.j2objc:j2objc-annotations:1.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
+    <orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.14.0" level="project" />
+    <orderEntry type="library" name="Gradle: commons-logging:commons-logging:1.2" level="project" />
+    <orderEntry type="library" name="Gradle: commons-collections:commons-collections:3.2.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.httpcomponents:httpcore:4.4.9" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.commons:commons-pool2:2.5.0" level="project" />
+    <orderEntry type="library" name="Gradle: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
+    <orderEntry type="library" name="Gradle: commons-lang:commons-lang:2.5" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-messaging:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: javax.annotation:javax.annotation-api:1.3.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-tx:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-beans:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-expression:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.amqp:spring-amqp:2.0.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.retry:spring-retry:1.2.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-core:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.yaml:snakeyaml:1.19" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.31" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-core:8.5.31" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-el:8.5.31" level="project" />
+    <orderEntry type="library" name="Gradle: javax.validation:validation-api:2.0.1.Final" level="project" />
+    <orderEntry type="library" name="Gradle: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml:classmate:1.3.4" level="project" />
+    <orderEntry type="library" name="Gradle: ch.qos.logback:logback-core:1.2.3" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-jcl:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.logging.log4j:log4j-api:2.10.0" level="project" />
+  </component>
+</module>

+ 130 - 0
.idea/modules/ccnet-wx-mp3.0_test.iml

@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="ccnet-wx-mp3.0:test" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="com.emato" external.system.module.type="sourceSet" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+        <sourceRoots />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output-test url="file://$MODULE_DIR$/../../out/test/classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$/../../src/test">
+      <sourceFolder url="file://$MODULE_DIR$/../../src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../src/test/resources" type="java-test-resource" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module" module-name="ccnet-wx-mp3.0_main" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-configuration-processor:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-web:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-aop:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-jdbc:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis:mybatis-typehandlers-jsr310:1.0.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.mariadb.jdbc:mariadb-java-client:2.2.3" level="project" />
+    <orderEntry type="library" name="Gradle: com.zaxxer:HikariCP:2.7.9" level="project" />
+    <orderEntry type="library" name="Gradle: org.logback-extensions:logback-ext-spring:0.1.4" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-json:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.module:jackson-module-afterburner:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.9.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.5" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-databind:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-core:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.jackson.core:jackson-annotations:2.9.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.alibaba:fastjson:1.2.15" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.guava:guava:23.3-jre" level="project" />
+    <orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.10.0" level="project" />
+    <orderEntry type="library" name="Gradle: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
+    <orderEntry type="library" name="Gradle: commons-beanutils:commons-beanutils:1.9.3" level="project" />
+    <orderEntry type="library" name="Gradle: commons-io:commons-io:2.6" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.httpcomponents:httpclient:4.5.4" level="project" />
+    <orderEntry type="library" name="Gradle: commons-codec:commons-codec:1.11" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.commons:commons-lang3:3.6" level="project" />
+    <orderEntry type="library" name="Gradle: joda-time:joda-time:2.9.9" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.6.2" level="project" />
+    <orderEntry type="library" name="Gradle: redis.clients:jedis:2.9.0" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-amqp:1.5.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-test:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-tomcat:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.hibernate.validator:hibernate-validator:6.0.9.Final" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-webmvc:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.amqp:spring-rabbit:2.0.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-web:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-test-autoconfigure:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-test:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-autoconfigure:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-context:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-aop:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.aspectj:aspectjweaver:1.8.13" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-jdbc:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis:mybatis:3.4.5" level="project" />
+    <orderEntry type="library" name="Gradle: org.mybatis:mybatis-spring:1.3.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.jayway.jsonpath:json-path:2.4.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.rabbitmq:amqp-client:5.1.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.boot:spring-boot-starter-logging:2.0.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: ch.qos.logback:logback-classic:1.2.3" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.logging.log4j:log4j-to-slf4j:2.10.0" level="project" />
+    <orderEntry type="library" name="Gradle: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
+    <orderEntry type="library" name="Gradle: org.slf4j:slf4j-api:1.7.25" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml.woodstox:woodstox-core:5.0.3" level="project" />
+    <orderEntry type="library" name="Gradle: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.code.findbugs:jsr305:1.3.9" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.errorprone:error_prone_annotations:2.0.18" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.j2objc:j2objc-annotations:1.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
+    <orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.14.0" level="project" />
+    <orderEntry type="library" name="Gradle: commons-logging:commons-logging:1.2" level="project" />
+    <orderEntry type="library" name="Gradle: commons-collections:commons-collections:3.2.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.httpcomponents:httpcore:4.4.9" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.commons:commons-pool2:2.5.0" level="project" />
+    <orderEntry type="library" name="Gradle: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
+    <orderEntry type="library" name="Gradle: commons-lang:commons-lang:2.5" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-messaging:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: junit:junit:4.12" level="project" />
+    <orderEntry type="library" name="Gradle: org.assertj:assertj-core:3.9.1" level="project" />
+    <orderEntry type="library" name="Gradle: org.mockito:mockito-core:2.15.0" level="project" />
+    <orderEntry type="library" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" />
+    <orderEntry type="library" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
+    <orderEntry type="library" name="Gradle: org.skyscreamer:jsonassert:1.5.0" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-test:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-expression:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-tx:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.amqp:spring-amqp:2.0.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework.retry:spring-retry:1.2.2.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-beans:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-core:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: org.xmlunit:xmlunit-core:2.5.1" level="project" />
+    <orderEntry type="library" name="Gradle: javax.annotation:javax.annotation-api:1.3.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.yaml:snakeyaml:1.19" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-websocket:8.5.31" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-core:8.5.31" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-el:8.5.31" level="project" />
+    <orderEntry type="library" name="Gradle: javax.validation:validation-api:2.0.1.Final" level="project" />
+    <orderEntry type="library" name="Gradle: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
+    <orderEntry type="library" name="Gradle: com.fasterxml:classmate:1.3.4" level="project" />
+    <orderEntry type="library" name="Gradle: ch.qos.logback:logback-core:1.2.3" level="project" />
+    <orderEntry type="library" name="Gradle: net.minidev:json-smart:2.3" level="project" />
+    <orderEntry type="library" name="Gradle: net.bytebuddy:byte-buddy:1.7.11" level="project" />
+    <orderEntry type="library" name="Gradle: net.bytebuddy:byte-buddy-agent:1.7.11" level="project" />
+    <orderEntry type="library" name="Gradle: org.objenesis:objenesis:2.6" level="project" />
+    <orderEntry type="library" name="Gradle: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
+    <orderEntry type="library" name="Gradle: org.springframework:spring-jcl:5.0.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Gradle: net.minidev:accessors-smart:1.2" level="project" />
+    <orderEntry type="library" name="Gradle: org.apache.logging.log4j:log4j-api:2.10.0" level="project" />
+    <orderEntry type="library" name="Gradle: org.ow2.asm:asm:5.0.4" level="project" />
+  </component>
+  <component name="TestModuleProperties" production-module="ccnet-wx-mp3.0_main" />
+</module>

+ 134 - 0
build.gradle

@@ -0,0 +1,134 @@
+plugins {
+    id 'org.springframework.boot' version '2.0.2.RELEASE'
+}
+
+apply plugin: 'java'
+apply plugin: 'idea'
+apply plugin: 'eclipse'
+//apply plugin: 'org.springframework.boot'
+apply plugin: 'io.spring.dependency-management'
+apply plugin: 'war'
+
+
+group 'com.emato'
+
+sourceCompatibility = 1.8
+
+
+repositories {
+    mavenLocal()
+    jcenter()
+    mavenCentral()
+    maven {
+        url 'http://central.maven.org/maven2'
+    }
+}
+
+
+war {
+    baseName = 'atalong-spring-boot-gradle'
+    version =  '1.0.0'
+}
+
+
+ext {
+
+    mybatis_spring_boot = '1.3.1'
+    mybatis_typehandlers_jsr310 = '1.0.2'
+
+    logback_ext_spring = '0.1.4'
+
+    jackson = '2.9.4'
+    google_guava = '23.3-jre'
+    okhttp = '3.10.0'
+
+    commons_beanutils = '1.9.3'
+    commons_io = '2.6'
+    commons_codec = '1.11'
+    apache_commons_lang3 = '3.6'
+    apache_httpclient = '4.5.4'
+
+    joda_time = '2.9.9'
+
+    jedis = '2.9.0'
+
+    gson = '2.6.2'
+    fastjson = '1.2.15'
+
+    jsonLib = '2.4'
+
+    spring_boot_starter_amqp = '1.5.2.RELEASE'
+}
+
+dependencies {
+
+    // Spring Boot
+    testCompile('org.springframework.boot:spring-boot-starter-test')
+
+    compile('org.springframework.boot:spring-boot-configuration-processor')
+
+    //如果要部署到外部服务器, 需要打war包, 同时使用providedCompile, 内嵌的Tomcat jar包才不会打包到依赖里
+    //providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
+
+    compile('org.springframework.boot:spring-boot-starter-web')
+    compile('org.springframework.boot:spring-boot-starter-aop')
+    compile('org.springframework.boot:spring-boot-starter-jdbc')
+
+    // Mybatis Spring Boot
+    compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:${mybatis_spring_boot}")
+    // Mybatis 支持 Java 1.8 的 LocalDateTime 特性, 需要引入如下包(Mybatis版本要求3.4.0以上)
+    compile("org.mybatis:mybatis-typehandlers-jsr310:${mybatis_typehandlers_jsr310}")
+
+
+    // Mariadb jdbc
+    compile('org.mariadb.jdbc:mariadb-java-client')
+    // HikariCP
+    compile('com.zaxxer:HikariCP')
+
+
+    // logback对spring的支持
+    compile("org.logback-extensions:logback-ext-spring:${logback_ext_spring}")
+
+
+    // 数据序列化
+    compile("com.fasterxml.jackson.core:jackson-databind:${jackson}")
+    compile("com.fasterxml.jackson.core:jackson-core:${jackson}")
+    compile("com.fasterxml.jackson.core:jackson-annotations:${jackson}")
+    // jackson 支持格式化LocalDateTime
+    compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jackson}")
+    compile("com.fasterxml.jackson.datatype:jackson-datatype-joda:${jackson}")
+    compile("com.fasterxml.jackson.module:jackson-module-afterburner:${jackson}")
+    // jackson 支持格式化XML
+    compile("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${jackson}")
+
+    compile("com.alibaba:fastjson:${fastjson}")
+
+    // 工具类
+    compile("com.google.guava:guava:${google_guava}")
+
+    // HTTP工具
+    compile("com.squareup.okhttp3:okhttp:${okhttp}")
+
+    /* apache commons */
+    compile("commons-beanutils:commons-beanutils:${commons_beanutils}")
+    compile("commons-io:commons-io:${commons_io}")
+    compile("commons-codec:commons-codec:${commons_codec}")
+    compile("org.apache.commons:commons-lang3:${apache_commons_lang3}")
+    compile("org.apache.httpcomponents:httpclient:${apache_httpclient}")
+
+
+    // joda-time 时间工具
+    compile("joda-time:joda-time:${joda_time}")
+
+    compile("com.google.code.gson:gson:${gson}")
+    // Jedis
+    compile("redis.clients:jedis:${jedis}")
+    // Spring Boot Redis
+    //compile('org.springframework.boot:spring-boot-starter-entity-redis')
+
+    compile("net.sf.json-lib:json-lib:${jsonLib}:jdk15")
+
+    compile("org.springframework.boot:spring-boot-starter-amqp:${spring_boot_starter_amqp}")
+}
+
+

+ 2 - 0
settings.gradle

@@ -0,0 +1,2 @@
+rootProject.name = 'ccnet-wx-mp3.0'
+

+ 29 - 0
src/main/java/com/emato/ccnet/wx/CcnetWeimobApplication.java

@@ -0,0 +1,29 @@
+package com.emato.ccnet.wx;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@SpringBootApplication(
+        exclude = {
+                // 多数据源,不使用自动配置
+                DataSourceAutoConfiguration.class
+        }
+)
+@EnableScheduling
+@EnableTransactionManagement
+public class CcnetWeimobApplication extends SpringBootServletInitializer {
+
+    public static void main(String[] args) {
+        SpringApplication.run(CcnetWeimobApplication.class, args);
+    }
+
+    @Override
+    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
+        return builder.sources(CcnetWeimobApplication.class);
+    }
+}

+ 13 - 0
src/main/java/com/emato/ccnet/wx/ServletInitializer.java

@@ -0,0 +1,13 @@
+package com.emato.ccnet.wx;
+
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+public class ServletInitializer extends SpringBootServletInitializer {
+
+    @Override
+    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+        return application.sources(CcnetWeimobApplication.class);
+    }
+
+}

+ 191 - 0
src/main/java/com/emato/ccnet/wx/aop/AspectWebLog.java

@@ -0,0 +1,191 @@
+package com.emato.ccnet.wx.aop;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.Signature;
+import org.aspectj.lang.annotation.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * 日志AOP
+ * 通过<code>JoinPoint</code>可以获得通知的签名信息,如目标方法名、目标方法参数信息等
+ * 通过RequestContextHolder来获取<code>HttpServletRequest</code>请求信息,<code>Session</code>Session信息
+ * @author Scott Chen
+ * @since 1.0
+ * 2015-05-13
+ */
+
+@Aspect
+public class AspectWebLog {
+    private static final Logger logger = LoggerFactory.getLogger(AspectWebLog.class);
+
+
+    @Autowired
+    ObjectMapper objectMapper;
+
+    @Pointcut("execution(* com.emato.ccnet.wx..*.*(..)) " +
+            "&& @annotation(org.springframework.web.bind.annotation.RequestMapping)" +
+            "&& !execution(* com.emato.ccnet.wx..aop..*.*(..))")
+    public void controllerPointcut(){}
+
+    /**
+     * 前置通知
+     * 执行方法之前执行前置通知方法
+     * @param jp:JoinPoint
+     * @return
+     */
+    @Before(value="controllerPointcut()")
+    public void beforeAdvice(JoinPoint jp) {
+        // 目标方法的参数信息
+        Object[] args = jp.getArgs();
+
+        // AOP代理类的信息
+        Object objThis = jp.getThis();
+        // 代理的目标对象
+        Object objTarget = jp.getTarget();
+        // 通知的方法签名
+        Signature signature = jp.getSignature();
+
+        // AOP代理类类型
+        Class proxyClzz = signature.getDeclaringType();
+        // AOP代理类名
+        String className = signature.getDeclaringTypeName();
+        // 代理方法名
+        String methodName = signature.getName();
+
+        // 获取RequestAttributes
+        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        // 从获取RequestAttributes中获取HttpServletRequest的信息
+        HttpServletRequest request = attributes.getRequest();
+
+        //method
+        logger.debug("--- 请求Method: {}", request.getMethod());
+        //类方法
+        logger.debug("--- 调用class: 【{}】, method: 【{}】", className, methodName);
+
+        try {
+
+            String str = null;
+
+            if (args.length > 0) {
+                if (args[0] instanceof Collection || args[0] instanceof Map) {
+                    str = objectMapper.writeValueAsString(args[0]);
+                } else {
+                    for(int i=0;i<args.length;i++) {
+                        str += objectMapper.writeValueAsString(args[i]);
+                        if (i < args.length - 1) {
+                            str += ", ";
+                        }
+                    }
+                }
+            }
+            logger.debug("【" + className + "#" + methodName + "】发起请求, 请求参数: {}", str);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 环绕通知
+     * 主体方法返回后将执行的通知方法
+     * @param pjp:ProceedingJoinPoint
+     * @return
+     */
+    @Around(value="controllerPointcut()")
+    public Object aroundAdvice(ProceedingJoinPoint pjp) throws Throwable {
+        String className = pjp.getSignature().getDeclaringTypeName();
+        String methodName = pjp.getSignature().getName();
+
+        long bftime = System.currentTimeMillis();
+
+        // 继续执行被拦截的方法
+        Object retVal = pjp.proceed();
+        double time =(double)(System.currentTimeMillis() - bftime) / 1000;
+        logger.info("【" + className + "#" + methodName + "】执行时间: {}秒", time);
+        return retVal;
+    }
+
+    /**
+     * 后置通知
+     * 执行方法之后执行后置通知方法
+     * @param jp:JoinPoint
+     * @return
+     */
+    @After(value="controllerPointcut()")
+    public void afterAdvice(JoinPoint jp) {
+
+        Object[] args = jp.getArgs();
+        String className = jp.getSignature().getDeclaringTypeName();
+        String methodName = jp.getSignature().getName();
+
+        try {
+
+            String str = null;
+
+            if (args.length > 0) {
+                if (args[0] instanceof Collection || args[0] instanceof Map) {
+                    str = objectMapper.writeValueAsString(args[0]);
+                } else {
+                    for(int i=0;i<args.length;i++) {
+                        str += objectMapper.writeValueAsString(args[i]);
+                        if (i < args.length - 1) {
+                            str += ", ";
+                        }
+                    }
+                }
+            }
+            logger.info("【" + className + "#" + methodName + "】执行结束, 请求参数: {}", str);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    /**
+     * 返回通知
+     * 方法执行成功后,调用返回通知,如果方法在运行过程中抛出异常,则不会调用
+     * @param jp:JoinPoint
+     * @param retValue:String 主体方法传递到通知方法的返回值
+     * @return
+     */
+    @AfterReturning(value="controllerPointcut()", returning = "retValue")
+    public void afterReturningAdvice(JoinPoint jp, Object retValue) {
+        String className = jp.getSignature().getDeclaringTypeName();
+        String methodName = jp.getSignature().getName();
+
+        if (retValue == null) {
+            logger.info("【" + className + "#" + methodName + "】执行结束, 返回数据: {}");
+            return;
+        }
+        try {
+            String str = objectMapper.writeValueAsString(retValue);
+            logger.info("【" + className + "#" + methodName + "】执行结束, 返回数据:{}", str);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 异常通知
+     * 方法在运行过程中,如果抛出异常,则执行异常通知
+     * @param jp:JoinPoint
+     * @return
+     */
+    @AfterThrowing(value="controllerPointcut()", throwing = "ex")
+    public void afterThrowingAdvice(JoinPoint jp, Exception ex) {
+        String className = jp.getSignature().getDeclaringTypeName();
+        String methodName = jp.getSignature().getName();
+        logger.info("【" + className + "#" + methodName + "】发生异常结束: {}", ex);
+    }
+
+}

+ 11 - 0
src/main/java/com/emato/ccnet/wx/biz/CebCustomsResponse.java

@@ -0,0 +1,11 @@
+package com.emato.ccnet.wx.biz;
+
+import com.emato.ccnet.wx.manager.result.Result;
+
+public interface CebCustomsResponse {
+    /**
+     * 海关数据回调入口
+     * @param result
+     */
+    int biz(Result result);
+}

+ 17 - 0
src/main/java/com/emato/ccnet/wx/biz/CebReqAddDate.java

@@ -0,0 +1,17 @@
+package com.emato.ccnet.wx.biz;
+
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+
+import java.util.List;
+
+/**
+ * 增加支付信息数据
+ */
+public interface CebReqAddDate {
+    /**
+     * 增加ccnet所需数据
+     * @param list
+     * @return
+     */
+    ResponseMessage addDate(List list);
+}

+ 12 - 0
src/main/java/com/emato/ccnet/wx/biz/CebReqBiz.java

@@ -0,0 +1,12 @@
+package com.emato.ccnet.wx.biz;
+
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+
+public interface CebReqBiz {
+    /**
+     * 电子订单的入口
+     * @return
+     */
+    ResponseMessage biz();
+
+}

+ 22 - 0
src/main/java/com/emato/ccnet/wx/biz/CebReqGetDate.java

@@ -0,0 +1,22 @@
+package com.emato.ccnet.wx.biz;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 海关单证数据采集
+ *
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-07 10:12
+ */
+public interface CebReqGetDate {
+
+    /**
+     * 获取海关单证所需数据
+     * @param param
+     * @return
+     */
+    List getData(Map<String, Object> param);
+
+}

+ 12 - 0
src/main/java/com/emato/ccnet/wx/biz/CebReqSend.java

@@ -0,0 +1,12 @@
+package com.emato.ccnet.wx.biz;
+
+/**
+ * 海关单证报文发送
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-07 19:22
+ */
+public interface CebReqSend {
+
+    boolean send(String msgXml, String cebType, String msgFileName, String orderNo);
+}

+ 12 - 0
src/main/java/com/emato/ccnet/wx/biz/CebReqSendDate.java

@@ -0,0 +1,12 @@
+package com.emato.ccnet.wx.biz;
+
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+
+public interface CebReqSendDate {
+    /**
+     * 发送请求数据
+     * @return
+     */
+    ResponseMessage sendDate();
+}
+

+ 20 - 0
src/main/java/com/emato/ccnet/wx/biz/CebReqSendDateAfter.java

@@ -0,0 +1,20 @@
+package com.emato.ccnet.wx.biz;
+
+import java.util.List;
+
+/**
+ * 报文发送后
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-07 21:47
+ */
+public interface CebReqSendDateAfter {
+
+    /**
+     * 发送报文后
+     * @param sucSet
+     * @param failedSet
+     * @return
+     */
+    boolean afterSend(List<String> sucSet, List<String> failedSet);
+}

+ 13 - 0
src/main/java/com/emato/ccnet/wx/biz/CebRespDateRespons.java

@@ -0,0 +1,13 @@
+package com.emato.ccnet.wx.biz;
+
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+
+public interface CebRespDateRespons {
+    /**
+     * 对响应数据进行处理
+     * @param
+     * @param response
+     * @return
+     */
+    ResponseMessage addResponse(String response, String cusSn);
+}

+ 12 - 0
src/main/java/com/emato/ccnet/wx/biz/GetDataBiz.java

@@ -0,0 +1,12 @@
+package com.emato.ccnet.wx.biz;
+
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+
+public interface GetDataBiz {
+
+    /**
+     * token获取
+     */
+    ResponseMessage biz();
+
+}

+ 169 - 0
src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311CustiomsResponse.java

@@ -0,0 +1,169 @@
+package com.emato.ccnet.wx.biz.req.order.csp;
+
+import com.emato.ccnet.wx.biz.CebCustomsResponse;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrder;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderResp;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderStatus;
+import com.emato.ccnet.wx.dto.ccnetdto.*;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.service.*;
+import com.emato.ccnet.wx.util.jackson.JacksonUtil;
+import com.google.common.collect.ImmutableMap;
+import com.google.gson.Gson;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class Ceb311CustiomsResponse implements CebCustomsResponse {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311CustiomsResponse.class);
+
+    @Autowired
+    private CusOrderRespService cusOrderRespService;
+    @Autowired
+    private CusOrderStatusService cusOrderStatusService;
+    @Autowired
+    private CusOrderService cusOrderService;
+    @Autowired
+    private WxOrderService wxOrderService;
+    @Autowired
+    private WxOrderGrabService wxOrderGrabService;
+
+    @Override
+    public int biz(Result result) {
+        //解析数据
+        OrderCustiomsResponse orderCustiomsResponse = analysisCustiomsResponse(result);
+        if(orderCustiomsResponse == null){
+            LOGGER.info("解析响应数据失败");
+            return 0;
+        }
+        OrderDto orderDto = orderCustiomsResponse.getClsOrderDto();
+        if(orderDto == null){
+            LOGGER.info("csp返回订单数据获取失败");
+            return 1;
+        }
+        String orderSn = orderDto.getOrderSn();
+        String orderNo = orderDto.getOrderNo();
+
+        //查找电子订单
+        CusOrder cusOrder = cusOrderService.get(orderSn);
+        if(cusOrder == null){
+            LOGGER.info("查找电子订单表数据失败");
+            return 1;
+        }
+
+        //将电子订单回执初始化
+        CusOrderResp cusOrderResp = cusOrderRespService.insertCusOrderRespByCustioms(orderCustiomsResponse,cusOrder.getCusOrderSn());
+        if(cusOrderResp == null){
+            LOGGER.info("电子订单海关回执初始化数据失败");
+            return 1;
+        }
+
+        //查找电子订单状态表
+        Map<String, Object> reqParam = ImmutableMap.of("orderSn", cusOrderResp.getOrderSn(),"sendStatus", Contants.DECLARATION_SUCCESS_STATUS);
+        CusOrderStatus cusOrderStatus = cusOrderStatusService.findCusOrderStatus(reqParam);
+        if(cusOrderStatus == null){
+            LOGGER.info("查找电子订单状态表数据失败");
+            return 1;
+        }
+
+        //对响应的数据进行处理
+        if(Contants.ORDER_RESPONSE_SUCCESS.equals(orderCustiomsResponse.getCode())){
+            cusOrderStatus.setSendStatus(Contants.SUCCESS_STATUS);
+            Map<String, Object> wxMap = ImmutableMap.of("orderSn", orderNo, "clecOrderStatus", Contants.SUCCESS_STATUS);
+            wxOrderService.updateWxOrderStatus(wxMap);
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", orderNo, "eleOrderSuccTime", new Date(),"isEleOrderSend", Contants.WX_SUCC);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+        }
+
+        if(Contants.ORDER_RESPONSE_FAIL.equals(orderCustiomsResponse.getCode())){
+            cusOrderStatus.setSendStatus(Contants.FAIL_STATUS);
+            Map<String, Object> wxMap = ImmutableMap.of("orderSn", orderNo, "clecOrderStatus", Contants.FAIL_STATUS);
+            wxOrderService.updateWxOrderStatus(wxMap);
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", orderNo, "eleOrderSuccTime", new Date(),"isEleOrderSend", Contants.WX_FAIL);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+
+        }
+
+        //对回调报文进行处理:平台回执
+        if(orderCustiomsResponse.getEportResultStatusDto() != null){
+            EportResultStatusDto eportResultStatusDto = orderCustiomsResponse.getEportResultStatusDto();
+            if(Contants.ORDER_PLAT_SUCCESS.equals(eportResultStatusDto.getCode())){
+                cusOrderStatus.setPlatRespStatus(Contants.SUCCESS_STATUS);
+            }
+            if(Contants.ORDER_PLAT_FAIL.equals(eportResultStatusDto.getCode())){
+                cusOrderStatus.setPlatRespStatus(Contants.FAIL_STATUS);
+            }
+        }
+
+        //海关回执
+        if(orderCustiomsResponse.getCusResultStatusDto() != null){
+            CusResultStatusDto cusResultStatusDto = orderCustiomsResponse.getCusResultStatusDto();
+            if(Contants.CUS_DECLARATION.equals(cusResultStatusDto.getCode())){
+                cusOrderStatus.setCusRespStatus(Contants.SUCCESS_STATUS);
+            }
+            if(Contants.CUS_CHARGEBACK.equals(cusResultStatusDto.getCode()) || Contants.CUS_FAIL.equals(cusResultStatusDto.getCode())){
+                cusOrderStatus.setCusRespStatus(Contants.FAIL_STATUS);
+                cusOrder.setAppType(Contants.APP_STATUS_SEPARETE);
+            }
+        }
+
+        //国检回执
+        if(orderCustiomsResponse.getCiqResultStatusDto() != null){
+            CiqResultStatusDto ciqResultStatusDto = orderCustiomsResponse.getCiqResultStatusDto();
+            if(Contants.CIQ_SUCCESS.equals(ciqResultStatusDto.getCode())){
+                cusOrderStatus.setCipRespStatus(Contants.SUCCESS_STATUS);
+            }
+            if(Contants.CIQ_FAIL.equals(ciqResultStatusDto.getCode())|| Contants.CIQ_RECEIVE_FAIL.equals(ciqResultStatusDto.getCode())){
+                cusOrderStatus.setCipRespStatus(Contants.FAIL_STATUS);
+                cusOrder.setAppType(Contants.APP_STATUS_SEPARETE);
+            }
+        }
+
+        int cusOrderSta = cusOrderStatusService.updateCusOrderStatus(cusOrderStatus);
+        if(cusOrderSta != 1){
+            LOGGER.info("电子订单海关回执更新数据失败");
+            return 1;
+        }
+
+        CusOrder CusOrder = cusOrderService.update(cusOrder);
+        if(CusOrder == null){
+            LOGGER.info("电子订单海关回执更新数据失败");
+            return 1;
+        }
+
+        LOGGER.info("海关处理回调成功");
+        return 2;
+    }
+
+    /**
+     * 解析海关回调数据
+     * @param response
+     * @return
+     */
+    private OrderCustiomsResponse analysisCustiomsResponse(Result response) {
+        Gson gson = new Gson();
+        if(response == null){
+            LOGGER.info("解析响应数据失败");
+            return null;
+        }
+
+        //解析回执数据
+        String data = JacksonUtil.toJson(response.getData());
+        LOGGER.info("海关回执 entity:"+data);
+
+        List<OrderCustiomsResponse> list = gson.fromJson(data, List.class);
+        if(list == null && list.size() <= 0){
+            LOGGER.info("解析响应数据失败");
+            return null;
+        }
+
+        return gson.fromJson(gson.toJson(list.get(0)), OrderCustiomsResponse.class);
+    }
+}

+ 37 - 0
src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311OrderAddDate.java

@@ -0,0 +1,37 @@
+package com.emato.ccnet.wx.biz.req.order.csp;
+
+import com.emato.ccnet.wx.biz.CebReqAddDate;
+import com.emato.ccnet.wx.service.CusOrderService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class Ceb311OrderAddDate implements CebReqAddDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311OrderAddDate.class);
+    @Autowired
+    private CusOrderService cusOrderService;
+
+    /**
+     * 批量增加记录
+     * @param list
+     * @return
+     */
+    @Override
+    public ResponseMessage addDate(List list) {
+        //初始化批量电子订单记录新增
+        int addCuspayment = cusOrderService.addCusOrder(list);
+        if(addCuspayment <= 0){
+            String info = "初始化批量电子订单记录新增失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed();
+        }
+        return ResponseMessage.success();
+    }
+}

+ 109 - 0
src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311OrderBiz.java

@@ -0,0 +1,109 @@
+package com.emato.ccnet.wx.biz.req.order.csp;
+
+import com.emato.ccnet.wx.biz.CebReqBiz;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import com.emato.ccnet.wx.dto.ccnetdto.OrderBill;
+import com.emato.ccnet.wx.service.CusOrderStatusService;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class Ceb311OrderBiz implements CebReqBiz {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311OrderBiz.class);
+    private Map<String, Object> param = Collections.EMPTY_MAP;
+
+    @Autowired
+    private Ceb311OrderGetDate ceb311OrderGetDate;
+
+    @Autowired
+    private Ceb311OrderAddDate ceb311OrderAddDate;
+
+    @Autowired
+    private Ceb311SendDateRequet ceb311SendDateRequet;
+
+    @Autowired
+    private CusOrderStatusService cusOrderStatusService;
+
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    @Value("${db.ccnet-send-wm.page-size}")
+    private String limit = "20";
+    /**
+     * 电子订单正常业务入口
+     * @return
+     */
+    @Override
+    public ResponseMessage biz() {
+
+        Map<String,Object> reqParam = ImmutableMap.of("number", Integer.valueOf(limit),"wxOrderDetail", CcnetContants.isscan.item_1.getItem(),"clecOrderStatus", CcnetContants.sendStatus.item_0.getItem(),"buyerPayCheck",CcnetContants.isscan.item_1.getItem());
+        //查询中网电子订单数据
+        List list = ceb311OrderGetDate.getData(reqParam);
+        if (list.isEmpty()) {
+            String info = "【CEB311】没有订单数据, 生成海关支付单报文提前结束";
+            LOGGER.error("--- {}", info);
+            afterFailed(list);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加erp电子订单数据
+        ResponseMessage responseMessage = ceb311OrderAddDate.addDate(list);
+        if(!ResponseMessage.isSuccess(responseMessage)){
+            String info = "生成海关支付单初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            afterFailed(list);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送数据csp系统请求并响应更新订单
+        ResponseMessage ceb311ResponseMessage = ceb311SendDateRequet.sendDate();
+        if(!ResponseMessage.isSuccess(ceb311ResponseMessage)){
+            String info = "发送请求响应失败"+ceb311ResponseMessage.getMsg();
+            LOGGER.error("--- {}", ceb311ResponseMessage.getMsg());
+            afterFailed(list);
+            return ResponseMessage.failed(info);
+        }
+
+        return ResponseMessage.success();
+    }
+
+    private void afterFailed(List list) {
+        List<String> failedList = new ArrayList<>();
+        List<Map<String, Object>> wmFaileds = new ArrayList<>();
+
+        list.stream().forEach(x->{
+            failedList.add(((WxOrder)x).getOrderSn());
+        });
+        if (failedList.size() > 0) {
+            failedList.stream().forEach(x->{
+                Map<String, Object> wmMap = ImmutableMap.of("orderSn", x, "clecOrderStatus", Contants.FAIL_STATUS);
+                wmFaileds.add(wmMap);
+            });
+            if (wmFaileds.size() > 0) {
+                wxOrderService.updateWxOrderStatusBatch(wmFaileds);
+            }
+        }
+    }
+
+    public Map<String, Object> getParam() {
+        return param;
+    }
+
+    public void setParam(Map<String, Object> param) {
+        this.param = param;
+    }
+
+}

+ 48 - 0
src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311OrderGetDate.java

@@ -0,0 +1,48 @@
+package com.emato.ccnet.wx.biz.req.order.csp;
+
+import com.emato.ccnet.wx.biz.CebReqGetDate;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import com.emato.ccnet.wx.dto.ccnetdto.OrderBill;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.google.common.collect.ImmutableMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class Ceb311OrderGetDate implements CebReqGetDate {
+
+    @Autowired
+    private WxOrderService wxOrderService;
+    /**
+     * 获取weimob数据并更新状态
+     * @param param
+     * @return
+     */
+    @Override
+    public List getData(Map<String, Object> param) {
+        //取电子订单数据
+        List<WxOrder> list = wxOrderService.getWxOrder(param);
+        if (list == null || list.size() == 0) {
+            return Collections.emptyList();
+        }
+
+        //更新取出电子订单数据状态
+        List<Map<String, Object>> updateList = new ArrayList<>();
+        list.stream().forEach(x->{
+            Map<String, Object> map = ImmutableMap.of("orderSn", x.getOrderSn(),  "clecOrderStatus", CcnetContants.sendStatus.item_1.getItem());
+            updateList.add(map);
+        });
+        if (updateList.size() > 0) {
+            wxOrderService.updateWxOrderStatusBatch(updateList);
+        }
+        return list;
+    }
+}

+ 76 - 0
src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311SendDateAfter.java

@@ -0,0 +1,76 @@
+package com.emato.ccnet.wx.biz.req.order.csp;
+
+import com.emato.ccnet.wx.biz.CebReqSendDateAfter;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.service.CusOrderStatusService;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class Ceb311SendDateAfter implements CebReqSendDateAfter{
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311SendDateAfter.class);
+
+    @Autowired
+    private CusOrderStatusService cusOrderStatusService;
+
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    /**
+     * 状态修改
+     * @param sucList
+     * @param failedList
+     * @return
+     */
+    @Override
+    public boolean afterSend(List<String> sucList, List<String> failedList) {
+        List<Map<String, Object>> sucs = new ArrayList<>();
+        List<Map<String, Object>> wxSucs = new ArrayList<>();
+        List<Map<String, Object>> faileds = new ArrayList<>();
+        List<Map<String, Object>> wxFaileds = new ArrayList<>();
+        //全部处理完后
+        if (sucList.size() > 0) {
+            LOGGER.info("--- 【CEB311】更新【成功】报文订单记录......");
+            sucList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("orderSn", x, "sendStatus", Contants.DECLARATION_SUCCESS_STATUS);
+                Map<String, Object> wmMap = ImmutableMap.of("orderSn", x, "clecOrderStatus", Contants.DECLARATION_STATUS);
+                sucs.add(map);
+                wxSucs.add(wmMap);
+            });
+            if(sucs.size() > 0){
+                cusOrderStatusService.updateCusOrderStatusBatch(sucs);
+            }
+            //kmall中的支付单修改为失败
+            if (wxSucs.size() > 0) {
+                wxOrderService.updateWxOrderStatusBatch(wxSucs);
+            }
+        }
+
+        if (failedList.size() > 0) {
+            LOGGER.info("--- 【CEB311】更新【失败】报文订单记录......");
+            failedList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("orderSn", x, "sendStatus", Contants.FAIL_STATUS);
+                Map<String, Object> wmMap = ImmutableMap.of("orderSn", x, "clecOrderStatus", Contants.FAIL_STATUS);
+                faileds.add(map);
+                wxFaileds.add(wmMap);
+            });
+            //ccnet中的支付订单修改为失败
+            if (faileds.size() > 0) {
+                cusOrderStatusService.updateCusOrderStatusBatch(faileds);
+            }
+            //kmall中的支付单修改为失败
+            if (wxFaileds.size() > 0) {
+                wxOrderService.updateWxOrderStatusBatch(wxFaileds);
+            }
+        }
+        return true;
+    }
+}

+ 216 - 0
src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311SendDateRequet.java

@@ -0,0 +1,216 @@
+package com.emato.ccnet.wx.biz.req.order.csp;
+
+import com.emato.ccnet.wx.biz.CebReqSendDate;
+import com.emato.ccnet.wx.config.Cus;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrder;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderGoods;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderStatus;
+import com.emato.ccnet.wx.dto.ccnetdto.OrderDto;
+import com.emato.ccnet.wx.dto.ccnetdto.OrderRequest;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.service.CusOrderGoodsService;
+import com.emato.ccnet.wx.service.CusOrderService;
+import com.emato.ccnet.wx.service.CusOrderStatusService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.emato.ccnet.wx.util.OkHttpUtils;
+import com.emato.ccnet.wx.util.jackson.JacksonUtil;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.*;
+
+@Component
+public class Ceb311SendDateRequet implements CebReqSendDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311SendDateRequet.class);
+
+    @Autowired
+    private CusOrderService cusOrderService;
+
+    @Autowired
+    private Ceb311SendDateResponse ceb311SendDateResponse;
+
+    @Autowired
+    private CusOrderGoodsService cusOrderGoodsService;
+
+    @Autowired
+    private Ceb311SendDateAfter ceb311SendDateAfter;
+
+    @Autowired
+    private CusOrderStatusService cusOrderStatusService;
+
+    @Autowired
+    private Cus cus;
+
+    /**
+     * 发送请求
+     * @return
+     */
+    @Override
+    public ResponseMessage sendDate() {
+        //查找当前ccnet中的所有电子订单
+        List<CusOrder> cusOrders = cusOrderService.findAllCusOrder();
+        if(cusOrders == null){
+            String info = "查找当前ccnet中的所有电子订单失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送给第三方的请求回调
+        ResponseMessage orderSumbit = buildRequest(cusOrders);
+        if(!ResponseMessage.isSuccess(orderSumbit)){
+            String info = "查找当前ccnet中的所有电子订单失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+        return ResponseMessage.success();
+    }
+
+    /**
+     * 发送第三方请求和回调
+     * @param cusOrders
+     * @return
+     */
+    private ResponseMessage buildRequest(List<CusOrder> cusOrders) {
+
+        List<String> sucList = new ArrayList<>();
+        List<String> failedList = new ArrayList<>();
+        for (CusOrder cusOrder : cusOrders){
+
+            //更新电子订单数据为申报中
+            ResponseMessage updateCusOrderStatus = updateCusOrderStatus(cusOrder.getOrderSn());
+            if(!ResponseMessage.isSuccess(updateCusOrderStatus)){
+                failedList.add(cusOrder.getOrderNo());
+                String info = "更新电子订单数据为申报中失败" + updateCusOrderStatus.getMsg();
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //数据组装
+            Map<String, String> sPara = assembleData(cusOrder);
+            if(sPara == null){
+                failedList.add(cusOrder.getOrderNo());
+                String info = "数据组装失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //发送CSP系统请求并获取响应信息
+            String response = requestSubmit(sPara);
+            LOGGER.info("CSP的响应报文:" + response);
+            if(response == null){
+                failedList.add(cusOrder.getOrderNo());
+                String info = "发送请求并获取响应信息失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+
+            LOGGER.info("response date:"+response);
+
+            //解析响应报文并处理本地业务逻辑
+            ResponseMessage responseDis = ceb311SendDateResponse.addResponse(response,cusOrder.getOrderSn());
+            if(!ResponseMessage.isSuccess(responseDis)){
+                failedList.add(cusOrder.getOrderNo());
+                String info = "解析响应报文并处理本地业务逻辑失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            sucList.add(cusOrder.getOrderNo());
+        }
+
+        LOGGER.info("--- 【CEB311】【成功】订单数:{}, 订单: {}", sucList.size(), Joiner.on(",").skipNulls().join(sucList.toArray()));
+        LOGGER.info("--- 【CEB311】【失败】订单数:{}, 订单: {}", failedList.size(), Joiner.on(",").skipNulls().join(failedList.toArray()));
+
+        ceb311SendDateAfter.afterSend(sucList,failedList);
+
+        return ResponseMessage.success();
+    }
+    /**
+     * 发送请求并获取响应信息
+     * @param sPara
+     * @return
+     */
+    private String requestSubmit(Map<String, String> sPara) {
+        //构造RequestBody
+        RequestBody requestBody = OkHttpUtils.buildRequestBody(sPara);
+
+        //构建Request
+        String url = cus.getOrder().get("order-url");
+        Request request = OkHttpUtils.buildRequest(url,requestBody);
+
+        // 同步访问,返回结果字符串
+        String response = null;
+        try {
+            response = OkHttpUtils.post(request);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        return response;
+    }
+
+    /**
+     * 更新电子订单状态表
+     * @param orderSn
+     * @return
+     */
+    private ResponseMessage updateCusOrderStatus(String orderSn) {
+        //通过编号查找电子订单表
+        Map<String, Object> reqParam = ImmutableMap.of("orderSn", orderSn,"sendStatus", Contants.INIT_STATUS);
+        CusOrderStatus cusOrderStatus = cusOrderStatusService.findCusOrderStatus(reqParam);
+        if(cusOrderStatus == null){
+            return ResponseMessage.failed("该电子订单不存在");
+        }
+
+        //更新请求报文状态:请求申报中
+        cusOrderStatus.setModerSn("");
+        cusOrderStatus.setModTime(new Date());
+        cusOrderStatus.setSendStatus(Contants.DECLARATION_STATUS);
+        int cusOrderSta = cusOrderStatusService.updateCusOrderStatus(cusOrderStatus);
+        if(cusOrderSta != 1){
+            return ResponseMessage.failed("该电子订单更新失败");
+        }
+        return ResponseMessage.success();
+    }
+
+    /**
+     * 组装json中所要的数据
+     * @param cusOrder
+     * @return
+     */
+    private Map<String, String> assembleData(CusOrder cusOrder) {
+        // 发送电子订单的集合
+        Map<String, String> sPara = new HashMap<>();
+        OrderDto clsOrderDto = new OrderDto(cusOrder);
+
+        //通过电子订单内部编号查找海关电子订单商品
+        List<CusOrderGoods> cusOrderGoodes = cusOrderGoodsService.findCusOrderGoodsByCusOrderSn(cusOrder.getCusOrderSn());
+        if (cusOrderGoodes == null || cusOrderGoodes.size() <= 0) {
+            LOGGER.error("通过电子订单内部编号查找海关电子订单商品失败,电子订单内部编号:"+cusOrder.getCusOrderSn());
+            return null;
+        }
+        for (CusOrderGoods orderGoods:cusOrderGoodes) {
+            if(orderGoods.getBrand()== null || "".equalsIgnoreCase(orderGoods.getBrand())){
+                orderGoods.setBrand("无");
+            }
+        }
+        OrderRequest request = new OrderRequest();
+        request.setClsOrderDetailDto(cusOrderGoodes);
+        request.setClsOrderDto(clsOrderDto);
+        String cusOrderGoodesJson = JacksonUtil.toJson(request);
+        sPara.put("data", cusOrderGoodesJson);
+        LOGGER.info("request Data :" + cusOrderGoodesJson);
+        return sPara;
+    }
+
+}

+ 107 - 0
src/main/java/com/emato/ccnet/wx/biz/req/order/csp/Ceb311SendDateResponse.java

@@ -0,0 +1,107 @@
+package com.emato.ccnet.wx.biz.req.order.csp;
+
+import com.emato.ccnet.wx.biz.CebRespDateRespons;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderStatus;
+import com.emato.ccnet.wx.dto.ccnetdto.OrderResponse;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.service.CusOrderStatusService;
+import com.emato.ccnet.wx.service.WxOrderGrabService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import com.google.gson.Gson;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class Ceb311SendDateResponse implements CebRespDateRespons {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311SendDateResponse.class);
+    @Autowired
+    private CusOrderStatusService cusOrderStatusService;
+    @Autowired
+    private WxOrderGrabService wxOrderGrabService;
+    /**
+     * 响应数据处理
+     * @param response
+     * @param orderSn
+     * @return
+     */
+    @Override
+    public ResponseMessage addResponse(String response, String orderSn) {
+
+        //解析响应数据
+        OrderResponse orderResponse = analysisResponse(response);
+        if(orderResponse == null){
+            String info = "解析响应数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //查找电子订单状态表
+        Map<String, Object> reqParam = ImmutableMap.of("orderSn", orderSn,"sendStatus", Contants.DECLARATION_STATUS);
+        CusOrderStatus cusOrderStatus = cusOrderStatusService.findCusOrderStatus(reqParam);
+        if(cusOrderStatus == null){
+            String info = "查找电子订单状态表数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+
+        }
+
+        //对回执状态进行处理
+        if(Contants.CSP_RESPONSE_SUCCESS.equals(orderResponse.getCode()) || Contants.CSP_RESPONSE_RESEND_SUCCESS.equals(orderResponse.getCode())){
+            cusOrderStatus.setModerSn(Contants.CREATER_NUMBER);
+            cusOrderStatus.setModTime(new Date());
+            cusOrderStatusService.updateCusOrderStatus(cusOrderStatus);
+
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", cusOrderStatus.getMerchOrderSn(), "eleOrderStartTime", new Date(),"isEleOrderSend", Contants.WX_UNDERWAY);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+            return ResponseMessage.success();
+        }else{
+            cusOrderStatus.setModerSn(Contants.CREATER_NUMBER);
+            cusOrderStatus.setModTime(new Date());
+            cusOrderStatus.setNote(orderResponse.getMsg());
+            cusOrderStatusService.updateCusOrderStatus(cusOrderStatus);
+            String info = orderResponse.getMsg();
+            LOGGER.error("--- {}", info);
+
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", cusOrderStatus.getMerchOrderSn(), "eleOrderStartTime", new Date(),"isEleOrderSend", Contants.WX_FAIL);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+            return ResponseMessage.failed(info);
+        }
+
+    }
+
+    /**
+     * 解析响应数据
+     * @param response
+     * @return
+     */
+    private static OrderResponse analysisResponse(String response) {
+        Gson gson = new Gson();
+        Result result = gson.fromJson(response, Result.class);
+        if(result == null){
+            LOGGER.info("解析响应数据Result失败");
+            return null;
+        }
+        Object dataResult = result.getData();
+        String data = (String)dataResult;
+        List<OrderResponse> orderResponseList  = gson.fromJson(data, List.class);
+
+        if(orderResponseList == null){
+            LOGGER.info("解析响应数据OrderResponse集合失败");
+            return null;
+        }
+
+        OrderResponse orderResponse = gson.fromJson(gson.toJson(orderResponseList.get(0)), OrderResponse.class);
+
+        return orderResponse;
+
+    }
+
+}

+ 35 - 0
src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayAddDate.java

@@ -0,0 +1,35 @@
+package com.emato.ccnet.wx.biz.req.play.wx;
+
+import com.emato.ccnet.wx.biz.CebReqAddDate;
+import com.emato.ccnet.wx.service.WxPayDocService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class WxplayAddDate implements CebReqAddDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxplayAddDate.class);
+    @Autowired
+    private WxPayDocService wxPayDocService;
+
+    /**
+     * 批量增加记录
+     * @param list
+     * @return
+     */
+    @Override
+    public ResponseMessage addDate(List list) {
+        //初始化批量支付单记录新增
+        int addCuspayment = wxPayDocService.addWxPayDoc(list);
+        if(addCuspayment <= 0){
+            String info = "初始化批量支付单记录新增失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed();
+        }
+        return ResponseMessage.success();
+    }
+}

+ 79 - 0
src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayBiz.java

@@ -0,0 +1,79 @@
+package com.emato.ccnet.wx.biz.req.play.wx;
+
+import com.emato.ccnet.wx.biz.CebReqBiz;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 支付单业务逻辑处理
+ */
+@Component
+public class WxplayBiz implements CebReqBiz {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxplayBiz.class);
+    private Map<String, Object> param = Collections.EMPTY_MAP;
+
+    @Autowired
+    private WxplayOrderGetDate wxplayOrderGetDate;
+
+    @Autowired
+    private WxplayAddDate wxplayAddDate;
+
+    @Autowired
+    private WxplaySendDateRequet wxplaySendDateRequet;
+
+    @Value("${db.ccnet-send-wm.page-size}")
+    private String limit = "20";
+    /**
+     * 支付单正常业务入口
+     * @return
+     */
+    @Override
+    public ResponseMessage biz() {
+
+        Map<String,Object> reqParam = ImmutableMap.of("number", Integer.valueOf(limit),"wxOrderDetail", CcnetContants.isscan.item_1.getItem(),"playOrderStatus", CcnetContants.sendStatus.item_0.getItem());
+        //查询中网支付单数据
+        List list = wxplayOrderGetDate.getData(reqParam);
+        if (list.isEmpty()) {
+            String info = "没有待发送数据, 生成海关支付单报文提前结束";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加支付单数据
+        ResponseMessage responseMessage = wxplayAddDate.addDate(list);
+        if(!ResponseMessage.isSuccess(responseMessage)){
+            String info = "生成海关支付单初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送数据wx系统请求并响应更新订单
+        ResponseMessage wxPlayResponseMessage = wxplaySendDateRequet.sendDate();
+        if(!ResponseMessage.isSuccess(wxPlayResponseMessage)){
+            String info = "发送请求响应失败"+wxPlayResponseMessage.getMsg();
+            LOGGER.error("--- {}", wxPlayResponseMessage.getMsg());
+            return ResponseMessage.failed(info);
+        }
+
+        return ResponseMessage.success();
+    }
+
+    public Map<String, Object> getParam() {
+        return param;
+    }
+
+    public void setParam(Map<String, Object> param) {
+        this.param = param;
+    }
+
+}

+ 56 - 0
src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayOrderGetDate.java

@@ -0,0 +1,56 @@
+package com.emato.ccnet.wx.biz.req.play.wx;
+
+import com.emato.ccnet.wx.biz.CebReqGetDate;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class WxplayOrderGetDate implements CebReqGetDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxplayOrderGetDate.class);
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    /**
+     * 获取weimob数据并更新状态
+     * @param param
+     * @return
+     */
+    @Override
+    public List getData(Map<String, Object> param) {
+        //取支付单数据
+        List<WxOrder> list = wxOrderService.getWxOrder(param);
+        if (list == null || list.size() == 0) {
+            return Collections.emptyList();
+        }
+
+        //更新取出支付单状态
+        List<Map<String, Object>> updateList = new ArrayList<>();
+        list.stream().forEach(x->{
+            Map<String, Object> map = ImmutableMap.of("orderSn", x.getOrderSn(), "playOrderStatus", CcnetContants.sendStatus.item_1.getItem());
+            updateList.add(map);
+        });
+        if (updateList.size() > 0) {
+            try {
+                wxOrderService.updateWxOrderStatusBatch(updateList);
+            } catch (Exception e) {
+                e.printStackTrace();
+                LOGGER.info("批量新增失败!");
+                return null;
+            }
+        }
+        return list;
+    }
+}

+ 158 - 0
src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplayResponse.java

@@ -0,0 +1,158 @@
+package com.emato.ccnet.wx.biz.req.play.wx;
+
+import com.emato.ccnet.wx.biz.CebCustomsResponse;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.contants.SysContants;
+import com.emato.ccnet.wx.contants.WmContants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxCuspayResp;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxCuspayStatus;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxPayDoc;
+import com.emato.ccnet.wx.dto.ccnetdto.PlayResponse;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.manager.snow.SnowflakeUtil;
+import com.emato.ccnet.wx.service.*;
+import com.emato.ccnet.wx.util.MapBeanUtil;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.Map;
+
+@Component
+public class WxplayResponse  implements CebCustomsResponse {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxplayResponse.class);
+
+    @Autowired
+    private WxCuspayStatusService wxCuspayStatusService;
+    @Autowired
+    private WxCuspayRespService wxCuspayRespService;
+    @Autowired
+    private WxPayDocService wxPayDocService;
+
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    @Autowired
+    private WxOrderGrabService wxOrderGrabService;
+
+    @Override
+    public int biz(Result result) {
+        //解析数据
+        PlayResponse playResponse = analysisResponse(result);
+        if(playResponse == null){
+            LOGGER.info("解析响应数据失败");
+            return 0;
+        }
+
+        WxCuspayResp wxCuspayResp = InitWxCuspayRespData(playResponse);
+        if(wxCuspayResp == null){
+            return 0;
+        }
+        if(wxCuspayRespService.add(wxCuspayResp) == null){
+            String info = "新增回調数据失败";
+            LOGGER.error("--- {}", info);
+            return 0;
+        }
+        //查找支付订单状态表
+        Map<String, Object> reqParam = ImmutableMap.of("wxCuspaySn", playResponse.getMerchErpOrderSn(),"sendStatus", Contants.DECLARATION_SUCCESS_STATUS);
+        WxCuspayStatus wxCuspayStatus = wxCuspayStatusService.findWxCuspayStatus(reqParam);
+        if(wxCuspayStatus == null){
+            String info = "查找支付订单状态表失败";
+            LOGGER.error("--- {}", info);
+            return 0;
+        }
+        WxPayDoc wxPayDoc = wxPayDocService.get(playResponse.getMerchErpOrderSn());
+        if(wxPayDoc == null){
+            String info = "查找支付单数据失败";
+            LOGGER.error("--- {}", info);
+            return 0;
+        }
+
+        WxOrder wxOrder = wxOrderService.get(wxPayDoc.getOrderSn());
+        if(wxOrder == null){
+            String info = "查找微信订单数据失败";
+            LOGGER.error("--- {}", info);
+            return 0;
+        }
+
+        if(CcnetContants.docStatus.item_12.getItem().equals(playResponse.getCusDeclStatus())){
+            wxCuspayStatus.setSendStatus(Contants.SUCCESS_STATUS);
+            wxCuspayStatus.setRespStatus(Contants.SUCCESS_STATUS);
+            wxOrder.setPayNo(playResponse.getAllPayNo());
+            wxOrder.setBuyerPayCheck(playResponse.getBuyerPayerCheck());
+            wxOrder.setPlayOrderStatus(WmContants.wmStatuses.item_2.getItem());
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", wxOrder.getOrderSn(), "paymentSuccTime", new Date(),"isPaymentSend", Contants.WX_SUCC);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+            Map<String, Object> wxMap = ImmutableMap.of("orderSn", wxOrder.getOrderSn(), "buyerPayCheck", playResponse.getBuyerPayerCheck());
+            wxOrderGrabService.updateBuyerPayCheck(wxMap);
+
+        }else if(CcnetContants.docStatus.item_13.getItem().equals(playResponse.getCusDeclStatus())){
+            wxCuspayStatus.setSendStatus(Contants.FAIL_STATUS);
+            wxCuspayStatus.setRespStatus(Contants.FAIL_STATUS);
+            wxOrder.setPayNo(playResponse.getAllPayNo());
+            wxOrder.setPlayOrderStatus(WmContants.wmStatuses.item_3.getItem());
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", wxOrder.getOrderSn(), "paymentSuccTime", new Date(),"isPaymentSend", Contants.WX_FAIL);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+
+        }
+
+        if(wxCuspayStatusService.update(wxCuspayStatus) == null){
+            String info = "更新微信支付单状态失败";
+            LOGGER.error("--- {}", info);
+            return 0;
+        }
+
+        wxOrderService.update(wxOrder);
+        LOGGER.info("海关处理回调成功");
+        return 1;
+    }
+
+    /**
+     * 解析响应数据
+     * @param result
+     * @return
+     */
+    private static PlayResponse analysisResponse(Result result) {
+        Object dataResult = result.getData();
+        if(dataResult == null){
+            LOGGER.info("解析响应数据OrderResponse集合失败");
+            return null;
+        }
+        Map<String, Object> dataMap = (Map<String, Object>) dataResult;
+        PlayResponse playResponse = null;
+        try {
+            playResponse = (PlayResponse) MapBeanUtil.toObject(dataMap,PlayResponse.class);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return playResponse;
+
+    }
+
+    /**
+     * 添加回调信息
+     * @param playResponse
+     * @return
+     */
+    private WxCuspayResp InitWxCuspayRespData(PlayResponse playResponse) {
+        WxCuspayResp wxCuspayResp = new WxCuspayResp();
+        String WxcuspayRespSn = SysContants.wx_cuspay_resp + SnowflakeUtil.getSnowNextId();;
+        wxCuspayResp.setWxCuspayRespSn(WxcuspayRespSn);
+        wxCuspayResp.setWxCuspaySn(playResponse.getMerchErpOrderSn());
+        wxCuspayResp.setMerchSn(playResponse.getMerchSn());
+        wxCuspayResp.setMerchName(playResponse.getMerchName());
+        wxCuspayResp.setPlatSn(playResponse.getPlatSn());
+        wxCuspayResp.setPlatName(playResponse.getPlatName());
+        wxCuspayResp.setCusDeclStatus(playResponse.getCusDeclStatus());
+        wxCuspayResp.setCode(playResponse.getCode());
+        wxCuspayResp.setMsg(playResponse.getMsg());
+        wxCuspayResp.setNote(playResponse.getBuyerPayerCheck());
+        return  wxCuspayResp;
+    }
+}

+ 84 - 0
src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplaySendDateAfter.java

@@ -0,0 +1,84 @@
+package com.emato.ccnet.wx.biz.req.play.wx;
+
+import com.emato.ccnet.wx.biz.CebReqSendDateAfter;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.service.WxCuspayStatusService;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class WxplaySendDateAfter implements CebReqSendDateAfter {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxplaySendDateAfter.class);
+
+    @Autowired
+    private WxCuspayStatusService wxCuspayStatusService;
+
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    /**
+     * 状态修改
+     * @param sucList
+     * @param failedList
+     * @return
+     */
+    @Override
+    public boolean afterSend(List<String> sucList, List<String> failedList) {
+        List<Map<String, Object>> sucs = new ArrayList<>();
+        List<Map<String, Object>> faileds = new ArrayList<>();
+        List<Map<String, Object>> wxFaileds = new ArrayList<>();
+        //全部处理完后
+        if (sucList.size() > 0) {
+            LOGGER.info("--- 【WxPlay】更新【成功】报文订单记录......");
+            sucList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("subOrderNo", x, "sendStatus", Contants.DECLARATION_SUCCESS_STATUS);
+                sucs.add(map);
+            });
+            if(sucs.size() > 0){
+                try {
+                    wxCuspayStatusService.updatewxCuspayStatusServiceBatch(sucs);
+                } catch (Exception e) {
+                    String info = "【WxPlay】更新【成功】报文订单记录失败";
+                    LOGGER.error("--- {}", info);
+                }
+            }
+        }
+
+        if (failedList.size() > 0) {
+            LOGGER.info("--- 【WxPlay】更新【失败】报文订单记录......");
+            failedList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("subOrderNo", x, "sendStatus", Contants.FAIL_STATUS);
+                Map<String, Object> wxMap = ImmutableMap.of("orderSn", x, "playOrderStatus", Contants.FAIL_STATUS);
+                faileds.add(map);
+                wxFaileds.add(wxMap);
+            });
+            //ccnet中的支付订单修改为失败
+            if (faileds.size() > 0) {
+                try {
+                    wxCuspayStatusService.updatewxCuspayStatusServiceBatch(faileds);
+                } catch (Exception e) {
+                    String info = "【WxPlay】更新【失败】报文订单记录失败";
+                    LOGGER.error("--- {}", info);
+                }
+            }
+            //kmall中的支付单修改为待发送
+            if (wxFaileds.size() > 0) {
+                try {
+                    wxOrderService.updateWxOrderStatusBatch(wxFaileds);
+                } catch (Exception e) {
+                    String info = "【wmOrder】更新【失败】报文订单记录失败";
+                    LOGGER.error("--- {}", info);
+                }
+            }
+        }
+        return true;
+    }
+}

+ 222 - 0
src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplaySendDateRequet.java

@@ -0,0 +1,222 @@
+package com.emato.ccnet.wx.biz.req.play.wx;
+
+import com.emato.ccnet.wx.biz.CebReqSendDate;
+import com.emato.ccnet.wx.config.Cus;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxCuspayStatus;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxPayDoc;
+import com.emato.ccnet.wx.dto.ccnetdto.WxPayDto;
+import com.emato.ccnet.wx.service.WxCuspayStatusService;
+import com.emato.ccnet.wx.service.WxPayDocService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.emato.ccnet.wx.util.BeanUtil;
+import com.emato.ccnet.wx.util.OkHttpUtils;
+import com.emato.ccnet.wx.util.jackson.JacksonUtil;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.util.*;
+
+@Component
+public class WxplaySendDateRequet implements CebReqSendDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxplaySendDateRequet.class);
+
+    public final String CUS_PLAY_EXCLUDE = "wxCuspaySn,orderSn,remark,createrSn,createTime,moderSn,modTime,tstm,exField,exField2,exField3,exField4,exField5";
+
+    @Autowired
+    private WxPayDocService wxPayDocService;
+
+    @Autowired
+    private WxplaySendDateResponse wxplaySendDateResponse;
+
+    @Autowired
+    private WxplaySendDateAfter wxplaySendDateAfter;
+
+    @Autowired
+    private WxCuspayStatusService wxCuspayStatusService;
+
+    @Autowired
+    private Cus cus;
+
+    /**
+     * 发送请求
+     * @return
+     */
+    @Override
+    public ResponseMessage sendDate() {
+        //查找当前wm_ccnet中的所有支付订单
+        List<WxPayDoc> wxPayDocs = wxPayDocService.findAllWxPayDoc();
+        if(wxPayDocs == null){
+            String info = "查找当前wm_ccnet中的所有支付订单失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送给第三方的请求回调
+        ResponseMessage wxPaySumbit = buildRequest(wxPayDocs);
+        if(!ResponseMessage.isSuccess(wxPaySumbit)){
+            String info = "查找当前ccnet中的所有电子订单失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+        return ResponseMessage.success();
+    }
+
+    /**
+     * 发送第三方请求和回调
+     * @param wxPayDocs
+     * @return
+     */
+    private ResponseMessage buildRequest(List<WxPayDoc> wxPayDocs) {
+
+        List<String> sucList = new ArrayList<>();
+        List<String> failedList = new ArrayList<>();
+        for (WxPayDoc wxPayDoc : wxPayDocs){
+
+            //更新支付单数据为申报中
+            ResponseMessage updateWxCuspayStatus = updateWxCuspayStatus(wxPayDoc.getWxCuspaySn());
+            if(!ResponseMessage.isSuccess(updateWxCuspayStatus)){
+                failedList.add(wxPayDoc.getSubOrderNo());
+                String info = "更新支付单数据为申报中失败" + updateWxCuspayStatus.getMsg();
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //数据组装
+            Map<String,String> sPara = null;
+            try {
+                sPara = buildRequestDate(wxPayDoc);
+                if(sPara == null){
+                    failedList.add(wxPayDoc.getSubOrderNo());
+                    String info = "数据组装失败";
+                    LOGGER.error("--- {}", info);
+                    continue;
+                }
+            } catch (Exception e) {
+                failedList.add(wxPayDoc.getSubOrderNo());
+                String info = "数据组装失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //发送CSP系统请求并获取响应信息
+            String response = requestSubmit(sPara);
+            LOGGER.info("WxPlay的响应报文:" + response);
+            if(response == null){
+                failedList.add(wxPayDoc.getSubOrderNo());
+                String info = "发送请求并获取响应信息失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+
+            LOGGER.info("response date:"+response);
+
+            try {
+                //解析响应报文并处理本地业务逻辑
+                ResponseMessage responseDis = wxplaySendDateResponse.addResponse(response,wxPayDoc.getWxCuspaySn());
+                if(!ResponseMessage.isSuccess(responseDis)){
+                    failedList.add(wxPayDoc.getOrderSn());
+                    String info = "解析响应报文并处理本地业务逻辑失败";
+                    LOGGER.error("--- {}", info);
+                    continue;
+                }
+            } catch (Exception e) {
+                failedList.add(wxPayDoc.getSubOrderNo());
+                String info = "解析响应报文并处理本地业务逻辑失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            sucList.add(wxPayDoc.getSubOrderNo());
+        }
+
+        LOGGER.info("--- 【WMPlay】【成功】订单数:{}, 订单: {}", sucList.size(), Joiner.on(",").skipNulls().join(sucList.toArray()));
+        LOGGER.info("--- 【WMPlay】【失败】订单数:{}, 订单: {}", failedList.size(), Joiner.on(",").skipNulls().join(failedList.toArray()));
+
+        wxplaySendDateAfter.afterSend(sucList,failedList);
+
+        return ResponseMessage.success();
+    }
+    /**
+     * 发送请求并获取响应信息
+     * @param sPara
+     * @return
+     */
+
+    private String requestSubmit(Map<String, String> sPara) {
+        //构造RequestBody
+        RequestBody requestBody = OkHttpUtils.buildRequestBody(sPara);
+
+        //构建Request
+        String url = ((Map<String, Object>) cus.getPlay().get("wx")).get("play-url").toString();
+        Request request = OkHttpUtils.buildRequest(url,requestBody);
+
+        // 同步访问,返回结果字符串
+        String response = null;
+        try {
+            response = OkHttpUtils.post(request);
+        } catch (IOException e) {
+            String info = "同步访问,返回结果字符串错误";
+            LOGGER.error("--- {}", info);
+            return null;
+        }
+
+        return response;
+    }
+
+    /**
+     * 更新电子订单状态表
+     * @param wxCuspaySn
+     * @return
+     */
+    private ResponseMessage updateWxCuspayStatus(String wxCuspaySn) {
+        //通过编号查找电子订单表
+        Map<String, Object> reqParam = ImmutableMap.of("wxCuspaySn", wxCuspaySn,"sendStatus", Contants.INIT_STATUS);
+        WxCuspayStatus wxCuspayStatus = wxCuspayStatusService.findWxCuspayStatus(reqParam);
+        if(wxCuspayStatus == null){
+            return ResponseMessage.failed("该电子订单不存在");
+        }
+
+        //更新请求报文状态:请求申报中
+        wxCuspayStatus.setModerSn("");
+        wxCuspayStatus.setModTime(new Date());
+        wxCuspayStatus.setSendStatus(Contants.DECLARATION_STATUS);
+        WxCuspayStatus cuspayStatus = wxCuspayStatusService.update(wxCuspayStatus);
+        if(cuspayStatus == null){
+            return ResponseMessage.failed("该电子订单更新失败");
+        }
+        return ResponseMessage.success();
+    }
+
+    /**
+     * 构造请求参数
+     * @param wxPayDoc
+     * @return
+     */
+    private Map<String, String> buildRequestDate(WxPayDoc wxPayDoc) {
+        // 发送电子订单的集合
+        Map<String, String> sPara = new HashMap<>();
+        List list = Lists.newArrayList();
+        WxPayDto wxPayDto = new WxPayDto();
+        BeanUtil.copy(wxPayDoc, wxPayDto);
+        wxPayDto.setMerchErpOrderSn(wxPayDoc.getWxCuspaySn());
+        wxPayDto.setSubOrderNo(wxPayDoc.getOutTradeNo());
+        list.add(wxPayDto);
+        String requestData = JacksonUtil.toJson(list);
+        sPara.put("data", requestData);
+        LOGGER.info("request Data :" + requestData);
+        return sPara;
+
+    }
+
+
+}

+ 107 - 0
src/main/java/com/emato/ccnet/wx/biz/req/play/wx/WxplaySendDateResponse.java

@@ -0,0 +1,107 @@
+package com.emato.ccnet.wx.biz.req.play.wx;
+
+import com.emato.ccnet.wx.biz.CebRespDateRespons;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.contants.SysContants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxCuspayResp;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxCuspayStatus;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxPayDoc;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.manager.snow.SnowflakeUtil;
+import com.emato.ccnet.wx.service.WxCuspayRespService;
+import com.emato.ccnet.wx.service.WxCuspayStatusService;
+import com.emato.ccnet.wx.service.WxOrderGrabService;
+import com.emato.ccnet.wx.service.WxPayDocService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import com.google.gson.Gson;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.Map;
+
+@Component
+public class WxplaySendDateResponse implements CebRespDateRespons {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxplaySendDateResponse.class);
+
+    @Autowired
+    private WxCuspayStatusService wxCuspayStatusService;
+
+    @Autowired
+    private WxCuspayRespService wxCuspayRespService;
+
+    @Autowired
+    private WxOrderGrabService wxOrderGrabService;
+
+    @Autowired
+    private WxPayDocService wxPayDocService;
+
+    @Override
+    public ResponseMessage addResponse(String response, String wxCuspaySn) {
+
+        Gson gson = new Gson();
+        Result result = gson.fromJson(response, Result.class);
+        if(result == null){
+            LOGGER.info("解析响应数据Result失败");
+            return null;
+        }
+        //查找电子订单状态表
+        Map<String, Object> reqParam = ImmutableMap.of("wxCuspaySn", wxCuspaySn,"sendStatus", Contants.DECLARATION_STATUS);
+        WxCuspayStatus wxCuspayStatus = wxCuspayStatusService.findWxCuspayStatus(reqParam);
+        WxCuspayResp wxCuspayResp = null;
+
+
+        //新增回調数据
+        wxCuspayResp = InitWxCuspayRespData(wxCuspayStatus);
+        wxCuspayResp.setReturnCode(result.getCode());
+        wxCuspayResp.setReturnMsg(result.getMsg());
+
+        if(wxCuspayRespService.add(wxCuspayResp) == null){
+            String info = "新增回調数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+        WxPayDoc wxPayDoc = wxPayDocService.get(wxCuspaySn);
+        if (!"0".equals(result.getCode())){
+            wxCuspayStatus.setSendStatus(Contants.FAIL_STATUS);
+            if(wxCuspayStatusService.update(wxCuspayStatus) == null){
+                String info = "更新微信支付单状态失败";
+                LOGGER.error("--- {}", info);
+                return ResponseMessage.failed(info);
+            }
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", wxPayDoc.getSubOrderNo(), "paymentStartTime", new Date(),"isPaymentSend", Contants.WX_FAIL);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+            return ResponseMessage.failed();
+        }else{
+            wxCuspayStatus.setSendStatus(Contants.DECLARATION_SUCCESS_STATUS);
+            wxCuspayStatus.setRespStatus(Contants.SENDING_STATUS);
+            if(wxCuspayStatusService.update(wxCuspayStatus) == null){
+                String info = "更新微信支付单状态失败";
+                LOGGER.error("--- {}", info);
+                return ResponseMessage.failed(info);
+            }
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", wxPayDoc.getSubOrderNo(), "paymentStartTime", new Date(),"isPaymentSend", Contants.WX_UNDERWAY);
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+            return ResponseMessage.success();
+        }
+
+
+
+    }
+
+    private WxCuspayResp InitWxCuspayRespData(WxCuspayStatus wxCuspayStatus) {
+        WxCuspayResp wxCuspayResp = new WxCuspayResp();
+        String WxcuspayRespSn = SysContants.wx_cuspay_resp + SnowflakeUtil.getSnowNextId();;
+        wxCuspayResp.setWxCuspayRespSn(WxcuspayRespSn);
+        wxCuspayResp.setWxCuspaySn(wxCuspayStatus.getWxPaySn());
+        wxCuspayResp.setMerchSn(wxCuspayStatus.getMerchSn());
+        wxCuspayResp.setMerchName(wxCuspayStatus.getMerchName());
+        wxCuspayResp.setPlatSn(wxCuspayStatus.getPlatSn());
+        wxCuspayResp.setPlatName(wxCuspayStatus.getPlatName());
+        return  wxCuspayResp;
+    }
+
+}

+ 36 - 0
src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511OmsWayAddDate.java

@@ -0,0 +1,36 @@
+package com.emato.ccnet.wx.biz.req.waybill.oms;
+
+import com.emato.ccnet.wx.biz.CebReqAddDate;
+import com.emato.ccnet.wx.service.CusWaybillService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class Ceb511OmsWayAddDate implements CebReqAddDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb511OmsWayAddDate.class);
+    @Autowired
+    private CusWaybillService cusWaybillService;
+    /**
+     * 添加运单数据
+     * @param list
+     * @return
+     */
+    @Override
+    public ResponseMessage addDate(List list) {
+        //运单数据的初始化
+        int cusWaybill = cusWaybillService.addCusWaybill(list);
+        if(cusWaybill != 1){
+            String info = "初始化批量海关支付单记录新增失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed();
+        }
+        return ResponseMessage.success();
+    }
+}

+ 95 - 0
src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511OmsWayBiz.java

@@ -0,0 +1,95 @@
+package com.emato.ccnet.wx.biz.req.waybill.oms;
+
+import com.emato.ccnet.wx.biz.CebReqBiz;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class Ceb511OmsWayBiz implements CebReqBiz {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb511OmsWayBiz.class);
+
+    @Autowired
+    private Ceb511OmsWayGetDate ceb511OmsWayGetDate;
+
+    @Autowired
+    private Ceb511OmsWayAddDate ceb511OmsWayAddDate;
+
+    @Autowired
+    private Ceb511SendDateRequest ceb511SendDateRequest;
+
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    @Value("${db.ccnet-send-wm.page-size}")
+    private String limit = "20";
+
+    /**
+     * 业务入口
+     * @return
+     */
+    @Override
+    public ResponseMessage biz() {
+        Map<String,Object> reqParam = ImmutableMap.of("number", Integer.valueOf(limit),"wxOrderDetail", CcnetContants.isscan.item_1.getItem(),
+                "wayOrderStatus", CcnetContants.sendStatus.item_0.getItem(),"playOrderStatus",CcnetContants.sendStatus.item_2.getItem(),"buyerPayCheck",CcnetContants.isscan.item_1.getItem());
+        //查询海关运单数据
+        List list = ceb511OmsWayGetDate.getData(reqParam);
+        if (list.isEmpty()) {
+            String info = "【CDB511】没有订单数据, 提前结束";
+            LOGGER.error("--- {}", info);
+            afterFailed(list);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加海关运单数据
+        ResponseMessage responseMessage = ceb511OmsWayAddDate.addDate(list);
+        if(!ResponseMessage.isSuccess(responseMessage)){
+            String info = "生成海关运单初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            afterFailed(list);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送数据请求并响应
+        ResponseMessage ceb511ResponseMessage = ceb511SendDateRequest.sendDate();
+        if(!ResponseMessage.isSuccess(ceb511ResponseMessage)){
+            String info = "发送请求响应失败" + ceb511ResponseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            afterFailed(list);
+            return ResponseMessage.failed(info);
+        }
+
+        return ResponseMessage.success();
+    }
+
+    private void afterFailed(List list) {
+        List<String> failedList = new ArrayList<>();
+        List<Map<String, Object>> wmFaileds = new ArrayList<>();
+
+        list.stream().forEach(x->{
+            failedList.add(((WxOrder)x).getOrderSn());
+        });
+        if (failedList.size() > 0) {
+            failedList.stream().forEach(x->{
+                Map<String, Object> wmMap = ImmutableMap.of("orderSn", x,  "wayOrderStatus", Contants.FAIL_STATUS);
+                wmFaileds.add(wmMap);
+            });
+            if (wmFaileds.size() > 0) {
+                wxOrderService.updateWxOrderStatusBatch(wmFaileds);
+            }
+        }
+    }
+
+}

+ 60 - 0
src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511OmsWayGetDate.java

@@ -0,0 +1,60 @@
+package com.emato.ccnet.wx.biz.req.waybill.oms;
+
+import com.emato.ccnet.wx.biz.CebReqGetDate;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 海关电子订单, 海关运单 数据
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-07 09:57
+ */
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class Ceb511OmsWayGetDate implements CebReqGetDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb511OmsWayGetDate.class);
+
+    @Autowired
+    private WxOrderService wxOrderService;
+    /**
+     * 获取kmall数据
+     * @param param
+     * @return
+     */
+    @Override
+    public List getData(Map<String, Object> param) {
+        //取订单数据
+        List<WxOrder> list = wxOrderService.getWxOrder(param);
+        if (list == null || list.size() == 0) {
+            return Collections.emptyList();
+        }
+
+        //更新取出订单状态
+        List<Map<String, Object>> updateList = new ArrayList<>();
+        list.stream().forEach(x->{
+            Map<String, Object> map = ImmutableMap.of("orderSn", x.getOrderSn(), "wayOrderStatus", Contants.SENDING_STATUS);
+            updateList.add(map);
+        });
+
+        int i = 0;
+        if (updateList.size() > 0) {
+           i = wxOrderService.updateWxOrderStatusBatch(updateList);
+        }
+
+        return list;
+    }
+
+}

+ 242 - 0
src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511Response.java

@@ -0,0 +1,242 @@
+package com.emato.ccnet.wx.biz.req.waybill.oms;
+
+import com.emato.ccnet.wx.biz.CebCustomsResponse;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.contants.SysContants;
+import com.emato.ccnet.wx.contants.WmContants;
+import com.emato.ccnet.wx.dao.entity.ccnet.*;
+import com.emato.ccnet.wx.dto.ccnetdto.CbecOrderMerchantNotiReturnOrder;
+import com.emato.ccnet.wx.dto.ccnetdto.PlayResponse;
+import com.emato.ccnet.wx.dto.ccnetdto.WayBillResponse;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.manager.snow.SnowflakeUtil;
+import com.emato.ccnet.wx.service.*;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.emato.ccnet.wx.util.MapBeanUtil;
+import com.emato.ccnet.wx.util.jackson.JacksonUtil;
+import com.google.common.collect.ImmutableMap;
+import com.google.gson.Gson;
+import net.sf.json.JSONArray;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+
+@Component
+public class Ceb511Response {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb511Response.class);
+
+    @Autowired
+    private CusWaybillStatusService cusWaybillStatusService;
+
+    @Autowired
+    private CusWaybillRespService cusWaybillRespService;
+
+    @Autowired
+    private CusWaybillService cusWaybillService;
+
+
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    @Autowired
+    private WxOrderGrabService wxOrderGrabService;
+
+    public ResponseMessage biz(Result result) {
+        //解析数据
+        WayBillResponse wayBillResponse = analysisResponse(result);
+
+        CbecOrderMerchantNotiReturnOrder cbecOrderMerchantNotiReturnOrder = new CbecOrderMerchantNotiReturnOrder();
+        cbecOrderMerchantNotiReturnOrder.setNotiId(wayBillResponse.getNotiId());
+        List<CbecOrderMerchantNotiReturnOrder> cbecOrderMerchantNotiReturnOrderList = new ArrayList<>();
+        cbecOrderMerchantNotiReturnOrderList.add(cbecOrderMerchantNotiReturnOrder);
+        if(wayBillResponse == null){
+            LOGGER.info("解析响应数据失败");
+            return ResponseMessage.error("解析响应数据失败",cbecOrderMerchantNotiReturnOrderList);
+        }
+
+        CusWaybillResp cusOrderResp = InitWxCuspayRespData(wayBillResponse);
+        if(cusOrderResp == null){
+            return ResponseMessage.error("初始化数据失败",cbecOrderMerchantNotiReturnOrderList);
+        }
+        cusOrderResp.setBizInfoCode(result.getCode());
+        cusOrderResp.setBizInfoDesc(result.getMsg());
+
+        if(cusWaybillRespService.add(cusOrderResp) == null){
+            String info = "新增回調数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.error(info,cbecOrderMerchantNotiReturnOrderList);
+        }
+
+        CusWaybill cusWaybill = cusWaybillService.getCusWaybillByMerchOrderSn(wayBillResponse.getMerchOrderSn());
+        if(cusWaybill == null){
+            String info = "查找运单数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.error(info,cbecOrderMerchantNotiReturnOrderList);
+        }
+
+        //查找订单状态表
+        Map<String, Object> reqParam = ImmutableMap.of("cusWaybillSn", cusWaybill.getCusWaybillSn(),"sendStatus", Contants.DECLARATION_SUCCESS_STATUS);
+        CusWaybillStatus cusWaybillStatus = cusWaybillStatusService.findCusWaybillStatus(reqParam);
+        if(cusWaybillStatus == null){
+            String info = "查找运单状态表失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.error(info,cbecOrderMerchantNotiReturnOrderList);
+        }
+
+
+        WxOrder wxOrder = wxOrderService.getWxOrderByOrderSn(cusWaybill.getMerchOrderId());
+        if(wxOrder == null){
+            String info = "查找运单数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.error(info,cbecOrderMerchantNotiReturnOrderList);
+        }
+
+        if(CcnetContants.notiType.item_00.getItem().equals(wayBillResponse.getNotiType())){
+
+            cusWaybillStatus.setRespStatus(Contants.FAIL_STATUS);
+            wxOrder.setPlayOrderStatus(WmContants.wmStatuses.item_3.getItem());
+            Map<String, Object> wxMap = createWxOrderGrabMap(wayBillResponse);
+            wxMap.put("orderSn",wxOrder.getOrderSn());
+            wxMap.put("isCustomsSend",Contants.WX_FAIL);
+
+            wxOrderGrabService.updateMallOrderProcessRecord(wxMap);
+
+        }else if(CcnetContants.notiType.item_20.getItem().equals(wayBillResponse.getNotiType()) && CcnetContants.serviceStates.item_2.getItem().equals(wayBillResponse.getNotiStatus())){
+            cusWaybillStatus.setRespStatus(Contants.INVET_SUCCESS);
+            Map<String, Object> wxMap = createWxOrderGrabMap(wayBillResponse);
+            wxMap.put("orderSn",wxOrder.getOrderSn());
+            wxMap.put("isCustomsSend",Contants.WX_SUCC);
+            wxOrderGrabService.updateMallOrderProcessRecord(wxMap);
+
+            if(CcnetContants.wsFlag.item_10.getItem().equals(wxOrder.getWsFlag())){
+                Map<String, Object> reMap = new HashMap<>();
+                reMap.put("orderSn",wxOrder.getOrderSn());
+                reMap.put("orderStatus","300");
+                reMap.put("shippingStatus","1");
+                wxOrderGrabService.updateBuyerPayCheck(reMap);
+            }
+        }else if(CcnetContants.notiType.item_20.getItem().equals(wayBillResponse.getNotiType()) && CcnetContants.serviceStates.item_3.getItem().equals(wayBillResponse.getNotiStatus())){
+            cusWaybillStatus.setRespStatus(Contants.FAIL_STATUS);
+            Map<String, Object> wxMap = createWxOrderGrabMap(wayBillResponse);
+            wxMap.put("orderSn",wxOrder.getOrderSn());
+            wxMap.put("isCustomsSend",Contants.WX_FAIL);
+            wxOrderGrabService.updateMallOrderProcessRecord(wxMap);
+
+        }else if(CcnetContants.notiType.item_20.getItem().equals(wayBillResponse.getNotiType()) && CcnetContants.serviceStates.item_4.getItem().equals(wayBillResponse.getNotiStatus())){
+            Map<String, Object> wxMap = createWxOrderGrabMap(wayBillResponse);
+            wxMap.put("orderSn",wxOrder.getOrderSn());
+            wxMap.put("isCustomsSend",Contants.WX_UNDERWAY);
+            wxOrderGrabService.updateMallOrderProcessRecord(wxMap);
+            if (wayBillResponse.getNotiInfo().contains("支付信息不存在") && wayBillResponse.getNotiInfo().contains("订单信息不存在")) {
+                wxOrder.setPlayOrderStatus(CcnetContants.sendStatus.item_0.getItem());
+                wxOrder.setClecOrderStatus(CcnetContants.sendStatus.item_0.getItem());
+            }else if(wayBillResponse.getNotiInfo().contains("支付信息不存在") ){
+                wxOrder.setPlayOrderStatus(CcnetContants.sendStatus.item_0.getItem());
+            }else if(wayBillResponse.getNotiInfo().contains("订单信息不存在")){
+                wxOrder.setClecOrderStatus(CcnetContants.sendStatus.item_0.getItem());
+            }
+
+        }else if(CcnetContants.notiType.item_40.getItem().equals(wayBillResponse.getNotiType())){
+            cusWaybillStatus.setSendStatus(Contants.SUCCESS_STATUS);
+            wxOrder.setPlayOrderStatus(WmContants.wmStatuses.item_2.getItem());
+            cusWaybillStatus.setRespStatus(Contants.SUCCESS_STATUS);
+            Map<String, Object> recordMap = ImmutableMap.of("orderSn", wxOrder.getOrderSn(), "shipmentStartTime",new Date());
+            wxOrderGrabService.updateMallOrderProcessRecord(recordMap);
+
+            Map<String, Object> reMap = new HashMap<>();
+            reMap.put("orderSn",wxOrder.getOrderSn());
+            reMap.put("shippingNo",wayBillResponse.getLogisticsNo());
+            reMap.put("shippingCode","YD");
+            reMap.put("shippingName","韵达快递");
+            reMap.put("orderStatus","300");
+            reMap.put("shippingStatus","1");
+            wxOrderGrabService.updateBuyerPayCheck(reMap);
+
+
+        }else{
+            String info = "状态非法,无需处理";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.error(info,cbecOrderMerchantNotiReturnOrderList);
+        }
+
+        if(cusWaybillStatusService.update(cusWaybillStatus) == null){
+            String info = "更新运单状态失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.error(info,cbecOrderMerchantNotiReturnOrderList);
+        }
+
+        wxOrderService.update(wxOrder);
+        //回执给oms的数据
+        String info = "oms处理回调成功";
+        LOGGER.info(info);
+
+        return ResponseMessage.success(info,cbecOrderMerchantNotiReturnOrderList);
+    }
+
+    private Map<String,Object> createWxOrderGrabMap(WayBillResponse wayBillResponse) {
+        Map<String,Object> wxMap = new HashMap<>();
+        wxMap.put("waybillStartTime",wayBillResponse.getWaybillStartTime());
+        wxMap.put("waybillSuccTime",wayBillResponse.getWaybillEndTime());
+        wxMap.put("customsStartTime",wayBillResponse.getClearStartTime());
+        wxMap.put("customsSuccTime",wayBillResponse.getClearEndTime());
+        wxMap.put("logisticsNo",wayBillResponse.getLogisticsNo());
+        wxMap.put("invtNo",wayBillResponse.getInvtNo());
+        return wxMap;
+    }
+
+    /**
+     * 解析响应数据
+     * @param result
+     * @return
+     */
+    private static WayBillResponse analysisResponse(Result result) {
+        Object dataResult = result.getData();
+        if(dataResult == null){
+            LOGGER.info("解析响应数据OrderResponse集合失败");
+            return null;
+        }
+
+        JSONArray json = JSONArray.fromObject(dataResult);
+        if(json == null && json.size() <= 0){
+            return null;
+        }
+
+        WayBillResponse wayBillResponse = null;
+        try {
+            wayBillResponse =  JacksonUtil.fromStringJson(json.getString(0),WayBillResponse.class);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return wayBillResponse;
+
+    }
+
+    /**
+     * 添加回调信息
+     * @param wayBillResponse
+     * @return
+     */
+    private CusWaybillResp InitWxCuspayRespData(WayBillResponse wayBillResponse) {
+        CusWaybillResp cusWaybillResp = new CusWaybillResp();
+        String WxcuspayRespSn = SysContants.wx_cuspay_resp + SnowflakeUtil.getSnowNextId();;
+        cusWaybillResp.setCusWaybillRespSn(WxcuspayRespSn);
+        cusWaybillResp.setMerchOrderSn(wayBillResponse.getMerchOrderSn());
+        cusWaybillResp.setMerchSn(wayBillResponse.getMerchId());
+        cusWaybillResp.setThirdPartyMerchCode(wayBillResponse.getThirdPartyMerchCode());
+        cusWaybillResp.setNotiType(wayBillResponse.getNotiType());
+        cusWaybillResp.setServiceStates(wayBillResponse.getNotiStatus());
+        cusWaybillResp.setNotiInfo(wayBillResponse.getNotiInfo());
+        cusWaybillResp.setLogisticsNo(wayBillResponse.getLogisticsNo());
+        cusWaybillResp.setWaybillStartTime(wayBillResponse.getWaybillStartTime());
+        cusWaybillResp.setWaybillEndTime(wayBillResponse.getWaybillEndTime());
+        cusWaybillResp.setInvtNo(wayBillResponse.getInvtNo());
+        cusWaybillResp.setClearStartTime(wayBillResponse.getClearStartTime());
+        cusWaybillResp.setClearEndTime(wayBillResponse.getClearEndTime());
+        cusWaybillResp.setCreateTime(new Date());
+        return  cusWaybillResp;
+    }
+}

+ 90 - 0
src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511SendDateAfter.java

@@ -0,0 +1,90 @@
+package com.emato.ccnet.wx.biz.req.waybill.oms;
+
+import com.emato.ccnet.wx.biz.CebReqSendDateAfter;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.service.CusWaybillStatusService;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 海关电子订单 运单 报文发送后
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-08 14:14
+ */
+@Component
+public class Ceb511SendDateAfter implements CebReqSendDateAfter {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb511SendDateAfter.class);
+
+    @Autowired
+    private CusWaybillStatusService cusWaybillStatusService;
+
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    /**
+     * 更新状态
+     * @param sucList
+     * @param failedList
+     * @return
+     */
+    @Override
+    public boolean afterSend(List<String> sucList, List<String> failedList) {
+        List<Map<String, Object>> wxPlaySucs = new ArrayList<>();
+        List<Map<String, Object>> wxPlayFaileds = new ArrayList<>();
+        List<Map<String, Object>> wxOrderFaileds = new ArrayList<>();
+
+        //全部处理完后
+        if (sucList.size() > 0) {
+            LOGGER.info("--- 【CDB511】更新【成功】报文订单记录......");
+            sucList.stream().forEach(x->{
+                Map<String, Object> wxPlayMap = ImmutableMap.of("merchOrderSn", x, "sendStatus", Contants.DECLARATION_SUCCESS_STATUS);
+                wxPlaySucs.add(wxPlayMap);
+            });
+            if(wxPlaySucs.size() > 0){
+                try {
+                    if(wxPlaySucs.size() > 0) {
+                        cusWaybillStatusService.updateCusWaybillStatusBatch(wxPlaySucs);
+                    }
+                } catch (Exception e) {
+                    String info = "【CDB511中的wx推单】更新【成功】报文订单记录失败";
+                    LOGGER.error("--- {}", info);
+                    return false;
+                }
+            }
+        }
+
+        if (failedList.size() > 0) {
+            LOGGER.info("--- 【CDB511】更新【失败】报文订单记录......");
+            failedList.stream().forEach(x->{
+                Map<String, Object> wxPlayMap = ImmutableMap.of("merchOrderSn", x,  "sendStatus", Contants.FAIL_STATUS);
+                Map<String, Object> map = ImmutableMap.of("orderSn", x, "wayOrderStatus", Contants.FAIL_STATUS);
+                wxPlayFaileds.add(wxPlayMap);
+                wxOrderFaileds.add(map);
+            });
+
+            try {
+                if(wxOrderFaileds.size() > 0) {
+                    wxOrderService.updateWxOrderStatusBatch(wxOrderFaileds);
+                }
+                if(wxPlayFaileds.size() > 0) {
+                    cusWaybillStatusService.updateCusWaybillStatusBatch(wxPlayFaileds);
+                }
+            } catch (Exception e) {
+                String info = "【CDB511中的wx推单】更新【失败】报文订单记录失败";
+                LOGGER.error("--- {}", info);
+                return false;
+            }
+        }
+
+        return true;
+    }
+}

+ 261 - 0
src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511SendDateRequest.java

@@ -0,0 +1,261 @@
+package com.emato.ccnet.wx.biz.req.waybill.oms;
+
+import com.alibaba.fastjson.JSONObject;
+import com.emato.ccnet.wx.biz.CebReqSendDate;
+import com.emato.ccnet.wx.config.Cus;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybill;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybillGoods;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybillStatus;
+import com.emato.ccnet.wx.dto.ccnetdto.BondedStockMerchantOrder;
+import com.emato.ccnet.wx.dto.ccnetdto.BondedStockMerchantOrderItem;
+import com.emato.ccnet.wx.service.CusWaybillGoodsService;
+import com.emato.ccnet.wx.service.CusWaybillService;
+import com.emato.ccnet.wx.service.CusWaybillStatusService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.emato.ccnet.wx.support.sign.OmsSign;
+import com.emato.ccnet.wx.util.OkHttpUtils;
+import com.emato.ccnet.wx.util.jackson.JacksonUtil;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMap;
+import okhttp3.Request;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.math.BigDecimal;
+import java.util.*;
+
+@Component
+public class Ceb511SendDateRequest implements CebReqSendDate{
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb511SendDateRequest.class);
+    @Autowired
+    private CusWaybillService cusWaybillService;
+
+    @Autowired
+    private CusWaybillStatusService cusWaybillStatusService;
+
+    @Autowired
+    private CusWaybillGoodsService cusWaybillGoodsService;
+
+    @Autowired
+    private Ceb511SendDateResponse ceb511SendDateResponse;
+
+    @Autowired
+    private Ceb511SendDateAfter ceb511SendDateAfter;
+
+    @Autowired
+    private Cus cus;
+
+    /**
+     * 发送请求
+     * @return
+     */
+    @Override
+    public ResponseMessage sendDate() {
+        //查找当前ccnet中的所有电子订单
+        List<CusWaybill> cusWaybills = cusWaybillService.findAllCusWaybill();
+        if(cusWaybills == null){
+            String info = "查找当前ccnet中的所有电子订单失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送给第三方的请求回调
+        int orderSumbit = buildRequest(cusWaybills);
+        if(orderSumbit != 1){
+            String info = "发送请求响应失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+        return ResponseMessage.success();
+    }
+
+    /**
+     * 发送第三方请求
+     * @param cusWaybills
+     * @return
+     */
+    private int buildRequest(List<CusWaybill> cusWaybills) {
+
+        List<String> sucList = new ArrayList<>();
+        List<String> failedList = new ArrayList<>();
+
+        for (CusWaybill cusWaybill:cusWaybills){
+            //更新运单状态表变成发送中
+            ResponseMessage update = updateCusWaybillStatus(cusWaybill.getCusWaybillSn());
+            if(!ResponseMessage.isSuccess(update)){
+                failedList.add(cusWaybill.getMerchOrderId());
+                String info = "更新运单状态表变成发送中失败" + update.getMsg();
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //构造请求oms的参数数值
+            Map<String, String> sPara = buildCusWaybillMap(cusWaybill);
+            if(sPara == null){
+                failedList.add(cusWaybill.getMerchOrderId());
+                String info = "构造请求oms的参数数值失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //发送请求并获取响应信息
+            String response = requestSubmit(sPara, cusWaybill.getWsFlag());
+            LOGGER.info("oms的响应报文:" + response);
+
+            LOGGER.info("response date:"+response);
+            //解析响应信息并处理
+            ResponseMessage addRespone = ceb511SendDateResponse.addResponse(response,cusWaybill.getCusWaybillSn());
+            if(!ResponseMessage.isSuccess(addRespone)){
+                failedList.add(cusWaybill.getMerchOrderId());
+                String info = "解析响应信息并处理失败:"+addRespone.getMsg();
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            sucList.add(cusWaybill.getMerchOrderId());
+
+        }
+        LOGGER.info("--- 【CEB511】【成功】订单数:{}, 订单: {}", sucList.size(), Joiner.on(",").skipNulls().join(sucList.toArray()));
+        LOGGER.info("--- 【CEB511】【失败】订单数:{}, 订单: {}", failedList.size(), Joiner.on(",").skipNulls().join(failedList.toArray()));
+
+        ceb511SendDateAfter.afterSend(sucList,failedList);
+
+        return 1;
+    }
+
+    /**
+     * 发送请求并获取响应信息
+     * @param sPara
+     * @return
+     */
+    private String requestSubmit(Map<String, String> sPara, String wsFlag) {
+
+        //构建Request
+        String url = null;
+        if (CcnetContants.wsFlag.item_00.getItem().equals(wsFlag)) {
+            url = cus.getWaybill().get("bds-url");
+        } else if (CcnetContants.wsFlag.item_02.getItem().equals(wsFlag)) {
+            url = cus.getWaybill().get("bdd-url");
+        } else if (CcnetContants.wsFlag.item_10.getItem().equals(wsFlag)) {
+            url = cus.getWaybill().get("shop-url");
+        }
+        Request request = OkHttpUtils.buildRequest(url, JacksonUtil.toJson(sPara));
+        LOGGER.info("oms的请求报文:" + request);
+        // 同步访问,返回结果字符串
+        String response = null;
+        try {
+            response = OkHttpUtils.post(request);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        return response;
+    }
+
+
+    /**
+     * 构造请求参数
+     * @param cusWaybill
+     * @return
+     */
+    private Map<String,String> buildCusWaybillMap(CusWaybill cusWaybill) {
+        Map<String,String> sParaTemp = new TreeMap<String, String>();
+        //组装body数据
+        BondedStockMerchantOrder bondedStockMerchantOrder = new BondedStockMerchantOrder(cusWaybill);
+        List<CusWaybillGoods> cusWaybillGoodsList = cusWaybillGoodsService.findCusWaybillGoodsByOrderId(cusWaybill.getMerchOrderId());
+        if(cusWaybillGoodsList == null||cusWaybillGoodsList.size() <= 0){
+            return null;
+        }
+        List<BondedStockMerchantOrderItem> bondedStockMerchantOrderItems = new ArrayList<>();
+        for (CusWaybillGoods cusWaybillGoods:cusWaybillGoodsList){
+            BondedStockMerchantOrderItem bondedStockMerchantOrderItem = new BondedStockMerchantOrderItem();
+            bondedStockMerchantOrderItem.setSku(cusWaybillGoods.getSku());
+            bondedStockMerchantOrderItem.setSellQty(cusWaybillGoods.getBuyQty());
+            bondedStockMerchantOrderItem.setSellUnitPrice(cusWaybillGoods.getBuyUnitPrice());
+            bondedStockMerchantOrderItems.add(bondedStockMerchantOrderItem);
+        }
+        bondedStockMerchantOrder.setItem(bondedStockMerchantOrderItems);
+        String bondedStockMerchantOrderJson = JacksonUtil.toJson(bondedStockMerchantOrder);
+
+        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
+        sParaTemp.put("merchId",cusWaybill.getMerchSn());
+        sParaTemp.put("data",bondedStockMerchantOrderJson);
+        sParaTemp.put("timestamp", timestamp);
+        //生成要请求给oms秘钥
+        String sign = OmsSign.sign(sParaTemp,cus.getWaybill().get("secret-key"));
+        sParaTemp.put("sign", sign);
+
+
+        LOGGER.info("oms的请求报文:merchId参数:" + cusWaybill.getMerchSn()+"sign参数:"+sign+"data参数:"+bondedStockMerchantOrderJson+"timestamp参数:"+timestamp);
+        return sParaTemp;
+    }
+
+    /**
+     * 利用Introspector和PropertyDescriptor 将Bean --> Map
+     * @param obj
+     * @return
+     */
+    public static Map<String, Object> transBean2Map(Object obj) {
+
+        if(obj == null){
+            return null;
+        }
+        Map<String, Object> map = new HashMap<String, Object>();
+        try {
+            BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
+            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
+            for (PropertyDescriptor property : propertyDescriptors) {
+                String key = property.getName();
+
+                // 过滤class属性
+                if (!key.equals("class")) {
+                    // 得到property对应的getter方法
+                    Method getter = property.getReadMethod();
+                    Object value = getter.invoke(obj);
+
+                    map.put(key, value);
+                }
+
+            }
+        } catch (Exception e) {
+            System.out.println("transBean2Map Error " + e);
+        }
+
+        return map;
+
+    }
+
+    /**
+     * 更新运单状态
+     * @param cusWaybillSn
+     * @return
+     */
+    private ResponseMessage updateCusWaybillStatus(String cusWaybillSn) {
+        Map<String, Object> map = ImmutableMap.of("cusWaybillSn", cusWaybillSn, "sendStatus", Contants.INIT_STATUS);
+        //通过编号查找运单状态表
+        CusWaybillStatus cusWaybillStatus = cusWaybillStatusService.findCusWaybillStatus(map);
+        if(cusWaybillStatus == null){
+            return  ResponseMessage.failed("查找运单状态表为空");
+        }
+
+        //更新运单状态
+        cusWaybillStatus.setSendStatus(Contants.SENDING_STATUS);
+        cusWaybillStatus.setModerSn(Contants.CREATER_NUMBER);
+        cusWaybillStatus.setModTime(new Date());
+
+        if(cusWaybillStatusService.updateCusWaybillStatus(cusWaybillStatus) <= 0){
+          return ResponseMessage.failed("更新运单状态失败");
+        }
+        return ResponseMessage.success();
+    }
+
+}

+ 83 - 0
src/main/java/com/emato/ccnet/wx/biz/req/waybill/oms/Ceb511SendDateResponse.java

@@ -0,0 +1,83 @@
+package com.emato.ccnet.wx.biz.req.waybill.oms;
+
+import com.emato.ccnet.wx.biz.CebRespDateRespons;
+import com.emato.ccnet.wx.contants.Contants;
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybillStatus;
+import com.emato.ccnet.wx.service.CusWaybillRespService;
+import com.emato.ccnet.wx.service.CusWaybillStatusService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import com.google.gson.Gson;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.Map;
+
+@Component
+public class Ceb511SendDateResponse implements CebRespDateRespons {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb511SendDateResponse.class);
+    @Autowired
+    private CusWaybillStatusService cusWaybillStatusService;
+
+    @Autowired
+    private CusWaybillRespService cusWaybillRespService;
+    /**
+     * 对响应进行处理
+     * @param response
+     * @param cusWaybillSn
+     * @return
+     */
+    @Override
+    public ResponseMessage addResponse(String response, String cusWaybillSn) {
+        //解析响应数据
+        Gson gson = new Gson();
+        ResponseMessage result = gson.fromJson(response, ResponseMessage.class);
+        if(result == null){
+            String info = "解析响应数据Result失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //新增回调数据
+        int cusWaybillResp = cusWaybillRespService.insertWaybillResp(result,cusWaybillSn);
+        if (cusWaybillResp != 1){
+            String info = "回调数据添加失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //查找运单状态表
+        Map<String, Object> reqParam = ImmutableMap.of("cusWaybillSn", cusWaybillSn,"sendStatus", Contants.SENDING_STATUS);
+        CusWaybillStatus cusWaybillStatus = cusWaybillStatusService.findCusWaybillStatus(reqParam);
+        if(cusWaybillStatus == null){
+            String info = "查找运单状态表数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //判断结果
+        if(Contants.OMS_SUCCESS_CODE.equals(result.getCode())){
+            cusWaybillStatus.setRespStatus(Contants.SUCCESS_STATUS);
+            cusWaybillStatus.setModerSn(Contants.CREATER_NUMBER);
+            cusWaybillStatus.setModTime(new Date());
+            cusWaybillStatusService.updateCusWaybillStatus(cusWaybillStatus);
+
+            return ResponseMessage.success();
+        }else{
+            cusWaybillStatus.setRespStatus(Contants.FAIL_STATUS);
+            cusWaybillStatus.setModerSn(Contants.CREATER_NUMBER);
+            cusWaybillStatus.setModTime(new Date());
+            cusWaybillStatusService.updateCusWaybillStatus(cusWaybillStatus);
+
+            String info = result.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+    }
+
+
+}

+ 38 - 0
src/main/java/com/emato/ccnet/wx/biz/req/wxorder/order/WxOrderAddDate.java

@@ -0,0 +1,38 @@
+package com.emato.ccnet.wx.biz.req.wxorder.order;
+
+import com.emato.ccnet.wx.biz.CebReqAddDate;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class WxOrderAddDate implements CebReqAddDate {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxOrderAddDate.class);
+
+    @Autowired
+    private WxOrderService wxOrderService;
+    /**
+     * 微信订单初始化
+     * @param list
+     * @return
+     */
+    @Override
+    public ResponseMessage addDate(List list) {
+        // 微信订单的初始化
+        int cusWaybill = wxOrderService.addWxOrderList(list);
+        if(cusWaybill != 1){
+            String info = "初始化批量微信订单记录新增失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed();
+        }
+        return ResponseMessage.success();
+    }
+}

+ 52 - 0
src/main/java/com/emato/ccnet/wx/biz/req/wxorder/order/WxOrderGetDate.java

@@ -0,0 +1,52 @@
+package com.emato.ccnet.wx.biz.req.wxorder.order;
+
+import com.emato.ccnet.wx.biz.CebReqGetDate;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.dao.entity.wx.WxOrderDate;
+import com.emato.ccnet.wx.service.WxOrderGrabService;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+@Component
+@Transactional(value = "middleTransactionManager")
+public class WxOrderGetDate implements CebReqGetDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxOrderGetDate.class);
+    @Autowired
+    private WxOrderGrabService wxOrderGrabService;
+
+    @Override
+    public List<WxOrderDate> getData(Map<String, Object> param) {
+
+        //取出待更新订单数据
+        List<WxOrderDate> wxOrderDateList = wxOrderGrabService.getWxOrder(param);
+        if (wxOrderDateList == null || wxOrderDateList.size() == 0) {
+            return Collections.emptyList();
+        }
+
+        List<Map<String, Object>> updateList = new ArrayList<>();
+        wxOrderDateList.stream().forEach(x->{
+            Map<String, Object> map = ImmutableMap.of("orderId", x.getWxOrderId(), "isScan", CcnetContants.isscan.item_1.getItem());
+            updateList.add(map);
+        });
+
+        //更新取出订单状态
+        if (updateList.size() > 0) {
+           try {
+               wxOrderGrabService.updateIsScanBatch(updateList);
+           }catch (Exception e){
+               LOGGER.error("更新订单是否扫描的状态失败", e.getCause());
+               return Collections.emptyList();
+           }
+        }
+
+        return wxOrderDateList;
+    }
+}

+ 55 - 0
src/main/java/com/emato/ccnet/wx/biz/req/wxorder/order/WxOrderGrabBiz.java

@@ -0,0 +1,55 @@
+package com.emato.ccnet.wx.biz.req.wxorder.order;
+
+import com.emato.ccnet.wx.biz.CebReqBiz;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class WxOrderGrabBiz implements CebReqBiz {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxOrderGrabBiz.class);
+
+   @Autowired
+   private WxOrderGetDate wxOrderGetDate;
+
+   @Autowired
+   private WxOrderAddDate wxOrderAddDate;
+
+   @Value("${db.wx-send-ccnet.page-size}")
+   private String limit = "20";
+
+    /**
+     * 微信订单业务入口
+     * @return
+     */
+    @Override
+    public ResponseMessage biz() {
+        Map<String,Object> reqParam = ImmutableMap.of("number", Integer.valueOf(limit));
+        //查询待处理数据
+        List list = wxOrderGetDate.getData(reqParam);
+        if (list.isEmpty()) {
+            String info = "微信端没有待处理订单数据, 提前结束";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加微信订单数据
+        ResponseMessage responseMessage = wxOrderAddDate.addDate(list);
+        if(!ResponseMessage.isSuccess(responseMessage)){
+            String info = "生成微信订单数据初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        return ResponseMessage.success();
+    }
+
+}

+ 38 - 0
src/main/java/com/emato/ccnet/wx/biz/req/wxorder/ordergoods/WxOrderGoodsAddDate.java

@@ -0,0 +1,38 @@
+package com.emato.ccnet.wx.biz.req.wxorder.ordergoods;
+
+import com.emato.ccnet.wx.biz.CebReqAddDate;
+import com.emato.ccnet.wx.service.WxOrderGoodsService;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class WxOrderGoodsAddDate implements CebReqAddDate {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxOrderGoodsAddDate.class);
+    @Autowired
+    private WxOrderGoodsService wxOrderGoodsService;
+
+    /**
+     * 微信订单的初始化
+     * @param list
+     * @return
+     */
+    @Override
+    public ResponseMessage addDate(List list) {
+        // 微信订单的初始化
+        int cusWaybill = wxOrderGoodsService.addWxOrderGoodsList(list);
+        if(cusWaybill != 1){
+            String info = "初始化批量微信订单记录新增失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed();
+        }
+        return ResponseMessage.success();
+    }
+}

+ 64 - 0
src/main/java/com/emato/ccnet/wx/biz/req/wxorder/ordergoods/WxOrderGoodsGetDate.java

@@ -0,0 +1,64 @@
+package com.emato.ccnet.wx.biz.req.wxorder.ordergoods;
+
+import com.emato.ccnet.wx.biz.CebReqGetDate;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import com.emato.ccnet.wx.dao.entity.wx.WxOrderGoodsDate;
+import com.emato.ccnet.wx.service.WxOrderGrabService;
+import com.emato.ccnet.wx.service.WxOrderService;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Component
+@Transactional(value = "middleTransactionManager")
+public class WxOrderGoodsGetDate implements CebReqGetDate {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxOrderGoodsGetDate.class);
+    @Autowired
+    private WxOrderService wxOrderService;
+
+    @Autowired
+    private WxOrderGrabService wxOrderGrabService;
+
+    @Override
+    public List getData(Map<String, Object> param) {
+        //查询当前未扫描的订单
+        List<WxOrder> wxOrders = wxOrderService.getWxOrder(param);
+        if(wxOrders == null || wxOrders.size() <= 0){
+            return Collections.emptyList();
+        }
+        List<String> wxOrderIdList = new ArrayList<>();
+        List<Map<String, Object>> wxOrderStatus = new ArrayList<>();
+        wxOrders.forEach(x->{
+            wxOrderIdList.add(x.getWxOrderId());
+            Map<String, Object> wxMap = ImmutableMap.of("orderSn", x.getOrderSn(),  "wxOrderDetail", CcnetContants.isscan.item_1.getItem());
+            wxOrderStatus.add(wxMap);
+        });
+
+        //通过微信订单编号去查找订单详情
+        List<WxOrderGoodsDate> wxOrderGoodsDates = wxOrderGrabService.getWxOrderGoods(wxOrderIdList);
+        if(wxOrderGoodsDates == null || wxOrderGoodsDates.size() <= 0){
+            return Collections.emptyList();
+        }
+
+        //更新订单是否扫描详情的状态
+        try {
+            wxOrderService.updateWxOrderStatusBatch(wxOrderStatus);
+        }catch (Exception e){
+            LOGGER.error("更新订单是否扫描详情的状态失败", e.getCause());
+            return Collections.emptyList();
+        }
+
+        return wxOrderGoodsDates;
+    }
+
+}

+ 55 - 0
src/main/java/com/emato/ccnet/wx/biz/req/wxorder/ordergoods/WxOrderGoodsGrabBiz.java

@@ -0,0 +1,55 @@
+package com.emato.ccnet.wx.biz.req.wxorder.ordergoods;
+
+import com.emato.ccnet.wx.biz.CebReqBiz;
+import com.emato.ccnet.wx.contants.CcnetContants;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class WxOrderGoodsGrabBiz implements CebReqBiz {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxOrderGoodsGrabBiz.class);
+
+   @Autowired
+   private WxOrderGoodsGetDate wxOrderGoodsGetDate;
+
+   @Autowired
+   private WxOrderGoodsAddDate wxOrderGoodsAddDate;
+
+    @Value("${db.wx-send-ccnet.page-size}")
+    private String limit = "20";
+
+    /**
+     * 微信订单详情业务入口
+     * @return
+     */
+    @Override
+    public ResponseMessage biz() {
+        Map<String,Object> reqParam = ImmutableMap.of("number", Integer.valueOf(limit),"wxOrderDetail", CcnetContants.isscan.item_0.getItem());
+        //通过订单数据orderId去查询订单详情数据
+        List list = wxOrderGoodsGetDate.getData(reqParam);
+        if (list.isEmpty()) {
+            String info = "没有需要查询的订单详情数据, 提前结束";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加订单详情数据
+        ResponseMessage responseMessage = wxOrderGoodsAddDate.addDate(list);
+        if(!ResponseMessage.isSuccess(responseMessage)){
+            String info = "生成微信订单详情数据初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        return ResponseMessage.success();
+    }
+
+}

+ 24 - 0
src/main/java/com/emato/ccnet/wx/config/AspectWebConfiguration.java

@@ -0,0 +1,24 @@
+package com.emato.ccnet.wx.config;
+
+import com.emato.ccnet.wx.aop.AspectWebLog;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-10-23 02:27
+ */
+@Configuration
+public class AspectWebConfiguration {
+
+    /**
+     * 日志处理
+     * @return
+     */
+    @Bean
+    public static AspectWebLog webLogAspect() {
+        return new AspectWebLog();
+    }
+
+}

+ 51 - 0
src/main/java/com/emato/ccnet/wx/config/Cus.java

@@ -0,0 +1,51 @@
+package com.emato.ccnet.wx.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+@ConfigurationProperties(prefix="cus") //接收application.yml中的pays下面的属性
+public class Cus implements Serializable {
+    private static final long serialVersionUID = -2913008001943191086L;
+
+    private Map<String, String> order = new HashMap<>(); //接收order里面的属性值
+    private Map<String, String> waybill = new HashMap<>(); //接收waybill里面的属性值
+    private Map<String, Object> play = new HashMap<>(); //接收play里面的属性值
+    private Map<String, String> message = new HashMap<>();//接收message里面的属性值
+
+    public Map<String, String> getOrder() {
+        return order;
+    }
+
+    public void setOrder(Map<String, String> order) {
+        this.order = order;
+    }
+
+    public Map<String, String> getWaybill() {
+        return waybill;
+    }
+
+    public void setWaybill(Map<String, String> waybill) {
+        this.waybill = waybill;
+    }
+
+    public Map<String, Object> getPlay() {
+        return play;
+    }
+
+    public void setPlay(Map<String, Object> play) {
+        this.play = play;
+    }
+
+    public Map<String, String> getMessage() {
+        return message;
+    }
+
+    public void setMessage(Map<String, String> message) {
+        this.message = message;
+    }
+}

+ 36 - 0
src/main/java/com/emato/ccnet/wx/config/DistributedSystemProperties.java

@@ -0,0 +1,36 @@
+package com.emato.ccnet.wx.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+import java.io.Serializable;
+
+/**
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-26 16:16
+ */
+@Configuration
+@ConfigurationProperties("ds")
+public class DistributedSystemProperties implements Serializable {
+    private static final long serialVersionUID = 2933157544322298616L;
+
+    private long workerId;
+    private long datacenterId;
+
+    public long getWorkerId() {
+        return workerId;
+    }
+
+    public void setWorkerId(long workerId) {
+        this.workerId = workerId;
+    }
+
+    public long getDatacenterId() {
+        return datacenterId;
+    }
+
+    public void setDatacenterId(long datacenterId) {
+        this.datacenterId = datacenterId;
+    }
+}

+ 76 - 0
src/main/java/com/emato/ccnet/wx/config/Merchant.java

@@ -0,0 +1,76 @@
+package com.emato.ccnet.wx.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+
+@Component
+@ConfigurationProperties(prefix="merchant") //接收application.yml中的merchant下面的属性
+public class Merchant implements Serializable {
+    private static final long serialVersionUID = -488663428498976725L;
+
+    private String code;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String  platName;
+
+    /**
+     * 商户海关备案编号
+     */
+    private String merchantCustomsCode;
+
+    /**
+     * 商户海关备案名称
+     */
+    private String merchantCustomsName;
+
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn;
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName;
+    }
+
+    public String getMerchantCustomsCode() {
+        return merchantCustomsCode;
+    }
+
+    public void setMerchantCustomsCode(String merchantCustomsCode) {
+        this.merchantCustomsCode = merchantCustomsCode;
+    }
+
+    public String getMerchantCustomsName() {
+        return merchantCustomsName;
+    }
+
+    public void setMerchantCustomsName(String merchantCustomsName) {
+        this.merchantCustomsName = merchantCustomsName;
+    }
+
+}

+ 113 - 0
src/main/java/com/emato/ccnet/wx/config/Weimob.java

@@ -0,0 +1,113 @@
+package com.emato.ccnet.wx.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+
+@Component
+@ConfigurationProperties(prefix="wx") //接收application.yml中的weimob下面的属性
+public class Weimob implements Serializable {
+    private static final long serialVersionUID = -2913008001943191086L;
+
+    /**
+     * 授权码
+     */
+    private String code;
+
+    /**
+     * 证书信息
+     */
+    private String clientId;
+    private String clientSecret;
+
+    /**
+     * 回调地址
+     */
+    private String redirectUri;
+
+    /**
+     * 获取token地址
+     */
+    private String getTokenUri;
+
+    /**
+     * 微盟查询订单列表地址
+     */
+    private String queryOrderListUri;
+
+    /**
+     * 微盟查询订单详情地址
+     */
+    private String queryOrderDetailUri;
+
+    /**
+     * 微盟获取商品详情地址
+     * @return
+     */
+    private String queryGoodsDetailUri;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getClientId() {
+        return clientId;
+    }
+
+    public void setClientId(String clientId) {
+        this.clientId = clientId;
+    }
+
+    public String getClientSecret() {
+        return clientSecret;
+    }
+
+    public void setClientSecret(String clientSecret) {
+        this.clientSecret = clientSecret;
+    }
+
+    public String getRedirectUri() {
+        return redirectUri;
+    }
+
+    public void setRedirectUri(String redirectUri) {
+        this.redirectUri = redirectUri;
+    }
+
+    public String getGetTokenUri() {
+        return getTokenUri;
+    }
+
+    public void setGetTokenUri(String getTokenUri) {
+        this.getTokenUri = getTokenUri;
+    }
+
+    public String getQueryOrderListUri() {
+        return queryOrderListUri;
+    }
+
+    public void setQueryOrderListUri(String queryOrderListUri) {
+        this.queryOrderListUri = queryOrderListUri;
+    }
+
+    public String getQueryOrderDetailUri() {
+        return queryOrderDetailUri;
+    }
+
+    public void setQueryOrderDetailUri(String queryOrderDetailUri) {
+        this.queryOrderDetailUri = queryOrderDetailUri;
+    }
+
+    public String getQueryGoodsDetailUri() {
+        return queryGoodsDetailUri;
+    }
+
+    public void setQueryGoodsDetailUri(String queryGoodsDetailUri) {
+        this.queryGoodsDetailUri = queryGoodsDetailUri;
+    }
+}

+ 69 - 0
src/main/java/com/emato/ccnet/wx/config/db/middle/MiddleDataSourceConfiguration.java

@@ -0,0 +1,69 @@
+package com.emato.ccnet.wx.config.db.middle;
+
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.SqlSessionTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+
+import javax.sql.DataSource;
+
+/**
+ * 多数据源配置
+ *
+ * 数据源配置
+ *
+ * 指定mybatis-config.xml, 和要扫描的别名包
+ *
+ * @author Scott Chen
+ * @date 2017/4/22
+ */
+@Configuration
+public class MiddleDataSourceConfiguration {
+
+    @Autowired
+    private Environment env;
+
+    @Bean
+    @ConfigurationProperties(prefix = "spring.datasource.middle")
+    public DataSourceProperties middleDataSourceProperties() {
+        return new DataSourceProperties();
+    }
+
+    @Bean
+    public DataSource middleDataSource() {
+        DataSource dataSource = middleDataSourceProperties().initializeDataSourceBuilder().build();
+        return dataSource;
+    }
+
+    @Bean
+    public SqlSessionFactory middleSqlSessionFactory(DataSource middleDataSource) throws Exception  {
+        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(middleDataSource);
+
+        //配置mybatis-config.xml
+        sessionFactoryBean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource(env.getProperty("mybatis.middle.config-location")));
+        //配置mapper.xml
+        sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(env.getProperty("mybatis.middle.mapper-locations")));
+        //配置扫描type aliases的包路径
+        sessionFactoryBean.setTypeAliasesPackage(env.getProperty("mybatis.middle.type-aliases-package"));
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean(name = "middleTransactionManager")
+    public DataSourceTransactionManager middleTransactionManager( DataSource middleDataSource) {
+        return new DataSourceTransactionManager(middleDataSource);
+    }
+
+    @Bean
+    public SqlSessionTemplate middleSqlSessionTemplate(SqlSessionFactory middleSqlSessionFactory) {
+        return new SqlSessionTemplate(middleSqlSessionFactory);
+    }
+
+}

+ 41 - 0
src/main/java/com/emato/ccnet/wx/config/db/middle/MiddleMapperConfiguration.java

@@ -0,0 +1,41 @@
+package com.emato.ccnet.wx.config.db.middle;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
+import org.mybatis.spring.mapper.MapperScannerConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+
+/**
+ * Mybatis Mapper接口扫描配置
+ *
+ * @author Scott Chen
+ * @date 2017/4/23
+ */
+@Configuration
+public class MiddleMapperConfiguration {
+
+    @Bean
+    public MapperScannerConfigurer middleMapperScannerConfigurer() {
+        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
+        //Mapper接口包
+        mapperScannerConfigurer.setBasePackage(mapperPackage());
+        //要使用的数据源
+        mapperScannerConfigurer.setSqlSessionTemplateBeanName("middleSqlSessionTemplate");
+        return mapperScannerConfigurer;
+    }
+
+    /**
+     * 添加要扫描的Mapper接口包
+     * 以逗号分隔的字符串
+     *
+     * @return
+     */
+    protected String mapperPackage() {
+        ImmutableList.Builder<String> builder = new ImmutableList.Builder();
+        builder.add("com.emato.ccnet.wx.dao.mapper.wx");
+        return Joiner.on(",").join(builder.build());
+    }
+
+}

+ 69 - 0
src/main/java/com/emato/ccnet/wx/config/db/primary/PrimaryDataSourceConfiguration.java

@@ -0,0 +1,69 @@
+package com.emato.ccnet.wx.config.db.primary;
+
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.SqlSessionTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+
+import javax.sql.DataSource;
+
+/**
+ * 多数据源配置
+ *
+ * 数据源配置
+ *
+ * 指定mybatis-config.xml, 和要扫描的别名包
+ *
+ * @author Scott Chen
+ * @date 2017/4/22
+ */
+@Configuration
+public class PrimaryDataSourceConfiguration {
+
+    @Autowired
+    private Environment env;
+
+    @Bean
+    @ConfigurationProperties(prefix = "spring.datasource.primary")
+    public DataSourceProperties primaryDataSourceProperties() {
+        return new DataSourceProperties();
+    }
+
+    @Bean
+    public DataSource primaryDataSource() {
+        DataSource dataSource = primaryDataSourceProperties().initializeDataSourceBuilder().build();
+        return dataSource;
+    }
+
+    @Bean
+    public SqlSessionFactory primarySqlSessionFactory(DataSource primaryDataSource) throws Exception  {
+        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(primaryDataSource);
+
+        //配置mybatis-config.xml
+        sessionFactoryBean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource(env.getProperty("mybatis.primary.config-location")));
+        //配置mapper.xml
+        sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(env.getProperty("mybatis.primary.mapper-locations")));
+        //配置扫描type aliases的包路径
+        sessionFactoryBean.setTypeAliasesPackage(env.getProperty("mybatis.primary.type-aliases-package"));
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean(name = "primaryTransactionManager")
+    public DataSourceTransactionManager primaryTransactionManager( DataSource primaryDataSource) {
+        return new DataSourceTransactionManager(primaryDataSource);
+    }
+
+    @Bean
+    public SqlSessionTemplate primarySqlSessionTemplate(SqlSessionFactory primarySqlSessionFactory) {
+        return new SqlSessionTemplate(primarySqlSessionFactory);
+    }
+
+}

+ 41 - 0
src/main/java/com/emato/ccnet/wx/config/db/primary/PrimaryMapperConfiguration.java

@@ -0,0 +1,41 @@
+package com.emato.ccnet.wx.config.db.primary;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
+import org.mybatis.spring.mapper.MapperScannerConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+
+/**
+ * Mybatis Mapper接口扫描配置
+ *
+ * @author Scott Chen
+ * @date 2017/4/23
+ */
+@Configuration
+public class PrimaryMapperConfiguration {
+
+    @Bean
+    public MapperScannerConfigurer primaryMapperScannerConfigurer() {
+        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
+        //Mapper接口包
+        mapperScannerConfigurer.setBasePackage(mapperPackage());
+        //要使用的数据源
+        mapperScannerConfigurer.setSqlSessionTemplateBeanName("primarySqlSessionTemplate");
+        return mapperScannerConfigurer;
+    }
+
+    /**
+     * 添加要扫描的Mapper接口包
+     * 以逗号分隔的字符串
+     *
+     * @return
+     */
+    protected String mapperPackage() {
+        ImmutableList.Builder<String> builder = new ImmutableList.Builder();
+        builder.add("com.emato.ccnet.wx.dao.mapper.ccnet");
+        return Joiner.on(",").join(builder.build());
+    }
+
+}

+ 54 - 0
src/main/java/com/emato/ccnet/wx/config/servlet/WebMvcConfiguration.java

@@ -0,0 +1,54 @@
+package com.emato.ccnet.wx.config.servlet;
+
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.filter.CharacterEncodingFilter;
+import org.springframework.web.servlet.ViewResolver;
+import org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler;
+import org.springframework.web.servlet.view.InternalResourceViewResolver;
+
+/**
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-21 19:06
+ */
+@Configuration
+public class WebMvcConfiguration {
+
+    /**
+     * 编码过滤器
+     * @return
+     */
+    @Bean
+    public FilterRegistrationBean characterEncodingFilter() {
+        CharacterEncodingFilter filter = new CharacterEncodingFilter();
+        filter.setEncoding("UTF-8");
+        filter.setForceEncoding(true);
+
+        FilterRegistrationBean filterBean = new FilterRegistrationBean();
+        filterBean.setFilter(filter);
+        filterBean.addUrlPatterns("/*");
+        return filterBean;
+    }
+
+    @Bean
+    public DefaultServletHttpRequestHandler defaultServletHttpRequestHandler() {
+        return new DefaultServletHttpRequestHandler();
+    }
+
+
+    /**
+     * 注册视图处理器
+     * @return
+     */
+    @Bean
+    public ViewResolver viewResolver() {
+        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
+        viewResolver.setPrefix("");
+        viewResolver.setSuffix(".html");
+        return viewResolver;
+    }
+
+
+}

+ 26 - 0
src/main/java/com/emato/ccnet/wx/config/spring/SpringConfiguration.java

@@ -0,0 +1,26 @@
+package com.emato.ccnet.wx.config.spring;
+
+import com.emato.ccnet.wx.util.SpringContextSupport;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-24 10:29
+ */
+@Configuration
+public class SpringConfiguration {
+
+    /**
+     * Spring应用上下文环境
+     * @return
+     */
+    @Bean
+    public SpringContextSupport springContextUtil() {
+        return new SpringContextSupport();
+    }
+
+
+
+}

+ 271 - 0
src/main/java/com/emato/ccnet/wx/contants/CcnetContants.java

@@ -0,0 +1,271 @@
+package com.emato.ccnet.wx.contants;
+
+public class CcnetContants {
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    public enum sendStatus {
+        item_0("0", "待发送"),
+        item_1("1", "发送中"),
+        item_2("2", "发送成功"),
+        item_3("3", "发送失败"),
+        item_4("4", "接收成功");
+
+        private String item;
+        private String itemName;
+
+        sendStatus(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 回执状态,0:待发送,1:发送中,2:业务处理成功,3:业务处理失败
+     */
+    public enum sespStatus {
+        item_0("0", "待发送"),
+        item_1("1", "发送中"),
+        item_2("2", "业务处理成功"),
+        item_3("3", "业务处理失败");
+
+        private String item;
+        private String itemName;
+
+        sespStatus(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+    /**
+     * 海关申报状态,10:等待海关处理,11:海关申报中,12:海关申报成功,13:海关申报中失败
+     */
+    public enum docStatus {
+        item_10("10", "等待海关处理"),
+        item_11("11", "海关申报中"),
+        item_12("12", "海关申报成功"),
+        item_13("13", "海关申报中失败");
+
+        private String item;
+        private String itemName;
+
+        docStatus(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 发送ws路径标识,00:保税备货, 02:保税展示补货,10:保税展示跨境
+     */
+    public enum wsFlag {
+        item_00("00", "保税备货"),
+        item_02("02", "保税展示补货"),
+        item_10("10", "保税展示跨境");
+
+        private String item;
+        private String itemName;
+
+        wsFlag(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 订购人支付人校验,0:未知,1:一致,2:不一致,3:校验异常
+     */
+    public enum buyerPayerCheck {
+        item_0("0", "未知"),
+        item_1("1", "一致"),
+        item_2("2", "不一致"),
+        item_3("3", "校验异常");
+
+        private String item;
+        private String itemName;
+
+        buyerPayerCheck(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 订购人支付人校验,0:未知,1:一致,2:不一致,3:校验异常
+     */
+    public enum isscan {
+        item_0("0", "未扫描"),
+        item_1("1", "已扫描");
+
+        private String item;
+        private String itemName;
+
+        isscan(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 通知类型:00:订单审核,20:订单清关;40:订单出货
+     */
+    public enum notiType {
+        item_00("00", "订单审核"),
+        item_20("20", "订单清关"),
+        item_40("40", "订单出货");
+
+        private String item;
+        private String itemName;
+
+        notiType(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 业务状态,2:成功,3:失败,4:订单缺失
+     */
+    public enum serviceStates {
+        item_2("2", "成功"),
+        item_3("3", "失败"),
+        item_4("4", "成功"),;
+
+        private String item;
+        private String itemName;
+
+        serviceStates(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+}

+ 146 - 0
src/main/java/com/emato/ccnet/wx/contants/Contants.java

@@ -0,0 +1,146 @@
+package com.emato.ccnet.wx.contants;
+
+public class Contants {
+
+    public static final String WMSH = "WMSH";
+
+    public static final String WM = "WM";
+
+    public static final String WX = "WX";
+
+    // 订单类型
+    public static final String ORDER_TYPE = "I";
+
+    // 证件类型
+    public static final String ID_TYPE = "1";
+
+    //创建人编号
+    public static final String CREATER_NUMBER = "1";
+
+    //请求/响应的状态:初始化
+    public static final String INIT_STATUS = "0";
+    //发送中
+    public static final String SENDING_STATUS = "1";
+    //成功
+    public static final String SUCCESS_STATUS = "2";
+    //失败
+    public static final String FAIL_STATUS = "3";
+    //申报中
+    public static final String DECLARATION_STATUS = "4";
+    //申报成功
+    public static final String DECLARATION_SUCCESS_STATUS = "5";
+    //清关成功
+    public static final String INVET_SUCCESS = "6";
+
+    /**************************支付宝*************************/
+
+    //响应的是否成功
+    public static final String SUCCESS = "T";
+    public static final String SUCCESS_CODE = "SUCCESS";
+    //失败
+    public static final String FAIL = "F";
+    public static final String FAIL_CODE = "FAIL";
+
+   //支付公司标识:支付宝
+    public static final String ALIPAY = "00";
+    //微信
+    public static final String WECHAT = "10";
+    //工行
+    public static final String ICBC = "20";
+
+    /*****************************电子************************/
+
+    //业务状态1、暂存/报送类型:1、新增
+    public static final String APP_STATUS_DECLARE = "1";
+
+    //2、申报/2、修改
+    public static final String APP_STATUS_SEPARETE = "2";
+
+    //币制
+    public static final String CURRENCY = "142";
+
+    //申报回调状态 失败:-19
+    public static final String RESPONSE_FAIL = "-19";
+
+    //成功:20
+    public static final String RESPONSE_SUCCESS = "20";
+
+    //平台回执状态定义:00--平台退单
+    public static final String ORDER_PLAT_FAIL = "00";
+    //01--提示锁定
+    public static final String ORDER_PLAT_SUCCESS = "01";
+
+    //海关回执状态定义:2--电子口岸申报中
+    public static final String CUS_DECLARATION = "2";
+
+    //3--发送海关成功
+    public static final String CUS_SUCCESS = "3";
+
+    //4--发送海关失败
+    public static final String CUS_FAIL = "4";
+
+    //100--海关退单
+    public static final String CUS_CHARGEBACK = "100";
+
+    //120--海关入库
+    public static final String CUS_STORAGE = "120";
+
+    //国检回执状态定义:0--系统接收成功
+    public static final String CIQ_RECEIVE_SUCCESS = "0";
+
+    //1--入库单、商品备案:审核通过 清单:接收成功,比对成功
+    public static final String CIQ_SUCCESS = "1";
+
+    //2--审核不通过
+    public static final String CIQ_FAIL = "2";
+
+    //3--清单:接收成功,比对不成功
+    public static final String CIQ_SUCCESS_FAIL = "3";
+
+    //4--系统接收失败
+    public static final String CIQ_RECEIVE_FAIL = "4";
+
+    //回调的总状态 0:成功,1:失败,2:进行中
+    public static final String ORDER_RESPONSE_SUCCESS = "0";
+
+    public static final String ORDER_RESPONSE_FAIL = "1";
+
+    public static final String ORDER_RESPONSE_SENDING = "2";
+
+    public static final String PD_PRODUCT_RECORD = "pd_product_record";
+
+    public static final String SYS_ADMIN_DIVI_GOV = "admin_divi_gov";
+
+    /**********************海关运单******************************/
+
+    //商户订单状态0:海关支付单,1:海关电子订单,2:海关运单
+    public static final String MERCH_ALIPAY_TYPE = "0";
+
+    public static final String MERCH_ORDER_TYPE = "1";
+
+    public static final String MERCH_WAY_TYPE = "2";
+
+    //成功
+    public static final String OMS_SUCCESS_CODE = "0";
+
+    //csp回执返回成功
+    public static final String CSP_RESPONSE_SUCCESS = "0";
+    // 重复成功
+    public static final String CSP_RESPONSE_RESEND_SUCCESS = "3";
+
+    //支付方式
+    public static final String PAY_TYPE_WX = "weixin";
+
+    //海关编码
+    public static final String CUSTOMER_NO = "06";
+
+    /**************************wx当前状态******************************/
+    //0:失败;1:成功;2:进行中
+    public static final String WX_FAIL = "0";
+
+    public static final String WX_SUCC = "1";
+
+    public static final String WX_UNDERWAY = "2";
+
+
+}

+ 31 - 0
src/main/java/com/emato/ccnet/wx/contants/SysContants.java

@@ -0,0 +1,31 @@
+package com.emato.ccnet.wx.contants;
+
+public class SysContants {
+    //微盟订单列表
+    public static final String wm_order = "WOLT";
+
+    //微盟订单商品表
+    public static final String wm_order_goods = "WOGS";
+
+    //微盟订单商品记录表
+    public static final String wm_order_record = "WORD";
+
+    //微盟订单详情记录表
+    public static final String wm_order_detail_record = "WODR";
+
+    //微盟获取商品详情记录表
+    public static final String wm_goods_record = "WGRD";
+
+    //商品详情
+    public static final String wm_goods_detail = "WGDL";
+
+    //微信支付单证
+    public static final String wx_pay_doc = "WXPD";
+
+    //微信支付单状态
+    public static final String wx_cuspay_status = "WXCS";
+
+    //微信支付单回执
+    public static final String wx_cuspay_resp = "WXCR";
+
+}

+ 309 - 0
src/main/java/com/emato/ccnet/wx/contants/WmContants.java

@@ -0,0 +1,309 @@
+package com.emato.ccnet.wx.contants;
+
+public class WmContants {
+    /**
+     * 订单状态 (空为不限,0-待支付,1-待发货,2-已发货,3-已完成,4-已取消)
+     */
+    public enum orderStatuses {
+        item_0(0, "待支付"),
+        item_1(1, "待发货"),
+        item_2(2, "已发货"),
+        item_3(3, "已完成"),
+        item_4(4, "已取消");
+
+        private int item;
+        private String itemName;
+
+        orderStatuses(int item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public int getItem() {
+            return item;
+        }
+
+        public void setItem(int item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 渠道类型 (空为不限,0-公众号,1-小程序,2-H5,3-QQ,4-微博,5-头条,6-支付宝,7-线下)
+     */
+    public enum channelTypes {
+        item_0("0", "公众号"),
+        item_1("1", "小程序"),
+        item_2("2", "H5"),
+        item_3("3", "QQ"),
+        item_4("4", "微博"),
+        item_5("5", "头条"),
+        item_6("6", "支付宝"),
+        item_7("7", "线下");
+
+        private String item;
+        private String itemName;
+
+        channelTypes(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+    /**
+     * 发货状态 (空为不限,0未发货,1为部分发货,2为已发货)
+     */
+    public enum deliveryStatuses {
+        item_0("0", "未发货"),
+        item_1("1", "部分发货"),
+        item_2("2", "已发货");
+
+        private String item;
+        private String itemName;
+
+        deliveryStatuses(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+    /**
+     * 支付类型 (空为不限,1-线上支付(包括微信、支付宝、银行卡、购物卡等), 2-线下支付(包括现金、欠条等,默认是现金), 3-混合支付(网上支付和线下支付混合))
+     */
+    public enum paymentTypes {
+        item_1("1", "线上支付"),
+        item_2("2", "线下支付"),
+        item_3("3", "混合支付");
+
+        private String item;
+        private String itemName;
+
+        paymentTypes(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+    /**
+     * 支付方式 (空为不限,1-支付宝,2-微信,3-银行卡,4-现金,5-货到付款,6-无需支付)
+     */
+    public enum paymentMethods {
+        item_1("1", "支付宝"),
+        item_2("2", "微信"),
+        item_3("3", "银行卡"),
+        item_4("4", "现金"),
+        item_5("5", "货到付款"),
+        item_6("6", "无需支付");
+
+        private String item;
+        private String itemName;
+
+        paymentMethods(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+    /**
+     * 配送类型 (空为不限,1-物流配送(走快递发货流程),2-同城限时达(走即时物流流程),3-到店自提(走自提流程))
+     */
+    public enum deliveryTypes {
+        item_1("1", "物流配送"),
+        item_2("2", "同城限时达"),
+        item_3("3", "到店自提");
+
+        private String item;
+        private String itemName;
+
+        deliveryTypes(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+    /**
+     * 订单标记 (空为不限,等级1到5)
+     */
+    public enum flagRanks {
+        item_1("1", "等级1"),
+        item_2("2", "等级2"),
+        item_3("3", "等级3"),
+        item_4("4", "等级4"),
+        item_5("5", "等级5");
+
+        private String item;
+        private String itemName;
+
+        flagRanks(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+    /**
+     * 业务类型 (空为不限,0-普通,3-限时折扣,4-砍价, 5-拼团)
+     */
+    public enum bizTypes {
+        item_0("0", "普通"),
+        item_3("3", "限时折扣"),
+        item_4("4", "砍价"),
+        item_5("5", "拼团");
+
+        private String item;
+        private String itemName;
+
+        bizTypes(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+    /**
+     * 各单证的发送状态(0-待发送,1-发送中,2-成功,3--失败)
+     */
+    public enum wmStatuses {
+        item_0("0", "待发送"),
+        item_1("1", "发送中"),
+        item_2("2", "成功"),
+        item_3("3", "失败");
+
+        private String item;
+        private String itemName;
+
+        wmStatuses(String item, String itemName) {
+            this.item = item;
+            this.itemName = itemName;
+        }
+
+        public String getItem() {
+            return item;
+        }
+
+        public void setItem(String item) {
+            this.item = item;
+        }
+
+        public String getItemName() {
+            return itemName;
+        }
+
+        public void setItemName(String itemName) {
+            this.itemName = itemName;
+        }
+    }
+
+}

+ 48 - 0
src/main/java/com/emato/ccnet/wx/controller/CusOrderController.java

@@ -0,0 +1,48 @@
+package com.emato.ccnet.wx.controller;
+
+import com.emato.ccnet.wx.biz.req.order.csp.Ceb311CustiomsResponse;
+import com.emato.ccnet.wx.biz.req.order.csp.Ceb311OrderBiz;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class CusOrderController {
+    private static final Logger LOGGER = LoggerFactory.getLogger(CusOrderController.class);
+
+    @Autowired
+    private Ceb311OrderBiz ceb311OrderBiz;
+    @Autowired
+    private Ceb311CustiomsResponse ceb311CustiomsResponse;
+
+    @RequestMapping("/wx/cusOrderBill")
+    public ResponseMessage cusOrderBill() {
+        LOGGER.info("---------- 电子订单运单数据开始 ----------------------------------------");
+        ResponseMessage result = ceb311OrderBiz.biz();
+        LOGGER.info("---------- 电子订单运单数据结束 ----------------------------------------");
+        return result;
+    }
+
+    @RequestMapping(value = "/wx/cusOrderBillResp", method = RequestMethod.POST)
+    public Result cusOrderBillResp(@RequestBody Result result) {
+        LOGGER.info("---------- 电子订单运单数据开始 ----------------------------------------");
+        int i = ceb311CustiomsResponse.biz(result);
+        Result re = null;
+        if(i == 1){
+            re = Result.success("error");
+        } else if(i == 2){
+            re = Result.success("success");
+        } else {
+            re = Result.error("error");
+        }
+        LOGGER.info(re.toString());
+        return re;
+    }
+
+}

+ 41 - 0
src/main/java/com/emato/ccnet/wx/controller/CusPlayController.java

@@ -0,0 +1,41 @@
+package com.emato.ccnet.wx.controller;
+
+import com.emato.ccnet.wx.biz.req.play.wx.WxplayBiz;
+import com.emato.ccnet.wx.biz.req.play.wx.WxplayResponse;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class CusPlayController {
+    private static final Logger LOGGER = LoggerFactory.getLogger(CusPlayController.class);
+
+    @Autowired
+    private WxplayBiz wxplayBiz;
+
+    @Autowired
+    private WxplayResponse wxplayResponse;
+
+    @RequestMapping("/wx/wxBill")
+    public ResponseMessage wxplayBill() {
+        LOGGER.info("---------- 支付单数据开始 ----------------------------------------");
+        ResponseMessage result = wxplayBiz.biz();
+        LOGGER.info("---------- 支付单数据结束 ----------------------------------------");
+        return result;
+    }
+
+    @RequestMapping(value = "/wx/wxPlayBill", method = RequestMethod.POST)
+    public ResponseMessage wxPlayBillResponse(@RequestBody Result result) {
+        LOGGER.info("---------- 支付单数据回执开始 ----------------------------------------");
+        wxplayResponse.biz(result);
+        LOGGER.info("---------- 支付单数据回执结束 ----------------------------------------");
+        return null;
+    }
+
+}

+ 41 - 0
src/main/java/com/emato/ccnet/wx/controller/CusWaybillController.java

@@ -0,0 +1,41 @@
+package com.emato.ccnet.wx.controller;
+
+import com.emato.ccnet.wx.biz.req.waybill.oms.Ceb511OmsWayBiz;
+import com.emato.ccnet.wx.biz.req.waybill.oms.Ceb511Response;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class CusWaybillController {
+    private static final Logger LOGGER = LoggerFactory.getLogger(CusWaybillController.class);
+
+    @Autowired
+    private Ceb511OmsWayBiz ceb511OmsWayBiz;
+
+    @Autowired
+    private Ceb511Response ceb511Response;
+
+    @RequestMapping("/wx/cusWaybill")
+    public ResponseMessage cusWaybill() {
+        LOGGER.info("---------- 支付单数据开始 ----------------------------------------");
+        ResponseMessage result = ceb511OmsWayBiz.biz();
+        LOGGER.info("---------- 支付单数据结束 ----------------------------------------");
+        return result;
+    }
+
+    @RequestMapping(value = "/wx/cusWaybillResponse", method = RequestMethod.POST)
+    public ResponseMessage cusWaybillResponse(@RequestBody Result result) {
+        LOGGER.info("---------- 支付单数据开始 ----------------------------------------");
+        ResponseMessage responseMessage = ceb511Response.biz(result);
+        LOGGER.info("---------- 支付单数据结束 ----------------------------------------");
+        return responseMessage;
+    }
+
+}

+ 0 - 0
src/main/java/com/emato/ccnet/wx/controller/README.md


+ 41 - 0
src/main/java/com/emato/ccnet/wx/controller/WxOrderController.java

@@ -0,0 +1,41 @@
+package com.emato.ccnet.wx.controller;
+
+import com.emato.ccnet.wx.biz.req.order.csp.Ceb311CustiomsResponse;
+import com.emato.ccnet.wx.biz.req.order.csp.Ceb311OrderBiz;
+import com.emato.ccnet.wx.biz.req.wxorder.order.WxOrderGrabBiz;
+import com.emato.ccnet.wx.biz.req.wxorder.ordergoods.WxOrderGoodsGrabBiz;
+import com.emato.ccnet.wx.manager.result.Result;
+import com.emato.ccnet.wx.support.msg.resp.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+public class WxOrderController {
+    private static final Logger LOGGER = LoggerFactory.getLogger(WxOrderController.class);
+
+    @Autowired
+    private WxOrderGrabBiz wxOrderGrabBiz;
+    @Autowired
+    private WxOrderGoodsGrabBiz wxOrderGoodsGrabBiz;
+
+    @RequestMapping("/wx/wxOrderBill")
+    public ResponseMessage wxOrderGrab() {
+        LOGGER.info("---------- wx订单数据开始 ----------------------------------------");
+        ResponseMessage result = wxOrderGrabBiz.biz();
+        LOGGER.info("---------- wx订单数据结束 ----------------------------------------");
+        return result;
+    }
+
+    @RequestMapping("/wx/wxOrderGoodsBill")
+    public ResponseMessage wxOrderGoodsBill() {
+        LOGGER.info("---------- wx订单详情数据开始 ----------------------------------------");
+        ResponseMessage result = wxOrderGoodsGrabBiz.biz();
+        LOGGER.info("---------- wx订单详情数据结束 ----------------------------------------");
+        return result;
+    }
+
+}

+ 503 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrder.java

@@ -0,0 +1,503 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class CusOrder implements Serializable {
+    private String cusOrderSn;
+
+    private String orderSn;
+
+    private String merchOrderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private Date placeOrderlTime;
+
+    private String appType;
+
+    private String appTime;
+
+    private String appStatus;
+
+    private String orderType;
+
+    private String orderNo;
+
+    private String ebpCode;
+
+    private String ebpName;
+
+    private String ebcCode;
+
+    private String ebcName;
+
+    private BigDecimal goodsValue;
+
+    private BigDecimal freight;
+
+    private BigDecimal discount;
+
+    private BigDecimal taxTotal;
+
+    private BigDecimal acturalPaid;
+
+    private String currency;
+
+    private String buyerRegNo;
+
+    private String buyerName;
+
+    private String buyerTelephone;
+
+    private String buyerIdType;
+
+    private String buyeridNumber;
+
+    private String payCode;
+
+    private String payName;
+
+    private String payTransactionId;
+
+    private String batchNumbers;
+
+    private String consignee;
+
+    private String consigneeTelephone;
+
+    private String consigneeAddress;
+
+    private String consigneeDistrict;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    private static final long serialVersionUID = 1L;
+
+    public CusOrder() {
+        super();
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn == null ? null : cusOrderSn.trim();
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn == null ? null : orderSn.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public Date getPlaceOrderlTime() {
+        return placeOrderlTime;
+    }
+
+    public void setPlaceOrderlTime(Date placeOrderlTime) {
+        this.placeOrderlTime = placeOrderlTime;
+    }
+
+    public String getAppType() {
+        return appType;
+    }
+
+    public void setAppType(String appType) {
+        this.appType = appType == null ? null : appType.trim();
+    }
+
+    public String getAppTime() {
+        return appTime;
+    }
+
+    public void setAppTime(String appTime) {
+        this.appTime = appTime == null ? null : appTime.trim();
+    }
+
+    public String getAppStatus() {
+        return appStatus;
+    }
+
+    public void setAppStatus(String appStatus) {
+        this.appStatus = appStatus == null ? null : appStatus.trim();
+    }
+
+    public String getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(String orderType) {
+        this.orderType = orderType == null ? null : orderType.trim();
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo == null ? null : orderNo.trim();
+    }
+
+    public String getEbpCode() {
+        return ebpCode;
+    }
+
+    public void setEbpCode(String ebpCode) {
+        this.ebpCode = ebpCode == null ? null : ebpCode.trim();
+    }
+
+    public String getEbpName() {
+        return ebpName;
+    }
+
+    public void setEbpName(String ebpName) {
+        this.ebpName = ebpName == null ? null : ebpName.trim();
+    }
+
+    public String getEbcCode() {
+        return ebcCode;
+    }
+
+    public void setEbcCode(String ebcCode) {
+        this.ebcCode = ebcCode == null ? null : ebcCode.trim();
+    }
+
+    public String getEbcName() {
+        return ebcName;
+    }
+
+    public void setEbcName(String ebcName) {
+        this.ebcName = ebcName == null ? null : ebcName.trim();
+    }
+
+    public BigDecimal getGoodsValue() {
+        return goodsValue;
+    }
+
+    public void setGoodsValue(BigDecimal goodsValue) {
+        this.goodsValue = goodsValue;
+    }
+
+    public BigDecimal getFreight() {
+        return freight;
+    }
+
+    public void setFreight(BigDecimal freight) {
+        this.freight = freight;
+    }
+
+    public BigDecimal getDiscount() {
+        return discount;
+    }
+
+    public void setDiscount(BigDecimal discount) {
+        this.discount = discount;
+    }
+
+    public BigDecimal getTaxTotal() {
+        return taxTotal;
+    }
+
+    public void setTaxTotal(BigDecimal taxTotal) {
+        this.taxTotal = taxTotal;
+    }
+
+    public BigDecimal getActuralPaid() {
+        return acturalPaid;
+    }
+
+    public void setActuralPaid(BigDecimal acturalPaid) {
+        this.acturalPaid = acturalPaid;
+    }
+
+    public String getCurrency() {
+        return currency;
+    }
+
+    public void setCurrency(String currency) {
+        this.currency = currency == null ? null : currency.trim();
+    }
+
+    public String getBuyerRegNo() {
+        return buyerRegNo;
+    }
+
+    public void setBuyerRegNo(String buyerRegNo) {
+        this.buyerRegNo = buyerRegNo == null ? null : buyerRegNo.trim();
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName == null ? null : buyerName.trim();
+    }
+
+    public String getBuyerTelephone() {
+        return buyerTelephone;
+    }
+
+    public void setBuyerTelephone(String buyerTelephone) {
+        this.buyerTelephone = buyerTelephone;
+    }
+
+    public String getBuyerIdType() {
+        return buyerIdType;
+    }
+
+    public void setBuyerIdType(String buyerIdType) {
+        this.buyerIdType = buyerIdType == null ? null : buyerIdType.trim();
+    }
+
+    public String getBuyeridNumber() {
+        return buyeridNumber;
+    }
+
+    public void setBuyeridNumber(String buyeridNumber) {
+        this.buyeridNumber = buyeridNumber == null ? null : buyeridNumber.trim();
+    }
+
+    public String getPayCode() {
+        return payCode;
+    }
+
+    public void setPayCode(String payCode) {
+        this.payCode = payCode == null ? null : payCode.trim();
+    }
+
+    public String getPayName() {
+        return payName;
+    }
+
+    public void setPayName(String payName) {
+        this.payName = payName == null ? null : payName.trim();
+    }
+
+    public String getPayTransactionId() {
+        return payTransactionId;
+    }
+
+    public void setPayTransactionId(String payTransactionId) {
+        this.payTransactionId = payTransactionId == null ? null : payTransactionId.trim();
+    }
+
+    public String getBatchNumbers() {
+        return batchNumbers;
+    }
+
+    public void setBatchNumbers(String batchNumbers) {
+        this.batchNumbers = batchNumbers == null ? null : batchNumbers.trim();
+    }
+
+    public String getConsignee() {
+        return consignee;
+    }
+
+    public void setConsignee(String consignee) {
+        this.consignee = consignee == null ? null : consignee.trim();
+    }
+
+    public String getConsigneeTelephone() {
+        return consigneeTelephone;
+    }
+
+    public void setConsigneeTelephone(String consigneeTelephone) {
+        this.consigneeTelephone = consigneeTelephone == null ? null : consigneeTelephone.trim();
+    }
+
+    public String getConsigneeAddress() {
+        return consigneeAddress;
+    }
+
+    public void setConsigneeAddress(String consigneeAddress) {
+        this.consigneeAddress = consigneeAddress == null ? null : consigneeAddress.trim();
+    }
+
+    public String getConsigneeDistrict() {
+        return consigneeDistrict;
+    }
+
+    public void setConsigneeDistrict(String consigneeDistrict) {
+        this.consigneeDistrict = consigneeDistrict == null ? null : consigneeDistrict.trim();
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getExField() {
+        return exField;
+    }
+
+    public void setExField(String exField) {
+        this.exField = exField == null ? null : exField.trim();
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2 == null ? null : exField2.trim();
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3 == null ? null : exField3.trim();
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4 == null ? null : exField4.trim();
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5 == null ? null : exField5.trim();
+    }
+}

+ 303 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrderGoods.java

@@ -0,0 +1,303 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class CusOrderGoods implements Serializable {
+    private String cusOrderGoodsSn;
+
+    private String cusOrderSn;
+
+    private String gnum;
+
+    private String itemNo;
+
+    private String itemName;
+
+    private String itemDescribe;
+
+    private String barCode;
+
+    private String unit;
+
+    private BigDecimal qty;
+
+    private BigDecimal price;
+
+    private BigDecimal totalPrice;
+
+    private String currency;
+
+    private String country;
+
+    private String ciqGno;
+
+    private String gcode;
+
+    private String gmodel;
+
+    private String ciqGmodel;
+
+    private String brand;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    private static final long serialVersionUID = 1L;
+
+    public CusOrderGoods() {
+        super();
+    }
+
+    public String getCusOrderGoodsSn() {
+        return cusOrderGoodsSn;
+    }
+
+    public void setCusOrderGoodsSn(String cusOrderGoodsSn) {
+        this.cusOrderGoodsSn = cusOrderGoodsSn == null ? null : cusOrderGoodsSn.trim();
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn == null ? null : cusOrderSn.trim();
+    }
+
+    public String getGnum() {
+        return gnum;
+    }
+
+    public void setGnum(String gnum) {
+        this.gnum = gnum == null ? null : gnum.trim();
+    }
+
+    public String getItemNo() {
+        return itemNo;
+    }
+
+    public void setItemNo(String itemNo) {
+        this.itemNo = itemNo == null ? null : itemNo.trim();
+    }
+
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName == null ? null : itemName.trim();
+    }
+
+    public String getItemDescribe() {
+        return itemDescribe;
+    }
+
+    public void setItemDescribe(String itemDescribe) {
+        this.itemDescribe = itemDescribe == null ? null : itemDescribe.trim();
+    }
+
+    public String getBarCode() {
+        return barCode;
+    }
+
+    public void setBarCode(String barCode) {
+        this.barCode = barCode == null ? null : barCode.trim();
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit == null ? null : unit.trim();
+    }
+
+    public BigDecimal getQty() {
+        return qty;
+    }
+
+    public void setQty(BigDecimal qty) {
+        this.qty = qty;
+    }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+
+    public BigDecimal getTotalPrice() {
+        return totalPrice;
+    }
+
+    public void setTotalPrice(BigDecimal totalPrice) {
+        this.totalPrice = totalPrice;
+    }
+
+    public String getCurrency() {
+        return currency;
+    }
+
+    public void setCurrency(String currency) {
+        this.currency = currency == null ? null : currency.trim();
+    }
+
+    public String getCountry() {
+        return country;
+    }
+
+    public void setCountry(String country) {
+        this.country = country == null ? null : country.trim();
+    }
+
+    public String getCiqGno() {
+        return ciqGno;
+    }
+
+    public void setCiqGno(String ciqGno) {
+        this.ciqGno = ciqGno == null ? null : ciqGno.trim();
+    }
+
+    public String getGcode() {
+        return gcode;
+    }
+
+    public void setGcode(String gcode) {
+        this.gcode = gcode == null ? null : gcode.trim();
+    }
+
+    public String getGmodel() {
+        return gmodel;
+    }
+
+    public void setGmodel(String gmodel) {
+        this.gmodel = gmodel == null ? null : gmodel.trim();
+    }
+
+    public String getCiqGmodel() {
+        return ciqGmodel;
+    }
+
+    public void setCiqGmodel(String ciqGmodel) {
+        this.ciqGmodel = ciqGmodel == null ? null : ciqGmodel.trim();
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand == null ? null : brand.trim();
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getExField() {
+        return exField;
+    }
+
+    public void setExField(String exField) {
+        this.exField = exField == null ? null : exField.trim();
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2 == null ? null : exField2.trim();
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3 == null ? null : exField3.trim();
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4 == null ? null : exField4.trim();
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5 == null ? null : exField5.trim();
+    }
+}

+ 252 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrderResp.java

@@ -0,0 +1,252 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class CusOrderResp implements Serializable {
+    private String cusOrderRespSn;
+
+    private String cusOrderSn;
+
+    private String orderSn;
+
+    private String merchOrderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private String bizInfoCode;
+
+    private String bizInfoDesc;
+
+    private String platRespCode;
+
+    private String platRespDesc;
+
+    private String cusRespCode;
+
+    private String cusRespDesc;
+
+    private String ciqRespCode;
+
+    private String ciqRespDesc;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private static final long serialVersionUID = 1L;
+
+    public CusOrderResp() {
+        super();
+    }
+
+    public String getCusOrderRespSn() {
+        return cusOrderRespSn;
+    }
+
+    public void setCusOrderRespSn(String cusOrderRespSn) {
+        this.cusOrderRespSn = cusOrderRespSn == null ? null : cusOrderRespSn.trim();
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn == null ? null : cusOrderSn.trim();
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn == null ? null : orderSn.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public String getBizInfoCode() {
+        return bizInfoCode;
+    }
+
+    public void setBizInfoCode(String bizInfoCode) {
+        this.bizInfoCode = bizInfoCode == null ? null : bizInfoCode.trim();
+    }
+
+    public String getBizInfoDesc() {
+        return bizInfoDesc;
+    }
+
+    public void setBizInfoDesc(String bizInfoDesc) {
+        this.bizInfoDesc = bizInfoDesc == null ? null : bizInfoDesc.trim();
+    }
+
+    public String getPlatRespCode() {
+        return platRespCode;
+    }
+
+    public void setPlatRespCode(String platRespCode) {
+        this.platRespCode = platRespCode == null ? null : platRespCode.trim();
+    }
+
+    public String getPlatRespDesc() {
+        return platRespDesc;
+    }
+
+    public void setPlatRespDesc(String platRespDesc) {
+        this.platRespDesc = platRespDesc == null ? null : platRespDesc.trim();
+    }
+
+    public String getCusRespCode() {
+        return cusRespCode;
+    }
+
+    public void setCusRespCode(String cusRespCode) {
+        this.cusRespCode = cusRespCode == null ? null : cusRespCode.trim();
+    }
+
+    public String getCusRespDesc() {
+        return cusRespDesc;
+    }
+
+    public void setCusRespDesc(String cusRespDesc) {
+        this.cusRespDesc = cusRespDesc == null ? null : cusRespDesc.trim();
+    }
+
+    public String getCiqRespCode() {
+        return ciqRespCode;
+    }
+
+    public void setCiqRespCode(String ciqRespCode) {
+        this.ciqRespCode = ciqRespCode == null ? null : ciqRespCode.trim();
+    }
+
+    public String getCiqRespDesc() {
+        return ciqRespDesc;
+    }
+
+    public void setCiqRespDesc(String ciqRespDesc) {
+        this.ciqRespDesc = ciqRespDesc == null ? null : ciqRespDesc.trim();
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+}

+ 212 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusOrderStatus.java

@@ -0,0 +1,212 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class CusOrderStatus implements Serializable {
+    private String cusOrderStatusSn;
+
+    private String cusOrderSn;
+
+    private String orderSn;
+
+    private String merchOrderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private String sendStatus;
+
+    private String platRespStatus;
+
+    private String cusRespStatus;
+
+    private String cipRespStatus;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private static final long serialVersionUID = 1L;
+
+    public CusOrderStatus() {
+        super();
+    }
+
+    public String getCusOrderStatusSn() {
+        return cusOrderStatusSn;
+    }
+
+    public void setCusOrderStatusSn(String cusOrderStatusSn) {
+        this.cusOrderStatusSn = cusOrderStatusSn == null ? null : cusOrderStatusSn.trim();
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn == null ? null : cusOrderSn.trim();
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn == null ? null : orderSn.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public String getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus == null ? null : sendStatus.trim();
+    }
+
+    public String getPlatRespStatus() {
+        return platRespStatus;
+    }
+
+    public void setPlatRespStatus(String platRespStatus) {
+        this.platRespStatus = platRespStatus == null ? null : platRespStatus.trim();
+    }
+
+    public String getCusRespStatus() {
+        return cusRespStatus;
+    }
+
+    public void setCusRespStatus(String cusRespStatus) {
+        this.cusRespStatus = cusRespStatus == null ? null : cusRespStatus.trim();
+    }
+
+    public String getCipRespStatus() {
+        return cipRespStatus;
+    }
+
+    public void setCipRespStatus(String cipRespStatus) {
+        this.cipRespStatus = cipRespStatus == null ? null : cipRespStatus.trim();
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+}

+ 582 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybill.java

@@ -0,0 +1,582 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class CusWaybill implements Serializable {
+    private static final long serialVersionUID = 5283325133006065783L;
+    private String cusWaybillSn;
+
+    private String merchOrderId;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private Date placeOrderlTime;
+
+    private String autoSend;
+
+    private Date buyerBillTime;
+
+    private String buyerIdType;
+
+    private String buyerIdCode;
+
+    private String buyerName;
+
+    private String buyerTel;
+
+    private String consigneeIdType;
+
+    private String consigneeIdCode;
+
+    private String consigneeName;
+
+    private String consigneeMob;
+
+    private String consigneeTel;
+
+    private String consigneeCountryCode;
+
+    private String consigneeProvinceCode;
+
+    private String consigneeProvince;
+
+    private String consigneeCityCode;
+
+    private String consigneeCity;
+
+    private String consigneeDistrictCode;
+
+    private String consigneeDistrict;
+
+    private String consigneeAddress;
+
+    private String consigneeZipCode;
+
+    private String payerName;
+
+    private String payerIdType;
+
+    private String payerIdCode;
+
+    private String payerMob;
+
+    private String payEntCusCode;
+
+    private String payNo;
+
+    private BigDecimal acturalPaid;
+
+    private Date payTime;
+
+    private String exprType;
+
+    private String exprCompId;
+
+    private BigDecimal declExprFee;
+
+    private BigDecimal declPostTax;
+
+    private String shopId;
+
+    private String extraTag;
+
+    private String buyerPayCheck;
+
+    private String currencyCode;
+
+    private String wsFlag;
+
+    private String remark;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    public CusWaybill() {
+        super();
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn == null ? null : cusWaybillSn.trim();
+    }
+
+    public String getMerchOrderId() {
+        return merchOrderId;
+    }
+
+    public void setMerchOrderId(String merchOrderId) {
+        this.merchOrderId = merchOrderId == null ? null : merchOrderId.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public Date getPlaceOrderlTime() {
+        return placeOrderlTime;
+    }
+
+    public void setPlaceOrderlTime(Date placeOrderlTime) {
+        this.placeOrderlTime = placeOrderlTime;
+    }
+
+    public String getAutoSend() {
+        return autoSend;
+    }
+
+    public void setAutoSend(String autoSend) {
+        this.autoSend = autoSend == null ? null : autoSend.trim();
+    }
+
+    public Date getBuyerBillTime() {
+        return buyerBillTime;
+    }
+
+    public void setBuyerBillTime(Date buyerBillTime) {
+        this.buyerBillTime = buyerBillTime;
+    }
+
+    public String getBuyerIdType() {
+        return buyerIdType;
+    }
+
+    public void setBuyerIdType(String buyerIdType) {
+        this.buyerIdType = buyerIdType == null ? null : buyerIdType.trim();
+    }
+
+    public String getBuyerIdCode() {
+        return buyerIdCode;
+    }
+
+    public void setBuyerIdCode(String buyerIdCode) {
+        this.buyerIdCode = buyerIdCode == null ? null : buyerIdCode.trim();
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName == null ? null : buyerName.trim();
+    }
+
+    public String getBuyerTel() {
+        return buyerTel;
+    }
+
+    public void setBuyerTel(String buyerTel) {
+        this.buyerTel = buyerTel == null ? null : buyerTel.trim();
+    }
+
+    public String getConsigneeIdType() {
+        return consigneeIdType;
+    }
+
+    public void setConsigneeIdType(String consigneeIdType) {
+        this.consigneeIdType = consigneeIdType == null ? null : consigneeIdType.trim();
+    }
+
+    public String getConsigneeIdCode() {
+        return consigneeIdCode;
+    }
+
+    public void setConsigneeIdCode(String consigneeIdCode) {
+        this.consigneeIdCode = consigneeIdCode == null ? null : consigneeIdCode.trim();
+    }
+
+    public String getConsigneeName() {
+        return consigneeName;
+    }
+
+    public void setConsigneeName(String consigneeName) {
+        this.consigneeName = consigneeName == null ? null : consigneeName.trim();
+    }
+
+    public String getConsigneeMob() {
+        return consigneeMob;
+    }
+
+    public void setConsigneeMob(String consigneeMob) {
+        this.consigneeMob = consigneeMob == null ? null : consigneeMob.trim();
+    }
+
+    public String getConsigneeTel() {
+        return consigneeTel;
+    }
+
+    public void setConsigneeTel(String consigneeTel) {
+        this.consigneeTel = consigneeTel == null ? null : consigneeTel.trim();
+    }
+
+    public String getConsigneeCountryCode() {
+        return consigneeCountryCode;
+    }
+
+    public void setConsigneeCountryCode(String consigneeCountryCode) {
+        this.consigneeCountryCode = consigneeCountryCode == null ? null : consigneeCountryCode.trim();
+    }
+
+    public String getConsigneeProvinceCode() {
+        return consigneeProvinceCode;
+    }
+
+    public void setConsigneeProvinceCode(String consigneeProvinceCode) {
+        this.consigneeProvinceCode = consigneeProvinceCode == null ? null : consigneeProvinceCode.trim();
+    }
+
+    public String getConsigneeProvince() {
+        return consigneeProvince;
+    }
+
+    public void setConsigneeProvince(String consigneeProvince) {
+        this.consigneeProvince = consigneeProvince == null ? null : consigneeProvince.trim();
+    }
+
+    public String getConsigneeCityCode() {
+        return consigneeCityCode;
+    }
+
+    public void setConsigneeCityCode(String consigneeCityCode) {
+        this.consigneeCityCode = consigneeCityCode == null ? null : consigneeCityCode.trim();
+    }
+
+    public String getConsigneeCity() {
+        return consigneeCity;
+    }
+
+    public void setConsigneeCity(String consigneeCity) {
+        this.consigneeCity = consigneeCity == null ? null : consigneeCity.trim();
+    }
+
+    public String getConsigneeDistrictCode() {
+        return consigneeDistrictCode;
+    }
+
+    public void setConsigneeDistrictCode(String consigneeDistrictCode) {
+        this.consigneeDistrictCode = consigneeDistrictCode == null ? null : consigneeDistrictCode.trim();
+    }
+
+    public String getConsigneeDistrict() {
+        return consigneeDistrict;
+    }
+
+    public void setConsigneeDistrict(String consigneeDistrict) {
+        this.consigneeDistrict = consigneeDistrict == null ? null : consigneeDistrict.trim();
+    }
+
+    public String getConsigneeAddress() {
+        return consigneeAddress;
+    }
+
+    public void setConsigneeAddress(String consigneeAddress) {
+        this.consigneeAddress = consigneeAddress == null ? null : consigneeAddress.trim();
+    }
+
+    public String getConsigneeZipCode() {
+        return consigneeZipCode;
+    }
+
+    public void setConsigneeZipCode(String consigneeZipCode) {
+        this.consigneeZipCode = consigneeZipCode == null ? null : consigneeZipCode.trim();
+    }
+
+    public String getPayerName() {
+        return payerName;
+    }
+
+    public void setPayerName(String payerName) {
+        this.payerName = payerName == null ? null : payerName.trim();
+    }
+
+    public String getPayerIdType() {
+        return payerIdType;
+    }
+
+    public void setPayerIdType(String payerIdType) {
+        this.payerIdType = payerIdType == null ? null : payerIdType.trim();
+    }
+
+    public String getPayerIdCode() {
+        return payerIdCode;
+    }
+
+    public void setPayerIdCode(String payerIdCode) {
+        this.payerIdCode = payerIdCode == null ? null : payerIdCode.trim();
+    }
+
+    public String getPayerMob() {
+        return payerMob;
+    }
+
+    public void setPayerMob(String payerMob) {
+        this.payerMob = payerMob == null ? null : payerMob.trim();
+    }
+
+    public String getPayEntCusCode() {
+        return payEntCusCode;
+    }
+
+    public void setPayEntCusCode(String payEntCusCode) {
+        this.payEntCusCode = payEntCusCode == null ? null : payEntCusCode.trim();
+    }
+
+    public String getPayNo() {
+        return payNo;
+    }
+
+    public void setPayNo(String payNo) {
+        this.payNo = payNo == null ? null : payNo.trim();
+    }
+
+    public BigDecimal getActuralPaid() {
+        return acturalPaid;
+    }
+
+    public void setActuralPaid(BigDecimal acturalPaid) {
+        this.acturalPaid = acturalPaid;
+    }
+
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getExprType() {
+        return exprType;
+    }
+
+    public void setExprType(String exprType) {
+        this.exprType = exprType == null ? null : exprType.trim();
+    }
+
+    public String getExprCompId() {
+        return exprCompId;
+    }
+
+    public void setExprCompId(String exprCompId) {
+        this.exprCompId = exprCompId == null ? null : exprCompId.trim();
+    }
+
+    public BigDecimal getDeclExprFee() {
+        return declExprFee;
+    }
+
+    public void setDeclExprFee(BigDecimal declExprFee) {
+        this.declExprFee = declExprFee;
+    }
+
+    public BigDecimal getDeclPostTax() {
+        return declPostTax;
+    }
+
+    public void setDeclPostTax(BigDecimal declPostTax) {
+        this.declPostTax = declPostTax;
+    }
+
+    public String getShopId() {
+        return shopId;
+    }
+
+    public void setShopId(String shopId) {
+        this.shopId = shopId == null ? null : shopId.trim();
+    }
+
+    public String getExtraTag() {
+        return extraTag;
+    }
+
+    public void setExtraTag(String extraTag) {
+        this.extraTag = extraTag == null ? null : extraTag.trim();
+    }
+
+    public String getBuyerPayCheck() {
+        return buyerPayCheck;
+    }
+
+    public void setBuyerPayCheck(String buyerPayCheck) {
+        this.buyerPayCheck = buyerPayCheck;
+    }
+
+    public String getCurrencyCode() {
+        return currencyCode;
+    }
+
+    public void setCurrencyCode(String currencyCode) {
+        this.currencyCode = currencyCode == null ? null : currencyCode.trim();
+    }
+
+    public String getWsFlag() {
+        return wsFlag;
+    }
+
+    public void setWsFlag(String wsFlag) {
+        this.wsFlag = wsFlag == null ? null : wsFlag.trim();
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getExField() {
+        return exField;
+    }
+
+    public void setExField(String exField) {
+        this.exField = exField == null ? null : exField.trim();
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2 == null ? null : exField2.trim();
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3 == null ? null : exField3.trim();
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4 == null ? null : exField4.trim();
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5 == null ? null : exField5.trim();
+    }
+}

+ 183 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybillGoods.java

@@ -0,0 +1,183 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class CusWaybillGoods implements Serializable {
+    private String cusWaybillGoodsSn;
+
+    private String cusWaybillSn;
+
+    private String merchOrderSn;
+
+    private String sku;
+
+    private BigDecimal buyUnitPrice;
+
+    private BigDecimal buyQty;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    private static final long serialVersionUID = 1L;
+
+    public CusWaybillGoods() {
+        super();
+    }
+
+    public String getCusWaybillGoodsSn() {
+        return cusWaybillGoodsSn;
+    }
+
+    public void setCusWaybillGoodsSn(String cusWaybillGoodsSn) {
+        this.cusWaybillGoodsSn = cusWaybillGoodsSn == null ? null : cusWaybillGoodsSn.trim();
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn == null ? null : cusWaybillSn.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getSku() {
+        return sku;
+    }
+
+    public void setSku(String sku) {
+        this.sku = sku == null ? null : sku.trim();
+    }
+
+    public BigDecimal getBuyUnitPrice() {
+        return buyUnitPrice;
+    }
+
+    public void setBuyUnitPrice(BigDecimal buyUnitPrice) {
+        this.buyUnitPrice = buyUnitPrice;
+    }
+
+    public BigDecimal getBuyQty() {
+        return buyQty;
+    }
+
+    public void setBuyQty(BigDecimal buyQty) {
+        this.buyQty = buyQty;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getExField() {
+        return exField;
+    }
+
+    public void setExField(String exField) {
+        this.exField = exField == null ? null : exField.trim();
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2 == null ? null : exField2.trim();
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3 == null ? null : exField3.trim();
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4 == null ? null : exField4.trim();
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5 == null ? null : exField5.trim();
+    }
+}

+ 272 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybillResp.java

@@ -0,0 +1,272 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class CusWaybillResp implements Serializable {
+    private String cusWaybillRespSn;
+
+    private String cusWaybillSn;
+
+    private String merchOrderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private String bizInfoCode;
+
+    private String bizInfoDesc;
+
+    private String notiType;
+
+    private String serviceStates;
+
+    private String notiInfo;
+
+    private String logisticsNo;
+
+    private Date waybillStartTime;
+
+    private Date waybillEndTime;
+
+    private String invtNo;
+
+    private Date clearStartTime;
+
+    private Date clearEndTime;
+
+    private String notiData;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private static final long serialVersionUID = 1L;
+
+    public CusWaybillResp() {
+        super();
+    }
+
+    public String getCusWaybillRespSn() {
+        return cusWaybillRespSn;
+    }
+
+    public void setCusWaybillRespSn(String cusWaybillRespSn) {
+        this.cusWaybillRespSn = cusWaybillRespSn == null ? null : cusWaybillRespSn.trim();
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn == null ? null : cusWaybillSn.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public String getBizInfoCode() {
+        return bizInfoCode;
+    }
+
+    public void setBizInfoCode(String bizInfoCode) {
+        this.bizInfoCode = bizInfoCode == null ? null : bizInfoCode.trim();
+    }
+
+    public String getBizInfoDesc() {
+        return bizInfoDesc;
+    }
+
+    public void setBizInfoDesc(String bizInfoDesc) {
+        this.bizInfoDesc = bizInfoDesc == null ? null : bizInfoDesc.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getNotiType() {
+        return notiType;
+    }
+
+    public void setNotiType(String notiType) {
+        this.notiType = notiType == null ? null : notiType.trim();
+    }
+
+    public String getServiceStates() {
+        return serviceStates;
+    }
+
+    public void setServiceStates(String serviceStates) {
+        this.serviceStates = serviceStates == null ? null : serviceStates.trim();
+    }
+
+    public String getNotiInfo() {
+        return notiInfo;
+    }
+
+    public void setNotiInfo(String notiInfo) {
+        this.notiInfo = notiInfo == null ? null : notiInfo.trim();
+    }
+
+    public String getLogisticsNo() {
+        return logisticsNo;
+    }
+
+    public void setLogisticsNo(String logisticsNo) {
+        this.logisticsNo = logisticsNo == null ? null : logisticsNo.trim();
+    }
+
+    public Date getWaybillStartTime() {
+        return waybillStartTime;
+    }
+
+    public void setWaybillStartTime(Date waybillStartTime) {
+        this.waybillStartTime = waybillStartTime;
+    }
+
+    public Date getWaybillEndTime() {
+        return waybillEndTime;
+    }
+
+    public void setWaybillEndTime(Date waybillEndTime) {
+        this.waybillEndTime = waybillEndTime;
+    }
+
+    public String getInvtNo() {
+        return invtNo;
+    }
+
+    public void setInvtNo(String invtNo) {
+        this.invtNo = invtNo == null ? null : invtNo.trim();
+    }
+
+    public Date getClearStartTime() {
+        return clearStartTime;
+    }
+
+    public void setClearStartTime(Date clearStartTime) {
+        this.clearStartTime = clearStartTime;
+    }
+
+    public Date getClearEndTime() {
+        return clearEndTime;
+    }
+
+    public void setClearEndTime(Date clearEndTime) {
+        this.clearEndTime = clearEndTime;
+    }
+
+    public String getNotiData() {
+        return notiData;
+    }
+
+    public void setNotiData(String notiData) {
+        this.notiData = notiData == null ? null : notiData.trim();
+    }
+}

+ 182 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/CusWaybillStatus.java

@@ -0,0 +1,182 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class CusWaybillStatus implements Serializable {
+    private String cusWaybillStatusSn;
+
+    private String cusWaybillSn;
+
+    private String merchOrderType;
+
+    private String merchOrderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private String sendStatus;
+
+    private String respStatus;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private static final long serialVersionUID = 1L;
+
+    public CusWaybillStatus() {
+        super();
+    }
+
+    public String getCusWaybillStatusSn() {
+        return cusWaybillStatusSn;
+    }
+
+    public void setCusWaybillStatusSn(String cusWaybillStatusSn) {
+        this.cusWaybillStatusSn = cusWaybillStatusSn == null ? null : cusWaybillStatusSn.trim();
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn == null ? null : cusWaybillSn.trim();
+    }
+
+    public String getMerchOrderType() {
+        return merchOrderType;
+    }
+
+    public void setMerchOrderType(String merchOrderType) {
+        this.merchOrderType = merchOrderType == null ? null : merchOrderType.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public String getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus == null ? null : sendStatus.trim();
+    }
+
+    public String getRespStatus() {
+        return respStatus;
+    }
+
+    public void setRespStatus(String respStatus) {
+        this.respStatus = respStatus == null ? null : respStatus.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+}

+ 192 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxCuspayResp.java

@@ -0,0 +1,192 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WxCuspayResp implements Serializable {
+    private String wxCuspayRespSn;
+
+    private String wxCuspaySn;
+
+    private String merchOrderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String cusDeclStatus;
+
+    private String code;
+
+    private String msg;
+
+    private String returnCode;
+
+    private String returnMsg;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private static final long serialVersionUID = 1L;
+
+    public WxCuspayResp() {
+        super();
+    }
+
+    public String getWxCuspayRespSn() {
+        return wxCuspayRespSn;
+    }
+
+    public void setWxCuspayRespSn(String wxCuspayRespSn) {
+        this.wxCuspayRespSn = wxCuspayRespSn == null ? null : wxCuspayRespSn.trim();
+    }
+
+    public String getWxCuspaySn() {
+        return wxCuspaySn;
+    }
+
+    public void setWxCuspaySn(String wxCuspaySn) {
+        this.wxCuspaySn = wxCuspaySn == null ? null : wxCuspaySn.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getCusDeclStatus() {
+        return cusDeclStatus;
+    }
+
+    public void setCusDeclStatus(String cusDeclStatus) {
+        this.cusDeclStatus = cusDeclStatus == null ? null : cusDeclStatus.trim();
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code == null ? null : code.trim();
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg == null ? null : msg.trim();
+    }
+
+    public String getReturnCode() {
+        return returnCode;
+    }
+
+    public void setReturnCode(String returnCode) {
+        this.returnCode = returnCode == null ? null : returnCode.trim();
+    }
+
+    public String getReturnMsg() {
+        return returnMsg;
+    }
+
+    public void setReturnMsg(String returnMsg) {
+        this.returnMsg = returnMsg == null ? null : returnMsg.trim();
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+}

+ 192 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxCuspayStatus.java

@@ -0,0 +1,192 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WxCuspayStatus implements Serializable {
+    private String cusOrderStatusSn;
+
+    private String wxPaySn;
+
+    private String orderSn;
+
+    private String merchOrderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private String sendStatus;
+
+    private String respStatus;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private static final long serialVersionUID = 1L;
+
+    public WxCuspayStatus() {
+        super();
+    }
+
+    public String getCusOrderStatusSn() {
+        return cusOrderStatusSn;
+    }
+
+    public void setCusOrderStatusSn(String cusOrderStatusSn) {
+        this.cusOrderStatusSn = cusOrderStatusSn == null ? null : cusOrderStatusSn.trim();
+    }
+
+    public String getWxPaySn() {
+        return wxPaySn;
+    }
+
+    public void setWxPaySn(String wxPaySn) {
+        this.wxPaySn = wxPaySn == null ? null : wxPaySn.trim();
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn == null ? null : orderSn.trim();
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn == null ? null : merchOrderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public String getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus == null ? null : sendStatus.trim();
+    }
+
+    public String getRespStatus() {
+        return respStatus;
+    }
+
+    public void setRespStatus(String respStatus) {
+        this.respStatus = respStatus == null ? null : respStatus.trim();
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+}

+ 713 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxOrder.java

@@ -0,0 +1,713 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class WxOrder implements Serializable {
+    private String wxOrderSn;
+
+    private String merchOrderId;
+
+    private String orderSn;
+
+    private String wxOrderId;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private Date placeOrderlTime;
+
+    private String autoSend;
+
+    private String buyerRegNo;
+
+    private Date buyerBillTime;
+
+    private String buyerIdType;
+
+    private String buyerIdCode;
+
+    private String buyerName;
+
+    private String buyerTel;
+
+    private String consigneeIdType;
+
+    private String consigneeIdCode;
+
+    private String consigneeName;
+
+    private String consigneeMob;
+
+    private String consigneeTel;
+
+    private String consigneeCountryCode;
+
+    private String consigneeProvinceCode;
+
+    private String consigneeProvince;
+
+    private String consigneeCityCode;
+
+    private String consigneeCity;
+
+    private String consigneeDistrictCode;
+
+    private String consigneeDistrict;
+
+    private String consigneeAddress;
+
+    private String consigneeZipCode;
+
+    private String payerName;
+
+    private String payerIdType;
+
+    private String payerIdCode;
+
+    private String payerMob;
+
+    private String payEntCusCode;
+
+    private String payNo;
+
+    private BigDecimal goodsValue;
+
+    private BigDecimal freight;
+
+    private BigDecimal discount;
+
+    private BigDecimal taxTotal;
+
+    private BigDecimal acturalPaid;
+
+    private Date payTime;
+
+    private String exprType;
+
+    private String exprCompId;
+
+    private BigDecimal declExprFee;
+
+    private String batchNumbers;
+
+    private BigDecimal declPostTax;
+
+    private String shopId;
+
+    private String extraTag;
+
+    private String currencyCode;
+
+    private String wsFlag;
+
+    private String buyerPayCheck;
+
+    private String wxOrderDetail;
+
+    private String clecOrderStatus;
+
+    private String wayOrderStatus;
+
+    private String projectCheckStatus;
+
+    private String playOrderStatus;
+
+    private String remark;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    private static final long serialVersionUID = 1L;
+
+    public WxOrder() {
+        super();
+    }
+
+    public String getWxOrderSn() {
+        return wxOrderSn;
+    }
+
+    public void setWxOrderSn(String wxOrderSn) {
+        this.wxOrderSn = wxOrderSn == null ? null : wxOrderSn.trim();
+    }
+
+    public String getMerchOrderId() {
+        return merchOrderId;
+    }
+
+    public void setMerchOrderId(String merchOrderId) {
+        this.merchOrderId = merchOrderId == null ? null : merchOrderId.trim();
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn == null ? null : orderSn.trim();
+    }
+
+    public String getWxOrderId() {
+        return wxOrderId;
+    }
+
+    public void setWxOrderId(String wxOrderId) {
+        this.wxOrderId = wxOrderId == null ? null : wxOrderId.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public Date getPlaceOrderlTime() {
+        return placeOrderlTime;
+    }
+
+    public void setPlaceOrderlTime(Date placeOrderlTime) {
+        this.placeOrderlTime = placeOrderlTime;
+    }
+
+    public String getAutoSend() {
+        return autoSend;
+    }
+
+    public void setAutoSend(String autoSend) {
+        this.autoSend = autoSend == null ? null : autoSend.trim();
+    }
+
+    public String getBuyerRegNo() {
+        return buyerRegNo;
+    }
+
+    public void setBuyerRegNo(String buyerRegNo) {
+        this.buyerRegNo = buyerRegNo == null ? null : buyerRegNo.trim();
+    }
+
+    public Date getBuyerBillTime() {
+        return buyerBillTime;
+    }
+
+    public void setBuyerBillTime(Date buyerBillTime) {
+        this.buyerBillTime = buyerBillTime;
+    }
+
+    public String getBuyerIdType() {
+        return buyerIdType;
+    }
+
+    public void setBuyerIdType(String buyerIdType) {
+        this.buyerIdType = buyerIdType == null ? null : buyerIdType.trim();
+    }
+
+    public String getBuyerIdCode() {
+        return buyerIdCode;
+    }
+
+    public void setBuyerIdCode(String buyerIdCode) {
+        this.buyerIdCode = buyerIdCode == null ? null : buyerIdCode.trim();
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName == null ? null : buyerName.trim();
+    }
+
+    public String getBuyerTel() {
+        return buyerTel;
+    }
+
+    public void setBuyerTel(String buyerTel) {
+        this.buyerTel = buyerTel == null ? null : buyerTel.trim();
+    }
+
+    public String getConsigneeIdType() {
+        return consigneeIdType;
+    }
+
+    public void setConsigneeIdType(String consigneeIdType) {
+        this.consigneeIdType = consigneeIdType == null ? null : consigneeIdType.trim();
+    }
+
+    public String getConsigneeIdCode() {
+        return consigneeIdCode;
+    }
+
+    public void setConsigneeIdCode(String consigneeIdCode) {
+        this.consigneeIdCode = consigneeIdCode == null ? null : consigneeIdCode.trim();
+    }
+
+    public String getConsigneeName() {
+        return consigneeName;
+    }
+
+    public void setConsigneeName(String consigneeName) {
+        this.consigneeName = consigneeName == null ? null : consigneeName.trim();
+    }
+
+    public String getConsigneeMob() {
+        return consigneeMob;
+    }
+
+    public void setConsigneeMob(String consigneeMob) {
+        this.consigneeMob = consigneeMob == null ? null : consigneeMob.trim();
+    }
+
+    public String getConsigneeTel() {
+        return consigneeTel;
+    }
+
+    public void setConsigneeTel(String consigneeTel) {
+        this.consigneeTel = consigneeTel == null ? null : consigneeTel.trim();
+    }
+
+    public String getConsigneeCountryCode() {
+        return consigneeCountryCode;
+    }
+
+    public void setConsigneeCountryCode(String consigneeCountryCode) {
+        this.consigneeCountryCode = consigneeCountryCode == null ? null : consigneeCountryCode.trim();
+    }
+
+    public String getConsigneeProvinceCode() {
+        return consigneeProvinceCode;
+    }
+
+    public void setConsigneeProvinceCode(String consigneeProvinceCode) {
+        this.consigneeProvinceCode = consigneeProvinceCode == null ? null : consigneeProvinceCode.trim();
+    }
+
+    public String getConsigneeProvince() {
+        return consigneeProvince;
+    }
+
+    public void setConsigneeProvince(String consigneeProvince) {
+        this.consigneeProvince = consigneeProvince == null ? null : consigneeProvince.trim();
+    }
+
+    public String getConsigneeCityCode() {
+        return consigneeCityCode;
+    }
+
+    public void setConsigneeCityCode(String consigneeCityCode) {
+        this.consigneeCityCode = consigneeCityCode == null ? null : consigneeCityCode.trim();
+    }
+
+    public String getConsigneeCity() {
+        return consigneeCity;
+    }
+
+    public void setConsigneeCity(String consigneeCity) {
+        this.consigneeCity = consigneeCity == null ? null : consigneeCity.trim();
+    }
+
+    public String getConsigneeDistrictCode() {
+        return consigneeDistrictCode;
+    }
+
+    public void setConsigneeDistrictCode(String consigneeDistrictCode) {
+        this.consigneeDistrictCode = consigneeDistrictCode == null ? null : consigneeDistrictCode.trim();
+    }
+
+    public String getConsigneeDistrict() {
+        return consigneeDistrict;
+    }
+
+    public void setConsigneeDistrict(String consigneeDistrict) {
+        this.consigneeDistrict = consigneeDistrict == null ? null : consigneeDistrict.trim();
+    }
+
+    public String getConsigneeAddress() {
+        return consigneeAddress;
+    }
+
+    public void setConsigneeAddress(String consigneeAddress) {
+        this.consigneeAddress = consigneeAddress == null ? null : consigneeAddress.trim();
+    }
+
+    public String getConsigneeZipCode() {
+        return consigneeZipCode;
+    }
+
+    public void setConsigneeZipCode(String consigneeZipCode) {
+        this.consigneeZipCode = consigneeZipCode == null ? null : consigneeZipCode.trim();
+    }
+
+    public String getPayerName() {
+        return payerName;
+    }
+
+    public void setPayerName(String payerName) {
+        this.payerName = payerName == null ? null : payerName.trim();
+    }
+
+    public String getPayerIdType() {
+        return payerIdType;
+    }
+
+    public void setPayerIdType(String payerIdType) {
+        this.payerIdType = payerIdType == null ? null : payerIdType.trim();
+    }
+
+    public String getPayerIdCode() {
+        return payerIdCode;
+    }
+
+    public void setPayerIdCode(String payerIdCode) {
+        this.payerIdCode = payerIdCode == null ? null : payerIdCode.trim();
+    }
+
+    public String getPayerMob() {
+        return payerMob;
+    }
+
+    public void setPayerMob(String payerMob) {
+        this.payerMob = payerMob == null ? null : payerMob.trim();
+    }
+
+    public String getPayEntCusCode() {
+        return payEntCusCode;
+    }
+
+    public void setPayEntCusCode(String payEntCusCode) {
+        this.payEntCusCode = payEntCusCode == null ? null : payEntCusCode.trim();
+    }
+
+    public String getPayNo() {
+        return payNo;
+    }
+
+    public void setPayNo(String payNo) {
+        this.payNo = payNo == null ? null : payNo.trim();
+    }
+
+    public BigDecimal getGoodsValue() {
+        return goodsValue;
+    }
+
+    public void setGoodsValue(BigDecimal goodsValue) {
+        this.goodsValue = goodsValue;
+    }
+
+    public BigDecimal getFreight() {
+        return freight;
+    }
+
+    public void setFreight(BigDecimal freight) {
+        this.freight = freight;
+    }
+
+    public BigDecimal getDiscount() {
+        return discount;
+    }
+
+    public void setDiscount(BigDecimal discount) {
+        this.discount = discount;
+    }
+
+    public BigDecimal getTaxTotal() {
+        return taxTotal;
+    }
+
+    public void setTaxTotal(BigDecimal taxTotal) {
+        this.taxTotal = taxTotal;
+    }
+
+    public BigDecimal getActuralPaid() {
+        return acturalPaid;
+    }
+
+    public void setActuralPaid(BigDecimal acturalPaid) {
+        this.acturalPaid = acturalPaid;
+    }
+
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getExprType() {
+        return exprType;
+    }
+
+    public void setExprType(String exprType) {
+        this.exprType = exprType == null ? null : exprType.trim();
+    }
+
+    public String getExprCompId() {
+        return exprCompId;
+    }
+
+    public void setExprCompId(String exprCompId) {
+        this.exprCompId = exprCompId == null ? null : exprCompId.trim();
+    }
+
+    public BigDecimal getDeclExprFee() {
+        return declExprFee;
+    }
+
+    public void setDeclExprFee(BigDecimal declExprFee) {
+        this.declExprFee = declExprFee;
+    }
+
+    public String getBatchNumbers() {
+        return batchNumbers;
+    }
+
+    public void setBatchNumbers(String batchNumbers) {
+        this.batchNumbers = batchNumbers == null ? null : batchNumbers.trim();
+    }
+
+    public BigDecimal getDeclPostTax() {
+        return declPostTax;
+    }
+
+    public void setDeclPostTax(BigDecimal declPostTax) {
+        this.declPostTax = declPostTax;
+    }
+
+    public String getShopId() {
+        return shopId;
+    }
+
+    public void setShopId(String shopId) {
+        this.shopId = shopId == null ? null : shopId.trim();
+    }
+
+    public String getExtraTag() {
+        return extraTag;
+    }
+
+    public void setExtraTag(String extraTag) {
+        this.extraTag = extraTag == null ? null : extraTag.trim();
+    }
+
+    public String getCurrencyCode() {
+        return currencyCode;
+    }
+
+    public void setCurrencyCode(String currencyCode) {
+        this.currencyCode = currencyCode == null ? null : currencyCode.trim();
+    }
+
+    public String getWsFlag() {
+        return wsFlag;
+    }
+
+    public void setWsFlag(String wsFlag) {
+        this.wsFlag = wsFlag == null ? null : wsFlag.trim();
+    }
+
+    public String getBuyerPayCheck() {
+        return buyerPayCheck;
+    }
+
+    public void setBuyerPayCheck(String buyerPayCheck) {
+        this.buyerPayCheck = buyerPayCheck;
+    }
+
+    public String getWxOrderDetail() {
+        return wxOrderDetail;
+    }
+
+    public void setWxOrderDetail(String wxOrderDetail) {
+        this.wxOrderDetail = wxOrderDetail;
+    }
+
+    public String getClecOrderStatus() {
+        return clecOrderStatus;
+    }
+
+    public void setClecOrderStatus(String clecOrderStatus) {
+        this.clecOrderStatus = clecOrderStatus == null ? null : clecOrderStatus.trim();
+    }
+
+    public String getWayOrderStatus() {
+        return wayOrderStatus;
+    }
+
+    public void setWayOrderStatus(String wayOrderStatus) {
+        this.wayOrderStatus = wayOrderStatus == null ? null : wayOrderStatus.trim();
+    }
+
+    public String getProjectCheckStatus() {
+        return projectCheckStatus;
+    }
+
+    public void setProjectCheckStatus(String projectCheckStatus) {
+        this.projectCheckStatus = projectCheckStatus == null ? null : projectCheckStatus.trim();
+    }
+
+    public String getPlayOrderStatus() {
+        return playOrderStatus;
+    }
+
+    public void setPlayOrderStatus(String playOrderStatus) {
+        this.playOrderStatus = playOrderStatus == null ? null : playOrderStatus.trim();
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getExField() {
+        return exField;
+    }
+
+    public void setExField(String exField) {
+        this.exField = exField == null ? null : exField.trim();
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2 == null ? null : exField2.trim();
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3 == null ? null : exField3.trim();
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4 == null ? null : exField4.trim();
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5 == null ? null : exField5.trim();
+    }
+}

+ 293 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxOrderGoods.java

@@ -0,0 +1,293 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class WxOrderGoods implements Serializable {
+    private String wxOrderGoodsSn;
+
+    private String wxOrderId;
+
+    private String itemNo;
+
+    private String itemName;
+
+    private String itemDescribe;
+
+    private String barCode;
+
+    private String unit;
+
+    private BigDecimal qty;
+
+    private BigDecimal price;
+
+    private BigDecimal totalPrice;
+
+    private String country;
+
+    private String ciqGno;
+
+    private String gcode;
+
+    private String gmodel;
+
+    private String ciqGmodel;
+
+    private String brand;
+
+    private BigDecimal taxTotal;
+
+    private String note;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    private static final long serialVersionUID = 1L;
+
+    public WxOrderGoods() {
+        super();
+    }
+
+    public String getWxOrderGoodsSn() {
+        return wxOrderGoodsSn;
+    }
+
+    public void setWxOrderGoodsSn(String wxOrderGoodsSn) {
+        this.wxOrderGoodsSn = wxOrderGoodsSn == null ? null : wxOrderGoodsSn.trim();
+    }
+
+    public String getWxOrderId() {
+        return wxOrderId;
+    }
+
+    public void setWxOrderId(String wxOrderId) {
+        this.wxOrderId = wxOrderId == null ? null : wxOrderId.trim();
+    }
+
+    public String getItemNo() {
+        return itemNo;
+    }
+
+    public void setItemNo(String itemNo) {
+        this.itemNo = itemNo == null ? null : itemNo.trim();
+    }
+
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName == null ? null : itemName.trim();
+    }
+
+    public String getItemDescribe() {
+        return itemDescribe;
+    }
+
+    public void setItemDescribe(String itemDescribe) {
+        this.itemDescribe = itemDescribe == null ? null : itemDescribe.trim();
+    }
+
+    public String getBarCode() {
+        return barCode;
+    }
+
+    public void setBarCode(String barCode) {
+        this.barCode = barCode == null ? null : barCode.trim();
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit == null ? null : unit.trim();
+    }
+
+    public BigDecimal getQty() {
+        return qty;
+    }
+
+    public void setQty(BigDecimal qty) {
+        this.qty = qty;
+    }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+
+    public BigDecimal getTotalPrice() {
+        return totalPrice;
+    }
+
+    public void setTotalPrice(BigDecimal totalPrice) {
+        this.totalPrice = totalPrice;
+    }
+
+    public String getCountry() {
+        return country;
+    }
+
+    public void setCountry(String country) {
+        this.country = country == null ? null : country.trim();
+    }
+
+    public String getCiqGno() {
+        return ciqGno;
+    }
+
+    public void setCiqGno(String ciqGno) {
+        this.ciqGno = ciqGno == null ? null : ciqGno.trim();
+    }
+
+    public String getGcode() {
+        return gcode;
+    }
+
+    public void setGcode(String gcode) {
+        this.gcode = gcode == null ? null : gcode.trim();
+    }
+
+    public String getGmodel() {
+        return gmodel;
+    }
+
+    public void setGmodel(String gmodel) {
+        this.gmodel = gmodel == null ? null : gmodel.trim();
+    }
+
+    public String getCiqGmodel() {
+        return ciqGmodel;
+    }
+
+    public void setCiqGmodel(String ciqGmodel) {
+        this.ciqGmodel = ciqGmodel == null ? null : ciqGmodel.trim();
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand == null ? null : brand.trim();
+    }
+
+    public BigDecimal getTaxTotal() {
+        return taxTotal;
+    }
+
+    public void setTaxTotal(BigDecimal taxTotal) {
+        this.taxTotal = taxTotal;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note == null ? null : note.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getExField() {
+        return exField;
+    }
+
+    public void setExField(String exField) {
+        this.exField = exField == null ? null : exField.trim();
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2 == null ? null : exField2.trim();
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3 == null ? null : exField3.trim();
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4 == null ? null : exField4.trim();
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5 == null ? null : exField5.trim();
+    }
+}

+ 372 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/ccnet/WxPayDoc.java

@@ -0,0 +1,372 @@
+package com.emato.ccnet.wx.dao.entity.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class WxPayDoc implements Serializable {
+    private String wxCuspaySn;
+
+    private String orderSn;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    private String appid;
+
+    private String mchId;
+
+    private String outTradeNo;
+
+    private String transactionId;
+
+    private String customs;
+
+    private String mchCustomsNo;
+
+    private Integer duty;
+
+    private String actionType;
+
+    private String subOrderNo;
+
+    private String feeType;
+
+    private Integer orderFee;
+
+    private Integer transportFee;
+
+    private Integer productFee;
+
+    private String certType;
+
+    private String certId;
+
+    private String name;
+
+    private String buyerPayerCheck;
+
+    private String remark;
+
+    private String createrSn;
+
+    private Date createTime;
+
+    private String moderSn;
+
+    private Date modTime;
+
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    private static final long serialVersionUID = 1L;
+
+    public WxPayDoc() {
+        super();
+    }
+
+    public String getWxCuspaySn() {
+        return wxCuspaySn;
+    }
+
+    public void setWxCuspaySn(String wxCuspaySn) {
+        this.wxCuspaySn = wxCuspaySn == null ? null : wxCuspaySn.trim();
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn == null ? null : orderSn.trim();
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn == null ? null : merchSn.trim();
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName == null ? null : merchName.trim();
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn == null ? null : platSn.trim();
+    }
+
+    public String getPlatName() {
+        return platName;
+    }
+
+    public void setPlatName(String platName) {
+        this.platName = platName == null ? null : platName.trim();
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode == null ? null : thirdPartyMerchCode.trim();
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName == null ? null : thirdPartyMerchName.trim();
+    }
+
+    public String getAppid() {
+        return appid;
+    }
+
+    public void setAppid(String appid) {
+        this.appid = appid == null ? null : appid.trim();
+    }
+
+    public String getMchId() {
+        return mchId;
+    }
+
+    public void setMchId(String mchId) {
+        this.mchId = mchId == null ? null : mchId.trim();
+    }
+
+    public String getOutTradeNo() {
+        return outTradeNo;
+    }
+
+    public void setOutTradeNo(String outTradeNo) {
+        this.outTradeNo = outTradeNo == null ? null : outTradeNo.trim();
+    }
+
+    public String getTransactionId() {
+        return transactionId;
+    }
+
+    public void setTransactionId(String transactionId) {
+        this.transactionId = transactionId == null ? null : transactionId.trim();
+    }
+
+    public String getCustoms() {
+        return customs;
+    }
+
+    public void setCustoms(String customs) {
+        this.customs = customs == null ? null : customs.trim();
+    }
+
+    public String getMchCustomsNo() {
+        return mchCustomsNo;
+    }
+
+    public void setMchCustomsNo(String mchCustomsNo) {
+        this.mchCustomsNo = mchCustomsNo == null ? null : mchCustomsNo.trim();
+    }
+
+    public Integer getDuty() {
+        return duty;
+    }
+
+    public void setDuty(Integer duty) {
+        this.duty = duty;
+    }
+
+    public String getActionType() {
+        return actionType;
+    }
+
+    public void setActionType(String actionType) {
+        this.actionType = actionType == null ? null : actionType.trim();
+    }
+
+    public String getSubOrderNo() {
+        return subOrderNo;
+    }
+
+    public void setSubOrderNo(String subOrderNo) {
+        this.subOrderNo = subOrderNo == null ? null : subOrderNo.trim();
+    }
+
+    public String getFeeType() {
+        return feeType;
+    }
+
+    public void setFeeType(String feeType) {
+        this.feeType = feeType == null ? null : feeType.trim();
+    }
+
+    public Integer getOrderFee() {
+        return orderFee;
+    }
+
+    public void setOrderFee(Integer orderFee) {
+        this.orderFee = orderFee;
+    }
+
+    public Integer getTransportFee() {
+        return transportFee;
+    }
+
+    public void setTransportFee(Integer transportFee) {
+        this.transportFee = transportFee;
+    }
+
+    public Integer getProductFee() {
+        return productFee;
+    }
+
+    public void setProductFee(Integer productFee) {
+        this.productFee = productFee;
+    }
+
+    public String getCertType() {
+        return certType;
+    }
+
+    public void setCertType(String certType) {
+        this.certType = certType == null ? null : certType.trim();
+    }
+
+    public String getCertId() {
+        return certId;
+    }
+
+    public void setCertId(String certId) {
+        this.certId = certId == null ? null : certId.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public String getBuyerPayerCheck() {
+        return buyerPayerCheck;
+    }
+
+    public void setBuyerPayerCheck(String buyerPayerCheck) {
+        this.buyerPayerCheck = buyerPayerCheck == null ? null : buyerPayerCheck.trim();
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn == null ? null : createrSn.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getModerSn() {
+        return moderSn;
+    }
+
+    public void setModerSn(String moderSn) {
+        this.moderSn = moderSn == null ? null : moderSn.trim();
+    }
+
+    public Date getModTime() {
+        return modTime;
+    }
+
+    public void setModTime(Date modTime) {
+        this.modTime = modTime;
+    }
+
+    public Date getTstm() {
+        return tstm;
+    }
+
+    public void setTstm(Date tstm) {
+        this.tstm = tstm;
+    }
+
+    public String getExField() {
+        return exField;
+    }
+
+    public void setExField(String exField) {
+        this.exField = exField == null ? null : exField.trim();
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2 == null ? null : exField2.trim();
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3 == null ? null : exField3.trim();
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4 == null ? null : exField4.trim();
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5 == null ? null : exField5.trim();
+    }
+}

+ 299 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/wx/WxOrderDate.java

@@ -0,0 +1,299 @@
+package com.emato.ccnet.wx.dao.entity.wx;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class WxOrderDate implements Serializable {
+
+    private static final long serialVersionUID = -5853076795659035387L;
+    private String merchOrderId;
+
+    private String orderSn;
+
+    private String wxOrderId;
+
+    private String merchSn;
+
+    private String merchName;
+
+    private String shopId;
+
+    private String shopName;
+
+    private String thirdPartyMerchCode;
+
+    private Date placeOrderlTime;
+
+    private String buyerRegNo;
+
+    private Date buyerBillTime;
+
+    private String buyerIdCode;
+
+    private String buyerName;
+
+    private String buyerTel;
+
+    private String consigneeIdCode;
+
+    private String consigneeName;
+
+    private String consigneeMob;
+
+    private String consigneeProvince;
+
+    private String consigneeCity;
+
+    private String consigneeDistrict;
+
+    private String consigneeAddress;
+
+    private String payerName;
+
+    private String payerIdCode;
+
+    private String payerMob;
+
+    private String payNo;
+
+    private BigDecimal acturalPaid;
+
+    private Date payTime;
+
+    private String wsFlag;
+
+    private String buyerPayCheck;
+
+    public String getMerchOrderId() {
+        return merchOrderId;
+    }
+
+    public void setMerchOrderId(String merchOrderId) {
+        this.merchOrderId = merchOrderId;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getWxOrderId() {
+        return wxOrderId;
+    }
+
+    public void setWxOrderId(String wxOrderId) {
+        this.wxOrderId = wxOrderId;
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn;
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName;
+    }
+
+    public String getShopId() {
+        return shopId;
+    }
+
+    public void setShopId(String shopId) {
+        this.shopId = shopId;
+    }
+
+    public String getShopName() {
+        return shopName;
+    }
+
+    public void setShopName(String shopName) {
+        this.shopName = shopName;
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode;
+    }
+
+    public Date getPlaceOrderlTime() {
+        return placeOrderlTime;
+    }
+
+    public void setPlaceOrderlTime(Date placeOrderlTime) {
+        this.placeOrderlTime = placeOrderlTime;
+    }
+
+    public String getBuyerRegNo() {
+        return buyerRegNo;
+    }
+
+    public void setBuyerRegNo(String buyerRegNo) {
+        this.buyerRegNo = buyerRegNo;
+    }
+
+    public Date getBuyerBillTime() {
+        return buyerBillTime;
+    }
+
+    public void setBuyerBillTime(Date buyerBillTime) {
+        this.buyerBillTime = buyerBillTime;
+    }
+
+    public String getBuyerIdCode() {
+        return buyerIdCode;
+    }
+
+    public void setBuyerIdCode(String buyerIdCode) {
+        this.buyerIdCode = buyerIdCode;
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName;
+    }
+
+    public String getBuyerTel() {
+        return buyerTel;
+    }
+
+    public void setBuyerTel(String buyerTel) {
+        this.buyerTel = buyerTel;
+    }
+
+    public String getConsigneeIdCode() {
+        return consigneeIdCode;
+    }
+
+    public void setConsigneeIdCode(String consigneeIdCode) {
+        this.consigneeIdCode = consigneeIdCode;
+    }
+
+    public String getConsigneeName() {
+        return consigneeName;
+    }
+
+    public void setConsigneeName(String consigneeName) {
+        this.consigneeName = consigneeName;
+    }
+
+    public String getConsigneeMob() {
+        return consigneeMob;
+    }
+
+    public void setConsigneeMob(String consigneeMob) {
+        this.consigneeMob = consigneeMob;
+    }
+
+    public String getConsigneeProvince() {
+        return consigneeProvince;
+    }
+
+    public void setConsigneeProvince(String consigneeProvince) {
+        this.consigneeProvince = consigneeProvince;
+    }
+
+    public String getConsigneeCity() {
+        return consigneeCity;
+    }
+
+    public void setConsigneeCity(String consigneeCity) {
+        this.consigneeCity = consigneeCity;
+    }
+
+    public String getConsigneeDistrict() {
+        return consigneeDistrict;
+    }
+
+    public void setConsigneeDistrict(String consigneeDistrict) {
+        this.consigneeDistrict = consigneeDistrict;
+    }
+
+    public String getConsigneeAddress() {
+        return consigneeAddress;
+    }
+
+    public void setConsigneeAddress(String consigneeAddress) {
+        this.consigneeAddress = consigneeAddress;
+    }
+
+    public String getPayerName() {
+        return payerName;
+    }
+
+    public void setPayerName(String payerName) {
+        this.payerName = payerName;
+    }
+
+    public String getPayerIdCode() {
+        return payerIdCode;
+    }
+
+    public void setPayerIdCode(String payerIdCode) {
+        this.payerIdCode = payerIdCode;
+    }
+
+    public String getPayerMob() {
+        return payerMob;
+    }
+
+    public void setPayerMob(String payerMob) {
+        this.payerMob = payerMob;
+    }
+
+    public String getPayNo() {
+        return payNo;
+    }
+
+    public void setPayNo(String payNo) {
+        this.payNo = payNo;
+    }
+
+    public BigDecimal getActuralPaid() {
+        return acturalPaid;
+    }
+
+    public void setActuralPaid(BigDecimal acturalPaid) {
+        this.acturalPaid = acturalPaid;
+    }
+
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getWsFlag() {
+        return wsFlag;
+    }
+
+    public void setWsFlag(String wsFlag) {
+        this.wsFlag = wsFlag;
+    }
+
+    public String getBuyerPayCheck() {
+        return buyerPayCheck;
+    }
+
+    public void setBuyerPayCheck(String buyerPayCheck) {
+        this.buyerPayCheck = buyerPayCheck;
+    }
+}

+ 149 - 0
src/main/java/com/emato/ccnet/wx/dao/entity/wx/WxOrderGoodsDate.java

@@ -0,0 +1,149 @@
+package com.emato.ccnet.wx.dao.entity.wx;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class WxOrderGoodsDate implements Serializable {
+
+    private static final long serialVersionUID = 7028349738018390679L;
+    private String wxOrderId;
+
+    private String itemNo;
+
+    private String itemName;
+
+    private String barCode;
+
+    private String unit;
+
+    private BigDecimal qty;
+
+    private BigDecimal totalPrice;
+
+    private String country;
+
+    private String ciqGno;
+
+    private String gcode;
+
+    private String gmodel;
+
+    private String ciqGmodel;
+
+    private BigDecimal taxTotal;
+
+    private String brand;
+
+    public String getWxOrderId() {
+        return wxOrderId;
+    }
+
+    public void setWxOrderId(String wxOrderId) {
+        this.wxOrderId = wxOrderId;
+    }
+
+    public String getItemNo() {
+        return itemNo;
+    }
+
+    public void setItemNo(String itemNo) {
+        this.itemNo = itemNo;
+    }
+
+    public String getItemName() {
+        return itemName;
+    }
+
+    public void setItemName(String itemName) {
+        this.itemName = itemName;
+    }
+
+    public String getBarCode() {
+        return barCode;
+    }
+
+    public void setBarCode(String barCode) {
+        this.barCode = barCode;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public BigDecimal getQty() {
+        return qty;
+    }
+
+    public void setQty(BigDecimal qty) {
+        this.qty = qty;
+    }
+
+    public BigDecimal getTotalPrice() {
+        return totalPrice;
+    }
+
+    public void setTotalPrice(BigDecimal totalPrice) {
+        this.totalPrice = totalPrice;
+    }
+
+    public String getCountry() {
+        return country;
+    }
+
+    public void setCountry(String country) {
+        this.country = country;
+    }
+
+    public String getCiqGno() {
+        return ciqGno;
+    }
+
+    public void setCiqGno(String ciqGno) {
+        this.ciqGno = ciqGno;
+    }
+
+    public String getGcode() {
+        return gcode;
+    }
+
+    public void setGcode(String gcode) {
+        this.gcode = gcode;
+    }
+
+    public String getGmodel() {
+        return gmodel;
+    }
+
+    public void setGmodel(String gmodel) {
+        this.gmodel = gmodel;
+    }
+
+    public String getCiqGmodel() {
+        return ciqGmodel;
+    }
+
+    public void setCiqGmodel(String ciqGmodel) {
+        this.ciqGmodel = ciqGmodel;
+    }
+
+    public BigDecimal getTaxTotal() {
+        return taxTotal;
+    }
+
+    public void setTaxTotal(BigDecimal taxTotal) {
+        this.taxTotal = taxTotal;
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+}

+ 32 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderGoodsMapper.java

@@ -0,0 +1,32 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderGoods;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusOrderGoodsMapper {
+    int deleteByPrimaryKey(String cusOrderGoodsSn);
+
+    int insertSelective(CusOrderGoods record);
+
+    CusOrderGoods selectByPrimaryKey(String cusOrderGoodsSn);
+
+    int updateByPrimaryKeySelective(CusOrderGoods record);
+    /**
+     * 批量插入海关电子订单商品表
+     * @param cusOrderGoodes
+     * @return
+     */
+    int insertCusOrderGoodsItemBatch(List<CusOrderGoods> cusOrderGoodes);
+
+    /**
+     * 通过电子订单内部编号查找电子订单商品号
+     * @param cusOrderSn
+     * @return
+     */
+    List<CusOrderGoods> findCusOrderGoodsByCusOrderSn(String cusOrderSn);
+
+    int deteleByCusOrderSn(String cusOrderSn);
+}

+ 39 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderMapper.java

@@ -0,0 +1,39 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrder;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusOrderMapper {
+    int deleteByPrimaryKey(String cusOrderSn);
+
+    int insertSelective(CusOrder record);
+
+    CusOrder selectByPrimaryKey(String cusOrderSn);
+
+    int updateByPrimaryKeySelective(CusOrder record);
+
+    /**
+     * 通过订单编号查找电子订单表
+     * @param orderSn
+     * @return
+     */
+    CusOrder findCusOrderByOrderNo(String orderSn);
+
+    /**
+     * 批量插入海关电子订单表
+     * @param cusOrders
+     * @return
+     */
+    int insertCusOrderItemBatch(List<CusOrder> cusOrders);
+
+    /**
+     * 查找ccnet中的表的数据
+     * @return
+     */
+    List<CusOrder> findAllCusOrder();
+
+    int updateCusOrderItemBatch(List<CusOrder> upCusOrders);
+}

+ 15 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderRespMapper.java

@@ -0,0 +1,15 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderResp;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CusOrderRespMapper {
+    int deleteByPrimaryKey(String cusOrderRespSn);
+
+    int insertSelective(CusOrderResp record);
+
+    CusOrderResp selectByPrimaryKey(String cusOrderRespSn);
+
+    int updateByPrimaryKeySelective(CusOrderResp record);
+}

+ 50 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusOrderStatusMapper.java

@@ -0,0 +1,50 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusOrderStatus;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface CusOrderStatusMapper {
+    int deleteByPrimaryKey(String cusOrderStatusSn);
+
+    int insertSelective(CusOrderStatus record);
+
+    CusOrderStatus selectByPrimaryKey(String cusOrderStatusSn);
+
+    int updateByPrimaryKeySelective(CusOrderStatus record);
+
+    /**
+     * 批量插入海关电子订单状态表
+     * @param cusOrderStatues
+     * @return
+     */
+    int insertCusOrderStatusItemBatch(List<CusOrderStatus> cusOrderStatues);
+
+    /**
+     * 通过电子订单编号查找电子订单
+     * @param param
+     * @return
+     */
+    CusOrderStatus findCusOrderStatus(Map<String, Object> param);
+
+    /**
+     * 单个更新电子订单状态表
+     * @param cusOrderStatus
+     * @return
+     */
+    int updateCusOrderStatus(CusOrderStatus cusOrderStatus);
+
+    /**
+     * 批量更新海关电子订单状态表状态
+     * @param list
+     * @return
+     */
+    int updateCusOrderStatusBatch(List list);
+
+    CusOrderStatus findCusOrderStatusByCusOrderSn(String cusOrderSn);
+
+    int updateCusOrderStatusItemBatch(List<CusOrderStatus> cusOrderStatues);
+}

+ 35 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillGoodsMapper.java

@@ -0,0 +1,35 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybillGoods;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusWaybillGoodsMapper {
+    int deleteByPrimaryKey(String cusWaybillGoodsSn);
+
+    int insertSelective(CusWaybillGoods record);
+
+    CusWaybillGoods selectByPrimaryKey(String cusWaybillGoodsSn);
+
+    int updateByPrimaryKeySelective(CusWaybillGoods record);
+
+    /**
+     * 批量插入海关运单商品
+     * @param cusWaybillGoodes
+     * @return
+     */
+    int insertCusWaybillGoodsItemBatch(List<CusWaybillGoods> cusWaybillGoodes);
+
+    /**
+     * 通过商户订单编号查找运单商品
+     * @param merchOrderId
+     * @return
+     */
+    List<CusWaybillGoods> findCusWaybillGoodsByOrderId(String merchOrderId);
+
+    List<CusWaybillGoods> findCusWaybillGoodsByCusWaybillSn(String cusWaybillSn);
+
+    int deteleByCusWaybillSn(String cusWaybillSn);
+}

+ 37 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillMapper.java

@@ -0,0 +1,37 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybill;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusWaybillMapper {
+    int deleteByPrimaryKey(String cusWaybillSn);
+
+    int insertSelective(CusWaybill record);
+
+    CusWaybill selectByPrimaryKey(String cusWaybillSn);
+
+    int updateByPrimaryKeySelective(CusWaybill record);
+
+    /**
+     * 查找海关运单
+     * @return
+     */
+    List<CusWaybill> findAllCusWaybill();
+
+
+    CusWaybill findCusWaybillByOrderSn(String orderSn);
+
+    /**
+     * 批量插入海关运单
+     * @param list
+     * @return
+     */
+    int insertCusWaybillItemBatch(List<CusWaybill> list);
+
+    int updateCusWaybillItemBatch(List<CusWaybill> upCusWaybills);
+
+    CusWaybill getCusWaybillByMerchOrderSn(String merchOrderSn);
+}

+ 15 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillRespMapper.java

@@ -0,0 +1,15 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybillResp;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CusWaybillRespMapper {
+    int deleteByPrimaryKey(String cusWaybillRespSn);
+
+    int insertSelective(CusWaybillResp record);
+
+    CusWaybillResp selectByPrimaryKey(String cusWaybillRespSn);
+
+    int updateByPrimaryKeySelective(CusWaybillResp record);
+}

+ 50 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/CusWaybillStatusMapper.java

@@ -0,0 +1,50 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybillStatus;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface CusWaybillStatusMapper {
+    int deleteByPrimaryKey(String cusWaybillStatusSn);
+
+    int insertSelective(CusWaybillStatus record);
+
+    CusWaybillStatus selectByPrimaryKey(String cusWaybillStatusSn);
+
+    int updateByPrimaryKeySelective(CusWaybillStatus record);
+
+    /**
+     * 批量插入海关运单状态
+     * @param cusWaybillStatues
+     * @return
+     */
+    int insertCusWaybillStatusItemBatch(List<CusWaybillStatus> cusWaybillStatues);
+
+    /**
+     * 批量更新状态
+     * @param list
+     * @return
+     */
+    int updateCusWaybillStatusBatch(List list);
+
+    /**
+     * 通过状态和内部订单编号查找海关运单数据
+     * @param map
+     * @return
+     */
+    CusWaybillStatus findCusWaybillStatus(Map<String, Object> map);
+
+    /**
+     * 更新海关运单数据
+     * @param cusWaybillStatus
+     * @return
+     */
+    int updateCusWaybillStatus(CusWaybillStatus cusWaybillStatus);
+
+    CusWaybillStatus findCusWaybillStatusByCusWaybillSn(String cusWaybillSn);
+
+    int updateCusWaybillStatusItemBatch(List<CusWaybillStatus> upCusWaybillStatues);
+}

+ 18 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxCuspayRespMapper.java

@@ -0,0 +1,18 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+
+import com.emato.ccnet.wx.dao.entity.ccnet.WxCuspayResp;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+@Repository
+public interface WxCuspayRespMapper {
+
+    int deleteByPrimaryKey(String wxCuspayRespSn);
+
+    int insertSelective(WxCuspayResp record);
+
+    WxCuspayResp selectByPrimaryKey(String wxCuspayRespSn);
+
+    int updateByPrimaryKeySelective(WxCuspayResp record);
+}

+ 29 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxCuspayStatusMapper.java

@@ -0,0 +1,29 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.WxCuspayStatus;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface WxCuspayStatusMapper {
+
+    int deleteByPrimaryKey(String cusOrderStatusSn);
+
+    int insertSelective(WxCuspayStatus record);
+
+    WxCuspayStatus selectByPrimaryKey(String cusOrderStatusSn);
+
+    int updateByPrimaryKeySelective(WxCuspayStatus record);
+
+    int insertCusOrderStatusItemBatch(List<WxCuspayStatus> list);
+
+    int updateCusOrderStatusItemBatch(List<WxCuspayStatus> list);
+
+    WxCuspayStatus findWxCuspayStatus(Map<String, Object> reqParam);
+
+    WxCuspayStatus findWxcuspayStatusByOrderSn(String orderSn);
+
+    int updatewxCuspayStatusServiceBatch(List<Map<String, Object>> list);
+}

+ 25 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxOrderGoodsMapper.java

@@ -0,0 +1,25 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrderGoods;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+@Repository
+public interface WxOrderGoodsMapper {
+
+    int deleteByPrimaryKey(String wxOrderGoodsSn);
+
+    int insertSelective(WxOrderGoods record);
+
+    WxOrderGoods selectByPrimaryKey(String wxOrderGoodsSn);
+
+    int updateByPrimaryKeySelective(WxOrderGoods record);
+
+    List<WxOrderGoods> getWxOrderGoodsByWxOrderId(String wxOrderId);
+
+    int insertWxOrderGoodsBatch(List<WxOrderGoods> insertWxOrderList);
+
+    int updateWxOrderGoodsBatch(List<WxOrderGoods> updateWxOrderList);
+
+    void deleteWxOrderGoodsByWxOrderId(String wxOrderId);
+}

+ 32 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxOrderMapper.java

@@ -0,0 +1,32 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.WxOrder;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+@Repository
+public interface WxOrderMapper {
+
+    int deleteByPrimaryKey(String wxOrderSn);
+
+    int insertSelective(WxOrder record);
+
+    WxOrder selectByPrimaryKey(String wxOrderSn);
+
+    int updateByPrimaryKeySelective(WxOrder record);
+
+    WxOrder getWxOrderByWxOrderId(String wxOrderId);
+
+    int insertWxOrderBatch(List<WxOrder> list);
+
+    int updateWxOrderBatch(List<WxOrder> list);
+
+    List<WxOrder> getWxOrder(Map<String, Object> param);
+
+    int updateWxOrderStatusBatch(List<Map<String, Object>> list);
+
+    int updateWxOrderStatus(Map<String, Object> wxMap);
+
+    WxOrder getWxOrderByOrderSn(String merchOrderId);
+}

+ 24 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/ccnet/WxPayDocMapper.java

@@ -0,0 +1,24 @@
+package com.emato.ccnet.wx.dao.mapper.ccnet;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.WxPayDoc;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+@Repository
+public interface WxPayDocMapper {
+    int deleteByPrimaryKey(String wxCuspaySn);
+
+    int insertSelective(WxPayDoc record);
+
+    WxPayDoc selectByPrimaryKey(String wxCuspaySn);
+
+    int updateByPrimaryKeySelective(WxPayDoc record);
+
+    int insertWxpayDocItemBatch(List<WxPayDoc> list);
+
+    List<WxPayDoc> findAllWxPayDoc();
+
+    WxPayDoc findWxPayDocByOrderSn(String orderSn);
+
+    int updateWxPayDocItemBatch(List<WxPayDoc> upWxPayDocList);
+}

+ 28 - 0
src/main/java/com/emato/ccnet/wx/dao/mapper/wx/WxOrderGrabMapper.java

@@ -0,0 +1,28 @@
+package com.emato.ccnet.wx.dao.mapper.wx;
+
+import com.emato.ccnet.wx.dao.entity.wx.WxOrderDate;
+import com.emato.ccnet.wx.dao.entity.wx.WxOrderGoodsDate;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface WxOrderGrabMapper {
+    /**
+     * 查找微信订单数据
+     * @return
+     */
+    List<WxOrderDate> getWxOrderDate(Map<String, Object> param);
+
+    /**
+     * 查找微信订单详情数据
+     */
+    List<WxOrderGoodsDate> getWxOrderGoodsDate(List<String> orderId);
+
+    int updateIsScanBatch(List<Map<String, Object>> list);
+
+    int updateMallOrderProcessRecord(Map<String, Object> recordMap);
+
+    int updateBuyerPayCheck(Map<String, Object> wxMap);
+}

+ 540 - 0
src/main/java/com/emato/ccnet/wx/dto/ccnetdto/BondedStockMerchantOrder.java

@@ -0,0 +1,540 @@
+package com.emato.ccnet.wx.dto.ccnetdto;
+
+import com.emato.ccnet.wx.dao.entity.ccnet.CusWaybill;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 保税备货
+ * @author zengjunlin
+ * @version 1.0
+ * 2017-10-26 11:03
+ */
+public class BondedStockMerchantOrder implements Serializable {
+    private static final long serialVersionUID = 3577514804854115706L;
+    //商户编号
+    private String merchId;
+    //商户名称
+    private String merchName;
+    // 第三方商户代码
+    private String thirdPartyMerchCode;
+    //第三方商户名称
+    private String thirdPartyMerchName;
+    //商户订单编号
+    private String merchOrderId;
+    //订购人证件类型
+    private String buyerIdType;
+    //订购人证件号码
+    private String buyerIdCode;
+    //订购人姓名
+    private String buyerName;
+    //订购人电话
+    private String buyerTel;
+    //支付人证件类型
+    private String payerIdType;
+    //支付人证件号码
+    private String payerIdCode;
+    //支付人姓名
+    private String payerName;
+    //支付人电话
+    private String payerMob;
+    //收件人证件类型
+    private String consigneeIdType;
+    //收件人证件号码
+    private String consigneeIdCode;
+    //收件人姓名
+    private String consigneeName;
+    //收件人手机
+    private String consigneeMob;
+    //收件人电话
+    private String consigneeTel;
+    //收件人国家代码
+    private String consigneeCountryCode;
+    //收件人省区划代码
+    private String consigneeProvinceCode;
+    //收件人省名
+    private String consigneeProvince;
+    //收件人市区划代码
+    private String consigneeCityCode;
+    //收件人市名
+    private String consigneeCity;
+    //收件人区县区划代码
+    private String consigneeDistrictCode;
+    //收件人区县
+    private String consigneeDistrict;
+    //收件人地址
+    private String consigneeAddress;
+    //收件人邮政编码
+    private String consigneeZipCode;
+    //支付企业海关登记号
+    private String payEntCusCode;
+    //支付单号
+    private String payNo;
+    //实际支付金额
+    private BigDecimal acturalPaid;
+    //支付时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+    //快递类型
+    private String exprType;
+    //快递公司编号
+    private String exprCompId;
+    //订购人下单时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date buyerBillTime;
+    //申报用物流费
+    private BigDecimal declExprFee;
+    //申报用行邮税
+    private BigDecimal declPostTax;
+    //商户字段
+    private String extraTag;
+    //备注
+    private String remark;
+    //平台编码
+    private String platSn;
+    // 门店编号
+    private String shopId;
+    //海关支付推送成功
+    private String cusPaymentSucceeded;
+    // 海关订单推送成功
+    private String cusOrderSucceeded;
+    // 支付成功
+    private String paySucceeded;
+    // 订购人支付人核验
+    private String buyerPayerCheck;
+    // 快递协议类型
+    private String exprAgreementType;
+    // 运输方式
+    private String transMode;
+    //商品详情
+    private List<BondedStockMerchantOrderItem> item;
+
+    public BondedStockMerchantOrder(){}
+
+    public BondedStockMerchantOrder(CusWaybill cusWaybill){
+        this.merchId = cusWaybill.getMerchSn();
+        this.merchOrderId = cusWaybill.getMerchOrderId();
+        this.thirdPartyMerchCode = cusWaybill.getThirdPartyMerchCode();
+        this.thirdPartyMerchName = cusWaybill.getThirdPartyMerchName();
+        this.buyerIdType = cusWaybill.getBuyerIdType();
+        this.buyerIdCode = cusWaybill.getBuyerIdCode() == null?cusWaybill.getConsigneeIdCode():cusWaybill.getBuyerIdCode();
+        this.buyerName = cusWaybill.getBuyerName();
+        this.buyerTel = cusWaybill.getBuyerTel();
+        this.consigneeIdType = cusWaybill.getConsigneeIdType();
+        this.consigneeIdCode = cusWaybill.getConsigneeIdCode();
+        this.consigneeName = cusWaybill.getConsigneeName();
+        this.consigneeMob = cusWaybill.getConsigneeMob();
+        this.consigneeTel = cusWaybill.getConsigneeTel();
+        this.consigneeCountryCode = cusWaybill.getConsigneeCountryCode();
+        this.consigneeProvinceCode = cusWaybill.getConsigneeProvinceCode();
+        this.consigneeProvince = cusWaybill.getConsigneeProvince();
+        this.consigneeCityCode = cusWaybill.getConsigneeCityCode();
+        this.consigneeCity = cusWaybill.getConsigneeCity();
+        this.consigneeDistrictCode = cusWaybill.getConsigneeDistrictCode();
+        this.consigneeDistrict = cusWaybill.getConsigneeDistrict();
+        this.consigneeAddress = cusWaybill.getConsigneeAddress();
+        this.consigneeZipCode = cusWaybill.getConsigneeZipCode();
+        this.payerIdType = cusWaybill.getPayerIdType();
+        this.payerIdCode = cusWaybill.getPayerIdCode();
+        this.payerName = cusWaybill.getPayerName();
+        this.payerMob = cusWaybill.getPayerMob();
+        this.payEntCusCode = cusWaybill.getPayEntCusCode();
+        this.payNo = cusWaybill.getPayNo();
+        this.acturalPaid = cusWaybill.getActuralPaid();
+        this.payTime = cusWaybill.getPayTime();
+        this.buyerBillTime = cusWaybill.getBuyerBillTime()==null?new Date():cusWaybill.getBuyerBillTime();
+        this.extraTag = cusWaybill.getCusWaybillSn();
+        this.exprType = cusWaybill.getExprType();
+        this.exprCompId = cusWaybill.getExprCompId();
+        this.declExprFee = BigDecimal.valueOf(0);
+        this.declPostTax = BigDecimal.valueOf(0);
+        this.shopId = cusWaybill.getShopId();
+        this.cusPaymentSucceeded = "0";
+        this.cusOrderSucceeded = "0";
+        this.paySucceeded = "0";
+        System.out.println(cusWaybill.getExField());
+        this.buyerPayerCheck = cusWaybill.getBuyerPayCheck();
+        this.exprAgreementType = "00";
+        this.transMode = "20";
+    }
+
+    public String getMerchId() {
+        return merchId;
+    }
+
+    public void setMerchId(String merchId) {
+        this.merchId = merchId;
+    }
+
+    public String getMerchOrderId() {
+        return merchOrderId;
+    }
+
+    public void setMerchOrderId(String merchOrderId) {
+        this.merchOrderId = merchOrderId;
+    }
+
+    public String getBuyerIdType() {
+        return buyerIdType;
+    }
+
+    public void setBuyerIdType(String buyerIdType) {
+        this.buyerIdType = buyerIdType;
+    }
+
+    public String getBuyerIdCode() {
+        return buyerIdCode;
+    }
+
+    public void setBuyerIdCode(String buyerIdCode) {
+        this.buyerIdCode = buyerIdCode;
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName;
+    }
+
+    public String getBuyerTel() {
+        return buyerTel;
+    }
+
+    public void setBuyerTel(String buyerTel) {
+        this.buyerTel = buyerTel;
+    }
+
+    public String getPayerIdType() {
+        return payerIdType;
+    }
+
+    public void setPayerIdType(String payerIdType) {
+        this.payerIdType = payerIdType;
+    }
+
+    public String getPayerIdCode() {
+        return payerIdCode;
+    }
+
+    public void setPayerIdCode(String payerIdCode) {
+        this.payerIdCode = payerIdCode;
+    }
+
+    public String getPayerName() {
+        return payerName;
+    }
+
+    public void setPayerName(String payerName) {
+        this.payerName = payerName;
+    }
+
+    public String getPayerMob() {
+        return payerMob;
+    }
+
+    public void setPayerMob(String payerMob) {
+        this.payerMob = payerMob;
+    }
+
+    public String getConsigneeIdType() {
+        return consigneeIdType;
+    }
+
+    public void setConsigneeIdType(String consigneeIdType) {
+        this.consigneeIdType = consigneeIdType;
+    }
+
+    public String getConsigneeIdCode() {
+        return consigneeIdCode;
+    }
+
+    public void setConsigneeIdCode(String consigneeIdCode) {
+        this.consigneeIdCode = consigneeIdCode;
+    }
+
+    public String getConsigneeName() {
+        return consigneeName;
+    }
+
+    public void setConsigneeName(String consigneeName) {
+        this.consigneeName = consigneeName;
+    }
+
+    public String getConsigneeMob() {
+        return consigneeMob;
+    }
+
+    public void setConsigneeMob(String consigneeMob) {
+        this.consigneeMob = consigneeMob;
+    }
+
+    public String getConsigneeTel() {
+        return consigneeTel;
+    }
+
+    public void setConsigneeTel(String consigneeTel) {
+        this.consigneeTel = consigneeTel;
+    }
+
+    public String getConsigneeCountryCode() {
+        return consigneeCountryCode;
+    }
+
+    public void setConsigneeCountryCode(String consigneeCountryCode) {
+        this.consigneeCountryCode = consigneeCountryCode;
+    }
+
+    public String getConsigneeProvinceCode() {
+        return consigneeProvinceCode;
+    }
+
+    public void setConsigneeProvinceCode(String consigneeProvinceCode) {
+        this.consigneeProvinceCode = consigneeProvinceCode;
+    }
+
+    public String getConsigneeProvince() {
+        return consigneeProvince;
+    }
+
+    public void setConsigneeProvince(String consigneeProvince) {
+        this.consigneeProvince = consigneeProvince;
+    }
+
+    public String getConsigneeCityCode() {
+        return consigneeCityCode;
+    }
+
+    public void setConsigneeCityCode(String consigneeCityCode) {
+        this.consigneeCityCode = consigneeCityCode;
+    }
+
+    public String getConsigneeCity() {
+        return consigneeCity;
+    }
+
+    public void setConsigneeCity(String consigneeCity) {
+        this.consigneeCity = consigneeCity;
+    }
+
+    public String getConsigneeDistrictCode() {
+        return consigneeDistrictCode;
+    }
+
+    public void setConsigneeDistrictCode(String consigneeDistrictCode) {
+        this.consigneeDistrictCode = consigneeDistrictCode;
+    }
+
+    public String getConsigneeDistrict() {
+        return consigneeDistrict;
+    }
+
+    public void setConsigneeDistrict(String consigneeDistrict) {
+        this.consigneeDistrict = consigneeDistrict;
+    }
+
+    public String getConsigneeAddress() {
+        return consigneeAddress;
+    }
+
+    public void setConsigneeAddress(String consigneeAddress) {
+        this.consigneeAddress = consigneeAddress;
+    }
+
+    public String getConsigneeZipCode() {
+        return consigneeZipCode;
+    }
+
+    public void setConsigneeZipCode(String consigneeZipCode) {
+        this.consigneeZipCode = consigneeZipCode;
+    }
+
+    public String getPayEntCusCode() {
+        return payEntCusCode;
+    }
+
+    public void setPayEntCusCode(String payEntCusCode) {
+        this.payEntCusCode = payEntCusCode;
+    }
+
+    public String getPayNo() {
+        return payNo;
+    }
+
+    public void setPayNo(String payNo) {
+        this.payNo = payNo;
+    }
+
+    public BigDecimal getActuralPaid() {
+        return acturalPaid;
+    }
+
+    public void setActuralPaid(BigDecimal acturalPaid) {
+        this.acturalPaid = acturalPaid;
+    }
+
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getExprType() {
+        return exprType;
+    }
+
+    public void setExprType(String exprType) {
+        this.exprType = exprType;
+    }
+
+    public String getExprCompId() {
+        return exprCompId;
+    }
+
+    public void setExprCompId(String exprCompId) {
+        this.exprCompId = exprCompId;
+    }
+
+    public Date getBuyerBillTime() {
+        return buyerBillTime;
+    }
+
+    public void setBuyerBillTime(Date buyerBillTime) {
+        this.buyerBillTime = buyerBillTime;
+    }
+
+    public BigDecimal getDeclExprFee() {
+        return declExprFee;
+    }
+
+    public void setDeclExprFee(BigDecimal declExprFee) {
+        this.declExprFee = declExprFee;
+    }
+
+    public BigDecimal getDeclPostTax() {
+        return declPostTax;
+    }
+
+    public void setDeclPostTax(BigDecimal declPostTax) {
+        this.declPostTax = declPostTax;
+    }
+
+    public String getExtraTag() {
+        return extraTag;
+    }
+
+    public void setExtraTag(String extraTag) {
+        this.extraTag = extraTag;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public List<BondedStockMerchantOrderItem> getItem() {
+        return item;
+    }
+
+    public void setItem(List<BondedStockMerchantOrderItem> item) {
+        this.item = item;
+    }
+
+    public String getPlatSn() {
+        return platSn;
+    }
+
+    public void setPlatSn(String platSn) {
+        this.platSn = platSn;
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName;
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode;
+    }
+
+    public String getThirdPartyMerchName() {
+        return thirdPartyMerchName;
+    }
+
+    public void setThirdPartyMerchName(String thirdPartyMerchName) {
+        this.thirdPartyMerchName = thirdPartyMerchName;
+    }
+
+    public String getShopId() {
+        return shopId;
+    }
+
+    public void setShopId(String shopId) {
+        this.shopId = shopId;
+    }
+
+    public String getCusPaymentSucceeded() {
+        return cusPaymentSucceeded;
+    }
+
+    public void setCusPaymentSucceeded(String cusPaymentSucceeded) {
+        this.cusPaymentSucceeded = cusPaymentSucceeded;
+    }
+
+    public String getCusOrderSucceeded() {
+        return cusOrderSucceeded;
+    }
+
+    public void setCusOrderSucceeded(String cusOrderSucceeded) {
+        this.cusOrderSucceeded = cusOrderSucceeded;
+    }
+
+    public String getPaySucceeded() {
+        return paySucceeded;
+    }
+
+    public void setPaySucceeded(String paySucceeded) {
+        this.paySucceeded = paySucceeded;
+    }
+
+    public String getBuyerPayerCheck() {
+        return buyerPayerCheck;
+    }
+
+    public void setBuyerPayerCheck(String buyerPayerCheck) {
+        this.buyerPayerCheck = buyerPayerCheck;
+    }
+
+    public String getExprAgreementType() {
+        return exprAgreementType;
+    }
+
+    public void setExprAgreementType(String exprAgreementType) {
+        this.exprAgreementType = exprAgreementType;
+    }
+
+    public String getTransMode() {
+        return transMode;
+    }
+
+    public void setTransMode(String transMode) {
+        this.transMode = transMode;
+    }
+}

+ 43 - 0
src/main/java/com/emato/ccnet/wx/dto/ccnetdto/BondedStockMerchantOrderItem.java

@@ -0,0 +1,43 @@
+package com.emato.ccnet.wx.dto.ccnetdto;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author zengjunlin
+ * @version 1.0
+ * 2017-10-26 11:55
+ */
+public class BondedStockMerchantOrderItem implements Serializable {
+    private static final long serialVersionUID = -779213519617221512L;
+    //SKU
+    private String sku;
+    //销售单价
+    private BigDecimal sellUnitPrice;
+    //数量
+    private BigDecimal sellQty;
+
+    public String getSku() {
+        return sku;
+    }
+
+    public void setSku(String sku) {
+        this.sku = sku;
+    }
+
+    public BigDecimal getSellUnitPrice() {
+        return sellUnitPrice;
+    }
+
+    public void setSellUnitPrice(BigDecimal sellUnitPrice) {
+        this.sellUnitPrice = sellUnitPrice;
+    }
+
+    public BigDecimal getSellQty() {
+        return sellQty;
+    }
+
+    public void setSellQty(BigDecimal sellQty) {
+        this.sellQty = sellQty;
+    }
+}

+ 17 - 0
src/main/java/com/emato/ccnet/wx/dto/ccnetdto/CbecOrderMerchantNotiReturnOrder.java

@@ -0,0 +1,17 @@
+package com.emato.ccnet.wx.dto.ccnetdto;
+
+import java.io.Serializable;
+
+public class CbecOrderMerchantNotiReturnOrder implements Serializable{
+    private static final long serialVersionUID = 7876805764341753126L;
+    //通知编号
+    private String notiId;
+
+    public String getNotiId() {
+        return notiId;
+    }
+
+    public void setNotiId(String notiId) {
+        this.notiId = notiId;
+    }
+}

+ 29 - 0
src/main/java/com/emato/ccnet/wx/dto/ccnetdto/CiqResultStatusDto.java

@@ -0,0 +1,29 @@
+package com.emato.ccnet.wx.dto.ccnetdto;
+
+import java.io.Serializable;
+
+
+public class CiqResultStatusDto implements Serializable{
+
+    private static final long serialVersionUID = -4823090091593677792L;
+
+    private String code;
+
+    private String msg;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+}

+ 29 - 0
src/main/java/com/emato/ccnet/wx/dto/ccnetdto/CusResultStatusDto.java

@@ -0,0 +1,29 @@
+package com.emato.ccnet.wx.dto.ccnetdto;
+
+import java.io.Serializable;
+
+
+public class CusResultStatusDto implements Serializable {
+
+    private static final long serialVersionUID = -9077100503326429333L;
+
+    private String code;
+
+    private String msg;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+}

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini