1
0
Prechádzať zdrojové kódy

创建中网CCNET2.0

csk 7 rokov pred
commit
cfe69a45b3
100 zmenil súbory, kde vykonal 13755 pridanie a 0 odobranie
  1. 25 0
      .gitignore
  2. 1 0
      README.MD
  3. 131 0
      build.gradle
  4. 2 0
      ccnet_launch.bat
  5. 1 0
      settings.gradle
  6. 3 0
      src/main/java/META-INF/MANIFEST.MF
  7. 31 0
      src/main/java/com/emato/ccnet/CcnetApplication.java
  8. 154 0
      src/main/java/com/emato/ccnet/aop/AspectWebLog.java
  9. 11 0
      src/main/java/com/emato/ccnet/biz/req/CebCustomsResponse.java
  10. 17 0
      src/main/java/com/emato/ccnet/biz/req/CebReqAddDate.java
  11. 15 0
      src/main/java/com/emato/ccnet/biz/req/CebReqBiz.java
  12. 22 0
      src/main/java/com/emato/ccnet/biz/req/CebReqGetDate.java
  13. 12 0
      src/main/java/com/emato/ccnet/biz/req/CebReqSendDate.java
  14. 20 0
      src/main/java/com/emato/ccnet/biz/req/CebReqSendDateAfter.java
  15. 13 0
      src/main/java/com/emato/ccnet/biz/req/CebRespOneDateRespons.java
  16. 15 0
      src/main/java/com/emato/ccnet/biz/req/CebRespTwoDateRespons.java
  17. 160 0
      src/main/java/com/emato/ccnet/biz/req/order/csp/Ceb311CustiomsResponse.java
  18. 37 0
      src/main/java/com/emato/ccnet/biz/req/order/csp/Ceb311OrderAddDate.java
  19. 78 0
      src/main/java/com/emato/ccnet/biz/req/order/csp/Ceb311OrderBiz.java
  20. 46 0
      src/main/java/com/emato/ccnet/biz/req/order/csp/Ceb311OrderGetDate.java
  21. 69 0
      src/main/java/com/emato/ccnet/biz/req/order/csp/Ceb311SendDateAfter.java
  22. 219 0
      src/main/java/com/emato/ccnet/biz/req/order/csp/Ceb311SendDateRequet.java
  23. 104 0
      src/main/java/com/emato/ccnet/biz/req/order/csp/Ceb311SendDateResponse.java
  24. 42 0
      src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411AlipayAddData.java
  25. 83 0
      src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411AlipayBiz.java
  26. 56 0
      src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411AlipayGetDate.java
  27. 80 0
      src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411SendDateAfter.java
  28. 238 0
      src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411SendDateRequet.java
  29. 112 0
      src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411SendDateResponse.java
  30. 35 0
      src/main/java/com/emato/ccnet/biz/req/waybill/oms/Ceb511OmsWayAddDate.java
  31. 73 0
      src/main/java/com/emato/ccnet/biz/req/waybill/oms/Ceb511OmsWayBiz.java
  32. 60 0
      src/main/java/com/emato/ccnet/biz/req/waybill/oms/Ceb511OmsWayGetDate.java
  33. 74 0
      src/main/java/com/emato/ccnet/biz/req/waybill/oms/Ceb511SendDateAfter.java
  34. 269 0
      src/main/java/com/emato/ccnet/biz/req/waybill/oms/Ceb511SendDateRequest.java
  35. 85 0
      src/main/java/com/emato/ccnet/biz/req/waybill/oms/Ceb511SendDateResponse.java
  36. 43 0
      src/main/java/com/emato/ccnet/config/Cus.java
  37. 36 0
      src/main/java/com/emato/ccnet/config/DistributedSystem.java
  38. 89 0
      src/main/java/com/emato/ccnet/config/Merchant.java
  39. 30 0
      src/main/java/com/emato/ccnet/config/SpringPropertyResolverConfig.java
  40. 79 0
      src/main/java/com/emato/ccnet/config/db/primary/PrimaryDataSourceConfig.java
  41. 49 0
      src/main/java/com/emato/ccnet/config/db/primary/PrimaryMapperConfig.java
  42. 69 0
      src/main/java/com/emato/ccnet/config/db/second/SecondDataSourceConfig.java
  43. 49 0
      src/main/java/com/emato/ccnet/config/db/second/SecondMapperConfig.java
  44. 88 0
      src/main/java/com/emato/ccnet/config/jackson/JacksonObjectMapper.java
  45. 69 0
      src/main/java/com/emato/ccnet/config/jackson/JacksonStringUnicodeSerializer.java
  46. 106 0
      src/main/java/com/emato/ccnet/config/servlet/WebMvcConfig.java
  47. 26 0
      src/main/java/com/emato/ccnet/config/spring/SpringConfig.java
  48. 115 0
      src/main/java/com/emato/ccnet/contants/Contants.java
  49. 106 0
      src/main/java/com/emato/ccnet/controller/KmallOrderController.java
  50. 540 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusAlipay.java
  51. 364 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusAlipayResp.java
  52. 379 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusAlipayStatus.java
  53. 809 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusOrder.java
  54. 497 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusOrderGoods.java
  55. 425 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusOrderResp.java
  56. 346 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusOrderSend.java
  57. 362 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusOrderStatus.java
  58. 660 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusPayment.java
  59. 250 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentCollect.java
  60. 426 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentResp.java
  61. 346 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentSend.java
  62. 362 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentStatus.java
  63. 899 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusWaybill.java
  64. 300 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillGoods.java
  65. 298 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillResp.java
  66. 314 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillSend.java
  67. 314 0
      src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillStatus.java
  68. 186 0
      src/main/java/com/emato/ccnet/domain/kmall/OrderBill.java
  69. 92 0
      src/main/java/com/emato/ccnet/domain/kmall/OrderGoods.java
  70. 118 0
      src/main/java/com/emato/ccnet/domain/kmall/PayBill.java
  71. 319 0
      src/main/java/com/emato/ccnet/domain/kmall/WayBill.java
  72. 458 0
      src/main/java/com/emato/ccnet/dto/BondedStockMerchantOrder.java
  73. 43 0
      src/main/java/com/emato/ccnet/dto/BondedStockMerchantOrderItem.java
  74. 29 0
      src/main/java/com/emato/ccnet/dto/CiqResultStatusDto.java
  75. 29 0
      src/main/java/com/emato/ccnet/dto/CusResultStatusDto.java
  76. 29 0
      src/main/java/com/emato/ccnet/dto/EportResultStatusDto.java
  77. 61 0
      src/main/java/com/emato/ccnet/dto/OrderCustiomsResponse.java
  78. 429 0
      src/main/java/com/emato/ccnet/dto/OrderRequest.java
  79. 40 0
      src/main/java/com/emato/ccnet/dto/OrderResponse.java
  80. 8 0
      src/main/java/com/emato/ccnet/jobs/ccnetJobs.java
  81. 33 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusAlipayMapper.java
  82. 23 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusAlipayRespMapper.java
  83. 48 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusAlipayStatusMapper.java
  84. 40 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderGoodsMapper.java
  85. 45 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderMapper.java
  86. 23 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderRespMapper.java
  87. 10 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderSendMapper.java
  88. 48 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderStatusMapper.java
  89. 17 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentCollectMapper.java
  90. 10 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentMapper.java
  91. 10 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentRespMapper.java
  92. 10 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentSendMapper.java
  93. 10 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentStatusMapper.java
  94. 33 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillGoodsMapper.java
  95. 36 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillMapper.java
  96. 12 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillRespMapper.java
  97. 10 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillSendMapper.java
  98. 47 0
      src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillStatusMapper.java
  99. 61 0
      src/main/java/com/emato/ccnet/mapper/kmall/KmallOrderMapper.java
  100. 150 0
      src/main/java/com/emato/ccnet/message/Result.java

+ 25 - 0
.gitignore

@@ -0,0 +1,25 @@
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+nbproject/private/
+build/
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/

+ 1 - 0
README.MD

@@ -0,0 +1 @@
+# 中网ERP项目 CCNET2.0

+ 131 - 0
build.gradle

@@ -0,0 +1,131 @@
+buildscript {
+	ext {
+		springBootVersion = '1.5.8.RELEASE'
+	}
+	repositories {
+		/*本地仓库*/
+		mavenLocal()
+		jcenter()
+		mavenCentral()
+		maven {
+			url "http://central.maven.org/maven2"
+		}
+	}
+	dependencies {
+		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
+	}
+}
+
+apply plugin: 'java'
+apply plugin: 'idea'
+apply plugin: 'org.springframework.boot'
+// 部署为外部服务器时, 配置为war包
+apply plugin: 'war'
+// 此配置在外部部署时, 为请求url的上下文路径
+archivesBaseName='ccnet'
+
+group = 'com.emato'
+version = '1.0.0'
+sourceCompatibility = 1.8
+
+repositories {
+	/*本地仓库*/
+	mavenLocal()
+	jcenter()
+	mavenCentral()
+	maven {
+		url('http://central.maven.org/maven2')
+	}
+}
+
+
+ext {
+	mybatis_spring_boot = '1.3.1'
+	mybatis_typehandlers_jsr310 = '1.0.2'
+
+	logback_ext_spring = '0.1.4'
+
+	jackson = '2.8.4'
+	google_guava = '23.3-jre'
+	okhttp = '3.4.1'
+
+	apache_commons_beanutils = '1.9.3'
+	apache_commons_lang3 = '3.6'
+	apache_commons_io = '2.6'
+
+	jxls = '2.4.2'
+	jxls_poi = '1.0.13'
+	jxls_jexcel = '1.0.6'
+	jxls_reader = '2.0.3'
+
+	dom4j = '1.6.1'
+	jsonLib = '2.4'
+	xom = '1.2.5'
+
+	jedis = '2.9.0'
+	fastjson = '1.2.15'
+	gson = '2.6.2'
+
+	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-starter-web')
+	compile('org.springframework.boot:spring-boot-starter-aop')
+	compile('org.springframework.boot:spring-boot-configuration-processor')
+
+
+	compile('org.springframework.boot:spring-boot-starter-jdbc')
+	// Mybatis Spring Boot
+	compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:${mybatis_spring_boot}")
+	// Mybatis支持使用LocalDateTime
+	compile("org.mybatis:mybatis-typehandlers-jsr310:${mybatis_typehandlers_jsr310}")
+
+	/*runtime('mysql:mysql-connector-java')*/
+	runtime('com.microsoft.sqlserver:mssql-jdbc')
+	// 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.datatype:jackson-datatype-jsr310:${jackson}")
+	compile("com.fasterxml.jackson.module:jackson-module-afterburner:${jackson}")
+
+	// 工具类
+	compile("com.google.guava:guava:${google_guava}")
+
+	// HTTP工具
+	compile("com.squareup.okhttp3:okhttp:${okhttp}")
+
+	/* apache commons */
+	compile("commons-beanutils:commons-beanutils:${apache_commons_beanutils}")
+	compile("org.apache.commons:commons-lang3:${apache_commons_lang3}")
+	compile("commons-io:commons-io:${apache_commons_io}")
+
+	// excel工具类
+	compile("org.jxls:jxls:${jxls}")
+	compile("org.jxls:jxls-poi:${jxls_poi}")
+	compile("org.jxls:jxls-jexcel:${jxls_jexcel}")
+	compile("org.jxls:jxls-reader:${jxls_reader}")
+
+	//xml转map
+	compile("dom4j:dom4j:${dom4j}")
+	compile("net.sf.json-lib:json-lib:${jsonLib}:jdk15")
+	compile("xom:xom:${xom}")
+
+	//redis缓存
+	compile("redis.clients:jedis:${jedis}")
+	compile("com.alibaba:fastjson:${fastjson}")
+	compile("com.google.code.gson:gson:${gson}")
+
+	compile("org.springframework.boot:spring-boot-starter-amqp:${spring_boot_starter_amqp}")
+}
+

+ 2 - 0
ccnet_launch.bat

@@ -0,0 +1,2 @@
+@title 中网商城海关单证数据程序::CCNET Project   启动时间:%date% %time%
+@java -jar ccnet.jar

+ 1 - 0
settings.gradle

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

+ 3 - 0
src/main/java/META-INF/MANIFEST.MF

@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: com.emato.ccnet.CcnetApplication
+

+ 31 - 0
src/main/java/com/emato/ccnet/CcnetApplication.java

@@ -0,0 +1,31 @@
+package com.emato.ccnet;
+
+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.support.SpringBootServletInitializer;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@SpringBootApplication(
+		exclude ={
+				// 多数据源,不使用自动配置
+				DataSourceAutoConfiguration.class
+		}
+)
+//允许事务
+@EnableScheduling
+@EnableTransactionManagement
+public class CcnetApplication extends SpringBootServletInitializer {
+
+	@Override
+	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+		return application.sources(CcnetApplication.class);
+	}
+
+	public static void main(String[] args) {
+		SpringApplication.run(CcnetApplication.class, args);
+	}
+}

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

@@ -0,0 +1,154 @@
+package com.emato.ccnet.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.annotation.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * Created by Anyx on 2015/5/13.
+ * 日志AOP
+ */
+
+@Aspect
+@Component
+public class AspectWebLog {
+    private static final Logger logger = LoggerFactory.getLogger(AspectWebLog.class);
+
+
+    @Autowired
+    ObjectMapper objectMapper;
+
+    @Pointcut("execution(public * com.emato.ccnet.controller..*.*(..))")
+    public void controllerPointcut(){
+
+    }
+
+    /**
+     * 前置通知
+     * 执行方法之前执行前置通知方法
+     * @param jp:JoinPoint
+     * @return
+     */
+    @Before(value="controllerPointcut()")
+    public void beforeAdvice(JoinPoint jp) {
+
+        String target = jp.getTarget().getClass().getName();
+        String mothod = jp.getSignature().getName();
+        try {
+            Object[] args = jp.getArgs();
+
+            String str = null;
+
+            if (args.length > 0) {
+                if (args[0] instanceof Map) {
+                    Map<String, String> map = (Map<String, String>) args[0];
+                    str = objectMapper.writeValueAsString(map);
+                }else{
+                    str = objectMapper.writeValueAsString(args[0]);
+                }
+                logger.info("【" + target + "#" + mothod + "】发起请求, 请求参数: {}", 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 target = jp.getTarget().getClass().getName();
+        String mothod = jp.getSignature().getName();
+
+        if (retValue == null) {
+            logger.info("【" + target + "#" + mothod + "】执行结束, 返回数据: {}");
+            return;
+        }
+        try {
+            String str = objectMapper.writeValueAsString(retValue);
+            logger.info("【" + target + "#" + mothod + "】执行结束, 返回数据:{}", str);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 异常通知
+     * 方法在运行过程中,如果抛出异常,则执行异常通知
+     * @param jp:JoinPoint
+     * @return
+     */
+    @AfterThrowing(value="controllerPointcut()", throwing = "ex")
+    public void afterThrowingAdvice(JoinPoint jp, Exception ex) {
+        String target = jp.getTarget().getClass().getName();
+        String mothod = jp.getSignature().getName();
+        logger.info("【" + target + "#" + mothod + "】发生异常结束: {}", ex);
+    }
+
+    /**
+     * 后置通知
+     * 执行方法之后执行后置通知方法
+     * @param jp:JoinPoint
+     * @return
+     */
+    @After(value="controllerPointcut()")
+    public void afterAdvice(JoinPoint jp) {
+        try {
+            String target = jp.getTarget().getClass().getName();
+            String mothod = jp.getSignature().getName();
+
+            Object[] args = jp.getArgs();
+
+            String str;
+
+            if (args.length > 0) {
+                if (args[0] instanceof Map) {
+                    Map<String, String> map = (Map<String, String>) args[0];
+                    str = objectMapper.writeValueAsString(map);
+                }else{
+                    str = objectMapper.writeValueAsString(args[0]);
+                }
+                logger.info("【" + target + "#" + mothod + "】执行结束, 返回数据: {}", str);
+            }
+
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    /**
+     * 环绕通知
+     * 主体方法返回后将执行的通知方法
+     * @param jp:ProceedingJoinPoint
+     * @return
+     */
+    @Around("controllerPointcut()")
+    public Object aroundAdvice(ProceedingJoinPoint jp) throws Throwable {
+        String target = jp.getTarget().getClass().getName();
+        String mothod = jp.getSignature().getName();
+
+        long bftime = System.currentTimeMillis();
+        Object retVal = jp.proceed();
+        double time =(double)(System.currentTimeMillis() - bftime) / 1000;
+        logger.debug("【" + target + "#" + mothod + "】执行时间: {}秒", time);
+        return retVal;
+    }
+
+}

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

@@ -0,0 +1,11 @@
+package com.emato.ccnet.biz.req;
+
+import java.util.Map;
+
+public interface CebCustomsResponse {
+    /**
+     * 海关数据回调入口
+     * @param map
+     */
+    void biz(Map<String, Object> map);
+}

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

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

+ 15 - 0
src/main/java/com/emato/ccnet/biz/req/CebReqBiz.java

@@ -0,0 +1,15 @@
+package com.emato.ccnet.biz.req;
+
+import com.emato.ccnet.msg.ResponseMessage;
+
+import java.util.Map;
+
+public interface CebReqBiz {
+    /**
+     * 电子订单的入口
+     * @param reqParam
+     * @return
+     */
+    ResponseMessage biz(Map<String, Object> reqParam);
+
+}

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

@@ -0,0 +1,22 @@
+package com.emato.ccnet.biz.req;
+
+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/biz/req/CebReqSendDate.java

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

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

@@ -0,0 +1,20 @@
+package com.emato.ccnet.biz.req;
+
+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/biz/req/CebRespOneDateRespons.java

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

+ 15 - 0
src/main/java/com/emato/ccnet/biz/req/CebRespTwoDateRespons.java

@@ -0,0 +1,15 @@
+package com.emato.ccnet.biz.req;
+
+
+import com.emato.ccnet.domain.ccnet.CusAlipay;
+
+public interface CebRespTwoDateRespons {
+    /**
+     * 对响应数据进行处理
+     * @param
+     * @param response
+     * @param cusAlipay
+     * @return
+     */
+    int addResponse(String response, CusAlipay cusAlipay);
+}

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

@@ -0,0 +1,160 @@
+package com.emato.ccnet.biz.req.order.csp;
+
+import com.emato.ccnet.biz.req.CebCustomsResponse;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.dto.CiqResultStatusDto;
+import com.emato.ccnet.dto.CusResultStatusDto;
+import com.emato.ccnet.dto.EportResultStatusDto;
+import com.emato.ccnet.dto.OrderCustiomsResponse;
+import com.emato.ccnet.domain.ccnet.CusOrder;
+import com.emato.ccnet.domain.ccnet.CusOrderResp;
+import com.emato.ccnet.domain.ccnet.CusOrderStatus;
+import com.emato.ccnet.message.Result;
+import com.emato.ccnet.service.ccent.CusOrderRespService;
+import com.emato.ccnet.service.ccent.CusOrderService;
+import com.emato.ccnet.service.ccent.CusOrderStatusService;
+import com.emato.ccnet.service.kmall.KmallOrderService;
+import com.emato.ccnet.util.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.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 KmallOrderService kmallOrderService;
+    @Autowired
+    private CusOrderService cusOrderService;
+
+    @Override
+    public void biz(Map<String, Object> map) {
+        //解析数据
+        OrderCustiomsResponse orderCustiomsResponse = analysisCustiomsResponse(map);
+        if(orderCustiomsResponse == null){
+            LOGGER.info("解析响应数据失败");
+            return;
+        }
+
+        //查找电子订单
+        CusOrder cusOrder = cusOrderService.findCusOrder(orderCustiomsResponse.getOrderRequest().getOrderSn());
+        if(cusOrder == null){
+            LOGGER.info("查找电子订单表数据失败");
+            return;
+        }
+
+        //将电子订单回执初始化
+        CusOrderResp cusOrderResp = cusOrderRespService.insertCusOrderRespByCustioms(orderCustiomsResponse,cusOrder.getCusOrderSn());
+        if(cusOrderResp == null){
+            LOGGER.info("电子订单海关回执初始化数据失败");
+            return;
+        }
+
+        //查找电子订单状态表
+        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;
+        }
+
+        //对响应的数据进行处理
+        if(Contants.ORDER_RESPONSE_SUCCESS.equals(orderCustiomsResponse.getCode())){
+            cusOrderStatus.setSendStatus(Contants.SUCCESS_STATUS);
+            Map<String, Object> kmallMap = ImmutableMap.of("orderNo", orderCustiomsResponse.getOrderRequest().getOrderNo(), "cusOrderFlag", Contants.SUCCESS_STATUS);
+            kmallOrderService.updateCusKmallOrderStatus(kmallMap);
+        }
+
+        if(Contants.ORDER_RESPONSE_FAIL.equals(orderCustiomsResponse.getCode())){
+            cusOrderStatus.setSendStatus(Contants.FAIL_STATUS);
+            Map<String, Object> kmallMap = ImmutableMap.of("orderNo", orderCustiomsResponse.getOrderRequest().getOrderNo(), "cusOrderFlag", Contants.FAIL_STATUS);
+            kmallOrderService.updateCusKmallOrderStatus(kmallMap);
+        }
+
+        //对回调报文进行处理:平台回执
+        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_STORAGE.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;
+        }
+
+        int cusOr = cusOrderService.updateCusOrder(cusOrder);
+        if(cusOr != 1){
+            LOGGER.info("电子订单海关回执更新数据失败");
+            return;
+        }
+
+        LOGGER.info("海关处理回调成功");
+    }
+
+    /**
+     * 解析海关回调数据
+     * @param map
+     * @return
+     */
+    private OrderCustiomsResponse analysisCustiomsResponse(Map<String, Object> map) {
+        Gson gson = new Gson();
+        Result response = (Result) map.get("resultData");
+        LOGGER.info("海关回执date:"+response);
+        if(response == null){
+            LOGGER.info("解析响应数据失败");
+            return null;
+        }
+
+        LOGGER.info("海关回执 data:"+response);
+
+        //解析回执数据
+        List<OrderCustiomsResponse> orderCustiomsResponseList = JacksonUtil.fromListJson(gson.toJson(response.getData()));
+        if(orderCustiomsResponseList == null && orderCustiomsResponseList.size() <= 0){
+            LOGGER.info("解析响应数据失败");
+            return null;
+        }
+
+        return gson.fromJson(gson.toJson(orderCustiomsResponseList.get(0)), OrderCustiomsResponse.class);
+    }
+}

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

@@ -0,0 +1,37 @@
+package com.emato.ccnet.biz.req.order.csp;
+
+import com.emato.ccnet.biz.req.CebReqAddDate;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusOrderService;
+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 = "secondTransactionManager")
+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();
+    }
+}

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

@@ -0,0 +1,78 @@
+package com.emato.ccnet.biz.req.order.csp;
+
+import com.emato.ccnet.biz.req.CebReqBiz;
+import com.emato.ccnet.biz.req.CebReqSendDate;
+import com.emato.ccnet.msg.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+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;
+
+    /**
+     * 电子订单正常业务入口
+     * @param reqParam
+     * @return
+     */
+    @Override
+    public ResponseMessage biz(Map<String, Object> reqParam) {
+
+        if (reqParam.isEmpty()) {
+            String info = "【CEB411】请求订单支付数据,入参为空";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //查询电子订单数据
+        List list = ceb311OrderGetDate.getData(reqParam);
+        if (list.isEmpty()) {
+            String info = "【CEB411】没有订单数据, 生成海关支付单报文提前结束";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加电子订单数据
+        ResponseMessage responseMessage = ceb311OrderAddDate.addDate(list);
+        if(!responseMessage.isSuccess()){
+            String info = "生成海关支付单初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送数据请求并响应
+        responseMessage = ceb311SendDateRequet.sendDate();
+        if(!responseMessage.isSuccess()){
+            String info = "发送请求响应失败"+responseMessage.getMsg();
+            LOGGER.error("--- {}", responseMessage.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;
+    }
+
+}

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

@@ -0,0 +1,46 @@
+package com.emato.ccnet.biz.req.order.csp;
+
+import com.emato.ccnet.biz.req.CebReqGetDate;
+import com.emato.ccnet.domain.kmall.OrderBill;
+import com.emato.ccnet.service.kmall.KmallOrderService;
+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 KmallOrderService kmallOrderService;
+
+    /**
+     * 获取kmall数据并更新状态
+     * @param param
+     * @return
+     */
+    @Override
+    public List getData(Map<String, Object> param) {
+        //取支付单数据
+        List<OrderBill> list = kmallOrderService.getOrderBill(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("orderNo", x.getOrderNo(), "cusOrderFlag", "1");
+            updateList.add(map);
+        });
+        if (updateList.size() > 0) {
+            kmallOrderService.updateCusKmallOrderStatusBatch(updateList);
+        }
+        return list;
+    }
+}

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

@@ -0,0 +1,69 @@
+package com.emato.ccnet.biz.req.order.csp;
+
+import com.emato.ccnet.biz.req.CebReqSendDateAfter;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.service.ccent.CusOrderStatusService;
+import com.emato.ccnet.service.kmall.KmallOrderService;
+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 KmallOrderService kmallOrderService;
+
+    /**
+     * 状态修改
+     * @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>> kmallFaileds = new ArrayList<>();
+        //全部处理完后
+        if (sucList.size() > 0) {
+            LOGGER.info("--- 【CEB411】更新【成功】报文订单记录......");
+            sucList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("orderSn", x, "sendStatus", Contants.DECLARATION_SUCCESS_STATUS);
+                sucs.add(map);
+            });
+            if(sucs.size() > 0){
+                cusOrderStatusService.updateCusOrderStatusBatch(sucs);
+            }
+        }
+
+        if (failedList.size() > 0) {
+            LOGGER.info("--- 【CEB411】更新【失败】报文订单记录......");
+            failedList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("orderSn", x, "sendStatus", Contants.FAIL_STATUS);
+                Map<String, Object> kmallMap = ImmutableMap.of("orderNo", x, "cusOrderFlag", Contants.FAIL_STATUS);
+                faileds.add(map);
+                kmallFaileds.add(kmallMap);
+            });
+            //ccnet中的支付订单修改为失败
+            if (faileds.size() > 0) {
+                cusOrderStatusService.updateCusOrderStatusBatch(faileds);
+            }
+            //kmall中的支付单修改为待发送
+            if (kmallFaileds.size() > 0) {
+                kmallOrderService.updateCusKmallOrderStatusBatch(kmallFaileds);
+            }
+        }
+        return true;
+    }
+}

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

@@ -0,0 +1,219 @@
+package com.emato.ccnet.biz.req.order.csp;
+
+import com.emato.ccnet.biz.req.CebReqSendDate;
+import com.emato.ccnet.config.Cus;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.dto.OrderRequest;
+import com.emato.ccnet.domain.ccnet.CusOrder;
+import com.emato.ccnet.domain.ccnet.CusOrderGoods;
+import com.emato.ccnet.domain.ccnet.CusOrderStatus;
+import com.emato.ccnet.message.Result;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusOrderGoodsService;
+import com.emato.ccnet.service.ccent.CusOrderService;
+import com.emato.ccnet.service.ccent.CusOrderStatusService;
+import com.emato.ccnet.util.JacksonUtil;
+import com.emato.ccnet.util.OkHttpUtil;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+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.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class Ceb311SendDateRequet implements CebReqSendDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311SendDateRequet.class);
+
+    public static final String CUS_ORDER_EXCLUDE = "cusOrderSn,cusOrderGoodsSn,merchOrderSn,merchSn,merchName,platSn,platName,thirdPartyMerchCode,thirdPartyMerchName,placeOrderlTime,createrSn,createTime,moderSn,modTime,tstm,exField,exField2,exField3,exField4,exField5";
+
+    @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(!orderSumbit.isSuccess()){
+            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(!updateCusOrderStatus.isSuccess()){
+                failedList.add(cusOrder.getOrderSn());
+                String info = "更新电子订单数据为申报中失败" + updateCusOrderStatus.getMsg();
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //数据组装
+            OrderRequest orderRequest = assembleData(cusOrder);
+            if(orderRequest == null){
+                failedList.add(orderRequest.getOrderSn());
+                String info = "数据组装失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //构造请求报文
+            Request request = buildRequestDate(orderRequest);
+            if(request == null){
+                failedList.add(orderRequest.getOrderSn());
+                String info = "构造请求报文失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //发送请求报文,并同步回调响应
+            String response = null;
+            try {
+                response = OkHttpUtil.post(request);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+
+            LOGGER.info("response date:"+response);
+
+            //解析响应报文并处理本地业务逻辑
+            ResponseMessage responseDis = ceb311SendDateResponse.addResponse(response,orderRequest.getOrderSn());
+            if(!responseDis.isSuccess()){
+                failedList.add(orderRequest.getOrderSn());
+                String info = "解析响应报文并处理本地业务逻辑失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            sucList.add(orderRequest.getOrderSn());
+        }
+
+        LOGGER.info("--- 【CEB411】【成功】订单数:{}, 订单: {}", sucList.size(), Joiner.on(",").skipNulls().join(sucList.toArray()));
+        LOGGER.info("--- 【CEB411】【失败】订单数:{}, 订单: {}", failedList.size(), Joiner.on(",").skipNulls().join(failedList.toArray()));
+
+        ceb311SendDateAfter.afterSend(sucList,failedList);
+
+        return ResponseMessage.success();
+    }
+
+    /**
+     * 更新电子订单状态表
+     * @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();
+    }
+
+    /**
+     * 构造请求参数
+     * @param orderRequest
+     * @return
+     */
+    private Request buildRequestDate(OrderRequest orderRequest) {
+        //屏蔽不需要的字段
+        JacksonUtil.filter(CusOrderGoods.class,null,CUS_ORDER_EXCLUDE);
+        List list = Lists.newArrayList();
+        list.add(orderRequest);
+        Result result = Result.success(list);
+        String requestData = null;
+        try {
+            requestData = JacksonUtil.toJson(result);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+        LOGGER.info("request Data :" + requestData);
+        //构造请求报文
+        Request request = OkHttpUtil.buildRequest(cus.getOrder().get("order-url"),requestData);
+
+        return request;
+    }
+
+    /**
+     * 组装json中所要的数据
+     * @param cusOrder
+     * @return
+     */
+    private OrderRequest assembleData(CusOrder cusOrder) {
+
+        // 发送电子订单的集合
+        OrderRequest orderRequest = new OrderRequest(cusOrder);
+
+        //通过电子订单内部编号查找海关电子订单商品
+        List<CusOrderGoods> cusOrderGoodes = cusOrderGoodsService.findCusOrderGoodsByCusOrderSn(cusOrder.getCusOrderSn());
+        if (cusOrderGoodes == null || cusOrderGoodes.size() <= 0) {
+            LOGGER.error("通过电子订单内部编号查找海关电子订单商品失败,电子订单内部编号:"+cusOrder.getCusOrderSn());
+            return null;
+        }
+
+        orderRequest.setOrderList(cusOrderGoodes);
+
+        return orderRequest;
+    }
+
+}

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

@@ -0,0 +1,104 @@
+package com.emato.ccnet.biz.req.order.csp;
+
+import com.emato.ccnet.biz.req.CebRespOneDateRespons;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.dto.OrderResponse;
+import com.emato.ccnet.domain.ccnet.CusOrderStatus;
+import com.emato.ccnet.message.Result;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusOrderRespService;
+import com.emato.ccnet.service.ccent.CusOrderStatusService;
+import com.emato.ccnet.util.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 Ceb311SendDateResponse implements CebRespOneDateRespons {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311SendDateResponse.class);
+    @Autowired
+    private CusOrderRespService cusOrderRespService;
+
+    @Autowired
+    private CusOrderStatusService cusOrderStatusService;
+
+    /**
+     * 响应数据处理
+     * @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.RESPONSE_SUCCESS.equals(orderResponse.getCode())){
+            cusOrderStatus.setModerSn(Contants.CREATER_NUMBER);
+            cusOrderStatus.setModTime(new Date());
+
+            cusOrderStatusService.updateCusOrderStatus(cusOrderStatus);
+
+            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);
+            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;
+        }
+
+        List<OrderResponse> orderResponseList = JacksonUtil.fromListJson(gson.toJson(result.getData()));
+        if(orderResponseList == null && orderResponseList.size() <=0){
+            LOGGER.info("解析响应数据OrderResponse集合失败");
+            return null;
+        }
+
+        OrderResponse orderResponse = gson.fromJson(gson.toJson(orderResponseList.get(0)), OrderResponse.class);
+
+        return orderResponse;
+
+    }
+
+}

+ 42 - 0
src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411AlipayAddData.java

@@ -0,0 +1,42 @@
+package com.emato.ccnet.biz.req.pay.alipay;
+
+import com.emato.ccnet.biz.req.CebReqAddDate;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusPaymentCollectService;
+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 = "secondTransactionManager")
+public class Ceb411AlipayAddData implements CebReqAddDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb411AlipayAddData.class);
+    @Autowired
+    private CusPaymentCollectService cusPaymentCollectService;
+
+    /**
+     * 添加支付表数据
+     * @param list
+     * @return
+     */
+    @Override
+    public ResponseMessage addDate(List list) {
+
+        //初始化批量海关支付单记录新增
+        int addCuspayment = cusPaymentCollectService.addCusPaymentCollect(list);
+        if(addCuspayment <= 0){
+            String info = "初始化批量海关支付单记录新增失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed();
+        }
+        return ResponseMessage.success();
+    }
+}
+

+ 83 - 0
src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411AlipayBiz.java

@@ -0,0 +1,83 @@
+package com.emato.ccnet.biz.req.pay.alipay;
+
+import com.emato.ccnet.biz.req.CebReqBiz;
+import com.emato.ccnet.msg.ResponseMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+
+/**
+ * 海关支付单 业务
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-07 10:10
+ */
+@Component
+public class Ceb411AlipayBiz implements CebReqBiz {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb411AlipayBiz.class);
+
+    @Autowired
+    private Ceb411AlipayGetDate ceb411AlipayGetData;
+
+    @Autowired
+    private Ceb411AlipayAddData ceb411AlipayAddData;
+
+    @Autowired
+    private Ceb411SendDateRequet ceb411SendDateRequet;
+
+    private Map<String, Object> param = Collections.EMPTY_MAP;
+
+
+    /**
+     * 支付订单业务入口
+     * @param param
+     * @return
+     */
+    @Override
+    public ResponseMessage biz(Map<String, Object> param) {
+        if (param.isEmpty()) {
+            String info = "【CEB411】请求订单支付数据,入参为空";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //查询支付单数据
+        List list = ceb411AlipayGetData.getData(param);
+        if (list.isEmpty()) {
+            String info = "【CEB411】没有订单数据, 生成海关支付单报文提前结束";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加支付表数据
+        ResponseMessage responseMessage = ceb411AlipayAddData.addDate(list);
+        if(!responseMessage.isSuccess()){
+            String info = "生成海关支付单初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送数据请求并响应
+        responseMessage = ceb411SendDateRequet.sendDate();
+        if(!responseMessage.isSuccess()){
+            String info = "发送请求响应失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            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/biz/req/pay/alipay/Ceb411AlipayGetDate.java

@@ -0,0 +1,56 @@
+package com.emato.ccnet.biz.req.pay.alipay;
+
+import com.emato.ccnet.biz.req.CebReqGetDate;
+import com.emato.ccnet.domain.kmall.PayBill;
+import com.emato.ccnet.service.kmall.KmallOrderService;
+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 10:21
+ */
+@Component
+@Transactional(value = "primaryTransactionManager")
+public class Ceb411AlipayGetDate implements CebReqGetDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb411AlipayGetDate.class);
+
+    @Autowired
+    private KmallOrderService kmallOrderService;
+
+    /**
+     * 获取kmall数据
+     * @param param
+     * @return
+     */
+    @Override
+    public List getData(Map<String, Object> param) {
+        //取支付单数据
+        List<PayBill> list = kmallOrderService.getPayBills(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("orderNo", x.getOrderNo(), "cusPayBillFlag", "1");
+            updateList.add(map);
+        });
+        if (updateList.size() > 0) {
+            kmallOrderService.updateCusKmallOrderStatusBatch(updateList);
+        }
+        return list;
+    }
+}

+ 80 - 0
src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411SendDateAfter.java

@@ -0,0 +1,80 @@
+package com.emato.ccnet.biz.req.pay.alipay;
+
+import com.emato.ccnet.biz.req.CebReqSendDateAfter;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.service.ccent.CusAlipayStatusService;
+import com.emato.ccnet.service.kmall.KmallOrderService;
+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 Ceb411SendDateAfter implements CebReqSendDateAfter {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb411SendDateAfter.class);
+
+    @Autowired
+    private CusAlipayStatusService cusAlipayStatusService;
+
+    @Autowired
+    private KmallOrderService kmallOrderService;
+
+    /**
+     *  状态修改
+     * @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>> kmallcucs = new ArrayList<>();
+        List<Map<String, Object>> kmallFaileds = new ArrayList<>();
+        //全部处理完后
+        if (sucList.size() > 0) {
+            LOGGER.info("--- 【CEB411】更新【成功】报文订单记录......");
+            sucList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("orderSn", x, "sendStatus", Contants.SUCCESS_STATUS);
+                Map<String, Object> kmallMap = ImmutableMap.of("orderNo", x, "cusPayBillFlag", Contants.SUCCESS_STATUS);
+                sucs.add(map);
+                kmallcucs.add(kmallMap);
+            });
+            if(sucs.size() > 0){
+                cusAlipayStatusService.updateCusAlipayStatusBatch(sucs);
+            }
+            //kmall中的支付单修改为待发送
+            if (kmallcucs.size() > 0) {
+                kmallOrderService.updateCusKmallOrderStatusBatch(kmallcucs);
+            }
+        }
+
+        if (failedList.size() > 0) {
+            LOGGER.info("--- 【CEB411】更新【失败】报文订单记录......");
+            failedList.stream().forEach(x->{
+                Map<String, Object> map = ImmutableMap.of("orderSn", x, "sendStatus", Contants.FAIL_STATUS);
+                Map<String, Object> kmallMap = ImmutableMap.of("orderNo", x, "cusPayBillFlag", Contants.FAIL_STATUS);
+                faileds.add(map);
+                kmallFaileds.add(kmallMap);
+            });
+            //ccnet中的支付订单修改为失败
+            if (faileds.size() > 0) {
+                cusAlipayStatusService.updateCusAlipayStatusBatch(faileds);
+            }
+
+            //kmall中的支付单修改为待发送
+            if (kmallFaileds.size() > 0) {
+                kmallOrderService.updateCusKmallOrderStatusBatch(kmallFaileds);
+            }
+
+        }
+
+
+        return true;
+    }
+}

+ 238 - 0
src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411SendDateRequet.java

@@ -0,0 +1,238 @@
+package com.emato.ccnet.biz.req.pay.alipay;
+
+import com.emato.ccnet.biz.req.CebReqSendDate;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.config.Cus;
+import com.emato.ccnet.domain.ccnet.CusAlipay;
+import com.emato.ccnet.domain.ccnet.CusAlipayStatus;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusAlipayService;
+import com.emato.ccnet.service.ccent.CusAlipayStatusService;
+import com.emato.ccnet.util.AlipayCore;
+import com.emato.ccnet.util.OkHttpUtil;
+import com.emato.ccnet.util.sign.RSA;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMap;
+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 org.springframework.transaction.annotation.Transactional;
+
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * 支付请求信息
+ */
+@Component
+@Transactional(value = "secondTransactionManager")
+public class Ceb411SendDateRequet implements CebReqSendDate {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb411SendDateRequet.class);
+
+    @Autowired
+    private CusAlipayService cusAlipayService;
+
+    @Autowired
+    private CusAlipayStatusService cusAlipayStatusService;
+
+    @Autowired
+    private Ceb411SendDateAfter ceb411SendDateAfter;
+
+    @Autowired
+    private Ceb411SendDateResponse ceb411SendDateResponse;
+
+    @Autowired
+    private Cus cus;
+    /**
+     * 支付数据交互
+     * @return
+     */
+    public ResponseMessage sendDate() {
+
+        //取支付单数据
+        List<CusAlipay> cusAlipayList = cusAlipayService.getCusAlipay();
+        if (cusAlipayList == null || cusAlipayList.size() == 0) {
+            String info = "查找当前ccnet中的所有支付单数据失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送给第三方的请求
+        int alipaySumbit = buildRequest(cusAlipayList);
+        if(alipaySumbit != 1){
+            String info = "支付订单发送给第三方的请求失败";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        return ResponseMessage.success();
+
+    }
+
+    /**
+     * 发送给第三方的请求
+     * @param cusAlipayList
+     * @return
+     */
+    private int buildRequest(List<CusAlipay> cusAlipayList) {
+
+        List<String> sucList = new ArrayList<>();
+        List<String> failedList = new ArrayList<>();
+
+        for (CusAlipay cusAlipay : cusAlipayList) {
+
+            //更新支付状态表变成发送中
+            int update = updateAlipayStatus(cusAlipay.getCusPaySn());
+            if(update != 1){
+                failedList.add(cusAlipay.getOrderSn());
+                String info = "更新支付状态表变成发送中失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //构造请求支付宝的参数数值
+            Map<String, String> sPara = buildAlipayMap(cusAlipay);
+            if(sPara == null){
+                failedList.add(cusAlipay.getOrderSn());
+                String info = "构造请求支付宝的参数数值失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //发送请求并获取响应信息
+            String response = requestSubmit(sPara);
+            LOGGER.info("支付宝的响应报文:" + response);
+            if(response == null){
+                failedList.add(cusAlipay.getOrderSn());
+                String info = "发送请求并获取响应信息失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //解析响应信息并处理
+            int addRespone = ceb411SendDateResponse.addResponse(response,cusAlipay);
+            if(addRespone <= 0){
+                failedList.add(cusAlipay.getOrderSn());
+                String info = "解析响应信息并处理失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            sucList.add(cusAlipay.getOrderSn());
+        }
+
+        LOGGER.info("--- 【CEB411】【成功】订单数:{}, 订单: {}", sucList.size(), Joiner.on(",").skipNulls().join(sucList.toArray()));
+        LOGGER.info("--- 【CEB411】【失败】订单数:{}, 订单: {}", failedList.size(), Joiner.on(",").skipNulls().join(failedList.toArray()));
+
+        ceb411SendDateAfter.afterSend(sucList,failedList);
+
+
+        return 0;
+    }
+
+    /**
+     * 更新支付宝状态表状态变成发送中
+     * @param cusPaySn
+     * @return
+     */
+    private int updateAlipayStatus(String cusPaySn) {
+        Map<String, Object> map = ImmutableMap.of("cusPaySn", cusPaySn, "sendStatus", Contants.INIT_STATUS);
+        //通过编号查找支付单阿里状态表
+        CusAlipayStatus cusAlipayStatus = cusAlipayStatusService.findCusAlipayStatus(map);
+        if(cusAlipayStatus == null){
+            return  0;
+        }
+
+        //更新支付单阿里状态
+        cusAlipayStatus.setSendStatus(Contants.SENDING_STATUS);
+        cusAlipayStatus.setModerSn(Contants.CREATER_NUMBER);
+        cusAlipayStatus.setModTime(new Date());
+        int status = cusAlipayStatusService.updateCusAlipayStatus(cusAlipayStatus);
+        if(status <= 0){
+            return 0;
+        }
+
+        return 1;
+    }
+
+    /**
+     * 构造支付宝请求参数
+     * @param cusAlipay
+     * @return
+     */
+    private Map<String,String> buildAlipayMap(CusAlipay cusAlipay) {
+        Map<String, String> sParaTemp = new TreeMap<String, String>();
+        sParaTemp.put("service", "alipay.acquire.customs");
+        sParaTemp.put("partner", cus.getAlipay().get("partner"));
+        sParaTemp.put("_input_charset",  cus.getAlipay().get("input-charset"));
+        sParaTemp.put("out_request_no", cusAlipay.getOutRequestNo());
+        sParaTemp.put("trade_no", cusAlipay.getTradeNo());
+        sParaTemp.put("merchant_customs_code", cusAlipay.getMerchantCustomsCode());
+        sParaTemp.put("merchant_customs_name", cusAlipay.getMerchantCustomsName());
+        sParaTemp.put("amount", cusAlipay.getAmount()+"");
+        sParaTemp.put("customs_place", cusAlipay.getCustomsPlace());
+
+        //生成要请求给支付宝的参数数组
+        Map<String, String> sPara = buildRequestPara(sParaTemp);
+        return sPara;
+    }
+
+
+    /**
+     * 构建请求html并响应数据
+     * @param sPara
+     * @return
+     */
+    private String requestSubmit(Map<String, String> sPara) {
+        //构造RequestBody
+        RequestBody requestBody = OkHttpUtil.buildRequestBody(sPara);
+
+        //构建Request
+        String url = cus.getAlipay().get("getWay");
+        Request request = OkHttpUtil.buildRequest(url,requestBody);
+
+        LOGGER.info("支付宝的请求报文:" + request);
+        // 同步访问,返回结果字符串
+        String response = null;
+        try {
+            response = OkHttpUtil.post(request);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        return response;
+    }
+
+    /**
+     * 生成要请求给支付宝的参数数组
+     * @param sParaTemp 请求前的参数数组
+     * @return 要请求的参数数组
+     */
+    private TreeMap<String,String> buildRequestPara(Map<String, String> sParaTemp) {
+        //除去数组中的空值和签名参数
+        TreeMap<String, String> sPara = AlipayCore.paraFilter(sParaTemp);
+        //生成签名结果
+        String mysign = buildRequestMysign(sPara);
+
+        //签名结果与签名方式加入请求提交参数组中
+        sPara.put("sign", mysign);
+        sPara.put("sign_type", cus.getAlipay().get("sign-type"));
+
+        return sPara;
+    }
+
+    /**
+     * 生成签名结果
+     * @param sPara 要签名的数组
+     * @return 签名结果字符串
+     */
+    private String buildRequestMysign(Map<String, String> sPara) {
+        String prestr = AlipayCore.createLinkString(sPara); //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
+
+        return RSA.sign(prestr, cus.getAlipay().get("private-key"), cus.getAlipay().get("input-charset"));
+    }
+
+}

+ 112 - 0
src/main/java/com/emato/ccnet/biz/req/pay/alipay/Ceb411SendDateResponse.java

@@ -0,0 +1,112 @@
+package com.emato.ccnet.biz.req.pay.alipay;
+
+import com.emato.ccnet.biz.req.CebRespTwoDateRespons;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.domain.ccnet.CusAlipay;
+import com.emato.ccnet.domain.ccnet.CusAlipayResp;
+import com.emato.ccnet.domain.ccnet.CusAlipayStatus;
+import com.emato.ccnet.service.ccent.CusAlipayRespService;
+import com.emato.ccnet.service.ccent.CusAlipayStatusService;
+import com.emato.ccnet.util.XmlUtil;
+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.Map;
+
+@Component
+@Transactional(value = "secondTransactionManager")
+public class Ceb411SendDateResponse implements CebRespTwoDateRespons {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb411SendDateResponse.class);
+    @Autowired
+    private CusAlipayRespService cusAlipayRespService;
+
+    @Autowired
+    private CusAlipayStatusService cusAlipayStatusService;
+    /**
+     * 增加相应的数据,以及修改请求的状态
+     * @param response
+     * @return
+     */
+    @Override
+    public int addResponse(String response,CusAlipay cusAlipay) {
+        //将xml解析成map形式
+        Map<String,String> map = XmlUtil.xmlToMap(response);
+        if(map == null){
+            LOGGER.info("将xml解析成map形式失败");
+            return 0;
+        }
+
+        //增加海关支付单阿里回执记录并返回响应表中的数据
+        CusAlipayResp addcusAlipayResp = cusAlipayRespService.addCusAlipayResp(map,cusAlipay);
+        if(addcusAlipayResp == null){
+            LOGGER.info("增加海关支付单阿里回执记录并返回响应表中的数据失败");
+            return 0;
+        }
+
+        //通过编号查找支付单阿里状态表
+        Map<String, Object> cusAlipayMap = ImmutableMap.of("cusPaySn", cusAlipay.getCusPaySn(), "sendStatus", Contants.SENDING_STATUS);
+        CusAlipayStatus cusAlipayStatus = cusAlipayStatusService.findCusAlipayStatus(cusAlipayMap);
+        if(cusAlipayStatus == null){
+            LOGGER.info("通过编号查找支付单阿里状态表的数据失败");
+            return 0;
+        }
+
+        //判断回调的状态
+        int judgeAlipayStatus = judgeAlipayStatus(map);
+        if(judgeAlipayStatus != 1){
+            addcusAlipayResp.setSendStatus(Contants.FAIL_STATUS);
+            cusAlipayStatus.setAlipayRespStatus(Contants.FAIL_STATUS);
+            cusAlipayStatus.setAlipayDeclareNo(map.get("alipay_declare_no"));
+            cusAlipayStatus.setTradeNo(map.get("trade_no"));
+            cusAlipayStatus.setIdentityCheck(map.get("identity_check"));
+            //更新支付单状态
+            int updateCusAlipayFailResp = cusAlipayRespService.updateCusAlipayResp(addcusAlipayResp);
+            if(updateCusAlipayFailResp <= 0){
+                LOGGER.info("更新支付单状态表的数据失败updateCusAlipayFailResp="+updateCusAlipayFailResp);
+                return 0;
+            }
+
+            //更新支付单阿里状态
+            int updateCusAlipayFailStatus = cusAlipayStatusService.updateCusAlipayStatus(cusAlipayStatus);
+            if(updateCusAlipayFailStatus <= 0){
+                LOGGER.info("更新支付单阿里状态表的数据失败updateCusAlipayFailStatus="+updateCusAlipayFailStatus);
+                return 0;
+            }
+
+            LOGGER.info("回调请求失败或者接入数据失败");
+            return 0;
+        }else {
+            addcusAlipayResp.setSendStatus(Contants.SUCCESS_STATUS);
+            //更新支付单状态
+            int updateCusAlipaySuccessResp = cusAlipayRespService.updateCusAlipayResp(addcusAlipayResp);
+            if(updateCusAlipaySuccessResp <= 0){
+                LOGGER.info("更新支付单阿里状态表的数据失败updateCusAlipaySuccessResp="+updateCusAlipaySuccessResp);
+            }
+
+            return 1;
+        }
+    }
+
+    /**
+     * 判断回调的状态
+     * @param map
+     * @return
+     */
+    private int judgeAlipayStatus(Map<String, String> map) {
+
+        if(map.get("is_success") != null && Contants.SUCCESS.equals(map.get("is_success"))){
+            if(map.get("result_code") != null && Contants.SUCCESS_CODE.equals(map.get("result_code"))){
+                return 1;
+            }else {
+                return 0;
+            }
+        }else {
+            return 0;
+        }
+    }
+
+}

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

@@ -0,0 +1,35 @@
+package com.emato.ccnet.biz.req.waybill.oms;
+
+import com.emato.ccnet.biz.req.CebReqAddDate;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusWaybillService;
+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 = "secondTransactionManager")
+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();
+    }
+}

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

@@ -0,0 +1,73 @@
+package com.emato.ccnet.biz.req.waybill.oms;
+
+import com.emato.ccnet.biz.req.CebReqBiz;
+import com.emato.ccnet.msg.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;
+import java.util.Map;
+
+/**
+ * 海关电子订单, 海关运单 业务
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-07 09:57
+ */
+@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;
+
+    /**
+     * 业务入口
+     * @param param
+     * @return
+     */
+    @Override
+    public ResponseMessage biz(Map<String, Object> param) {
+
+        if (param.isEmpty()) {
+            String info = "【CEB311CDB511】请求订单数据,入参为空";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //查询海关运单数据
+        List list = ceb511OmsWayGetDate.getData(param);
+        if (list.isEmpty()) {
+            String info = "【CEB311CDB511】没有订单数据, 提前结束";
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //添加海关运单数据
+        ResponseMessage responseMessage = ceb511OmsWayAddDate.addDate(list);
+        if(!responseMessage.isSuccess()){
+            String info = "生成海关运单初始化失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        //发送数据请求并响应
+        responseMessage = ceb511SendDateRequest.sendDate();
+        if(!responseMessage.isSuccess()){
+            String info = "发送请求响应失败" + responseMessage.getMsg();
+            LOGGER.error("--- {}", info);
+            return ResponseMessage.failed(info);
+        }
+
+        return ResponseMessage.success();
+    }
+
+}

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

@@ -0,0 +1,60 @@
+package com.emato.ccnet.biz.req.waybill.oms;
+
+import com.emato.ccnet.biz.req.CebReqGetDate;
+import com.emato.ccnet.domain.kmall.WayBill;
+import com.emato.ccnet.service.kmall.KmallOrderService;
+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 KmallOrderService kmallOrderService;
+
+    /**
+     * 获取kmall数据
+     * @param param
+     * @return
+     */
+    @Override
+    public List getData(Map<String, Object> param) {
+        //取订单数据
+        List<WayBill> list = kmallOrderService.getWaybills(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("orderNo", x.getOrderNo(),"cusWaybillFlag", "1");
+            updateList.add(map);
+        });
+
+        int i = 0;
+        if (updateList.size() > 0) {
+            i = kmallOrderService.updateCusKmallOrderStatusBatch(updateList);
+        }
+
+        return list;
+    }
+
+}

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

@@ -0,0 +1,74 @@
+package com.emato.ccnet.biz.req.waybill.oms;
+
+import com.emato.ccnet.biz.req.CebReqSendDateAfter;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.service.ccent.CusWaybillStatusService;
+import com.emato.ccnet.service.kmall.KmallOrderService;
+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 KmallOrderService kmallOrderService;
+
+    @Autowired
+    private CusWaybillStatusService cusWaybillStatusService;
+
+    /**
+     * 更新状态
+     * @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>> kmallcucs = new ArrayList<>();
+        List<Map<String, Object>> kmallFaileds = new ArrayList<>();
+
+        //全部处理完后
+        if (sucList.size() > 0) {
+            LOGGER.info("--- 【CEB311CDB511】更新【成功】报文订单记录......");
+            sucList.stream().forEach(x->{
+                Map<String, Object> kmallmap = ImmutableMap.of("orderNo", x, "cusWaybillFlag", Contants.SUCCESS_STATUS);
+                Map<String, Object> map = ImmutableMap.of("merchOrderSn", x, "sendStatus", Contants.SUCCESS_STATUS);
+                kmallcucs.add(kmallmap);
+                sucs.add(map);
+            });
+            int i = kmallOrderService.updateCusKmallOrderStatusBatch(kmallcucs);
+            cusWaybillStatusService.updateCusWaybillStatusBatch(sucs);
+
+        }
+
+        if (failedList.size() > 0) {
+            LOGGER.info("--- 【CEB311CDB511】更新【失败】报文订单记录......");
+            failedList.stream().forEach(x->{
+                Map<String, Object> kmallmap = ImmutableMap.of("orderNo", x,  "cusWaybillFlag", Contants.FAIL_STATUS);
+                Map<String, Object> map = ImmutableMap.of("merchOrderSn", x, "sendStatus", Contants.FAIL_STATUS);
+                kmallFaileds.add(kmallmap);
+                faileds.add(map);
+            });
+            int i = kmallOrderService.updateCusKmallOrderStatusBatch(kmallFaileds);
+            cusWaybillStatusService.updateCusWaybillStatusBatch(faileds);
+        }
+
+        return true;
+    }
+}

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

@@ -0,0 +1,269 @@
+package com.emato.ccnet.biz.req.waybill.oms;
+
+import com.emato.ccnet.biz.req.CebReqSendDate;
+import com.emato.ccnet.config.Cus;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.domain.ccnet.CusWaybill;
+import com.emato.ccnet.domain.ccnet.CusWaybillGoods;
+import com.emato.ccnet.domain.ccnet.CusWaybillStatus;
+import com.emato.ccnet.dto.BondedStockMerchantOrder;
+import com.emato.ccnet.dto.BondedStockMerchantOrderItem;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusWaybillGoodsService;
+import com.emato.ccnet.service.ccent.CusWaybillService;
+import com.emato.ccnet.service.ccent.CusWaybillStatusService;
+import com.emato.ccnet.util.JacksonUtil;
+import com.emato.ccnet.util.OkHttpUtil;
+import com.emato.ccnet.util.sign.OmsSign;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableMap;
+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.beans.BeanInfo;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.io.IOException;
+import java.lang.reflect.Method;
+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(!update.isSuccess()){
+                failedList.add(cusWaybill.getCusWaybillSn());
+                String info = "更新运单状态表变成发送中失败" + update.getMsg();
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //构造请求oms的参数数值
+            Map<String, String> sPara = buildCusWaybillMap(cusWaybill);
+            if(sPara == null){
+                failedList.add(cusWaybill.getCusWaybillSn());
+                String info = "构造请求oms的参数数值失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            //发送请求并获取响应信息
+            String response = requestSubmit(sPara);
+            LOGGER.info("oms的响应报文:" + response);
+            if(response == null){
+                failedList.add(cusWaybill.getCusWaybillSn());
+                String info = "发送请求并获取响应信息失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            LOGGER.info("response date:"+response);
+            //解析响应信息并处理
+            ResponseMessage addRespone = ceb511SendDateResponse.addResponse(response,cusWaybill.getCusWaybillSn());
+            if(!addRespone.isSuccess()){
+                failedList.add(cusWaybill.getCusWaybillSn());
+                String info = "解析响应信息并处理失败";
+                LOGGER.error("--- {}", info);
+                continue;
+            }
+
+            sucList.add(cusWaybill.getCusWaybillSn());
+
+        }
+        LOGGER.info("--- 【CEB411】【成功】订单数:{}, 订单: {}", sucList.size(), Joiner.on(",").skipNulls().join(sucList.toArray()));
+        LOGGER.info("--- 【CEB411】【失败】订单数:{}, 订单: {}", failedList.size(), Joiner.on(",").skipNulls().join(failedList.toArray()));
+
+        ceb511SendDateAfter.afterSend(sucList,failedList);
+
+        return 1;
+    }
+
+    /**
+     * 发送请求并获取响应信息
+     * @param sPara
+     * @return
+     */
+    private String requestSubmit(Map<String, String> sPara) {
+        //构造RequestBody
+        RequestBody requestBody = OkHttpUtil.buildRequestBody(sPara);
+
+        //构建Request
+        String url = cus.getWaybill().get("waybill-url");
+        Request request = OkHttpUtil.buildRequest(url,requestBody);
+
+        LOGGER.info("oms的请求报文:" + request);
+        // 同步访问,返回结果字符串
+        String response = null;
+        try {
+            response = OkHttpUtil.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.findCusWaybillGoodsByOrderSn(cusWaybill.getMerchOrderSn());
+        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 = null;
+        try {
+            bondedStockMerchantOrderJson = JacksonUtil.toJson(bondedStockMerchantOrder);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+
+
+
+        String timestamp = String.valueOf(System.currentTimeMillis());
+        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();
+    }
+
+}

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

@@ -0,0 +1,85 @@
+package com.emato.ccnet.biz.req.waybill.oms;
+
+import com.emato.ccnet.biz.req.CebRespOneDateRespons;
+import com.emato.ccnet.biz.req.order.csp.Ceb311SendDateResponse;
+import com.emato.ccnet.contants.Contants;
+import com.emato.ccnet.domain.ccnet.CusWaybillStatus;
+import com.emato.ccnet.message.Result;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.emato.ccnet.service.ccent.CusWaybillRespService;
+import com.emato.ccnet.service.ccent.CusWaybillStatusService;
+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 CebRespOneDateRespons{
+    private static final Logger LOGGER = LoggerFactory.getLogger(Ceb311SendDateResponse.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();
+        Result result = gson.fromJson(response, Result.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);
+        }
+
+    }
+
+
+}

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

@@ -0,0 +1,43 @@
+package com.emato.ccnet.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> alipay = new HashMap<>(); //接收alipay里面的属性值
+    private Map<String, String> order = new HashMap<>(); //接收order里面的属性值
+    private Map<String, String> waybill = new HashMap<>(); //接收waybill里面的属性值
+
+    public Map<String, String> getAlipay() {
+        return alipay;
+    }
+
+    public void setAlipay(Map<String, String> alipay) {
+        this.alipay = alipay;
+    }
+
+    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;
+    }
+
+}

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

@@ -0,0 +1,36 @@
+package com.emato.ccnet.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 DistributedSystem 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;
+    }
+}

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

@@ -0,0 +1,89 @@
+package com.emato.ccnet.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 merchSn;
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String  platName;
+
+    /**
+     * 商户海关备案编号
+     */
+    private String merchantCustomsCode;
+
+    /**
+     * 商户海关备案名称
+     */
+    private String merchantCustomsName;
+
+    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 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;
+    }
+
+}

+ 30 - 0
src/main/java/com/emato/ccnet/config/SpringPropertyResolverConfig.java

@@ -0,0 +1,30 @@
+package com.emato.ccnet.config;
+
+import org.springframework.boot.bind.RelaxedPropertyResolver;
+import org.springframework.context.EnvironmentAware;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.Environment;
+import org.springframework.core.env.PropertyResolver;
+
+/**
+ * Spring property Resolver
+ *
+ * @author Scott Chen
+ * @date 2017/4/23
+ */
+@Configuration
+public class SpringPropertyResolverConfig implements EnvironmentAware {
+
+    private PropertyResolver propertyResolver;
+
+    @Override
+    public void setEnvironment(Environment environment) {
+        propertyResolver = new RelaxedPropertyResolver(environment);
+    }
+
+    @Bean
+    public PropertyResolver propertyResolver() {
+        return propertyResolver;
+    }
+}

+ 79 - 0
src/main/java/com/emato/ccnet/config/db/primary/PrimaryDataSourceConfig.java

@@ -0,0 +1,79 @@
+package com.emato.ccnet.config.db.primary;
+
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.SqlSessionTemplate;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+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.context.annotation.Primary;
+import org.springframework.core.env.Environment;
+import org.springframework.core.env.PropertyResolver;
+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
+@MapperScan(basePackages = "com.emato.ccnet.mapper.kmall", sqlSessionTemplateRef  = "primarySqlSessionTemplate")
+public class PrimaryDataSourceConfig {
+
+    @Autowired
+    private Environment env;
+
+    @Bean
+    @ConfigurationProperties(prefix = "spring.datasource.primary")
+    public DataSourceProperties primaryDataSourceProperties() {
+        return new DataSourceProperties();
+    }
+
+
+    @Bean(name = "primaryDataSource")
+    @Primary
+    public DataSource primaryDataSource() {
+        return primaryDataSourceProperties().initializeDataSourceBuilder().build();
+    }
+
+
+    @Bean(name = "primarySqlSessionFactory")
+    @Primary
+    public SqlSessionFactory primarySqlSessionFactory(@Qualifier("primaryDataSource") 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")
+    @Primary
+    public DataSourceTransactionManager primaryTransactionManager(@Qualifier("primaryDataSource") DataSource primaryDataSource) {
+        return new DataSourceTransactionManager(primaryDataSource);
+    }
+
+    @Bean(name = "primarySqlSessionTemplate")
+    @Primary
+    public SqlSessionTemplate primarySqlSessionTemplate(@Qualifier("primarySqlSessionFactory") SqlSessionFactory primarySqlSessionFactory) {
+        return new SqlSessionTemplate(primarySqlSessionFactory);
+    }
+
+}

+ 49 - 0
src/main/java/com/emato/ccnet/config/db/primary/PrimaryMapperConfig.java

@@ -0,0 +1,49 @@
+package com.emato.ccnet.config.db.primary;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
+import org.mybatis.spring.mapper.MapperScannerConfigurer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.PropertyResolver;
+
+
+/**
+ * Mybatis Mapper接口扫描配置
+ *
+ * @author Scott Chen
+ * @date 2017/4/23
+ */
+@Configuration
+//由于MapperScannerConfigurer执行的比较早,所以必须有下面的注解
+@AutoConfigureAfter(PrimaryDataSourceConfig.class)
+public class PrimaryMapperConfig {
+
+    @Autowired
+    private PropertyResolver propertyResolver;
+
+    @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.mapper.kamll");
+        return Joiner.on(",").join(builder.build());
+    }
+
+}

+ 69 - 0
src/main/java/com/emato/ccnet/config/db/second/SecondDataSourceConfig.java

@@ -0,0 +1,69 @@
+package com.emato.ccnet.config.db.second;
+
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.SqlSessionTemplate;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+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
+@MapperScan(basePackages = "com.emato.ccnet.mapper.ccnet", sqlSessionTemplateRef  = "secondSqlSessionTemplate")
+public class SecondDataSourceConfig {
+
+    @Autowired
+    private Environment env;
+
+    @Bean
+    @ConfigurationProperties(prefix = "spring.datasource.second")
+    public DataSourceProperties secondDataSourceProperties() {
+        return new DataSourceProperties();
+    }
+
+    @Bean(name = "secondDataSource")
+    public DataSource secondDataSource() {
+        DataSource dataSource = secondDataSourceProperties().initializeDataSourceBuilder().build();
+        return dataSource;
+    }
+
+     @Bean(name = "secondSqlSessionFactory")
+    public SqlSessionFactory secondSqlSessionFactory(@Qualifier("secondDataSource")DataSource secondDataSource) throws Exception {
+        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(secondDataSource);
+
+        sessionFactoryBean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource(env.getProperty("mybatis.second.config-location")));
+        sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(env.getProperty("mybatis.second.mapper-locations")));
+        sessionFactoryBean.setTypeAliasesPackage(env.getProperty("mybatis.second.type-aliases-package"));
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean(name = "secondTransactionManager")
+    public DataSourceTransactionManager secondTransactionManager(@Qualifier("secondDataSource") DataSource secondDataSource) {
+        return new DataSourceTransactionManager(secondDataSource);
+    }
+
+    @Bean(name = "secondSqlSessionTemplate")
+    public SqlSessionTemplate secondSqlSessionTemplate(@Qualifier("secondSqlSessionFactory")SqlSessionFactory secondSqlSessionFactory) {
+        return new SqlSessionTemplate(secondSqlSessionFactory);
+    }
+
+}

+ 49 - 0
src/main/java/com/emato/ccnet/config/db/second/SecondMapperConfig.java

@@ -0,0 +1,49 @@
+package com.emato.ccnet.config.db.second;
+
+import com.emato.ccnet.config.db.primary.PrimaryDataSourceConfig;
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
+import org.mybatis.spring.mapper.MapperScannerConfigurer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.PropertyResolver;
+
+
+/**
+ * Mybatis Mapper接口扫描配置
+ *
+ * @author Scott Chen
+ * @date 2017/4/23
+ */
+@Configuration
+@AutoConfigureAfter(SecondDataSourceConfig.class)
+public class SecondMapperConfig {
+
+    @Autowired
+    private PropertyResolver propertyResolver;
+
+    @Bean
+    public MapperScannerConfigurer secondMapperScannerConfigurer() {
+        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
+        //Mapper接口包
+        mapperScannerConfigurer.setBasePackage(mapperPackage());
+        //要使用的数据源
+        mapperScannerConfigurer.setSqlSessionTemplateBeanName("secondSqlSessionTemplate");
+        return mapperScannerConfigurer;
+    }
+
+    /**
+     * 添加要扫描的Mapper接口包
+     * 以逗号分隔的字符串
+     *
+     * @return
+     */
+    protected String mapperPackage() {
+        ImmutableList.Builder<String> builder = new ImmutableList.Builder();
+        builder.add("com.emato.ccnet.mapper.ccnet");
+        return Joiner.on(",").join(builder.build());
+    }
+
+}

+ 88 - 0
src/main/java/com/emato/ccnet/config/jackson/JacksonObjectMapper.java

@@ -0,0 +1,88 @@
+package com.emato.ccnet.config.jackson;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * @author Scott Chen
+ * @date 2017/4/19
+ */
+@Configuration
+public class JacksonObjectMapper {
+
+    @Bean
+    public ObjectMapper objectMapper() {
+        ObjectMapper objectMapper = new ObjectMapper();
+        //序列化时,如果没有为类型找到访问者,则会抛出异常以将其指定为非可序列化类型; 如果禁用,它们将被序列化为空对象
+        objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+        //反序列化时,遇到未知属性是否抛JsonMappingException异常.默认JsonMappingException
+        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        //设置null值不参与序列化(字段不被显示)
+        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+
+        // register modules
+
+        //序列化LocalDateTime时间
+        objectMapper.registerModule(dateSerModule());
+        //反序列化LocalDateTime时间
+        objectMapper.registerModule(dateDeserModule());
+
+        //序列化Unicode编码非ASCII字符
+        //objectMapper.registerModule(unicodeSerModule());
+
+        return objectMapper;
+    }
+
+    /**
+     * 序列化LocalDateTime时间
+     * @return
+     */
+    @Bean
+    public SimpleModule dateSerModule() {
+        SimpleModule dateSerModule = new SimpleModule();
+        dateSerModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+        dateSerModule.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
+        dateSerModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        return dateSerModule;
+    }
+
+    /**
+     * 反序列化LocalDateTime时间
+     * @return
+     */
+    @Bean
+    public SimpleModule dateDeserModule() {
+        SimpleModule dateDeserModule = new SimpleModule();
+        dateDeserModule.addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+        dateDeserModule.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern("HH:mm:ss")));
+        dateDeserModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        return dateDeserModule;
+    }
+
+    /**
+     * 序列化Unicode编码非ASCII字符
+     */
+    @Bean
+    public SimpleModule unicodeSerModule() {
+        SimpleModule unicodeSerModule = new SimpleModule();
+        unicodeSerModule.addSerializer(String.class, new JacksonStringUnicodeSerializer());
+        return unicodeSerModule;
+    }
+
+}

+ 69 - 0
src/main/java/com/emato/ccnet/config/jackson/JacksonStringUnicodeSerializer.java

@@ -0,0 +1,69 @@
+package com.emato.ccnet.config.jackson;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.io.CharTypes;
+import com.fasterxml.jackson.core.json.JsonWriteContext;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import java.io.IOException;
+
+/**
+ * jackson处理以unicode方式编码中文
+ */
+public class JacksonStringUnicodeSerializer extends JsonSerializer<String> {
+
+	private final char[] HEX_CHARS = "0123456789ABCDEF".toCharArray();
+	private final int[] ESCAPE_CODES = CharTypes.get7BitOutputEscapes();
+
+	private void writeUnicodeEscape(JsonGenerator gen, char c) throws IOException {
+		gen.writeRaw('\\');
+		gen.writeRaw('u');
+		gen.writeRaw(HEX_CHARS[(c >> 12) & 0xF]);
+		gen.writeRaw(HEX_CHARS[(c >> 8) & 0xF]);
+		gen.writeRaw(HEX_CHARS[(c >> 4) & 0xF]);
+		gen.writeRaw(HEX_CHARS[c & 0xF]);
+	}
+
+	private void writeShortEscape(JsonGenerator gen, char c) throws IOException {
+		gen.writeRaw('\\');
+		gen.writeRaw(c);
+	}
+
+	@Override
+	public void serialize(String str, JsonGenerator gen,
+                          SerializerProvider provider) throws IOException,
+			JsonProcessingException {
+		int status = ((JsonWriteContext) gen.getOutputContext()).writeValue();
+	    switch (status) {
+	      case JsonWriteContext.STATUS_OK_AFTER_COLON:
+	        gen.writeRaw(':');
+	        break;
+	      case JsonWriteContext.STATUS_OK_AFTER_COMMA:
+	        gen.writeRaw(',');
+	        break;
+	      case JsonWriteContext.STATUS_EXPECT_NAME:
+	        throw new JsonParseException(null, "Can not write string value here");
+	    }
+	    gen.writeRaw('"');//写入JSON中字符串的开头引号
+	    for (char c : str.toCharArray()) {
+	      if (c >= 0x80){
+	    	  writeUnicodeEscape(gen, c); // 为所有非ASCII字符生成转义的unicode字符
+	      }else {
+	        // 为ASCII字符中前128个字符使用转义的unicode字符
+	        int code = (c < ESCAPE_CODES.length ? ESCAPE_CODES[c] : 0);
+	        if (code == 0){
+	        	gen.writeRaw(c); // 此处不用转义
+	        }else if (code < 0){
+	        	writeUnicodeEscape(gen, (char) (-code - 1)); // 通用转义字符
+	        }else {
+	        	writeShortEscape(gen, (char) code); // 短转义字符 (\n \t ...)
+	        }
+	      }
+	    }
+	    gen.writeRaw('"');//写入JSON中字符串的结束引号
+	}
+
+}

+ 106 - 0
src/main/java/com/emato/ccnet/config/servlet/WebMvcConfig.java

@@ -0,0 +1,106 @@
+package com.emato.ccnet.config.servlet;
+
+import com.google.common.collect.ImmutableList;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.web.filter.CharacterEncodingFilter;
+import org.springframework.web.servlet.ViewResolver;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler;
+import org.springframework.web.servlet.view.InternalResourceViewResolver;
+
+import java.util.List;
+
+/**
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-21 19:06
+ */
+@Configuration
+public class WebMvcConfig extends WebMvcConfigurerAdapter {
+
+    /**
+     * 编码过滤器
+     * @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;
+    }
+
+    /**
+     * 对进入DispatcherServlet的URL进行筛查
+     * 如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理
+     * 如果不是静态资源的请求,才由DispatcherServlet继续处理
+     * @return
+     */
+    @Bean
+    public DefaultServletHttpRequestHandler defaultServletHttpRequestHandler() {
+        return new DefaultServletHttpRequestHandler();
+    }
+
+
+    /**
+     * 采用jackson进行消息转换时,处理中文乱码
+     * @return
+     */
+    @Bean
+    public List<HttpMessageConverter<?>> converters() {
+        StringHttpMessageConverter messageConverter = new StringHttpMessageConverter();
+        //处理中文乱码
+        ImmutableList<MediaType> list = ImmutableList.of(MediaType.TEXT_HTML, MediaType.APPLICATION_JSON_UTF8);
+        messageConverter.setSupportedMediaTypes(list);
+
+        return ImmutableList.of(messageConverter);
+    }
+
+    /**
+     * 配置处理jackson消息转器
+     * @param converters
+     */
+    @Override
+    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+        super.configureMessageConverters(converters);
+    }
+
+
+    /**
+     * 注册视图处理器
+     * @return
+     */
+    @Bean
+    public ViewResolver viewResolver() {
+        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
+        viewResolver.setPrefix("");
+        viewResolver.setSuffix(".html");
+        return viewResolver;
+    }
+
+
+    /**
+     * 仅限于嵌入式Tomcat,配置自定义404等常见错误处理页面,部署为外置War包时,不适用
+     * @return
+     */
+    /*@Bean
+    public EmbeddedServletContainerCustomizer containerCustomizer() {
+        return (container -> {
+            ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");
+            ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
+            ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");
+
+            container.addErrorPages(error401Page, error404Page, error500Page);
+        });
+    }*/
+
+}

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

@@ -0,0 +1,26 @@
+package com.emato.ccnet.config.spring;
+
+import com.emato.ccnet.util.SpringContextUtil;
+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 SpringConfig {
+
+    /**
+     * Spring应用上下文环境
+     * @return
+     */
+    @Bean
+    public SpringContextUtil springContextUtil() {
+        return new SpringContextUtil();
+    }
+
+
+
+}

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

@@ -0,0 +1,115 @@
+package com.emato.ccnet.contants;
+
+public class Contants {
+
+    public static final String ZWSH = "ZWSH";
+
+    public static final String ZW = "ZW";
+
+    //创建人编号
+    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 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";
+
+    /**********************海关运单******************************/
+
+    //商户订单状态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";
+
+
+}

+ 106 - 0
src/main/java/com/emato/ccnet/controller/KmallOrderController.java

@@ -0,0 +1,106 @@
+package com.emato.ccnet.controller;
+
+import com.emato.ccnet.biz.req.order.csp.Ceb311OrderBiz;
+import com.emato.ccnet.biz.req.order.csp.Ceb311SendDateRequet;
+import com.emato.ccnet.biz.req.pay.alipay.Ceb411AlipayBiz;
+import com.emato.ccnet.biz.req.waybill.oms.Ceb511OmsWayBiz;
+import com.emato.ccnet.msg.ResponseMessage;
+import com.google.common.collect.ImmutableMap;
+import org.apache.commons.lang3.StringUtils;
+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;
+
+import java.util.Map;
+
+/**
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-04 17:55
+ */
+@RestController
+public class KmallOrderController {
+    private static final Logger logger = LoggerFactory.getLogger(KmallOrderController.class);
+
+    @Autowired
+    private Ceb411AlipayBiz ceb411PayBillBiz;
+
+    @Autowired
+    private Ceb311OrderBiz ceb311OrderBiz;
+
+    @Autowired
+    private Ceb311SendDateRequet ceb311SendDateRequet;
+
+    @Autowired
+    private Ceb511OmsWayBiz ceb511OmsWayBiz;
+    /**
+     * 电子订单运单数据
+     * @return
+     */
+    @RequestMapping(value="/kmall/cusOrderWaybill")
+    public ResponseMessage cusOrderWaybill(@RequestBody Map<String, Object> param) {
+        logger.info("---------- 电子订单运单数据开始 ----------------------------------------");
+
+        if (param.isEmpty()) {
+            return ResponseMessage.error("入参数为空");
+        }
+
+        int number = 10;
+        if (param.containsKey("number") && param.get("number") != null) {
+            number = Integer.valueOf(param.get("number").toString());
+        }
+
+        Map<String, Object> reqParam = ImmutableMap.of("number", number);
+
+        ResponseMessage result = ceb311OrderBiz.biz(reqParam);
+
+        logger.info("---------- 电子订单运单数据结束 ----------------------------------------");
+        return result;
+    }
+
+    /**
+     * 支付单数据
+     * @return
+     */
+    @RequestMapping(value="/kmall/cusPayBill")
+    public ResponseMessage cusPayBill(@RequestBody Map<String, Object> param) {
+        logger.info("---------- 支付单数据开始 ----------------------------------------");
+        if (param.isEmpty()) {
+            return ResponseMessage.error("入参数为空");
+        }
+
+        int number = 10;
+        if (param.containsKey("number") && param.get("number") != null) {
+            number = Integer.valueOf(param.get("number").toString());
+        }
+
+
+        Map<String, Object> reqParam = ImmutableMap.of("number", number);
+
+        ResponseMessage result = ceb411PayBillBiz.biz(reqParam);
+
+        logger.info("---------- 支付单数据结束 ----------------------------------------");
+        return result;
+    }
+
+    /**
+     * 支付单数据
+     * @return
+     */
+    @RequestMapping(value="/kmall/test")
+    public ResponseMessage test() {
+        logger.info("---------- 支付单数据开始 ----------------------------------------");
+
+
+        Map<String, Object> reqParam = ImmutableMap.of("number",2);
+        //ResponseMessage result = ceb311OrderBiz.biz(reqParam);
+        ResponseMessage result =ceb511OmsWayBiz.biz(reqParam);
+        //int ceb = ceb311SendDateRequet.sendDate();
+        logger.info("---------- 支付单数据结束 ----------------------------------------");
+        return null;
+    }
+
+}

+ 540 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusAlipay.java

@@ -0,0 +1,540 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author
+ */
+public class CusAlipay implements Serializable {
+
+    private static final long serialVersionUID = 6869963283438996923L;
+    /**
+     * 支付单(阿里)内部编号
+     */
+    private String cusAlipaySn;
+
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 商户下单时间,yyyyMMddHHmmss
+     */
+    private Date placeOrderlTime;
+
+    /**
+     * 报关流水号,商户生成的用于唯一标识一次报关操作的业务编号
+     */
+    private String outRequestNo;
+
+    /**
+     * 支付宝交易号,该交易在支付宝系统中的交易流水号,最长64位
+     */
+    private String tradeNo;
+
+    /**
+     * 商户海关备案编号
+     */
+    private String merchantCustomsCode;
+
+    /**
+     * 商户海关备案名称
+     */
+    private String merchantCustomsName;
+
+    /**
+     * 报关金额,单位为人民币“元”,精确到小数点后2位,交易累计的报关金额不得大于交易总金额
+     */
+    private BigDecimal amount;
+
+    /**
+     * 海关编号,大小写均支持
+     */
+    private String customsPlace;
+
+    /**
+     * 商户控制本单是否拆单报关,仅当该参数传值为T或者t时,才会触发拆单(报关海关必须支持拆单)
+     */
+    private String isSplit;
+
+    /**
+     * 商户子订单号。拆单时由商户传入,且拆单时必须传入,否则会报INVALID_PARAMETER错误码
+     */
+    private String subOutBizNo;
+
+    /**
+     * 订购人姓名。即订购人留在商户处的姓名信息
+     */
+    private String buyerName;
+
+    /**
+     * 订购人身份证号。即订购人留在商户处的身份证信息
+     */
+    private String buyerIdNo;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    public String getCusAlipaySn() {
+        return cusAlipaySn;
+    }
+
+    public void setCusAlipaySn(String cusAlipaySn) {
+        this.cusAlipaySn = cusAlipaySn;
+    }
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 Date getPlaceOrderlTime() {
+        return placeOrderlTime;
+    }
+
+    public void setPlaceOrderlTime(Date placeOrderlTime) {
+        this.placeOrderlTime = placeOrderlTime;
+    }
+
+    public String getOutRequestNo() {
+        return outRequestNo;
+    }
+
+    public void setOutRequestNo(String outRequestNo) {
+        this.outRequestNo = outRequestNo;
+    }
+
+    public String getTradeNo() {
+        return tradeNo;
+    }
+
+    public void setTradeNo(String tradeNo) {
+        this.tradeNo = tradeNo;
+    }
+
+    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;
+    }
+
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+
+    public String getCustomsPlace() {
+        return customsPlace;
+    }
+
+    public void setCustomsPlace(String customsPlace) {
+        this.customsPlace = customsPlace;
+    }
+
+    public String getIsSplit() {
+        return isSplit;
+    }
+
+    public void setIsSplit(String isSplit) {
+        this.isSplit = isSplit;
+    }
+
+    public String getSubOutBizNo() {
+        return subOutBizNo;
+    }
+
+    public void setSubOutBizNo(String subOutBizNo) {
+        this.subOutBizNo = subOutBizNo;
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName;
+    }
+
+    public String getBuyerIdNo() {
+        return buyerIdNo;
+    }
+
+    public void setBuyerIdNo(String buyerIdNo) {
+        this.buyerIdNo = buyerIdNo;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2;
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3;
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4;
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusAlipay other = (CusAlipay) that;
+        return (this.getCusAlipaySn() == null ? other.getCusAlipaySn() == null : this.getCusAlipaySn().equals(other.getCusAlipaySn()))
+            && (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getPlaceOrderlTime() == null ? other.getPlaceOrderlTime() == null : this.getPlaceOrderlTime().equals(other.getPlaceOrderlTime()))
+            && (this.getOutRequestNo() == null ? other.getOutRequestNo() == null : this.getOutRequestNo().equals(other.getOutRequestNo()))
+            && (this.getTradeNo() == null ? other.getTradeNo() == null : this.getTradeNo().equals(other.getTradeNo()))
+            && (this.getMerchantCustomsCode() == null ? other.getMerchantCustomsCode() == null : this.getMerchantCustomsCode().equals(other.getMerchantCustomsCode()))
+            && (this.getMerchantCustomsName() == null ? other.getMerchantCustomsName() == null : this.getMerchantCustomsName().equals(other.getMerchantCustomsName()))
+            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
+            && (this.getCustomsPlace() == null ? other.getCustomsPlace() == null : this.getCustomsPlace().equals(other.getCustomsPlace()))
+            && (this.getIsSplit() == null ? other.getIsSplit() == null : this.getIsSplit().equals(other.getIsSplit()))
+            && (this.getSubOutBizNo() == null ? other.getSubOutBizNo() == null : this.getSubOutBizNo().equals(other.getSubOutBizNo()))
+            && (this.getBuyerName() == null ? other.getBuyerName() == null : this.getBuyerName().equals(other.getBuyerName()))
+            && (this.getBuyerIdNo() == null ? other.getBuyerIdNo() == null : this.getBuyerIdNo().equals(other.getBuyerIdNo()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()))
+            && (this.getExField() == null ? other.getExField() == null : this.getExField().equals(other.getExField()))
+            && (this.getExField2() == null ? other.getExField2() == null : this.getExField2().equals(other.getExField2()))
+            && (this.getExField3() == null ? other.getExField3() == null : this.getExField3().equals(other.getExField3()))
+            && (this.getExField4() == null ? other.getExField4() == null : this.getExField4().equals(other.getExField4()))
+            && (this.getExField5() == null ? other.getExField5() == null : this.getExField5().equals(other.getExField5()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusAlipaySn() == null) ? 0 : getCusAlipaySn().hashCode());
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getPlaceOrderlTime() == null) ? 0 : getPlaceOrderlTime().hashCode());
+        result = prime * result + ((getOutRequestNo() == null) ? 0 : getOutRequestNo().hashCode());
+        result = prime * result + ((getTradeNo() == null) ? 0 : getTradeNo().hashCode());
+        result = prime * result + ((getMerchantCustomsCode() == null) ? 0 : getMerchantCustomsCode().hashCode());
+        result = prime * result + ((getMerchantCustomsName() == null) ? 0 : getMerchantCustomsName().hashCode());
+        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
+        result = prime * result + ((getCustomsPlace() == null) ? 0 : getCustomsPlace().hashCode());
+        result = prime * result + ((getIsSplit() == null) ? 0 : getIsSplit().hashCode());
+        result = prime * result + ((getSubOutBizNo() == null) ? 0 : getSubOutBizNo().hashCode());
+        result = prime * result + ((getBuyerName() == null) ? 0 : getBuyerName().hashCode());
+        result = prime * result + ((getBuyerIdNo() == null) ? 0 : getBuyerIdNo().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        result = prime * result + ((getExField() == null) ? 0 : getExField().hashCode());
+        result = prime * result + ((getExField2() == null) ? 0 : getExField2().hashCode());
+        result = prime * result + ((getExField3() == null) ? 0 : getExField3().hashCode());
+        result = prime * result + ((getExField4() == null) ? 0 : getExField4().hashCode());
+        result = prime * result + ((getExField5() == null) ? 0 : getExField5().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusAlipaySn=").append(cusAlipaySn);
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", placeOrderlTime=").append(placeOrderlTime);
+        sb.append(", outRequestNo=").append(outRequestNo);
+        sb.append(", tradeNo=").append(tradeNo);
+        sb.append(", merchantCustomsCode=").append(merchantCustomsCode);
+        sb.append(", merchantCustomsName=").append(merchantCustomsName);
+        sb.append(", amount=").append(amount);
+        sb.append(", customsPlace=").append(customsPlace);
+        sb.append(", isSplit=").append(isSplit);
+        sb.append(", subOutBizNo=").append(subOutBizNo);
+        sb.append(", buyerName=").append(buyerName);
+        sb.append(", buyerIdNo=").append(buyerIdNo);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", exField=").append(exField);
+        sb.append(", exField2=").append(exField2);
+        sb.append(", exField3=").append(exField3);
+        sb.append(", exField4=").append(exField4);
+        sb.append(", exField5=").append(exField5);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 364 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusAlipayResp.java

@@ -0,0 +1,364 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+
+public class CusAlipayResp implements Serializable {
+    
+    private static final long serialVersionUID = 4477850167319125761L;
+    /**
+     * 支付单(阿里)回执内部编号
+     */
+    private String cusAlipayRespSn;
+
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 支付宝报关流水号
+     */
+    private String alipayDeclareNo;
+
+    /**
+     * 支付宝推送到海关的支付单据号
+     */
+    private String tradeNo;
+
+    /**
+     * 业务消息代码,SUCCESS:成功,FAIL:失败
+     */
+    private String bizInfoCode;
+
+    /**
+     * 业务消息描述
+     */
+    private String bizInfoDesc;
+
+    /**
+     * 详细错误代码,对返回响应码进行原因说明,当result_code响应码为SUCCESS时,不返回该参数
+     */
+    private String detailErrorCode;
+
+    /**
+     * 对详细错误码进行文字说明,当result_code响应码为SUCCESS时,不返回该参数
+     */
+    private String detailErrorDes;
+
+    /**
+     * 订购人支付人姓名和身份证号验证,T:一致,F:不一致,对于同一笔报关单支付宝只会校验一次,如果多次重推不会返回此参数
+     */
+    private String identityCheck;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusAlipayRespSn() {
+        return cusAlipayRespSn;
+    }
+
+    public void setCusAlipayRespSn(String cusAlipayRespSn) {
+        this.cusAlipayRespSn = cusAlipayRespSn;
+    }
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn;
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode;
+    }
+
+    public String getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getAlipayDeclareNo() {
+        return alipayDeclareNo;
+    }
+
+    public void setAlipayDeclareNo(String alipayDeclareNo) {
+        this.alipayDeclareNo = alipayDeclareNo;
+    }
+
+    public String getTradeNo() {
+        return tradeNo;
+    }
+
+    public void setTradeNo(String tradeNo) {
+        this.tradeNo = tradeNo;
+    }
+
+    public String getBizInfoCode() {
+        return bizInfoCode;
+    }
+
+    public void setBizInfoCode(String bizInfoCode) {
+        this.bizInfoCode = bizInfoCode;
+    }
+
+    public String getBizInfoDesc() {
+        return bizInfoDesc;
+    }
+
+    public void setBizInfoDesc(String bizInfoDesc) {
+        this.bizInfoDesc = bizInfoDesc;
+    }
+
+    public String getDetailErrorCode() {
+        return detailErrorCode;
+    }
+
+    public void setDetailErrorCode(String detailErrorCode) {
+        this.detailErrorCode = detailErrorCode;
+    }
+
+    public String getDetailErrorDes() {
+        return detailErrorDes;
+    }
+
+    public void setDetailErrorDes(String detailErrorDes) {
+        this.detailErrorDes = detailErrorDes;
+    }
+
+    public String getIdentityCheck() {
+        return identityCheck;
+    }
+
+    public void setIdentityCheck(String identityCheck) {
+        this.identityCheck = identityCheck;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusAlipayResp other = (CusAlipayResp) that;
+        return (this.getCusAlipayRespSn() == null ? other.getCusAlipayRespSn() == null : this.getCusAlipayRespSn().equals(other.getCusAlipayRespSn()))
+            && (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getAlipayDeclareNo() == null ? other.getAlipayDeclareNo() == null : this.getAlipayDeclareNo().equals(other.getAlipayDeclareNo()))
+            && (this.getTradeNo() == null ? other.getTradeNo() == null : this.getTradeNo().equals(other.getTradeNo()))
+            && (this.getBizInfoCode() == null ? other.getBizInfoCode() == null : this.getBizInfoCode().equals(other.getBizInfoCode()))
+            && (this.getBizInfoDesc() == null ? other.getBizInfoDesc() == null : this.getBizInfoDesc().equals(other.getBizInfoDesc()))
+            && (this.getDetailErrorCode() == null ? other.getDetailErrorCode() == null : this.getDetailErrorCode().equals(other.getDetailErrorCode()))
+            && (this.getDetailErrorDes() == null ? other.getDetailErrorDes() == null : this.getDetailErrorDes().equals(other.getDetailErrorDes()))
+            && (this.getIdentityCheck() == null ? other.getIdentityCheck() == null : this.getIdentityCheck().equals(other.getIdentityCheck()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusAlipayRespSn() == null) ? 0 : getCusAlipayRespSn().hashCode());
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getAlipayDeclareNo() == null) ? 0 : getAlipayDeclareNo().hashCode());
+        result = prime * result + ((getTradeNo() == null) ? 0 : getTradeNo().hashCode());
+        result = prime * result + ((getBizInfoCode() == null) ? 0 : getBizInfoCode().hashCode());
+        result = prime * result + ((getBizInfoDesc() == null) ? 0 : getBizInfoDesc().hashCode());
+        result = prime * result + ((getDetailErrorCode() == null) ? 0 : getDetailErrorCode().hashCode());
+        result = prime * result + ((getDetailErrorDes() == null) ? 0 : getDetailErrorDes().hashCode());
+        result = prime * result + ((getIdentityCheck() == null) ? 0 : getIdentityCheck().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusAlipayRespSn=").append(cusAlipayRespSn);
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", alipayDeclareNo=").append(alipayDeclareNo);
+        sb.append(", tradeNo=").append(tradeNo);
+        sb.append(", bizInfoCode=").append(bizInfoCode);
+        sb.append(", bizInfoDesc=").append(bizInfoDesc);
+        sb.append(", detailErrorCode=").append(detailErrorCode);
+        sb.append(", detailErrorDes=").append(detailErrorDes);
+        sb.append(", identityCheck=").append(identityCheck);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 379 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusAlipayStatus.java

@@ -0,0 +1,379 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusAlipayStatus implements Serializable {
+    
+    private static final long serialVersionUID = -4949051571224685920L;
+    /**
+     * 支付单状态(阿里)内部编号
+     */
+    private String cusAlipayStatusSn;
+
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 支付宝报关流水号
+     */
+    private String alipayDeclareNo;
+
+    /**
+     * 支付宝推送到海关的支付单据号
+     */
+    private String tradeNo;
+
+    /**
+     * 阿里回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String alipayRespStatus;
+
+    /**
+     * 订购人支付人姓名和身份证号验证,T:一致,F:不一致,对于同一笔报关单支付宝只会校验一次,如果多次重推不会返回此参数
+     */
+    private String identityCheck;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusAlipayStatusSn() {
+        return cusAlipayStatusSn;
+    }
+
+    public void setCusAlipayStatusSn(String cusAlipayStatusSn) {
+        this.cusAlipayStatusSn = cusAlipayStatusSn;
+    }
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getAlipayDeclareNo() {
+        return alipayDeclareNo;
+    }
+
+    public void setAlipayDeclareNo(String alipayDeclareNo) {
+        this.alipayDeclareNo = alipayDeclareNo;
+    }
+
+    public String getTradeNo() {
+        return tradeNo;
+    }
+
+    public void setTradeNo(String tradeNo) {
+        this.tradeNo = tradeNo;
+    }
+
+    public String getAlipayRespStatus() {
+        return alipayRespStatus;
+    }
+
+    public void setAlipayRespStatus(String alipayRespStatus) {
+        this.alipayRespStatus = alipayRespStatus;
+    }
+
+    public String getIdentityCheck() {
+        return identityCheck;
+    }
+
+    public void setIdentityCheck(String identityCheck) {
+        this.identityCheck = identityCheck;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusAlipayStatus other = (CusAlipayStatus) that;
+        return (this.getCusAlipayStatusSn() == null ? other.getCusAlipayStatusSn() == null : this.getCusAlipayStatusSn().equals(other.getCusAlipayStatusSn()))
+            && (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getAlipayDeclareNo() == null ? other.getAlipayDeclareNo() == null : this.getAlipayDeclareNo().equals(other.getAlipayDeclareNo()))
+            && (this.getTradeNo() == null ? other.getTradeNo() == null : this.getTradeNo().equals(other.getTradeNo()))
+            && (this.getAlipayRespStatus() == null ? other.getAlipayRespStatus() == null : this.getAlipayRespStatus().equals(other.getAlipayRespStatus()))
+            && (this.getIdentityCheck() == null ? other.getIdentityCheck() == null : this.getIdentityCheck().equals(other.getIdentityCheck()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusAlipayStatusSn() == null) ? 0 : getCusAlipayStatusSn().hashCode());
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getAlipayDeclareNo() == null) ? 0 : getAlipayDeclareNo().hashCode());
+        result = prime * result + ((getTradeNo() == null) ? 0 : getTradeNo().hashCode());
+        result = prime * result + ((getAlipayRespStatus() == null) ? 0 : getAlipayRespStatus().hashCode());
+        result = prime * result + ((getIdentityCheck() == null) ? 0 : getIdentityCheck().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusAlipayStatusSn=").append(cusAlipayStatusSn);
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", alipayDeclareNo=").append(alipayDeclareNo);
+        sb.append(", tradeNo=").append(tradeNo);
+        sb.append(", alipayRespStatus=").append(alipayRespStatus);
+        sb.append(", identityCheck=").append(identityCheck);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 809 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusOrder.java

@@ -0,0 +1,809 @@
+package com.emato.ccnet.domain.ccnet;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusOrder implements Serializable {
+
+    private static final long serialVersionUID = 7394700953634746481L;
+    /**
+     * 电子订单内部编号
+     */
+    private String cusOrderSn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 商户下单时间,yyyyMMddHHmmss
+     */
+    private Date placeOrderlTime;
+
+    /**
+     * 申报类型:1-新增 2-修改 
+     */
+    private String appType = "1";
+
+    /**
+     * 企业报送时间。格式:YYYYMMDDhhmmss。
+            
+     */
+    private String appTime;
+
+    /**
+     * 业务状态:1-暂存,2-申报,默认为 2
+     */
+    private String appStatus = "2";
+
+    /**
+     * 电子订单类型:I 进口
+     */
+    private String orderType = "I";
+
+    /**
+     * 订单编号,同一交易平台订单编号唯一,同商户订单编号
+     */
+    private String orderNo;
+
+    /**
+     * 电商平台的海关注册登记编号;电商平
+            台未在海关注册登记,由电商企业发送
+            订单的,以中国电子口岸发布的电商平
+            台标识编号为准。
+     */
+    private String ebpCode;
+
+    /**
+     * 电商平台的海关注册登记名称;电商平
+            台未在海关注册登记,由电商企业发送
+            订单的,以中国电子口岸发布的电商平
+            台名称为准。
+     */
+    private String ebpName;
+
+    /**
+     * 电商企业的海关注册登记编号
+     */
+    private String ebcCode;
+
+    /**
+     * 电商企业的海关注册登记名称
+     */
+    private String ebcName;
+
+    /**
+     * 商品实际成交价,含非现金抵扣金额
+     */
+    private BigDecimal goodsValue;
+
+    /**
+     * 不包含在商品价格中的运杂费,无则填写“0”
+     */
+    private BigDecimal freight = new BigDecimal(0);
+
+    /**
+     * 使用积分、虚拟货币、代金券等非现金支付金额,无则填写“0”
+     */
+    private BigDecimal discount = new BigDecimal(0);
+
+    /**
+     * 企业预先代扣的税款金额,无则填“0”
+     */
+    private BigDecimal taxTotal = new BigDecimal(0);
+
+    /**
+     * 商品价格+运杂费+代扣税款-非现金抵扣金额,与支付凭证的支付金额一致
+     */
+    private BigDecimal acturalPaid;
+
+    /**
+     * 限定为人民币,填写“142”
+     */
+    private String currency = "142";
+
+    /**
+     * 订购人的交易平台注册号
+     */
+    private String buyerRegNo;
+
+    /**
+     * 订购人的真实姓名
+     */
+    private String buyerName;
+
+    /**
+     * 1-身份证,2-其它。限定为身份证,填写“1”
+     */
+    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;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 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;
+    }
+
+    public String getAppTime() {
+        return appTime;
+    }
+
+    public void setAppTime(String appTime) {
+        this.appTime = appTime;
+    }
+
+    public String getAppStatus() {
+        return appStatus;
+    }
+
+    public void setAppStatus(String appStatus) {
+        this.appStatus = appStatus;
+    }
+
+    public String getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(String orderType) {
+        this.orderType = orderType;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getEbpCode() {
+        return ebpCode;
+    }
+
+    public void setEbpCode(String ebpCode) {
+        this.ebpCode = ebpCode;
+    }
+
+    public String getEbpName() {
+        return ebpName;
+    }
+
+    public void setEbpName(String ebpName) {
+        this.ebpName = ebpName;
+    }
+
+    public String getEbcCode() {
+        return ebcCode;
+    }
+
+    public void setEbcCode(String ebcCode) {
+        this.ebcCode = ebcCode;
+    }
+
+    public String getEbcName() {
+        return ebcName;
+    }
+
+    public void setEbcName(String ebcName) {
+        this.ebcName = ebcName;
+    }
+
+    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;
+    }
+
+    public String getBuyerRegNo() {
+        return buyerRegNo;
+    }
+
+    public void setBuyerRegNo(String buyerRegNo) {
+        this.buyerRegNo = buyerRegNo;
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName;
+    }
+
+    public String getBuyerIdType() {
+        return buyerIdType;
+    }
+
+    public void setBuyerIdType(String buyerIdType) {
+        this.buyerIdType = buyerIdType;
+    }
+
+    public String getBuyeridNumber() {
+        return buyeridNumber;
+    }
+
+    public void setBuyeridNumber(String buyeridNumber) {
+        this.buyeridNumber = buyeridNumber;
+    }
+
+    public String getPayCode() {
+        return payCode;
+    }
+
+    public void setPayCode(String payCode) {
+        this.payCode = payCode;
+    }
+
+    public String getPayName() {
+        return payName;
+    }
+
+    public void setPayName(String payName) {
+        this.payName = payName;
+    }
+
+    public String getPayTransactionId() {
+        return payTransactionId;
+    }
+
+    public void setPayTransactionId(String payTransactionId) {
+        this.payTransactionId = payTransactionId;
+    }
+
+    public String getBatchNumbers() {
+        return batchNumbers;
+    }
+
+    public void setBatchNumbers(String batchNumbers) {
+        this.batchNumbers = batchNumbers;
+    }
+
+    public String getConsignee() {
+        return consignee;
+    }
+
+    public void setConsignee(String consignee) {
+        this.consignee = consignee;
+    }
+
+    public String getConsigneeTelephone() {
+        return consigneeTelephone;
+    }
+
+    public void setConsigneeTelephone(String consigneeTelephone) {
+        this.consigneeTelephone = consigneeTelephone;
+    }
+
+    public String getConsigneeAddress() {
+        return consigneeAddress;
+    }
+
+    public void setConsigneeAddress(String consigneeAddress) {
+        this.consigneeAddress = consigneeAddress;
+    }
+
+    public String getConsigneeDistrict() {
+        return consigneeDistrict;
+    }
+
+    public void setConsigneeDistrict(String consigneeDistrict) {
+        this.consigneeDistrict = consigneeDistrict;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2;
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3;
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4;
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusOrder other = (CusOrder) that;
+        return (this.getCusOrderSn() == null ? other.getCusOrderSn() == null : this.getCusOrderSn().equals(other.getCusOrderSn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getPlaceOrderlTime() == null ? other.getPlaceOrderlTime() == null : this.getPlaceOrderlTime().equals(other.getPlaceOrderlTime()))
+            && (this.getAppType() == null ? other.getAppType() == null : this.getAppType().equals(other.getAppType()))
+            && (this.getAppTime() == null ? other.getAppTime() == null : this.getAppTime().equals(other.getAppTime()))
+            && (this.getAppStatus() == null ? other.getAppStatus() == null : this.getAppStatus().equals(other.getAppStatus()))
+            && (this.getOrderType() == null ? other.getOrderType() == null : this.getOrderType().equals(other.getOrderType()))
+            && (this.getOrderNo() == null ? other.getOrderNo() == null : this.getOrderNo().equals(other.getOrderNo()))
+            && (this.getEbpCode() == null ? other.getEbpCode() == null : this.getEbpCode().equals(other.getEbpCode()))
+            && (this.getEbpName() == null ? other.getEbpName() == null : this.getEbpName().equals(other.getEbpName()))
+            && (this.getEbcCode() == null ? other.getEbcCode() == null : this.getEbcCode().equals(other.getEbcCode()))
+            && (this.getEbcName() == null ? other.getEbcName() == null : this.getEbcName().equals(other.getEbcName()))
+            && (this.getGoodsValue() == null ? other.getGoodsValue() == null : this.getGoodsValue().equals(other.getGoodsValue()))
+            && (this.getFreight() == null ? other.getFreight() == null : this.getFreight().equals(other.getFreight()))
+            && (this.getDiscount() == null ? other.getDiscount() == null : this.getDiscount().equals(other.getDiscount()))
+            && (this.getTaxTotal() == null ? other.getTaxTotal() == null : this.getTaxTotal().equals(other.getTaxTotal()))
+            && (this.getActuralPaid() == null ? other.getActuralPaid() == null : this.getActuralPaid().equals(other.getActuralPaid()))
+            && (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
+            && (this.getBuyerRegNo() == null ? other.getBuyerRegNo() == null : this.getBuyerRegNo().equals(other.getBuyerRegNo()))
+            && (this.getBuyerName() == null ? other.getBuyerName() == null : this.getBuyerName().equals(other.getBuyerName()))
+            && (this.getBuyerIdType() == null ? other.getBuyerIdType() == null : this.getBuyerIdType().equals(other.getBuyerIdType()))
+            && (this.getBuyeridNumber() == null ? other.getBuyeridNumber() == null : this.getBuyeridNumber().equals(other.getBuyeridNumber()))
+            && (this.getPayCode() == null ? other.getPayCode() == null : this.getPayCode().equals(other.getPayCode()))
+            && (this.getPayName() == null ? other.getPayName() == null : this.getPayName().equals(other.getPayName()))
+            && (this.getPayTransactionId() == null ? other.getPayTransactionId() == null : this.getPayTransactionId().equals(other.getPayTransactionId()))
+            && (this.getBatchNumbers() == null ? other.getBatchNumbers() == null : this.getBatchNumbers().equals(other.getBatchNumbers()))
+            && (this.getConsignee() == null ? other.getConsignee() == null : this.getConsignee().equals(other.getConsignee()))
+            && (this.getConsigneeTelephone() == null ? other.getConsigneeTelephone() == null : this.getConsigneeTelephone().equals(other.getConsigneeTelephone()))
+            && (this.getConsigneeAddress() == null ? other.getConsigneeAddress() == null : this.getConsigneeAddress().equals(other.getConsigneeAddress()))
+            && (this.getConsigneeDistrict() == null ? other.getConsigneeDistrict() == null : this.getConsigneeDistrict().equals(other.getConsigneeDistrict()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()))
+            && (this.getExField() == null ? other.getExField() == null : this.getExField().equals(other.getExField()))
+            && (this.getExField2() == null ? other.getExField2() == null : this.getExField2().equals(other.getExField2()))
+            && (this.getExField3() == null ? other.getExField3() == null : this.getExField3().equals(other.getExField3()))
+            && (this.getExField4() == null ? other.getExField4() == null : this.getExField4().equals(other.getExField4()))
+            && (this.getExField5() == null ? other.getExField5() == null : this.getExField5().equals(other.getExField5()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusOrderSn() == null) ? 0 : getCusOrderSn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getPlaceOrderlTime() == null) ? 0 : getPlaceOrderlTime().hashCode());
+        result = prime * result + ((getAppType() == null) ? 0 : getAppType().hashCode());
+        result = prime * result + ((getAppTime() == null) ? 0 : getAppTime().hashCode());
+        result = prime * result + ((getAppStatus() == null) ? 0 : getAppStatus().hashCode());
+        result = prime * result + ((getOrderType() == null) ? 0 : getOrderType().hashCode());
+        result = prime * result + ((getOrderNo() == null) ? 0 : getOrderNo().hashCode());
+        result = prime * result + ((getEbpCode() == null) ? 0 : getEbpCode().hashCode());
+        result = prime * result + ((getEbpName() == null) ? 0 : getEbpName().hashCode());
+        result = prime * result + ((getEbcCode() == null) ? 0 : getEbcCode().hashCode());
+        result = prime * result + ((getEbcName() == null) ? 0 : getEbcName().hashCode());
+        result = prime * result + ((getGoodsValue() == null) ? 0 : getGoodsValue().hashCode());
+        result = prime * result + ((getFreight() == null) ? 0 : getFreight().hashCode());
+        result = prime * result + ((getDiscount() == null) ? 0 : getDiscount().hashCode());
+        result = prime * result + ((getTaxTotal() == null) ? 0 : getTaxTotal().hashCode());
+        result = prime * result + ((getActuralPaid() == null) ? 0 : getActuralPaid().hashCode());
+        result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
+        result = prime * result + ((getBuyerRegNo() == null) ? 0 : getBuyerRegNo().hashCode());
+        result = prime * result + ((getBuyerName() == null) ? 0 : getBuyerName().hashCode());
+        result = prime * result + ((getBuyerIdType() == null) ? 0 : getBuyerIdType().hashCode());
+        result = prime * result + ((getBuyeridNumber() == null) ? 0 : getBuyeridNumber().hashCode());
+        result = prime * result + ((getPayCode() == null) ? 0 : getPayCode().hashCode());
+        result = prime * result + ((getPayName() == null) ? 0 : getPayName().hashCode());
+        result = prime * result + ((getPayTransactionId() == null) ? 0 : getPayTransactionId().hashCode());
+        result = prime * result + ((getBatchNumbers() == null) ? 0 : getBatchNumbers().hashCode());
+        result = prime * result + ((getConsignee() == null) ? 0 : getConsignee().hashCode());
+        result = prime * result + ((getConsigneeTelephone() == null) ? 0 : getConsigneeTelephone().hashCode());
+        result = prime * result + ((getConsigneeAddress() == null) ? 0 : getConsigneeAddress().hashCode());
+        result = prime * result + ((getConsigneeDistrict() == null) ? 0 : getConsigneeDistrict().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        result = prime * result + ((getExField() == null) ? 0 : getExField().hashCode());
+        result = prime * result + ((getExField2() == null) ? 0 : getExField2().hashCode());
+        result = prime * result + ((getExField3() == null) ? 0 : getExField3().hashCode());
+        result = prime * result + ((getExField4() == null) ? 0 : getExField4().hashCode());
+        result = prime * result + ((getExField5() == null) ? 0 : getExField5().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusOrderSn=").append(cusOrderSn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", placeOrderlTime=").append(placeOrderlTime);
+        sb.append(", appType=").append(appType);
+        sb.append(", appTime=").append(appTime);
+        sb.append(", appStatus=").append(appStatus);
+        sb.append(", orderType=").append(orderType);
+        sb.append(", orderNo=").append(orderNo);
+        sb.append(", ebpCode=").append(ebpCode);
+        sb.append(", ebpName=").append(ebpName);
+        sb.append(", ebcCode=").append(ebcCode);
+        sb.append(", ebcName=").append(ebcName);
+        sb.append(", goodsValue=").append(goodsValue);
+        sb.append(", freight=").append(freight);
+        sb.append(", discount=").append(discount);
+        sb.append(", taxTotal=").append(taxTotal);
+        sb.append(", acturalPaid=").append(acturalPaid);
+        sb.append(", currency=").append(currency);
+        sb.append(", buyerRegNo=").append(buyerRegNo);
+        sb.append(", buyerName=").append(buyerName);
+        sb.append(", buyerIdType=").append(buyerIdType);
+        sb.append(", buyeridNumber=").append(buyeridNumber);
+        sb.append(", payCode=").append(payCode);
+        sb.append(", payName=").append(payName);
+        sb.append(", payTransactionId=").append(payTransactionId);
+        sb.append(", batchNumbers=").append(batchNumbers);
+        sb.append(", consignee=").append(consignee);
+        sb.append(", consigneeTelephone=").append(consigneeTelephone);
+        sb.append(", consigneeAddress=").append(consigneeAddress);
+        sb.append(", consigneeDistrict=").append(consigneeDistrict);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", exField=").append(exField);
+        sb.append(", exField2=").append(exField2);
+        sb.append(", exField3=").append(exField3);
+        sb.append(", exField4=").append(exField4);
+        sb.append(", exField5=").append(exField5);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 497 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusOrderGoods.java

@@ -0,0 +1,497 @@
+package com.emato.ccnet.domain.ccnet;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusOrderGoods implements Serializable {
+
+    private static final long serialVersionUID = -1749896020080235691L;
+    /**
+     * 电子订单明细内部编号
+     */
+    private String cusOrderGoodsSn;
+
+    /**
+     * 电子订单内部编号
+     */
+    private String cusOrderSn;
+
+    /**
+     * 从 1 开始的递增序号
+     */
+    private String gnum;
+
+    /**
+     * 电商平台自定义的商品货号(SKU)
+     */
+    private String itemNo;
+
+    /**
+     * 交易平台销售商品的中文名称
+     */
+    private String itemName;
+
+    /**
+     * 交易平台销售商品的描述信息
+     */
+    private String itemDescribe;
+
+    /**
+     * 国际通用的商品条形码,一般由前缀部分、制造厂商代码、商品代码和校验码组成
+     */
+    private String barCode;
+
+    /**
+     * 填写海关标准的参数代码,参照《JGS-20 海关业务代码集》- 计量单位代码
+     */
+    private String unit;
+
+    /**
+     * 商品实际数量
+     */
+    private BigDecimal qty;
+
+    /**
+     * 商品单价。赠品单价填写为“0”
+     */
+    private BigDecimal price;
+
+    /**
+     * 商品总价,等于单价乘以数量
+     */
+    private BigDecimal totalPrice;
+
+    /**
+     * 限定为人民币,填写“142”
+     */
+    private String currency;
+
+    /**
+     * 填写海关标准的参数代码,参照《JGS-20 海关业务代码集》-国家(地区)代码表
+     */
+    private String country;
+
+    /**
+     * 保税进口必填
+     */
+    private String ciqGno;
+
+    /**
+     * 符合《中华人民共和国海关进出品税则》内列明的 10 位税号
+     */
+    private String gcode;
+
+    /**
+     * 满足海关归类、审价以及监管的要求为准。包括:品牌、规格、型号等
+     */
+    private String gmodel;
+
+    /**
+     * 保税进口必填
+     */
+    private String ciqGmodel;
+
+    /**
+     * 没有填“无
+     */
+    private String brand;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    public String getCusOrderGoodsSn() {
+        return cusOrderGoodsSn;
+    }
+
+    public void setCusOrderGoodsSn(String cusOrderGoodsSn) {
+        this.cusOrderGoodsSn = cusOrderGoodsSn;
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn;
+    }
+
+    public String getGnum() {
+        return gnum;
+    }
+
+    public void setGnum(String gnum) {
+        this.gnum = gnum;
+    }
+
+    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 getItemDescribe() {
+        return itemDescribe;
+    }
+
+    public void setItemDescribe(String itemDescribe) {
+        this.itemDescribe = itemDescribe;
+    }
+
+    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 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;
+    }
+
+    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 String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2;
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3;
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4;
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusOrderGoods other = (CusOrderGoods) that;
+        return (this.getCusOrderGoodsSn() == null ? other.getCusOrderGoodsSn() == null : this.getCusOrderGoodsSn().equals(other.getCusOrderGoodsSn()))
+            && (this.getCusOrderSn() == null ? other.getCusOrderSn() == null : this.getCusOrderSn().equals(other.getCusOrderSn()))
+            && (this.getGnum() == null ? other.getGnum() == null : this.getGnum().equals(other.getGnum()))
+            && (this.getItemNo() == null ? other.getItemNo() == null : this.getItemNo().equals(other.getItemNo()))
+            && (this.getItemName() == null ? other.getItemName() == null : this.getItemName().equals(other.getItemName()))
+            && (this.getItemDescribe() == null ? other.getItemDescribe() == null : this.getItemDescribe().equals(other.getItemDescribe()))
+            && (this.getBarCode() == null ? other.getBarCode() == null : this.getBarCode().equals(other.getBarCode()))
+            && (this.getUnit() == null ? other.getUnit() == null : this.getUnit().equals(other.getUnit()))
+            && (this.getQty() == null ? other.getQty() == null : this.getQty().equals(other.getQty()))
+            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
+            && (this.getTotalPrice() == null ? other.getTotalPrice() == null : this.getTotalPrice().equals(other.getTotalPrice()))
+            && (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
+            && (this.getCountry() == null ? other.getCountry() == null : this.getCountry().equals(other.getCountry()))
+            && (this.getCiqGno() == null ? other.getCiqGno() == null : this.getCiqGno().equals(other.getCiqGno()))
+            && (this.getGcode() == null ? other.getGcode() == null : this.getGcode().equals(other.getGcode()))
+            && (this.getGmodel() == null ? other.getGmodel() == null : this.getGmodel().equals(other.getGmodel()))
+            && (this.getCiqGmodel() == null ? other.getCiqGmodel() == null : this.getCiqGmodel().equals(other.getCiqGmodel()))
+            && (this.getBrand() == null ? other.getBrand() == null : this.getBrand().equals(other.getBrand()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()))
+            && (this.getExField() == null ? other.getExField() == null : this.getExField().equals(other.getExField()))
+            && (this.getExField2() == null ? other.getExField2() == null : this.getExField2().equals(other.getExField2()))
+            && (this.getExField3() == null ? other.getExField3() == null : this.getExField3().equals(other.getExField3()))
+            && (this.getExField4() == null ? other.getExField4() == null : this.getExField4().equals(other.getExField4()))
+            && (this.getExField5() == null ? other.getExField5() == null : this.getExField5().equals(other.getExField5()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusOrderGoodsSn() == null) ? 0 : getCusOrderGoodsSn().hashCode());
+        result = prime * result + ((getCusOrderSn() == null) ? 0 : getCusOrderSn().hashCode());
+        result = prime * result + ((getGnum() == null) ? 0 : getGnum().hashCode());
+        result = prime * result + ((getItemNo() == null) ? 0 : getItemNo().hashCode());
+        result = prime * result + ((getItemName() == null) ? 0 : getItemName().hashCode());
+        result = prime * result + ((getItemDescribe() == null) ? 0 : getItemDescribe().hashCode());
+        result = prime * result + ((getBarCode() == null) ? 0 : getBarCode().hashCode());
+        result = prime * result + ((getUnit() == null) ? 0 : getUnit().hashCode());
+        result = prime * result + ((getQty() == null) ? 0 : getQty().hashCode());
+        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
+        result = prime * result + ((getTotalPrice() == null) ? 0 : getTotalPrice().hashCode());
+        result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
+        result = prime * result + ((getCountry() == null) ? 0 : getCountry().hashCode());
+        result = prime * result + ((getCiqGno() == null) ? 0 : getCiqGno().hashCode());
+        result = prime * result + ((getGcode() == null) ? 0 : getGcode().hashCode());
+        result = prime * result + ((getGmodel() == null) ? 0 : getGmodel().hashCode());
+        result = prime * result + ((getCiqGmodel() == null) ? 0 : getCiqGmodel().hashCode());
+        result = prime * result + ((getBrand() == null) ? 0 : getBrand().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        result = prime * result + ((getExField() == null) ? 0 : getExField().hashCode());
+        result = prime * result + ((getExField2() == null) ? 0 : getExField2().hashCode());
+        result = prime * result + ((getExField3() == null) ? 0 : getExField3().hashCode());
+        result = prime * result + ((getExField4() == null) ? 0 : getExField4().hashCode());
+        result = prime * result + ((getExField5() == null) ? 0 : getExField5().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusOrderGoodsSn=").append(cusOrderGoodsSn);
+        sb.append(", cusOrderSn=").append(cusOrderSn);
+        sb.append(", gnum=").append(gnum);
+        sb.append(", itemNo=").append(itemNo);
+        sb.append(", itemName=").append(itemName);
+        sb.append(", itemDescribe=").append(itemDescribe);
+        sb.append(", barCode=").append(barCode);
+        sb.append(", unit=").append(unit);
+        sb.append(", qty=").append(qty);
+        sb.append(", price=").append(price);
+        sb.append(", totalPrice=").append(totalPrice);
+        sb.append(", currency=").append(currency);
+        sb.append(", country=").append(country);
+        sb.append(", ciqGno=").append(ciqGno);
+        sb.append(", gcode=").append(gcode);
+        sb.append(", gmodel=").append(gmodel);
+        sb.append(", ciqGmodel=").append(ciqGmodel);
+        sb.append(", brand=").append(brand);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", exField=").append(exField);
+        sb.append(", exField2=").append(exField2);
+        sb.append(", exField3=").append(exField3);
+        sb.append(", exField4=").append(exField4);
+        sb.append(", exField5=").append(exField5);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 425 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusOrderResp.java

@@ -0,0 +1,425 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusOrderResp implements Serializable {
+    private static final long serialVersionUID = 7789227795330105910L;
+    /**
+     * 电子订单回执内部编号
+     */
+    private String cusOrderRespSn;
+
+    /**
+     * 电子订单内部编号
+     */
+    private String cusOrderSn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 业务消息代码,0:成功,1:失败,2:海关申报中
+     */
+    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;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusOrderRespSn() {
+        return cusOrderRespSn;
+    }
+
+    public void setCusOrderRespSn(String cusOrderRespSn) {
+        this.cusOrderRespSn = cusOrderRespSn;
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getBizInfoCode() {
+        return bizInfoCode;
+    }
+
+    public void setBizInfoCode(String bizInfoCode) {
+        this.bizInfoCode = bizInfoCode;
+    }
+
+    public String getBizInfoDesc() {
+        return bizInfoDesc;
+    }
+
+    public void setBizInfoDesc(String bizInfoDesc) {
+        this.bizInfoDesc = bizInfoDesc;
+    }
+
+    public String getPlatRespCode() {
+        return platRespCode;
+    }
+
+    public void setPlatRespCode(String platRespCode) {
+        this.platRespCode = platRespCode;
+    }
+
+    public String getPlatRespDesc() {
+        return platRespDesc;
+    }
+
+    public void setPlatRespDesc(String platRespDesc) {
+        this.platRespDesc = platRespDesc;
+    }
+
+    public String getCusRespCode() {
+        return cusRespCode;
+    }
+
+    public void setCusRespCode(String cusRespCode) {
+        this.cusRespCode = cusRespCode;
+    }
+
+    public String getCusRespDesc() {
+        return cusRespDesc;
+    }
+
+    public void setCusRespDesc(String cusRespDesc) {
+        this.cusRespDesc = cusRespDesc;
+    }
+
+    public String getCiqRespCode() {
+        return ciqRespCode;
+    }
+
+    public void setCiqRespCode(String ciqRespCode) {
+        this.ciqRespCode = ciqRespCode;
+    }
+
+    public String getCiqRespDesc() {
+        return ciqRespDesc;
+    }
+
+    public void setCiqRespDesc(String ciqRespDesc) {
+        this.ciqRespDesc = ciqRespDesc;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusOrderResp other = (CusOrderResp) that;
+        return (this.getCusOrderRespSn() == null ? other.getCusOrderRespSn() == null : this.getCusOrderRespSn().equals(other.getCusOrderRespSn()))
+            && (this.getCusOrderSn() == null ? other.getCusOrderSn() == null : this.getCusOrderSn().equals(other.getCusOrderSn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getBizInfoCode() == null ? other.getBizInfoCode() == null : this.getBizInfoCode().equals(other.getBizInfoCode()))
+            && (this.getBizInfoDesc() == null ? other.getBizInfoDesc() == null : this.getBizInfoDesc().equals(other.getBizInfoDesc()))
+            && (this.getPlatRespCode() == null ? other.getPlatRespCode() == null : this.getPlatRespCode().equals(other.getPlatRespCode()))
+            && (this.getPlatRespDesc() == null ? other.getPlatRespDesc() == null : this.getPlatRespDesc().equals(other.getPlatRespDesc()))
+            && (this.getCusRespCode() == null ? other.getCusRespCode() == null : this.getCusRespCode().equals(other.getCusRespCode()))
+            && (this.getCusRespDesc() == null ? other.getCusRespDesc() == null : this.getCusRespDesc().equals(other.getCusRespDesc()))
+            && (this.getCiqRespCode() == null ? other.getCiqRespCode() == null : this.getCiqRespCode().equals(other.getCiqRespCode()))
+            && (this.getCiqRespDesc() == null ? other.getCiqRespDesc() == null : this.getCiqRespDesc().equals(other.getCiqRespDesc()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusOrderRespSn() == null) ? 0 : getCusOrderRespSn().hashCode());
+        result = prime * result + ((getCusOrderSn() == null) ? 0 : getCusOrderSn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getBizInfoCode() == null) ? 0 : getBizInfoCode().hashCode());
+        result = prime * result + ((getBizInfoDesc() == null) ? 0 : getBizInfoDesc().hashCode());
+        result = prime * result + ((getPlatRespCode() == null) ? 0 : getPlatRespCode().hashCode());
+        result = prime * result + ((getPlatRespDesc() == null) ? 0 : getPlatRespDesc().hashCode());
+        result = prime * result + ((getCusRespCode() == null) ? 0 : getCusRespCode().hashCode());
+        result = prime * result + ((getCusRespDesc() == null) ? 0 : getCusRespDesc().hashCode());
+        result = prime * result + ((getCiqRespCode() == null) ? 0 : getCiqRespCode().hashCode());
+        result = prime * result + ((getCiqRespDesc() == null) ? 0 : getCiqRespDesc().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusOrderRespSn=").append(cusOrderRespSn);
+        sb.append(", cusOrderSn=").append(cusOrderSn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", bizInfoCode=").append(bizInfoCode);
+        sb.append(", bizInfoDesc=").append(bizInfoDesc);
+        sb.append(", platRespCode=").append(platRespCode);
+        sb.append(", platRespDesc=").append(platRespDesc);
+        sb.append(", cusRespCode=").append(cusRespCode);
+        sb.append(", cusRespDesc=").append(cusRespDesc);
+        sb.append(", ciqRespCode=").append(ciqRespCode);
+        sb.append(", ciqRespDesc=").append(ciqRespDesc);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 346 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusOrderSend.java

@@ -0,0 +1,346 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusOrderSend implements Serializable {
+    private static final long serialVersionUID = 2978556525525688699L;
+    /**
+     * 电子订单单发送内部编号
+     */
+    private String cusOrderSendSn;
+
+    /**
+     * 电子订单内部编号
+     */
+    private String cusOrderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 平台回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String platRespStatus;
+
+    /**
+     * 海关回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cusRespStatus;
+
+    /**
+     * 国检回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cipRespStatus;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusOrderSendSn() {
+        return cusOrderSendSn;
+    }
+
+    public void setCusOrderSendSn(String cusOrderSendSn) {
+        this.cusOrderSendSn = cusOrderSendSn;
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getPlatRespStatus() {
+        return platRespStatus;
+    }
+
+    public void setPlatRespStatus(String platRespStatus) {
+        this.platRespStatus = platRespStatus;
+    }
+
+    public String getCusRespStatus() {
+        return cusRespStatus;
+    }
+
+    public void setCusRespStatus(String cusRespStatus) {
+        this.cusRespStatus = cusRespStatus;
+    }
+
+    public String getCipRespStatus() {
+        return cipRespStatus;
+    }
+
+    public void setCipRespStatus(String cipRespStatus) {
+        this.cipRespStatus = cipRespStatus;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusOrderSend other = (CusOrderSend) that;
+        return (this.getCusOrderSendSn() == null ? other.getCusOrderSendSn() == null : this.getCusOrderSendSn().equals(other.getCusOrderSendSn()))
+            && (this.getCusOrderSn() == null ? other.getCusOrderSn() == null : this.getCusOrderSn().equals(other.getCusOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getPlatRespStatus() == null ? other.getPlatRespStatus() == null : this.getPlatRespStatus().equals(other.getPlatRespStatus()))
+            && (this.getCusRespStatus() == null ? other.getCusRespStatus() == null : this.getCusRespStatus().equals(other.getCusRespStatus()))
+            && (this.getCipRespStatus() == null ? other.getCipRespStatus() == null : this.getCipRespStatus().equals(other.getCipRespStatus()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusOrderSendSn() == null) ? 0 : getCusOrderSendSn().hashCode());
+        result = prime * result + ((getCusOrderSn() == null) ? 0 : getCusOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getPlatRespStatus() == null) ? 0 : getPlatRespStatus().hashCode());
+        result = prime * result + ((getCusRespStatus() == null) ? 0 : getCusRespStatus().hashCode());
+        result = prime * result + ((getCipRespStatus() == null) ? 0 : getCipRespStatus().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusOrderSendSn=").append(cusOrderSendSn);
+        sb.append(", cusOrderSn=").append(cusOrderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", platRespStatus=").append(platRespStatus);
+        sb.append(", cusRespStatus=").append(cusRespStatus);
+        sb.append(", cipRespStatus=").append(cipRespStatus);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 362 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusOrderStatus.java

@@ -0,0 +1,362 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusOrderStatus implements Serializable {
+    private static final long serialVersionUID = -9099710367174544357L;
+    /**
+     * 电子订单状态内部编号
+     */
+    private String cusOrderStatusSn;
+
+    /**
+     * 电子订单内部编号
+     */
+    private String cusOrderSn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 平台回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String platRespStatus;
+
+    /**
+     * 海关回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cusRespStatus;
+
+    /**
+     * 国检回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cipRespStatus;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusOrderStatusSn() {
+        return cusOrderStatusSn;
+    }
+
+    public void setCusOrderStatusSn(String cusOrderStatusSn) {
+        this.cusOrderStatusSn = cusOrderStatusSn;
+    }
+
+    public String getCusOrderSn() {
+        return cusOrderSn;
+    }
+
+    public void setCusOrderSn(String cusOrderSn) {
+        this.cusOrderSn = cusOrderSn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getPlatRespStatus() {
+        return platRespStatus;
+    }
+
+    public void setPlatRespStatus(String platRespStatus) {
+        this.platRespStatus = platRespStatus;
+    }
+
+    public String getCusRespStatus() {
+        return cusRespStatus;
+    }
+
+    public void setCusRespStatus(String cusRespStatus) {
+        this.cusRespStatus = cusRespStatus;
+    }
+
+    public String getCipRespStatus() {
+        return cipRespStatus;
+    }
+
+    public void setCipRespStatus(String cipRespStatus) {
+        this.cipRespStatus = cipRespStatus;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusOrderStatus other = (CusOrderStatus) that;
+        return (this.getCusOrderStatusSn() == null ? other.getCusOrderStatusSn() == null : this.getCusOrderStatusSn().equals(other.getCusOrderStatusSn()))
+            && (this.getCusOrderSn() == null ? other.getCusOrderSn() == null : this.getCusOrderSn().equals(other.getCusOrderSn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getPlatRespStatus() == null ? other.getPlatRespStatus() == null : this.getPlatRespStatus().equals(other.getPlatRespStatus()))
+            && (this.getCusRespStatus() == null ? other.getCusRespStatus() == null : this.getCusRespStatus().equals(other.getCusRespStatus()))
+            && (this.getCipRespStatus() == null ? other.getCipRespStatus() == null : this.getCipRespStatus().equals(other.getCipRespStatus()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusOrderStatusSn() == null) ? 0 : getCusOrderStatusSn().hashCode());
+        result = prime * result + ((getCusOrderSn() == null) ? 0 : getCusOrderSn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getPlatRespStatus() == null) ? 0 : getPlatRespStatus().hashCode());
+        result = prime * result + ((getCusRespStatus() == null) ? 0 : getCusRespStatus().hashCode());
+        result = prime * result + ((getCipRespStatus() == null) ? 0 : getCipRespStatus().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusOrderStatusSn=").append(cusOrderStatusSn);
+        sb.append(", cusOrderSn=").append(cusOrderSn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", platRespStatus=").append(platRespStatus);
+        sb.append(", cusRespStatus=").append(cusRespStatus);
+        sb.append(", cipRespStatus=").append(cipRespStatus);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 660 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusPayment.java

@@ -0,0 +1,660 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusPayment implements Serializable {
+    private static final long serialVersionUID = 7377406656664425862L;
+    /**
+     * 支付单(直接)内部编号
+     */
+    private String cusDirectPaySn;
+
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 订单状态,00:待发送,01:发送中,02:发送失败,03:发送成功,98:退单,99:取消
+     */
+    private String orderStatus;
+
+    /**
+     * 商户下单时间,yyyyMMddHHmmss
+     */
+    private Date placeOrderlTime;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 申报类型:1-新增 2-修改 
+     */
+    private String appType;
+
+    /**
+     * 企业报送时间。格式:YYYYMMDDhhmmss。
+            
+     */
+    private String appTime;
+
+    /**
+     * 业务状态:1-暂存,2-申报,默认为 2
+     */
+    private String appStatus;
+
+    /**
+     * 支付企业的海关注册登记编号。
+     */
+    private String payCode;
+
+    /**
+     * 支付企业在海关注册登记的名称
+     */
+    private String payName;
+
+    /**
+     * 支付企业唯一的支付流水号
+     */
+    private String payTransactionId;
+
+    /**
+     * 电商平台的海关注册登记编号;电商平
+            台未在海关注册登记,由电商企业发送
+            订单的,以中国电子口岸发布的电商平
+            台标识编号为准。
+     */
+    private String ebpCode;
+
+    /**
+     * 电商平台的海关注册登记名称;电商平
+            台未在海关注册登记,由电商企业发送
+            订单的,以中国电子口岸发布的电商平
+            台名称为准。
+     */
+    private String ebpName;
+
+    /**
+     * 1-身份证,2-其它。限定为身份证,填写
+            “1”。
+     */
+    private String payerIdType;
+
+    /**
+     * 支付人的身份证件号码。
+     */
+    private String payerIdNumber;
+
+    /**
+     * 支付人的真实姓名。 
+     */
+    private String payerName;
+
+    /**
+     * 支付人的电话号码。
+     */
+    private String telephone;
+
+    /**
+     * 支付金额。 是
+     */
+    private BigDecimal amountPaid;
+
+    /**
+     * 限定为人民币,填写“142”
+     */
+    private String currency;
+
+    /**
+     * 支付时间,格式:YYYYMMDDhhmmss
+     */
+    private String payTime;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    public String getCusDirectPaySn() {
+        return cusDirectPaySn;
+    }
+
+    public void setCusDirectPaySn(String cusDirectPaySn) {
+        this.cusDirectPaySn = cusDirectPaySn;
+    }
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getOrderStatus() {
+        return orderStatus;
+    }
+
+    public void setOrderStatus(String orderStatus) {
+        this.orderStatus = orderStatus;
+    }
+
+    public Date getPlaceOrderlTime() {
+        return placeOrderlTime;
+    }
+
+    public void setPlaceOrderlTime(Date placeOrderlTime) {
+        this.placeOrderlTime = placeOrderlTime;
+    }
+
+    public String getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getAppType() {
+        return appType;
+    }
+
+    public void setAppType(String appType) {
+        this.appType = appType;
+    }
+
+    public String getAppTime() {
+        return appTime;
+    }
+
+    public void setAppTime(String appTime) {
+        this.appTime = appTime;
+    }
+
+    public String getAppStatus() {
+        return appStatus;
+    }
+
+    public void setAppStatus(String appStatus) {
+        this.appStatus = appStatus;
+    }
+
+    public String getPayCode() {
+        return payCode;
+    }
+
+    public void setPayCode(String payCode) {
+        this.payCode = payCode;
+    }
+
+    public String getPayName() {
+        return payName;
+    }
+
+    public void setPayName(String payName) {
+        this.payName = payName;
+    }
+
+    public String getPayTransactionId() {
+        return payTransactionId;
+    }
+
+    public void setPayTransactionId(String payTransactionId) {
+        this.payTransactionId = payTransactionId;
+    }
+
+    public String getEbpCode() {
+        return ebpCode;
+    }
+
+    public void setEbpCode(String ebpCode) {
+        this.ebpCode = ebpCode;
+    }
+
+    public String getEbpName() {
+        return ebpName;
+    }
+
+    public void setEbpName(String ebpName) {
+        this.ebpName = ebpName;
+    }
+
+    public String getPayerIdType() {
+        return payerIdType;
+    }
+
+    public void setPayerIdType(String payerIdType) {
+        this.payerIdType = payerIdType;
+    }
+
+    public String getPayerIdNumber() {
+        return payerIdNumber;
+    }
+
+    public void setPayerIdNumber(String payerIdNumber) {
+        this.payerIdNumber = payerIdNumber;
+    }
+
+    public String getPayerName() {
+        return payerName;
+    }
+
+    public void setPayerName(String payerName) {
+        this.payerName = payerName;
+    }
+
+    public String getTelephone() {
+        return telephone;
+    }
+
+    public void setTelephone(String telephone) {
+        this.telephone = telephone;
+    }
+
+    public BigDecimal getAmountPaid() {
+        return amountPaid;
+    }
+
+    public void setAmountPaid(BigDecimal amountPaid) {
+        this.amountPaid = amountPaid;
+    }
+
+    public String getCurrency() {
+        return currency;
+    }
+
+    public void setCurrency(String currency) {
+        this.currency = currency;
+    }
+
+    public String getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(String payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2;
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3;
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4;
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusPayment other = (CusPayment) that;
+        return (this.getCusDirectPaySn() == null ? other.getCusDirectPaySn() == null : this.getCusDirectPaySn().equals(other.getCusDirectPaySn()))
+            && (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getOrderStatus() == null ? other.getOrderStatus() == null : this.getOrderStatus().equals(other.getOrderStatus()))
+            && (this.getPlaceOrderlTime() == null ? other.getPlaceOrderlTime() == null : this.getPlaceOrderlTime().equals(other.getPlaceOrderlTime()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getAppType() == null ? other.getAppType() == null : this.getAppType().equals(other.getAppType()))
+            && (this.getAppTime() == null ? other.getAppTime() == null : this.getAppTime().equals(other.getAppTime()))
+            && (this.getAppStatus() == null ? other.getAppStatus() == null : this.getAppStatus().equals(other.getAppStatus()))
+            && (this.getPayCode() == null ? other.getPayCode() == null : this.getPayCode().equals(other.getPayCode()))
+            && (this.getPayName() == null ? other.getPayName() == null : this.getPayName().equals(other.getPayName()))
+            && (this.getPayTransactionId() == null ? other.getPayTransactionId() == null : this.getPayTransactionId().equals(other.getPayTransactionId()))
+            && (this.getEbpCode() == null ? other.getEbpCode() == null : this.getEbpCode().equals(other.getEbpCode()))
+            && (this.getEbpName() == null ? other.getEbpName() == null : this.getEbpName().equals(other.getEbpName()))
+            && (this.getPayerIdType() == null ? other.getPayerIdType() == null : this.getPayerIdType().equals(other.getPayerIdType()))
+            && (this.getPayerIdNumber() == null ? other.getPayerIdNumber() == null : this.getPayerIdNumber().equals(other.getPayerIdNumber()))
+            && (this.getPayerName() == null ? other.getPayerName() == null : this.getPayerName().equals(other.getPayerName()))
+            && (this.getTelephone() == null ? other.getTelephone() == null : this.getTelephone().equals(other.getTelephone()))
+            && (this.getAmountPaid() == null ? other.getAmountPaid() == null : this.getAmountPaid().equals(other.getAmountPaid()))
+            && (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
+            && (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()))
+            && (this.getExField() == null ? other.getExField() == null : this.getExField().equals(other.getExField()))
+            && (this.getExField2() == null ? other.getExField2() == null : this.getExField2().equals(other.getExField2()))
+            && (this.getExField3() == null ? other.getExField3() == null : this.getExField3().equals(other.getExField3()))
+            && (this.getExField4() == null ? other.getExField4() == null : this.getExField4().equals(other.getExField4()))
+            && (this.getExField5() == null ? other.getExField5() == null : this.getExField5().equals(other.getExField5()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusDirectPaySn() == null) ? 0 : getCusDirectPaySn().hashCode());
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getOrderStatus() == null) ? 0 : getOrderStatus().hashCode());
+        result = prime * result + ((getPlaceOrderlTime() == null) ? 0 : getPlaceOrderlTime().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getAppType() == null) ? 0 : getAppType().hashCode());
+        result = prime * result + ((getAppTime() == null) ? 0 : getAppTime().hashCode());
+        result = prime * result + ((getAppStatus() == null) ? 0 : getAppStatus().hashCode());
+        result = prime * result + ((getPayCode() == null) ? 0 : getPayCode().hashCode());
+        result = prime * result + ((getPayName() == null) ? 0 : getPayName().hashCode());
+        result = prime * result + ((getPayTransactionId() == null) ? 0 : getPayTransactionId().hashCode());
+        result = prime * result + ((getEbpCode() == null) ? 0 : getEbpCode().hashCode());
+        result = prime * result + ((getEbpName() == null) ? 0 : getEbpName().hashCode());
+        result = prime * result + ((getPayerIdType() == null) ? 0 : getPayerIdType().hashCode());
+        result = prime * result + ((getPayerIdNumber() == null) ? 0 : getPayerIdNumber().hashCode());
+        result = prime * result + ((getPayerName() == null) ? 0 : getPayerName().hashCode());
+        result = prime * result + ((getTelephone() == null) ? 0 : getTelephone().hashCode());
+        result = prime * result + ((getAmountPaid() == null) ? 0 : getAmountPaid().hashCode());
+        result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
+        result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        result = prime * result + ((getExField() == null) ? 0 : getExField().hashCode());
+        result = prime * result + ((getExField2() == null) ? 0 : getExField2().hashCode());
+        result = prime * result + ((getExField3() == null) ? 0 : getExField3().hashCode());
+        result = prime * result + ((getExField4() == null) ? 0 : getExField4().hashCode());
+        result = prime * result + ((getExField5() == null) ? 0 : getExField5().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusDirectPaySn=").append(cusDirectPaySn);
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", orderStatus=").append(orderStatus);
+        sb.append(", placeOrderlTime=").append(placeOrderlTime);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", appType=").append(appType);
+        sb.append(", appTime=").append(appTime);
+        sb.append(", appStatus=").append(appStatus);
+        sb.append(", payCode=").append(payCode);
+        sb.append(", payName=").append(payName);
+        sb.append(", payTransactionId=").append(payTransactionId);
+        sb.append(", ebpCode=").append(ebpCode);
+        sb.append(", ebpName=").append(ebpName);
+        sb.append(", payerIdType=").append(payerIdType);
+        sb.append(", payerIdNumber=").append(payerIdNumber);
+        sb.append(", payerName=").append(payerName);
+        sb.append(", telephone=").append(telephone);
+        sb.append(", amountPaid=").append(amountPaid);
+        sb.append(", currency=").append(currency);
+        sb.append(", payTime=").append(payTime);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", exField=").append(exField);
+        sb.append(", exField2=").append(exField2);
+        sb.append(", exField3=").append(exField3);
+        sb.append(", exField4=").append(exField4);
+        sb.append(", exField5=").append(exField5);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 250 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentCollect.java

@@ -0,0 +1,250 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusPaymentCollect implements Serializable {
+    private static final long serialVersionUID = -9093310969448927952L;
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 支付企业唯一的支付流水号
+     */
+    private String payTransactionId;
+
+    /**
+     * 支付公司标识,00:支付宝,10:微信,20:工行
+     */
+    private String payCompanyFlag;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn;
+    }
+
+    public String getThirdPartyMerchCode() {
+        return thirdPartyMerchCode;
+    }
+
+    public void setThirdPartyMerchCode(String thirdPartyMerchCode) {
+        this.thirdPartyMerchCode = thirdPartyMerchCode;
+    }
+
+    public String getPayTransactionId() {
+        return payTransactionId;
+    }
+
+    public void setPayTransactionId(String payTransactionId) {
+        this.payTransactionId = payTransactionId;
+    }
+
+    public String getPayCompanyFlag() {
+        return payCompanyFlag;
+    }
+
+    public void setPayCompanyFlag(String payCompanyFlag) {
+        this.payCompanyFlag = payCompanyFlag;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusPaymentCollect other = (CusPaymentCollect) that;
+        return (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getPayTransactionId() == null ? other.getPayTransactionId() == null : this.getPayTransactionId().equals(other.getPayTransactionId()))
+            && (this.getPayCompanyFlag() == null ? other.getPayCompanyFlag() == null : this.getPayCompanyFlag().equals(other.getPayCompanyFlag()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getPayTransactionId() == null) ? 0 : getPayTransactionId().hashCode());
+        result = prime * result + ((getPayCompanyFlag() == null) ? 0 : getPayCompanyFlag().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", payTransactionId=").append(payTransactionId);
+        sb.append(", payCompanyFlag=").append(payCompanyFlag);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 426 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentResp.java

@@ -0,0 +1,426 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusPaymentResp implements Serializable {
+    private static final long serialVersionUID = -3129561190878242786L;
+    /**
+     * 支付单回执内部编号
+     */
+    private String cusPayRespSn;
+
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 业务消息代码,0:成功,1:失败,2:海关申报中
+     */
+    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;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusPayRespSn() {
+        return cusPayRespSn;
+    }
+
+    public void setCusPayRespSn(String cusPayRespSn) {
+        this.cusPayRespSn = cusPayRespSn;
+    }
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getBizInfoCode() {
+        return bizInfoCode;
+    }
+
+    public void setBizInfoCode(String bizInfoCode) {
+        this.bizInfoCode = bizInfoCode;
+    }
+
+    public String getBizInfoDesc() {
+        return bizInfoDesc;
+    }
+
+    public void setBizInfoDesc(String bizInfoDesc) {
+        this.bizInfoDesc = bizInfoDesc;
+    }
+
+    public String getPlatRespCode() {
+        return platRespCode;
+    }
+
+    public void setPlatRespCode(String platRespCode) {
+        this.platRespCode = platRespCode;
+    }
+
+    public String getPlatRespDesc() {
+        return platRespDesc;
+    }
+
+    public void setPlatRespDesc(String platRespDesc) {
+        this.platRespDesc = platRespDesc;
+    }
+
+    public String getCusRespCode() {
+        return cusRespCode;
+    }
+
+    public void setCusRespCode(String cusRespCode) {
+        this.cusRespCode = cusRespCode;
+    }
+
+    public String getCusRespDesc() {
+        return cusRespDesc;
+    }
+
+    public void setCusRespDesc(String cusRespDesc) {
+        this.cusRespDesc = cusRespDesc;
+    }
+
+    public String getCiqRespCode() {
+        return ciqRespCode;
+    }
+
+    public void setCiqRespCode(String ciqRespCode) {
+        this.ciqRespCode = ciqRespCode;
+    }
+
+    public String getCiqRespDesc() {
+        return ciqRespDesc;
+    }
+
+    public void setCiqRespDesc(String ciqRespDesc) {
+        this.ciqRespDesc = ciqRespDesc;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusPaymentResp other = (CusPaymentResp) that;
+        return (this.getCusPayRespSn() == null ? other.getCusPayRespSn() == null : this.getCusPayRespSn().equals(other.getCusPayRespSn()))
+            && (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getBizInfoCode() == null ? other.getBizInfoCode() == null : this.getBizInfoCode().equals(other.getBizInfoCode()))
+            && (this.getBizInfoDesc() == null ? other.getBizInfoDesc() == null : this.getBizInfoDesc().equals(other.getBizInfoDesc()))
+            && (this.getPlatRespCode() == null ? other.getPlatRespCode() == null : this.getPlatRespCode().equals(other.getPlatRespCode()))
+            && (this.getPlatRespDesc() == null ? other.getPlatRespDesc() == null : this.getPlatRespDesc().equals(other.getPlatRespDesc()))
+            && (this.getCusRespCode() == null ? other.getCusRespCode() == null : this.getCusRespCode().equals(other.getCusRespCode()))
+            && (this.getCusRespDesc() == null ? other.getCusRespDesc() == null : this.getCusRespDesc().equals(other.getCusRespDesc()))
+            && (this.getCiqRespCode() == null ? other.getCiqRespCode() == null : this.getCiqRespCode().equals(other.getCiqRespCode()))
+            && (this.getCiqRespDesc() == null ? other.getCiqRespDesc() == null : this.getCiqRespDesc().equals(other.getCiqRespDesc()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusPayRespSn() == null) ? 0 : getCusPayRespSn().hashCode());
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getBizInfoCode() == null) ? 0 : getBizInfoCode().hashCode());
+        result = prime * result + ((getBizInfoDesc() == null) ? 0 : getBizInfoDesc().hashCode());
+        result = prime * result + ((getPlatRespCode() == null) ? 0 : getPlatRespCode().hashCode());
+        result = prime * result + ((getPlatRespDesc() == null) ? 0 : getPlatRespDesc().hashCode());
+        result = prime * result + ((getCusRespCode() == null) ? 0 : getCusRespCode().hashCode());
+        result = prime * result + ((getCusRespDesc() == null) ? 0 : getCusRespDesc().hashCode());
+        result = prime * result + ((getCiqRespCode() == null) ? 0 : getCiqRespCode().hashCode());
+        result = prime * result + ((getCiqRespDesc() == null) ? 0 : getCiqRespDesc().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusPayRespSn=").append(cusPayRespSn);
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", bizInfoCode=").append(bizInfoCode);
+        sb.append(", bizInfoDesc=").append(bizInfoDesc);
+        sb.append(", platRespCode=").append(platRespCode);
+        sb.append(", platRespDesc=").append(platRespDesc);
+        sb.append(", cusRespCode=").append(cusRespCode);
+        sb.append(", cusRespDesc=").append(cusRespDesc);
+        sb.append(", ciqRespCode=").append(ciqRespCode);
+        sb.append(", ciqRespDesc=").append(ciqRespDesc);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 346 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentSend.java

@@ -0,0 +1,346 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusPaymentSend implements Serializable {
+    private static final long serialVersionUID = 9221833114547534302L;
+    /**
+     * 支付单发送内部编号
+     */
+    private String cusPaySendSn;
+
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 平台回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String platRespStatus;
+
+    /**
+     * 海关回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cusRespStatus;
+
+    /**
+     * 国检回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cipRespStatus;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusPaySendSn() {
+        return cusPaySendSn;
+    }
+
+    public void setCusPaySendSn(String cusPaySendSn) {
+        this.cusPaySendSn = cusPaySendSn;
+    }
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getPlatRespStatus() {
+        return platRespStatus;
+    }
+
+    public void setPlatRespStatus(String platRespStatus) {
+        this.platRespStatus = platRespStatus;
+    }
+
+    public String getCusRespStatus() {
+        return cusRespStatus;
+    }
+
+    public void setCusRespStatus(String cusRespStatus) {
+        this.cusRespStatus = cusRespStatus;
+    }
+
+    public String getCipRespStatus() {
+        return cipRespStatus;
+    }
+
+    public void setCipRespStatus(String cipRespStatus) {
+        this.cipRespStatus = cipRespStatus;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusPaymentSend other = (CusPaymentSend) that;
+        return (this.getCusPaySendSn() == null ? other.getCusPaySendSn() == null : this.getCusPaySendSn().equals(other.getCusPaySendSn()))
+            && (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getPlatRespStatus() == null ? other.getPlatRespStatus() == null : this.getPlatRespStatus().equals(other.getPlatRespStatus()))
+            && (this.getCusRespStatus() == null ? other.getCusRespStatus() == null : this.getCusRespStatus().equals(other.getCusRespStatus()))
+            && (this.getCipRespStatus() == null ? other.getCipRespStatus() == null : this.getCipRespStatus().equals(other.getCipRespStatus()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusPaySendSn() == null) ? 0 : getCusPaySendSn().hashCode());
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getPlatRespStatus() == null) ? 0 : getPlatRespStatus().hashCode());
+        result = prime * result + ((getCusRespStatus() == null) ? 0 : getCusRespStatus().hashCode());
+        result = prime * result + ((getCipRespStatus() == null) ? 0 : getCipRespStatus().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusPaySendSn=").append(cusPaySendSn);
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", platRespStatus=").append(platRespStatus);
+        sb.append(", cusRespStatus=").append(cusRespStatus);
+        sb.append(", cipRespStatus=").append(cipRespStatus);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 362 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusPaymentStatus.java

@@ -0,0 +1,362 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusPaymentStatus implements Serializable {
+    private static final long serialVersionUID = -8285848536111902783L;
+    /**
+     * 支付单状态内部编号
+     */
+    private String cusPayStatusSn;
+
+    /**
+     * 支付单内部编号
+     */
+    private String cusPaySn;
+
+    /**
+     * ccnet订单编号,20位
+     */
+    private String orderSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 平台回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String platRespStatus;
+
+    /**
+     * 海关回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cusRespStatus;
+
+    /**
+     * 国检回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String cipRespStatus;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusPayStatusSn() {
+        return cusPayStatusSn;
+    }
+
+    public void setCusPayStatusSn(String cusPayStatusSn) {
+        this.cusPayStatusSn = cusPayStatusSn;
+    }
+
+    public String getCusPaySn() {
+        return cusPaySn;
+    }
+
+    public void setCusPaySn(String cusPaySn) {
+        this.cusPaySn = cusPaySn;
+    }
+
+    public String getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getPlatRespStatus() {
+        return platRespStatus;
+    }
+
+    public void setPlatRespStatus(String platRespStatus) {
+        this.platRespStatus = platRespStatus;
+    }
+
+    public String getCusRespStatus() {
+        return cusRespStatus;
+    }
+
+    public void setCusRespStatus(String cusRespStatus) {
+        this.cusRespStatus = cusRespStatus;
+    }
+
+    public String getCipRespStatus() {
+        return cipRespStatus;
+    }
+
+    public void setCipRespStatus(String cipRespStatus) {
+        this.cipRespStatus = cipRespStatus;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusPaymentStatus other = (CusPaymentStatus) that;
+        return (this.getCusPayStatusSn() == null ? other.getCusPayStatusSn() == null : this.getCusPayStatusSn().equals(other.getCusPayStatusSn()))
+            && (this.getCusPaySn() == null ? other.getCusPaySn() == null : this.getCusPaySn().equals(other.getCusPaySn()))
+            && (this.getOrderSn() == null ? other.getOrderSn() == null : this.getOrderSn().equals(other.getOrderSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getPlatRespStatus() == null ? other.getPlatRespStatus() == null : this.getPlatRespStatus().equals(other.getPlatRespStatus()))
+            && (this.getCusRespStatus() == null ? other.getCusRespStatus() == null : this.getCusRespStatus().equals(other.getCusRespStatus()))
+            && (this.getCipRespStatus() == null ? other.getCipRespStatus() == null : this.getCipRespStatus().equals(other.getCipRespStatus()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusPayStatusSn() == null) ? 0 : getCusPayStatusSn().hashCode());
+        result = prime * result + ((getCusPaySn() == null) ? 0 : getCusPaySn().hashCode());
+        result = prime * result + ((getOrderSn() == null) ? 0 : getOrderSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getPlatRespStatus() == null) ? 0 : getPlatRespStatus().hashCode());
+        result = prime * result + ((getCusRespStatus() == null) ? 0 : getCusRespStatus().hashCode());
+        result = prime * result + ((getCipRespStatus() == null) ? 0 : getCipRespStatus().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusPayStatusSn=").append(cusPayStatusSn);
+        sb.append(", cusPaySn=").append(cusPaySn);
+        sb.append(", orderSn=").append(orderSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", platRespStatus=").append(platRespStatus);
+        sb.append(", cusRespStatus=").append(cusRespStatus);
+        sb.append(", cipRespStatus=").append(cipRespStatus);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 899 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusWaybill.java

@@ -0,0 +1,899 @@
+package com.emato.ccnet.domain.ccnet;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusWaybill implements Serializable {
+    private static final long serialVersionUID = -1569417785173319489L;
+    /**
+     * 运单内部编号
+     */
+    private String cusWaybillSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 商户下单时间,yyyyMMddHHmmss
+     */
+    @JsonFormat(pattern = "yyyyMMddHHmmss")
+    private Date placeOrderlTime;
+
+    /**
+     * 是否自动发送,商户传入,如果为空,默认为0,0:是,1:否
+     */
+    private String autoSend = "0";
+
+    /**
+     * 订购人下单时间 yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date buyerBillTime;
+
+    /**
+     * 订购人证件类型,限定为1,1:身份证,2:其它
+     */
+    private String buyerIdType = "1";
+
+    /**
+     * 订购人证件号码
+     */
+    private String buyerIdCode;
+
+    /**
+     * 订购人姓名
+     */
+    private String buyerName;
+
+    /**
+     * 订购人手机
+     */
+    private String buyerMob;
+
+    /**
+     * 订购人电话
+     */
+    private String buyerTel;
+
+    /**
+     * 收件人证件类型,如果为空,默认为订购人证件类型,限定为1,1:身份证,2:其它
+     */
+    private String consigneeIdType = "1";
+
+    /**
+     * 收件人证件号码,如果为空,默认为订购人证件号码
+     */
+    private String consigneeIdCode;
+
+    /**
+     * 收件人名称,必须与电子运单收货人姓名一致
+     */
+    private String consigneeName;
+
+    /**
+     * 收件人手机
+     */
+    private String consigneeMob;
+
+    /**
+     * 收件人电话
+     */
+    private String consigneeTel;
+
+    /**
+     * 收件人国家代码
+     */
+    private String consigneeCountryCode = "142";
+
+    /**
+     * 收件人省份代码,海关区划代码
+     */
+    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;
+
+    /**
+     * 支付人证件类型,如果为空,默认为订购人证件类型,限定为1,1:身份证,2:其它
+     */
+    private String payerIdType = "1";
+
+    /**
+     * 支付人证件号码
+     */
+    private String payerIdCode;
+
+    /**
+     * 支付人手机
+     */
+    private String payerMob;
+
+    /**
+     * 支付人电话
+     */
+    private String payerTel;
+
+    /**
+     * 支付企业海关备案编号
+     */
+    private String payEntCusCode;
+
+    /**
+     * 支付流水号
+     */
+    private String payNo;
+
+    /**
+     * 实际支付金额,海关要求每单不超过2000元
+     */
+    private BigDecimal acturalPaid;
+
+    /**
+     * 支付时间,yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date payTime;
+
+    /**
+     * 运费,商品运输费用,无则填0,目前申报海关填0
+     */
+    private BigDecimal exprFee = new BigDecimal(0);
+
+    /**
+     * 保价费,商品保险费用,无则填0,目前申报海关填0
+     */
+    private BigDecimal insuredFee = new BigDecimal(0);
+
+    /**
+     * 申报行邮税(未使用)
+     */
+    private BigDecimal postTax;
+
+    /**
+     * 币制代码,海关编码,限定人民币142
+     */
+    private String currencyCode = "142";
+
+    /**
+     * 订购人备注
+     */
+    private String buyerRemark;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 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;
+    }
+
+    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;
+    }
+
+    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 getBuyerMob() {
+        return buyerMob;
+    }
+
+    public void setBuyerMob(String buyerMob) {
+        this.buyerMob = buyerMob;
+    }
+
+    public String getBuyerTel() {
+        return buyerTel;
+    }
+
+    public void setBuyerTel(String buyerTel) {
+        this.buyerTel = buyerTel;
+    }
+
+    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 getPayerName() {
+        return payerName;
+    }
+
+    public void setPayerName(String payerName) {
+        this.payerName = payerName;
+    }
+
+    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 getPayerMob() {
+        return payerMob;
+    }
+
+    public void setPayerMob(String payerMob) {
+        this.payerMob = payerMob;
+    }
+
+    public String getPayerTel() {
+        return payerTel;
+    }
+
+    public void setPayerTel(String payerTel) {
+        this.payerTel = payerTel;
+    }
+
+    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 BigDecimal getExprFee() {
+        return exprFee;
+    }
+
+    public void setExprFee(BigDecimal exprFee) {
+        this.exprFee = exprFee;
+    }
+
+    public BigDecimal getInsuredFee() {
+        return insuredFee;
+    }
+
+    public void setInsuredFee(BigDecimal insuredFee) {
+        this.insuredFee = insuredFee;
+    }
+
+    public BigDecimal getPostTax() {
+        return postTax;
+    }
+
+    public void setPostTax(BigDecimal postTax) {
+        this.postTax = postTax;
+    }
+
+    public String getCurrencyCode() {
+        return currencyCode;
+    }
+
+    public void setCurrencyCode(String currencyCode) {
+        this.currencyCode = currencyCode;
+    }
+
+    public String getBuyerRemark() {
+        return buyerRemark;
+    }
+
+    public void setBuyerRemark(String buyerRemark) {
+        this.buyerRemark = buyerRemark;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2;
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3;
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4;
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusWaybill other = (CusWaybill) that;
+        return (this.getCusWaybillSn() == null ? other.getCusWaybillSn() == null : this.getCusWaybillSn().equals(other.getCusWaybillSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getPlaceOrderlTime() == null ? other.getPlaceOrderlTime() == null : this.getPlaceOrderlTime().equals(other.getPlaceOrderlTime()))
+            && (this.getAutoSend() == null ? other.getAutoSend() == null : this.getAutoSend().equals(other.getAutoSend()))
+            && (this.getBuyerBillTime() == null ? other.getBuyerBillTime() == null : this.getBuyerBillTime().equals(other.getBuyerBillTime()))
+            && (this.getBuyerIdType() == null ? other.getBuyerIdType() == null : this.getBuyerIdType().equals(other.getBuyerIdType()))
+            && (this.getBuyerIdCode() == null ? other.getBuyerIdCode() == null : this.getBuyerIdCode().equals(other.getBuyerIdCode()))
+            && (this.getBuyerName() == null ? other.getBuyerName() == null : this.getBuyerName().equals(other.getBuyerName()))
+            && (this.getBuyerMob() == null ? other.getBuyerMob() == null : this.getBuyerMob().equals(other.getBuyerMob()))
+            && (this.getBuyerTel() == null ? other.getBuyerTel() == null : this.getBuyerTel().equals(other.getBuyerTel()))
+            && (this.getConsigneeIdType() == null ? other.getConsigneeIdType() == null : this.getConsigneeIdType().equals(other.getConsigneeIdType()))
+            && (this.getConsigneeIdCode() == null ? other.getConsigneeIdCode() == null : this.getConsigneeIdCode().equals(other.getConsigneeIdCode()))
+            && (this.getConsigneeName() == null ? other.getConsigneeName() == null : this.getConsigneeName().equals(other.getConsigneeName()))
+            && (this.getConsigneeMob() == null ? other.getConsigneeMob() == null : this.getConsigneeMob().equals(other.getConsigneeMob()))
+            && (this.getConsigneeTel() == null ? other.getConsigneeTel() == null : this.getConsigneeTel().equals(other.getConsigneeTel()))
+            && (this.getConsigneeCountryCode() == null ? other.getConsigneeCountryCode() == null : this.getConsigneeCountryCode().equals(other.getConsigneeCountryCode()))
+            && (this.getConsigneeProvinceCode() == null ? other.getConsigneeProvinceCode() == null : this.getConsigneeProvinceCode().equals(other.getConsigneeProvinceCode()))
+            && (this.getConsigneeProvince() == null ? other.getConsigneeProvince() == null : this.getConsigneeProvince().equals(other.getConsigneeProvince()))
+            && (this.getConsigneeCityCode() == null ? other.getConsigneeCityCode() == null : this.getConsigneeCityCode().equals(other.getConsigneeCityCode()))
+            && (this.getConsigneeCity() == null ? other.getConsigneeCity() == null : this.getConsigneeCity().equals(other.getConsigneeCity()))
+            && (this.getConsigneeDistrictCode() == null ? other.getConsigneeDistrictCode() == null : this.getConsigneeDistrictCode().equals(other.getConsigneeDistrictCode()))
+            && (this.getConsigneeDistrict() == null ? other.getConsigneeDistrict() == null : this.getConsigneeDistrict().equals(other.getConsigneeDistrict()))
+            && (this.getConsigneeAddress() == null ? other.getConsigneeAddress() == null : this.getConsigneeAddress().equals(other.getConsigneeAddress()))
+            && (this.getConsigneeZipCode() == null ? other.getConsigneeZipCode() == null : this.getConsigneeZipCode().equals(other.getConsigneeZipCode()))
+            && (this.getPayerName() == null ? other.getPayerName() == null : this.getPayerName().equals(other.getPayerName()))
+            && (this.getPayerIdType() == null ? other.getPayerIdType() == null : this.getPayerIdType().equals(other.getPayerIdType()))
+            && (this.getPayerIdCode() == null ? other.getPayerIdCode() == null : this.getPayerIdCode().equals(other.getPayerIdCode()))
+            && (this.getPayerMob() == null ? other.getPayerMob() == null : this.getPayerMob().equals(other.getPayerMob()))
+            && (this.getPayerTel() == null ? other.getPayerTel() == null : this.getPayerTel().equals(other.getPayerTel()))
+            && (this.getPayEntCusCode() == null ? other.getPayEntCusCode() == null : this.getPayEntCusCode().equals(other.getPayEntCusCode()))
+            && (this.getPayNo() == null ? other.getPayNo() == null : this.getPayNo().equals(other.getPayNo()))
+            && (this.getActuralPaid() == null ? other.getActuralPaid() == null : this.getActuralPaid().equals(other.getActuralPaid()))
+            && (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
+            && (this.getExprFee() == null ? other.getExprFee() == null : this.getExprFee().equals(other.getExprFee()))
+            && (this.getInsuredFee() == null ? other.getInsuredFee() == null : this.getInsuredFee().equals(other.getInsuredFee()))
+            && (this.getPostTax() == null ? other.getPostTax() == null : this.getPostTax().equals(other.getPostTax()))
+            && (this.getCurrencyCode() == null ? other.getCurrencyCode() == null : this.getCurrencyCode().equals(other.getCurrencyCode()))
+            && (this.getBuyerRemark() == null ? other.getBuyerRemark() == null : this.getBuyerRemark().equals(other.getBuyerRemark()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()))
+            && (this.getExField() == null ? other.getExField() == null : this.getExField().equals(other.getExField()))
+            && (this.getExField2() == null ? other.getExField2() == null : this.getExField2().equals(other.getExField2()))
+            && (this.getExField3() == null ? other.getExField3() == null : this.getExField3().equals(other.getExField3()))
+            && (this.getExField4() == null ? other.getExField4() == null : this.getExField4().equals(other.getExField4()))
+            && (this.getExField5() == null ? other.getExField5() == null : this.getExField5().equals(other.getExField5()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusWaybillSn() == null) ? 0 : getCusWaybillSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getPlaceOrderlTime() == null) ? 0 : getPlaceOrderlTime().hashCode());
+        result = prime * result + ((getAutoSend() == null) ? 0 : getAutoSend().hashCode());
+        result = prime * result + ((getBuyerBillTime() == null) ? 0 : getBuyerBillTime().hashCode());
+        result = prime * result + ((getBuyerIdType() == null) ? 0 : getBuyerIdType().hashCode());
+        result = prime * result + ((getBuyerIdCode() == null) ? 0 : getBuyerIdCode().hashCode());
+        result = prime * result + ((getBuyerName() == null) ? 0 : getBuyerName().hashCode());
+        result = prime * result + ((getBuyerMob() == null) ? 0 : getBuyerMob().hashCode());
+        result = prime * result + ((getBuyerTel() == null) ? 0 : getBuyerTel().hashCode());
+        result = prime * result + ((getConsigneeIdType() == null) ? 0 : getConsigneeIdType().hashCode());
+        result = prime * result + ((getConsigneeIdCode() == null) ? 0 : getConsigneeIdCode().hashCode());
+        result = prime * result + ((getConsigneeName() == null) ? 0 : getConsigneeName().hashCode());
+        result = prime * result + ((getConsigneeMob() == null) ? 0 : getConsigneeMob().hashCode());
+        result = prime * result + ((getConsigneeTel() == null) ? 0 : getConsigneeTel().hashCode());
+        result = prime * result + ((getConsigneeCountryCode() == null) ? 0 : getConsigneeCountryCode().hashCode());
+        result = prime * result + ((getConsigneeProvinceCode() == null) ? 0 : getConsigneeProvinceCode().hashCode());
+        result = prime * result + ((getConsigneeProvince() == null) ? 0 : getConsigneeProvince().hashCode());
+        result = prime * result + ((getConsigneeCityCode() == null) ? 0 : getConsigneeCityCode().hashCode());
+        result = prime * result + ((getConsigneeCity() == null) ? 0 : getConsigneeCity().hashCode());
+        result = prime * result + ((getConsigneeDistrictCode() == null) ? 0 : getConsigneeDistrictCode().hashCode());
+        result = prime * result + ((getConsigneeDistrict() == null) ? 0 : getConsigneeDistrict().hashCode());
+        result = prime * result + ((getConsigneeAddress() == null) ? 0 : getConsigneeAddress().hashCode());
+        result = prime * result + ((getConsigneeZipCode() == null) ? 0 : getConsigneeZipCode().hashCode());
+        result = prime * result + ((getPayerName() == null) ? 0 : getPayerName().hashCode());
+        result = prime * result + ((getPayerIdType() == null) ? 0 : getPayerIdType().hashCode());
+        result = prime * result + ((getPayerIdCode() == null) ? 0 : getPayerIdCode().hashCode());
+        result = prime * result + ((getPayerMob() == null) ? 0 : getPayerMob().hashCode());
+        result = prime * result + ((getPayerTel() == null) ? 0 : getPayerTel().hashCode());
+        result = prime * result + ((getPayEntCusCode() == null) ? 0 : getPayEntCusCode().hashCode());
+        result = prime * result + ((getPayNo() == null) ? 0 : getPayNo().hashCode());
+        result = prime * result + ((getActuralPaid() == null) ? 0 : getActuralPaid().hashCode());
+        result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
+        result = prime * result + ((getExprFee() == null) ? 0 : getExprFee().hashCode());
+        result = prime * result + ((getInsuredFee() == null) ? 0 : getInsuredFee().hashCode());
+        result = prime * result + ((getPostTax() == null) ? 0 : getPostTax().hashCode());
+        result = prime * result + ((getCurrencyCode() == null) ? 0 : getCurrencyCode().hashCode());
+        result = prime * result + ((getBuyerRemark() == null) ? 0 : getBuyerRemark().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        result = prime * result + ((getExField() == null) ? 0 : getExField().hashCode());
+        result = prime * result + ((getExField2() == null) ? 0 : getExField2().hashCode());
+        result = prime * result + ((getExField3() == null) ? 0 : getExField3().hashCode());
+        result = prime * result + ((getExField4() == null) ? 0 : getExField4().hashCode());
+        result = prime * result + ((getExField5() == null) ? 0 : getExField5().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusWaybillSn=").append(cusWaybillSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", placeOrderlTime=").append(placeOrderlTime);
+        sb.append(", autoSend=").append(autoSend);
+        sb.append(", buyerBillTime=").append(buyerBillTime);
+        sb.append(", buyerIdType=").append(buyerIdType);
+        sb.append(", buyerIdCode=").append(buyerIdCode);
+        sb.append(", buyerName=").append(buyerName);
+        sb.append(", buyerMob=").append(buyerMob);
+        sb.append(", buyerTel=").append(buyerTel);
+        sb.append(", consigneeIdType=").append(consigneeIdType);
+        sb.append(", consigneeIdCode=").append(consigneeIdCode);
+        sb.append(", consigneeName=").append(consigneeName);
+        sb.append(", consigneeMob=").append(consigneeMob);
+        sb.append(", consigneeTel=").append(consigneeTel);
+        sb.append(", consigneeCountryCode=").append(consigneeCountryCode);
+        sb.append(", consigneeProvinceCode=").append(consigneeProvinceCode);
+        sb.append(", consigneeProvince=").append(consigneeProvince);
+        sb.append(", consigneeCityCode=").append(consigneeCityCode);
+        sb.append(", consigneeCity=").append(consigneeCity);
+        sb.append(", consigneeDistrictCode=").append(consigneeDistrictCode);
+        sb.append(", consigneeDistrict=").append(consigneeDistrict);
+        sb.append(", consigneeAddress=").append(consigneeAddress);
+        sb.append(", consigneeZipCode=").append(consigneeZipCode);
+        sb.append(", payerName=").append(payerName);
+        sb.append(", payerIdType=").append(payerIdType);
+        sb.append(", payerIdCode=").append(payerIdCode);
+        sb.append(", payerMob=").append(payerMob);
+        sb.append(", payerTel=").append(payerTel);
+        sb.append(", payEntCusCode=").append(payEntCusCode);
+        sb.append(", payNo=").append(payNo);
+        sb.append(", acturalPaid=").append(acturalPaid);
+        sb.append(", payTime=").append(payTime);
+        sb.append(", exprFee=").append(exprFee);
+        sb.append(", insuredFee=").append(insuredFee);
+        sb.append(", postTax=").append(postTax);
+        sb.append(", currencyCode=").append(currencyCode);
+        sb.append(", buyerRemark=").append(buyerRemark);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", exField=").append(exField);
+        sb.append(", exField2=").append(exField2);
+        sb.append(", exField3=").append(exField3);
+        sb.append(", exField4=").append(exField4);
+        sb.append(", exField5=").append(exField5);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 300 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillGoods.java

@@ -0,0 +1,300 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusWaybillGoods implements Serializable {
+    private static final long serialVersionUID = -707808354609528398L;
+    /**
+     * 运单商品内部编号
+     */
+    private String cusWaybillGoodsSn;
+
+    /**
+     * 运单内部编号
+     */
+    private String cusWaybillSn;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * SKU
+     */
+    private String sku;
+
+    /**
+     * 购买单价
+     */
+    private BigDecimal buyUnitPrice;
+
+    /**
+     * 购买数量
+     */
+    private BigDecimal buyQty;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    private String exField;
+
+    private String exField2;
+
+    private String exField3;
+
+    private String exField4;
+
+    private String exField5;
+
+    public String getCusWaybillGoodsSn() {
+        return cusWaybillGoodsSn;
+    }
+
+    public void setCusWaybillGoodsSn(String cusWaybillGoodsSn) {
+        this.cusWaybillGoodsSn = cusWaybillGoodsSn;
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    public String getSku() {
+        return sku;
+    }
+
+    public void setSku(String sku) {
+        this.sku = sku;
+    }
+
+    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;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    public String getExField2() {
+        return exField2;
+    }
+
+    public void setExField2(String exField2) {
+        this.exField2 = exField2;
+    }
+
+    public String getExField3() {
+        return exField3;
+    }
+
+    public void setExField3(String exField3) {
+        this.exField3 = exField3;
+    }
+
+    public String getExField4() {
+        return exField4;
+    }
+
+    public void setExField4(String exField4) {
+        this.exField4 = exField4;
+    }
+
+    public String getExField5() {
+        return exField5;
+    }
+
+    public void setExField5(String exField5) {
+        this.exField5 = exField5;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusWaybillGoods other = (CusWaybillGoods) that;
+        return (this.getCusWaybillGoodsSn() == null ? other.getCusWaybillGoodsSn() == null : this.getCusWaybillGoodsSn().equals(other.getCusWaybillGoodsSn()))
+            && (this.getCusWaybillSn() == null ? other.getCusWaybillSn() == null : this.getCusWaybillSn().equals(other.getCusWaybillSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getSku() == null ? other.getSku() == null : this.getSku().equals(other.getSku()))
+            && (this.getBuyUnitPrice() == null ? other.getBuyUnitPrice() == null : this.getBuyUnitPrice().equals(other.getBuyUnitPrice()))
+            && (this.getBuyQty() == null ? other.getBuyQty() == null : this.getBuyQty().equals(other.getBuyQty()))
+            && (this.getNote() == null ? other.getNote() == null : this.getNote().equals(other.getNote()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()))
+            && (this.getExField() == null ? other.getExField() == null : this.getExField().equals(other.getExField()))
+            && (this.getExField2() == null ? other.getExField2() == null : this.getExField2().equals(other.getExField2()))
+            && (this.getExField3() == null ? other.getExField3() == null : this.getExField3().equals(other.getExField3()))
+            && (this.getExField4() == null ? other.getExField4() == null : this.getExField4().equals(other.getExField4()))
+            && (this.getExField5() == null ? other.getExField5() == null : this.getExField5().equals(other.getExField5()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusWaybillGoodsSn() == null) ? 0 : getCusWaybillGoodsSn().hashCode());
+        result = prime * result + ((getCusWaybillSn() == null) ? 0 : getCusWaybillSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getSku() == null) ? 0 : getSku().hashCode());
+        result = prime * result + ((getBuyUnitPrice() == null) ? 0 : getBuyUnitPrice().hashCode());
+        result = prime * result + ((getBuyQty() == null) ? 0 : getBuyQty().hashCode());
+        result = prime * result + ((getNote() == null) ? 0 : getNote().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        result = prime * result + ((getExField() == null) ? 0 : getExField().hashCode());
+        result = prime * result + ((getExField2() == null) ? 0 : getExField2().hashCode());
+        result = prime * result + ((getExField3() == null) ? 0 : getExField3().hashCode());
+        result = prime * result + ((getExField4() == null) ? 0 : getExField4().hashCode());
+        result = prime * result + ((getExField5() == null) ? 0 : getExField5().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusWaybillGoodsSn=").append(cusWaybillGoodsSn);
+        sb.append(", cusWaybillSn=").append(cusWaybillSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", sku=").append(sku);
+        sb.append(", buyUnitPrice=").append(buyUnitPrice);
+        sb.append(", buyQty=").append(buyQty);
+        sb.append(", note=").append(note);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", exField=").append(exField);
+        sb.append(", exField2=").append(exField2);
+        sb.append(", exField3=").append(exField3);
+        sb.append(", exField4=").append(exField4);
+        sb.append(", exField5=").append(exField5);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 298 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillResp.java

@@ -0,0 +1,298 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusWaybillResp implements Serializable {
+    private static final long serialVersionUID = -7690429024008356377L;
+    /**
+     * 运单回执内部编号
+     */
+    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;
+
+    /**
+     * 业务消息代码,0:成功,非0:错误
+     */
+    private String bizInfoCode;
+
+    /**
+     * 业务消息描述
+     */
+    private String bizInfoDesc;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusWaybillRespSn() {
+        return cusWaybillRespSn;
+    }
+
+    public void setCusWaybillRespSn(String cusWaybillRespSn) {
+        this.cusWaybillRespSn = cusWaybillRespSn;
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getBizInfoCode() {
+        return bizInfoCode;
+    }
+
+    public void setBizInfoCode(String bizInfoCode) {
+        this.bizInfoCode = bizInfoCode;
+    }
+
+    public String getBizInfoDesc() {
+        return bizInfoDesc;
+    }
+
+    public void setBizInfoDesc(String bizInfoDesc) {
+        this.bizInfoDesc = bizInfoDesc;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusWaybillResp other = (CusWaybillResp) that;
+        return (this.getCusWaybillRespSn() == null ? other.getCusWaybillRespSn() == null : this.getCusWaybillRespSn().equals(other.getCusWaybillRespSn()))
+            && (this.getCusWaybillSn() == null ? other.getCusWaybillSn() == null : this.getCusWaybillSn().equals(other.getCusWaybillSn()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getBizInfoCode() == null ? other.getBizInfoCode() == null : this.getBizInfoCode().equals(other.getBizInfoCode()))
+            && (this.getBizInfoDesc() == null ? other.getBizInfoDesc() == null : this.getBizInfoDesc().equals(other.getBizInfoDesc()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusWaybillRespSn() == null) ? 0 : getCusWaybillRespSn().hashCode());
+        result = prime * result + ((getCusWaybillSn() == null) ? 0 : getCusWaybillSn().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getBizInfoCode() == null) ? 0 : getBizInfoCode().hashCode());
+        result = prime * result + ((getBizInfoDesc() == null) ? 0 : getBizInfoDesc().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusWaybillRespSn=").append(cusWaybillRespSn);
+        sb.append(", cusWaybillSn=").append(cusWaybillSn);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", bizInfoCode=").append(bizInfoCode);
+        sb.append(", bizInfoDesc=").append(bizInfoDesc);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 314 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillSend.java

@@ -0,0 +1,314 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusWaybillSend implements Serializable {
+    private static final long serialVersionUID = -5350011071321847148L;
+    /**
+     * 运单发送内部编号
+     */
+    private String cusWaybillSendSn;
+
+    /**
+     * 运单内部编号
+     */
+    private String cusWaybillSn;
+
+    /**
+     * 订单类型,0:海关支付单,1:海关电子订单,2:海关运单
+     */
+    private String merchOrderType;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String respStatus;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusWaybillSendSn() {
+        return cusWaybillSendSn;
+    }
+
+    public void setCusWaybillSendSn(String cusWaybillSendSn) {
+        this.cusWaybillSendSn = cusWaybillSendSn;
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn;
+    }
+
+    public String getMerchOrderType() {
+        return merchOrderType;
+    }
+
+    public void setMerchOrderType(String merchOrderType) {
+        this.merchOrderType = merchOrderType;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getRespStatus() {
+        return respStatus;
+    }
+
+    public void setRespStatus(String respStatus) {
+        this.respStatus = respStatus;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusWaybillSend other = (CusWaybillSend) that;
+        return (this.getCusWaybillSendSn() == null ? other.getCusWaybillSendSn() == null : this.getCusWaybillSendSn().equals(other.getCusWaybillSendSn()))
+            && (this.getCusWaybillSn() == null ? other.getCusWaybillSn() == null : this.getCusWaybillSn().equals(other.getCusWaybillSn()))
+            && (this.getMerchOrderType() == null ? other.getMerchOrderType() == null : this.getMerchOrderType().equals(other.getMerchOrderType()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getRespStatus() == null ? other.getRespStatus() == null : this.getRespStatus().equals(other.getRespStatus()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusWaybillSendSn() == null) ? 0 : getCusWaybillSendSn().hashCode());
+        result = prime * result + ((getCusWaybillSn() == null) ? 0 : getCusWaybillSn().hashCode());
+        result = prime * result + ((getMerchOrderType() == null) ? 0 : getMerchOrderType().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getRespStatus() == null) ? 0 : getRespStatus().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusWaybillSendSn=").append(cusWaybillSendSn);
+        sb.append(", cusWaybillSn=").append(cusWaybillSn);
+        sb.append(", merchOrderType=").append(merchOrderType);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", respStatus=").append(respStatus);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 314 - 0
src/main/java/com/emato/ccnet/domain/ccnet/CusWaybillStatus.java

@@ -0,0 +1,314 @@
+package com.emato.ccnet.domain.ccnet;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author 
+ */
+public class CusWaybillStatus implements Serializable {
+    private static final long serialVersionUID = 4045331289337698629L;
+    /**
+     * 运单状态内部编号
+     */
+    private String cusWaybillStatusSn;
+
+    /**
+     * 运单内部编号
+     */
+    private String cusWaybillSn;
+
+    /**
+     * 订单类型,0:海关支付单,1:海关电子订单,2:海关运单
+     */
+    private String merchOrderType;
+
+    /**
+     * 商户订单编号
+     */
+    private String merchOrderSn;
+
+    /**
+     * 商户编号
+     */
+    private String merchSn;
+
+    /**
+     * 商户名称
+     */
+    private String merchName;
+
+    /**
+     * 平台编号
+     */
+    private String platSn;
+
+    /**
+     * 平台中文名
+     */
+    private String platName;
+
+    /**
+     * 第三方商户代码
+     */
+    private String thirdPartyMerchCode;
+
+    /**
+     * 第三方商户名称
+     */
+    private String thirdPartyMerchName;
+
+    /**
+     * 发送状态,0:待发送,1:发送中,2:发送成功,3:发送失败
+     */
+    private String sendStatus;
+
+    /**
+     * 回执状态,0:待接收,1:发送中,2:发送成功,3:发送失败
+     */
+    private String respStatus;
+
+    /**
+     * 创建人编号
+     */
+    private String createrSn;
+
+    /**
+     * 创建时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date createTime;
+
+    /**
+     * 修改人编号
+     */
+    private String moderSn;
+
+    /**
+     * 修改时间,yyyy-MM-dd HH:mm:ss
+     */
+    private Date modTime;
+
+    /**
+     * 时间戳
+     */
+    private Date tstm;
+
+    public String getCusWaybillStatusSn() {
+        return cusWaybillStatusSn;
+    }
+
+    public void setCusWaybillStatusSn(String cusWaybillStatusSn) {
+        this.cusWaybillStatusSn = cusWaybillStatusSn;
+    }
+
+    public String getCusWaybillSn() {
+        return cusWaybillSn;
+    }
+
+    public void setCusWaybillSn(String cusWaybillSn) {
+        this.cusWaybillSn = cusWaybillSn;
+    }
+
+    public String getMerchOrderType() {
+        return merchOrderType;
+    }
+
+    public void setMerchOrderType(String merchOrderType) {
+        this.merchOrderType = merchOrderType;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 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 getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(String sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+
+    public String getRespStatus() {
+        return respStatus;
+    }
+
+    public void setRespStatus(String respStatus) {
+        this.respStatus = respStatus;
+    }
+
+    public String getCreaterSn() {
+        return createrSn;
+    }
+
+    public void setCreaterSn(String createrSn) {
+        this.createrSn = createrSn;
+    }
+
+    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;
+    }
+
+    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;
+    }
+
+    @Override
+    public boolean equals(Object that) {
+        if (this == that) {
+            return true;
+        }
+        if (that == null) {
+            return false;
+        }
+        if (getClass() != that.getClass()) {
+            return false;
+        }
+        CusWaybillStatus other = (CusWaybillStatus) that;
+        return (this.getCusWaybillStatusSn() == null ? other.getCusWaybillStatusSn() == null : this.getCusWaybillStatusSn().equals(other.getCusWaybillStatusSn()))
+            && (this.getCusWaybillSn() == null ? other.getCusWaybillSn() == null : this.getCusWaybillSn().equals(other.getCusWaybillSn()))
+            && (this.getMerchOrderType() == null ? other.getMerchOrderType() == null : this.getMerchOrderType().equals(other.getMerchOrderType()))
+            && (this.getMerchOrderSn() == null ? other.getMerchOrderSn() == null : this.getMerchOrderSn().equals(other.getMerchOrderSn()))
+            && (this.getMerchSn() == null ? other.getMerchSn() == null : this.getMerchSn().equals(other.getMerchSn()))
+            && (this.getMerchName() == null ? other.getMerchName() == null : this.getMerchName().equals(other.getMerchName()))
+            && (this.getPlatSn() == null ? other.getPlatSn() == null : this.getPlatSn().equals(other.getPlatSn()))
+            && (this.getPlatName() == null ? other.getPlatName() == null : this.getPlatName().equals(other.getPlatName()))
+            && (this.getThirdPartyMerchCode() == null ? other.getThirdPartyMerchCode() == null : this.getThirdPartyMerchCode().equals(other.getThirdPartyMerchCode()))
+            && (this.getThirdPartyMerchName() == null ? other.getThirdPartyMerchName() == null : this.getThirdPartyMerchName().equals(other.getThirdPartyMerchName()))
+            && (this.getSendStatus() == null ? other.getSendStatus() == null : this.getSendStatus().equals(other.getSendStatus()))
+            && (this.getRespStatus() == null ? other.getRespStatus() == null : this.getRespStatus().equals(other.getRespStatus()))
+            && (this.getCreaterSn() == null ? other.getCreaterSn() == null : this.getCreaterSn().equals(other.getCreaterSn()))
+            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+            && (this.getModerSn() == null ? other.getModerSn() == null : this.getModerSn().equals(other.getModerSn()))
+            && (this.getModTime() == null ? other.getModTime() == null : this.getModTime().equals(other.getModTime()))
+            && (this.getTstm() == null ? other.getTstm() == null : this.getTstm().equals(other.getTstm()));
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCusWaybillStatusSn() == null) ? 0 : getCusWaybillStatusSn().hashCode());
+        result = prime * result + ((getCusWaybillSn() == null) ? 0 : getCusWaybillSn().hashCode());
+        result = prime * result + ((getMerchOrderType() == null) ? 0 : getMerchOrderType().hashCode());
+        result = prime * result + ((getMerchOrderSn() == null) ? 0 : getMerchOrderSn().hashCode());
+        result = prime * result + ((getMerchSn() == null) ? 0 : getMerchSn().hashCode());
+        result = prime * result + ((getMerchName() == null) ? 0 : getMerchName().hashCode());
+        result = prime * result + ((getPlatSn() == null) ? 0 : getPlatSn().hashCode());
+        result = prime * result + ((getPlatName() == null) ? 0 : getPlatName().hashCode());
+        result = prime * result + ((getThirdPartyMerchCode() == null) ? 0 : getThirdPartyMerchCode().hashCode());
+        result = prime * result + ((getThirdPartyMerchName() == null) ? 0 : getThirdPartyMerchName().hashCode());
+        result = prime * result + ((getSendStatus() == null) ? 0 : getSendStatus().hashCode());
+        result = prime * result + ((getRespStatus() == null) ? 0 : getRespStatus().hashCode());
+        result = prime * result + ((getCreaterSn() == null) ? 0 : getCreaterSn().hashCode());
+        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+        result = prime * result + ((getModerSn() == null) ? 0 : getModerSn().hashCode());
+        result = prime * result + ((getModTime() == null) ? 0 : getModTime().hashCode());
+        result = prime * result + ((getTstm() == null) ? 0 : getTstm().hashCode());
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cusWaybillStatusSn=").append(cusWaybillStatusSn);
+        sb.append(", cusWaybillSn=").append(cusWaybillSn);
+        sb.append(", merchOrderType=").append(merchOrderType);
+        sb.append(", merchOrderSn=").append(merchOrderSn);
+        sb.append(", merchSn=").append(merchSn);
+        sb.append(", merchName=").append(merchName);
+        sb.append(", platSn=").append(platSn);
+        sb.append(", platName=").append(platName);
+        sb.append(", thirdPartyMerchCode=").append(thirdPartyMerchCode);
+        sb.append(", thirdPartyMerchName=").append(thirdPartyMerchName);
+        sb.append(", sendStatus=").append(sendStatus);
+        sb.append(", respStatus=").append(respStatus);
+        sb.append(", createrSn=").append(createrSn);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", moderSn=").append(moderSn);
+        sb.append(", modTime=").append(modTime);
+        sb.append(", tstm=").append(tstm);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 186 - 0
src/main/java/com/emato/ccnet/domain/kmall/OrderBill.java

@@ -0,0 +1,186 @@
+package com.emato.ccnet.domain.kmall;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 电子订单数据
+ */
+public class OrderBill  implements Serializable {
+
+    private static final long serialVersionUID = 1430859128928892774L;
+
+    /**
+     *商户订单编号/订单编号
+     */
+    private String orderNo;
+
+    /**
+     *第三方商户代码
+     */
+    private String sellerId;
+
+    /**
+     *第三方商户名称
+     */
+    private String sellerName;
+
+    /**
+     *下单时间
+     */
+    private Date createTime;
+
+    /**
+     *支付平台交易号
+     */
+    private String tradeNo;
+
+    /**
+     *商品价格
+     */
+    private BigDecimal realAmount;
+
+    /**
+     *订购人注册号
+     */
+    private String userId;
+
+    /**
+     *订购人姓名
+     */
+    private String trueName;
+
+    /**
+     *订购人证件类型
+     */
+    private String idType;
+
+    /**
+     *订购人证件号码
+     */
+    private String idCode;
+
+    /**
+     *收货人名称
+     */
+    private String acceptName;
+
+    /**
+     *收货人电话
+     */
+    private String mobile;
+
+    /**
+     *收货人地址
+     */
+    private String address;
+
+
+
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getSellerId() {
+        return sellerId;
+    }
+
+    public void setSellerId(String sellerId) {
+        this.sellerId = sellerId;
+    }
+
+    public String getSellerName() {
+        return sellerName;
+    }
+
+    public void setSellerName(String sellerName) {
+        this.sellerName = sellerName;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getTradeNo() {
+        return tradeNo;
+    }
+
+    public void setTradeNo(String tradeNo) {
+        this.tradeNo = tradeNo;
+    }
+
+    public BigDecimal getRealAmount() {
+        return realAmount;
+    }
+
+    public void setRealAmount(BigDecimal realAmount) {
+        this.realAmount = realAmount;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getTrueName() {
+        return trueName;
+    }
+
+    public void setTrueName(String trueName) {
+        this.trueName = trueName;
+    }
+
+    public String getIdType() {
+        return idType;
+    }
+
+    public void setIdType(String idType) {
+        this.idType = idType;
+    }
+
+    public String getIdCode() {
+        return idCode;
+    }
+
+    public void setIdCode(String idCode) {
+        this.idCode = idCode;
+    }
+
+    public String getAcceptName() {
+        return acceptName;
+    }
+
+    public void setAcceptName(String acceptName) {
+        this.acceptName = acceptName;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+}

+ 92 - 0
src/main/java/com/emato/ccnet/domain/kmall/OrderGoods.java

@@ -0,0 +1,92 @@
+package com.emato.ccnet.domain.kmall;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 订单商品明细
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-06 11:54
+ */
+public class OrderGoods implements Serializable {
+
+    private static final long serialVersionUID = 8991789044169524120L;
+
+    private String orderNo;
+    //商品货号,SKU
+    private String goodsNo;
+    //订单商品数量
+    private BigDecimal goodsNums;
+    //销售单价
+    private BigDecimal sellPrice;
+
+    //销售总价
+    private BigDecimal sellTotalPice;
+
+    /**
+     * 企业商品名称
+     */
+    private String name;
+
+    /**
+     *企业商品描述
+     */
+    private String content;
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getGoodsNo() {
+        return goodsNo;
+    }
+
+    public void setGoodsNo(String goodsNo) {
+        this.goodsNo = goodsNo;
+    }
+
+    public BigDecimal getGoodsNums() {
+        return goodsNums;
+    }
+
+    public void setGoodsNums(BigDecimal goodsNums) {
+        this.goodsNums = goodsNums;
+    }
+
+    public BigDecimal getSellPrice() {
+        return sellPrice;
+    }
+
+    public void setSellPrice(BigDecimal sellPrice) {
+        this.sellPrice = sellPrice;
+    }
+
+    public BigDecimal getSellTotalPice() {
+        return sellTotalPice;
+    }
+
+    public void setSellTotalPice(BigDecimal sellTotalPice) {
+        this.sellTotalPice = sellTotalPice;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+}

+ 118 - 0
src/main/java/com/emato/ccnet/domain/kmall/PayBill.java

@@ -0,0 +1,118 @@
+package com.emato.ccnet.domain.kmall;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 海关支付单数据
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-04 16:55
+ */
+public class PayBill implements Serializable {
+    private static final long serialVersionUID = 9201078057209811662L;
+    /**
+     *订单编号
+     */
+    private String orderNo;
+    /**
+     * 第三方商户代码
+     */
+    private String sellerId;
+    /**
+     * 第三方商户名称
+     */
+    private String sellerName;
+    /**
+     *下单时间
+     */
+    private Date createTime;
+    /**
+     *支付宝交易号
+     */
+    private String tradeNo;
+    /**
+     *报关金额
+     */
+    private BigDecimal realAmount;
+
+    /**
+     *订购人姓名
+     */
+    private String trueName;
+
+    /**
+     *订购人身份证号
+     */
+    private String idCode;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getSellerId() {
+        return sellerId;
+    }
+
+    public void setSellerId(String sellerId) {
+        this.sellerId = sellerId;
+    }
+
+    public String getSellerName() {
+        return sellerName;
+    }
+
+    public void setSellerName(String sellerName) {
+        this.sellerName = sellerName;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getTradeNo() {
+        return tradeNo;
+    }
+
+    public void setTradeNo(String tradeNo) {
+        this.tradeNo = tradeNo;
+    }
+
+    public BigDecimal getRealAmount() {
+        return realAmount;
+    }
+
+    public void setRealAmount(BigDecimal realAmount) {
+        this.realAmount = realAmount;
+    }
+
+    public String getTrueName() {
+        return trueName;
+    }
+
+    public void setTrueName(String trueName) {
+        this.trueName = trueName;
+    }
+
+    public String getIdCode() {
+        return idCode;
+    }
+
+    public void setIdCode(String idCode) {
+        this.idCode = idCode;
+    }
+}

+ 319 - 0
src/main/java/com/emato/ccnet/domain/kmall/WayBill.java

@@ -0,0 +1,319 @@
+package com.emato.ccnet.domain.kmall;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 海关电子订单和运单
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-05 10:34
+ */
+@Component
+public class WayBill implements Serializable {
+    /**
+     * 商户订单编号
+     */
+    private String orderNo;
+    /**
+     * 第三方商户代码
+     */
+    private String sellerId;
+    /**
+     * 第三方商户名称
+     */
+    private String sellerName;
+    /**
+     * 订购人下单时间
+     */
+    private Date createTime;
+    /**
+     * 支付时间
+     */
+    private Date payTime;
+    /**
+     * 订购人姓名
+     */
+    private String trueName;
+    /**
+     * 订购人证件类型
+     */
+    private String idType;
+    /**
+     * 订购人证件号码
+     */
+    private String idCode;
+    /**
+     * 订购人手机
+     */
+    private String mobile;
+    /**
+     * 订购人电话
+     */
+    private String telephone;
+    /**
+     * 收件人名称
+     */
+    private String acceptName;
+    /**
+     * 收件人手机
+     */
+    private String acceptMobile;
+    /**
+     * 收件人电话
+     */
+    private String acceptTelphone;
+    /**
+     * 收件人国家代码
+     */
+    private String country;
+    /**
+     * 收件人省份代码
+     */
+    private String province;
+    /**
+     * 收件人省份
+     */
+    private String provinceName;
+    /**
+     * 收件人市代码
+     */
+    private String city;
+    /**
+     * 收件人市
+     */
+    private String cityName;
+    /**
+     * 收件人区县代码
+     */
+    private String area;
+    /**
+     * 收件人区县
+     */
+    private String areaName;
+    /**
+     * 收件人地址
+     */
+    private String address;
+    /**
+     * 收件人邮编
+     */
+    private String zip;
+    /**
+     * 支付流水号
+     */
+    private String tradeNo;
+    /**
+     * 实际支付金额
+     */
+    private BigDecimal realAmount;
+    /**
+     * 运费
+     */
+    private String realFreight;
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getSellerId() {
+        return sellerId;
+    }
+
+    public void setSellerId(String sellerId) {
+        this.sellerId = sellerId;
+    }
+
+    public String getSellerName() {
+        return sellerName;
+    }
+
+    public void setSellerName(String sellerName) {
+        this.sellerName = sellerName;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getTrueName() {
+        return trueName;
+    }
+
+    public void setTrueName(String trueName) {
+        this.trueName = trueName;
+    }
+
+    public String getIdType() {
+        return idType;
+    }
+
+    public void setIdType(String idType) {
+        this.idType = idType;
+    }
+
+    public String getIdCode() {
+        return idCode;
+    }
+
+    public void setIdCode(String idCode) {
+        this.idCode = idCode;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getTelephone() {
+        return telephone;
+    }
+
+    public void setTelephone(String telephone) {
+        this.telephone = telephone;
+    }
+
+    public String getAcceptName() {
+        return acceptName;
+    }
+
+    public void setAcceptName(String acceptName) {
+        this.acceptName = acceptName;
+    }
+
+    public String getAcceptMobile() {
+        return acceptMobile;
+    }
+
+    public void setAcceptMobile(String acceptMobile) {
+        this.acceptMobile = acceptMobile;
+    }
+
+    public String getAcceptTelphone() {
+        return acceptTelphone;
+    }
+
+    public void setAcceptTelphone(String acceptTelphone) {
+        this.acceptTelphone = acceptTelphone;
+    }
+
+    public String getCountry() {
+        return country;
+    }
+
+    public void setCountry(String country) {
+        this.country = country;
+    }
+
+    public String getProvince() {
+        return province;
+    }
+
+    public void setProvince(String province) {
+        this.province = province;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getProvinceName() {
+        return provinceName;
+    }
+
+    public void setProvinceName(String provinceName) {
+        this.provinceName = provinceName;
+    }
+
+    public String getCityName() {
+        return cityName;
+    }
+
+    public void setCityName(String cityName) {
+        this.cityName = cityName;
+    }
+
+    public String getAreaName() {
+        return areaName;
+    }
+
+    public void setAreaName(String areaName) {
+        this.areaName = areaName;
+    }
+
+    public String getZip() {
+        return zip;
+    }
+
+    public void setZip(String zip) {
+        this.zip = zip;
+    }
+
+    public String getTradeNo() {
+        return tradeNo;
+    }
+
+    public void setTradeNo(String tradeNo) {
+        this.tradeNo = tradeNo;
+    }
+
+    public BigDecimal getRealAmount() {
+        return realAmount;
+    }
+
+    public void setRealAmount(BigDecimal realAmount) {
+        this.realAmount = realAmount;
+    }
+
+    public String getRealFreight() {
+        return realFreight;
+    }
+
+    public void setRealFreight(String realFreight) {
+        this.realFreight = realFreight;
+    }
+
+}

+ 458 - 0
src/main/java/com/emato/ccnet/dto/BondedStockMerchantOrder.java

@@ -0,0 +1,458 @@
+package com.emato.ccnet.dto;
+
+import com.emato.ccnet.domain.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 List<BondedStockMerchantOrderItem> item;
+
+    public BondedStockMerchantOrder(){}
+
+    public BondedStockMerchantOrder(CusWaybill cusWaybill){
+        this.merchId = cusWaybill.getMerchSn();
+        this.merchOrderId = cusWaybill.getMerchOrderSn();
+        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();
+    }
+
+    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;
+    }
+}

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

@@ -0,0 +1,43 @@
+package com.emato.ccnet.dto;
+
+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;
+    }
+}

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

@@ -0,0 +1,29 @@
+package com.emato.ccnet.dto;
+
+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/dto/CusResultStatusDto.java

@@ -0,0 +1,29 @@
+package com.emato.ccnet.dto;
+
+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;
+    }
+}

+ 29 - 0
src/main/java/com/emato/ccnet/dto/EportResultStatusDto.java

@@ -0,0 +1,29 @@
+package com.emato.ccnet.dto;
+
+import java.io.Serializable;
+
+
+public class EportResultStatusDto implements Serializable{
+
+    private static final long serialVersionUID = -2618020752212962554L;
+
+    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;
+    }
+}

+ 61 - 0
src/main/java/com/emato/ccnet/dto/OrderCustiomsResponse.java

@@ -0,0 +1,61 @@
+package com.emato.ccnet.dto;
+
+import java.io.Serializable;
+
+public class OrderCustiomsResponse implements Serializable {
+    private static final long serialVersionUID = -7019298146129974822L;
+    //状态code  0:成功,1:失败
+    private String code;
+
+    //国检状态
+    private CiqResultStatusDto ciqResultStatusDto;
+
+    //海关状态 目前商品备案没有海关回执
+    private CusResultStatusDto cusResultStatusDto;
+
+    //平台状态
+    private EportResultStatusDto eportResultStatusDto;
+
+    private OrderRequest clsOrderDto;
+
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public CiqResultStatusDto getCiqResultStatusDto() {
+        return ciqResultStatusDto;
+    }
+
+    public void setCiqResultStatusDto(CiqResultStatusDto ciqResultStatusDto) {
+        this.ciqResultStatusDto = ciqResultStatusDto;
+    }
+
+    public CusResultStatusDto getCusResultStatusDto() {
+        return cusResultStatusDto;
+    }
+
+    public void setCusResultStatusDto(CusResultStatusDto cusResultStatusDto) {
+        this.cusResultStatusDto = cusResultStatusDto;
+    }
+
+    public EportResultStatusDto getEportResultStatusDto() {
+        return eportResultStatusDto;
+    }
+
+    public void setEportResultStatusDto(EportResultStatusDto eportResultStatusDto) {
+        this.eportResultStatusDto = eportResultStatusDto;
+    }
+
+    public OrderRequest getOrderRequest() {
+        return clsOrderDto;
+    }
+
+    public void setOrderRequest(OrderRequest clsOrderDto) {
+        this.clsOrderDto = clsOrderDto;
+    }
+}

+ 429 - 0
src/main/java/com/emato/ccnet/dto/OrderRequest.java

@@ -0,0 +1,429 @@
+package com.emato.ccnet.dto;
+
+import com.emato.ccnet.domain.ccnet.CusOrder;
+import com.emato.ccnet.domain.ccnet.CusOrderGoods;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+public class OrderRequest implements Serializable{
+    private static final long serialVersionUID = 3177602414191089902L;
+    private String orderSn;
+
+    private String merchName;
+
+    private String merchSn;
+
+    private String merchOrderSn;
+
+    private String platSn;
+
+    private String platName;
+
+    private String thirdPartyMerchCode;
+
+    private String thirdPartyMerchName;
+
+    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 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 List<CusOrderGoods> orderList;
+
+    public OrderRequest(){
+
+    }
+
+    public OrderRequest(CusOrder cusOrder){
+        this.orderSn = cusOrder.getOrderSn();
+        this.merchName = cusOrder.getMerchName();
+        this.merchSn = cusOrder.getMerchSn();
+        this.merchOrderSn = cusOrder.getMerchOrderSn();
+        this.platSn = cusOrder.getPlatSn();
+        this.platName = cusOrder.getPlatName();
+        this.thirdPartyMerchCode = cusOrder.getThirdPartyMerchCode();
+        this.thirdPartyMerchName = cusOrder.getThirdPartyMerchName();
+        this.appType = cusOrder.getAppType();
+        this.appTime = cusOrder.getAppTime();
+        this.appStatus = cusOrder.getAppStatus();
+        this.orderType = cusOrder.getOrderType();
+        this.orderNo = cusOrder.getOrderNo();
+        this.ebpCode = cusOrder.getEbpCode();
+        this.ebpName = cusOrder.getEbpName();
+        this.ebcCode = cusOrder.getEbcCode();
+        this.ebcName = cusOrder.getEbcName();
+        this.goodsValue = cusOrder.getGoodsValue();
+        this.freight = cusOrder.getFreight();
+        this.discount = cusOrder.getDiscount();
+        this.taxTotal = cusOrder.getTaxTotal();
+        this.acturalPaid = cusOrder.getActuralPaid();
+        this.currency = cusOrder.getCurrency();
+        this.buyerRegNo = cusOrder.getBuyerRegNo();
+        this.buyerName = cusOrder.getBuyerName();
+        this.buyerIdType = cusOrder.getBuyerIdType();
+        this.buyeridNumber = cusOrder.getBuyeridNumber();
+        this.payCode = cusOrder.getPayCode();
+        this.payName = cusOrder.getPayName();
+        this.payTransactionId = cusOrder.getPayTransactionId();
+        this.batchNumbers = cusOrder.getBatchNumbers();
+        this.consignee = cusOrder.getConsignee();
+        this.consigneeTelephone = cusOrder.getConsigneeTelephone();
+        this.consigneeAddress = cusOrder.getConsigneeAddress();
+        this.consigneeDistrict = cusOrder.getConsigneeDistrict();
+        this.note = cusOrder.getNote();
+    }
+
+
+    public List<CusOrderGoods> getOrderList() {
+        return orderList;
+    }
+
+    public void setOrderList(List<CusOrderGoods> orderList) {
+        this.orderList = orderList;
+    }
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public String getAppType() {
+        return appType;
+    }
+
+    public void setAppType(String appType) {
+        this.appType = appType;
+    }
+
+    public String getAppTime() {
+        return appTime;
+    }
+
+    public void setAppTime(String appTime) {
+        this.appTime = appTime;
+    }
+
+    public String getAppStatus() {
+        return appStatus;
+    }
+
+    public void setAppStatus(String appStatus) {
+        this.appStatus = appStatus;
+    }
+
+    public String getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(String orderType) {
+        this.orderType = orderType;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getEbpCode() {
+        return ebpCode;
+    }
+
+    public void setEbpCode(String ebpCode) {
+        this.ebpCode = ebpCode;
+    }
+
+    public String getEbpName() {
+        return ebpName;
+    }
+
+    public void setEbpName(String ebpName) {
+        this.ebpName = ebpName;
+    }
+
+    public String getEbcCode() {
+        return ebcCode;
+    }
+
+    public void setEbcCode(String ebcCode) {
+        this.ebcCode = ebcCode;
+    }
+
+    public String getEbcName() {
+        return ebcName;
+    }
+
+    public void setEbcName(String ebcName) {
+        this.ebcName = ebcName;
+    }
+
+    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;
+    }
+
+    public String getBuyerRegNo() {
+        return buyerRegNo;
+    }
+
+    public void setBuyerRegNo(String buyerRegNo) {
+        this.buyerRegNo = buyerRegNo;
+    }
+
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName;
+    }
+
+    public String getBuyerIdType() {
+        return buyerIdType;
+    }
+
+    public void setBuyerIdType(String buyerIdType) {
+        this.buyerIdType = buyerIdType;
+    }
+
+    public String getBuyeridNumber() {
+        return buyeridNumber;
+    }
+
+    public void setBuyeridNumber(String buyeridNumber) {
+        this.buyeridNumber = buyeridNumber;
+    }
+
+    public String getPayCode() {
+        return payCode;
+    }
+
+    public void setPayCode(String payCode) {
+        this.payCode = payCode;
+    }
+
+    public String getPayName() {
+        return payName;
+    }
+
+    public void setPayName(String payName) {
+        this.payName = payName;
+    }
+
+    public String getPayTransactionId() {
+        return payTransactionId;
+    }
+
+    public void setPayTransactionId(String payTransactionId) {
+        this.payTransactionId = payTransactionId;
+    }
+
+    public String getBatchNumbers() {
+        return batchNumbers;
+    }
+
+    public void setBatchNumbers(String batchNumbers) {
+        this.batchNumbers = batchNumbers;
+    }
+
+    public String getConsignee() {
+        return consignee;
+    }
+
+    public void setConsignee(String consignee) {
+        this.consignee = consignee;
+    }
+
+    public String getConsigneeTelephone() {
+        return consigneeTelephone;
+    }
+
+    public void setConsigneeTelephone(String consigneeTelephone) {
+        this.consigneeTelephone = consigneeTelephone;
+    }
+
+    public String getConsigneeAddress() {
+        return consigneeAddress;
+    }
+
+    public void setConsigneeAddress(String consigneeAddress) {
+        this.consigneeAddress = consigneeAddress;
+    }
+
+    public String getConsigneeDistrict() {
+        return consigneeDistrict;
+    }
+
+    public void setConsigneeDistrict(String consigneeDistrict) {
+        this.consigneeDistrict = consigneeDistrict;
+    }
+
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    public String getMerchName() {
+        return merchName;
+    }
+
+    public void setMerchName(String merchName) {
+        this.merchName = merchName;
+    }
+
+    public String getMerchSn() {
+        return merchSn;
+    }
+
+    public void setMerchSn(String merchSn) {
+        this.merchSn = merchSn;
+    }
+
+    public String getMerchOrderSn() {
+        return merchOrderSn;
+    }
+
+    public void setMerchOrderSn(String merchOrderSn) {
+        this.merchOrderSn = merchOrderSn;
+    }
+
+    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 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 getOrderSn() {
+        return orderSn;
+    }
+
+    public void setOrderSn(String orderSn) {
+        this.orderSn = orderSn;
+    }
+}

+ 40 - 0
src/main/java/com/emato/ccnet/dto/OrderResponse.java

@@ -0,0 +1,40 @@
+package com.emato.ccnet.dto;
+
+import java.io.Serializable;
+
+public class OrderResponse implements Serializable{
+    private static final long serialVersionUID = 4863682658141389665L;
+    private String code;
+
+    private String msg;
+
+    private OrderRequest clsOrderDto;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    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;
+    }
+
+    public OrderRequest getClsOrderDto() {
+        return clsOrderDto;
+    }
+
+    public void setClsOrderDto(OrderRequest clsOrderDto) {
+        this.clsOrderDto = clsOrderDto;
+    }
+}

+ 8 - 0
src/main/java/com/emato/ccnet/jobs/ccnetJobs.java

@@ -0,0 +1,8 @@
+package com.emato.ccnet.jobs;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class ccnetJobs {
+
+}

+ 33 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusAlipayMapper.java

@@ -0,0 +1,33 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusAlipay;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface CusAlipayMapper {
+
+    /**
+     * 单个插入海关支付单阿里云表
+     * @param record
+     * @return
+     */
+    int insert(CusAlipay record);
+
+    int insertSelective(CusAlipay record);
+
+    /**
+     * 批量插入海关支付单阿里云表
+     * @param cusAlipays
+     * @return
+     */
+    int insertCusAlipayItemBatch(List<CusAlipay> cusAlipays);
+
+    /**
+     * 取得ccnet中的海关支付单阿里云表
+     * @return
+     */
+    List<CusAlipay> getCusAlipay();
+}

+ 23 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusAlipayRespMapper.java

@@ -0,0 +1,23 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusAlipayResp;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CusAlipayRespMapper {
+    /**
+     * 单个插入海关支付单阿里回执表
+     * @param record
+     * @return
+     */
+    int insert(CusAlipayResp record);
+
+    int insertSelective(CusAlipayResp record);
+
+    /**
+     * 更新海关支付单阿里回执表的数据
+     * @param cusAlipayResp
+     * @return
+     */
+    int updateCusAlipayResp(CusAlipayResp cusAlipayResp);
+}

+ 48 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusAlipayStatusMapper.java

@@ -0,0 +1,48 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusAlipayStatus;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface CusAlipayStatusMapper {
+
+    /**
+     * 单个插入支付单状态表
+     * @param record
+     * @return
+     */
+    int insert(CusAlipayStatus record);
+
+    int insertSelective(CusAlipayStatus record);
+
+    /**
+     * 批量插入支付单状态表
+     * @param cusAlipayStatuses
+     * @return
+     */
+    int insertCusAlipayStatusItemBatch(List<CusAlipayStatus> cusAlipayStatuses);
+
+    /**
+     * 通过支付单内部编号查找支付单状态表
+     * @param map
+     * @return
+     */
+    CusAlipayStatus findCusAlipayStatus(Map<String, Object> map);
+
+    /**
+     * 更新支付单状态
+     * @param cusAlipayStatus
+     * @return
+     */
+    int updateCusAlipayStatus(CusAlipayStatus cusAlipayStatus);
+
+    /**
+     * 批量更新支付单状态
+     * @param list
+     * @return
+     */
+    int updateCusAlipayStatusBatch(List list);
+}

+ 40 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderGoodsMapper.java

@@ -0,0 +1,40 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusOrderGoods;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusOrderGoodsMapper {
+    /**
+     * 单个插入海关电子订单商品表
+     * @param record
+     * @return
+     */
+    int insert(CusOrderGoods record);
+
+    int insertSelective(CusOrderGoods record);
+
+    /**
+     * 批量插入海关电子订单商品表
+     * @param cusOrderGoodes
+     * @return
+     */
+    int insertCusOrderGoodsItemBatch(List<CusOrderGoods> cusOrderGoodes);
+
+
+    /**
+     * 通过电子订单内部编号更新数据
+     * @param cusOrderGoods
+     * @return
+     */
+    int updateCusOrederGoods(CusOrderGoods cusOrderGoods);
+
+    /**
+     * 通过电子订单内部编号查找电子订单商品号
+     * @param cusOrderSn
+     * @return
+     */
+    List<CusOrderGoods> findCusOrderGoodsByCusOrderSn(String cusOrderSn);
+}

+ 45 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderMapper.java

@@ -0,0 +1,45 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusOrder;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusOrderMapper {
+    /**
+     * 单个插入海关电子订单表
+     * @param record
+     * @return
+     */
+    int insert(CusOrder record);
+
+    int insertSelective(CusOrder record);
+
+    /**
+     * 批量插入海关电子订单表
+     * @param cusOrders
+     * @return
+     */
+    int insertCusOrderItemBatch(List<CusOrder> cusOrders);
+
+    /**
+     * 查找ccnet中的表的数据
+     * @return
+     */
+    List<CusOrder> findAllCusOrder();
+
+    /**
+     * 通过订单编号查找电子订单表
+     * @param orderSn
+     * @return
+     */
+    CusOrder findCusOrderByOrderNo(String orderSn);
+
+    /**
+     * 更新电子订单数据
+     * @param cusOrder
+     * @return
+     */
+    int updateCusOrder(CusOrder cusOrder);
+}

+ 23 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderRespMapper.java

@@ -0,0 +1,23 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusOrderResp;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CusOrderRespMapper {
+    /**
+     * 单个插入海关电子订单回执表
+     * @param record
+     * @return
+     */
+    int insert(CusOrderResp record);
+
+    int insertSelective(CusOrderResp record);
+
+    /**
+     * 更新电子订单回执表
+     * @param cusOrderResp
+     * @return
+     */
+    int updateCusOrderResp(CusOrderResp cusOrderResp);
+}

+ 10 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderSendMapper.java

@@ -0,0 +1,10 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusOrderSend;
+
+public interface CusOrderSendMapper {
+    int insert(CusOrderSend record);
+
+    int insertSelective(CusOrderSend record);
+
+}

+ 48 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusOrderStatusMapper.java

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

+ 17 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentCollectMapper.java

@@ -0,0 +1,17 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusPaymentCollect;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusPaymentCollectMapper {
+
+    int insert(CusPaymentCollect record);
+
+    int insertSelective(CusPaymentCollect record);
+
+    int insertCusPaymentCollectItemBatch(List<CusPaymentCollect> CusPaymentCollectList);
+
+}

+ 10 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentMapper.java

@@ -0,0 +1,10 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusPayment;
+
+public interface CusPaymentMapper {
+    int insert(CusPayment record);
+
+    int insertSelective(CusPayment record);
+
+}

+ 10 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentRespMapper.java

@@ -0,0 +1,10 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusPaymentResp;
+
+public interface CusPaymentRespMapper {
+    int insert(CusPaymentResp record);
+
+    int insertSelective(CusPaymentResp record);
+
+}

+ 10 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentSendMapper.java

@@ -0,0 +1,10 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusPaymentSend;
+
+public interface CusPaymentSendMapper {
+    int insert(CusPaymentSend record);
+
+    int insertSelective(CusPaymentSend record);
+
+}

+ 10 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusPaymentStatusMapper.java

@@ -0,0 +1,10 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusPaymentStatus;
+
+public interface CusPaymentStatusMapper {
+    int insert(CusPaymentStatus record);
+
+    int insertSelective(CusPaymentStatus record);
+
+}

+ 33 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillGoodsMapper.java

@@ -0,0 +1,33 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusWaybillGoods;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CusWaybillGoodsMapper {
+    /**
+     * 单个插入海关运单商品
+     * @param record
+     * @return
+     */
+    int insert(CusWaybillGoods record);
+
+    int insertSelective(CusWaybillGoods record);
+
+    /**
+     * 批量插入海关运单商品
+     * @param cusWaybillGoodes
+     * @return
+     */
+    int insertCusWaybillGoodsItemBatch(List<CusWaybillGoods> cusWaybillGoodes);
+
+    /**
+     * 通过商户订单编号查找运单商品
+     * @param merchOrderSn
+     * @return
+     */
+    List<CusWaybillGoods> findCusWaybillGoodsByOrderSn(String merchOrderSn);
+
+}

+ 36 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillMapper.java

@@ -0,0 +1,36 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusWaybill;
+import com.emato.ccnet.domain.ccnet.CusWaybillStatus;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface CusWaybillMapper {
+    /**
+     * 单个插入海关运单
+     * @param record
+     * @return
+     */
+    int insert(CusWaybill record);
+
+    int insertSelective(CusWaybill record);
+
+    /**
+     * 批量插入海关运单
+     * @param cusWaybills
+     * @return
+     */
+    int insertCusWaybillItemBatch(List<CusWaybill> cusWaybills);
+
+    /**
+     * 查找海关运单
+     * @return
+     */
+    List<CusWaybill> findAllCusWaybill();
+
+
+
+}

+ 12 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillRespMapper.java

@@ -0,0 +1,12 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusWaybillResp;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface CusWaybillRespMapper {
+    int insert(CusWaybillResp record);
+
+    int insertSelective(CusWaybillResp record);
+
+}

+ 10 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillSendMapper.java

@@ -0,0 +1,10 @@
+package com.emato.ccnet.mapper.ccnet;
+
+import com.emato.ccnet.domain.ccnet.CusWaybillSend;
+
+public interface CusWaybillSendMapper {
+    int insert(CusWaybillSend record);
+
+    int insertSelective(CusWaybillSend record);
+
+}

+ 47 - 0
src/main/java/com/emato/ccnet/mapper/ccnet/CusWaybillStatusMapper.java

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

+ 61 - 0
src/main/java/com/emato/ccnet/mapper/kmall/KmallOrderMapper.java

@@ -0,0 +1,61 @@
+package com.emato.ccnet.mapper.kmall;
+
+import com.emato.ccnet.domain.kmall.OrderBill;
+import com.emato.ccnet.domain.kmall.OrderGoods;
+import com.emato.ccnet.domain.kmall.WayBill;
+import com.emato.ccnet.domain.kmall.PayBill;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 海关三单
+ *
+ * @author Scott Chen
+ * @version 1.0
+ * 2017-11-04 16:55
+ */
+@Repository
+public interface KmallOrderMapper {
+
+    /**
+     * 电子订单运单数据
+     * @param param
+     * @return
+     */
+    List<WayBill> getWaybills(Map<String, Object> param);
+
+    /**
+     * 支付单数据
+     * @param param
+     * @return
+     */
+    List<PayBill> getPayBills(Map<String, Object> param);
+
+    /**
+     * 海关订单批量更新
+     * @param list
+     * @return
+     */
+    int updateCusKmallOrderStatusBatch(List list);
+
+    /**
+     * 电子订单数据
+     */
+    List<OrderBill> getOrderBills(Map<String, Object> param);
+
+    /**
+     * 单个更新海关订单状态
+     * @param kmallMap
+     * @return
+     */
+    int updateCusKmallOrderStatus(Map<String, Object> kmallMap);
+
+    /**
+     * 海关电子订单、海关运单商品明细
+     * @param orderNo
+     * @return
+     */
+    List<OrderGoods> getOrderGoods(String orderNo);
+}

+ 150 - 0
src/main/java/com/emato/ccnet/message/Result.java

@@ -0,0 +1,150 @@
+package com.emato.ccnet.message;
+
+import com.google.common.base.Strings;
+
+
+public class Result {
+    /**
+     * 状态码, 正常0, 失败1, 未登录2, 个位数是保留状态码, 其他业务相关状态码10以上
+     */
+    private String code = ResultCodeEnum.SUCCESS.getCode();
+
+    /**
+     * 消息
+     */
+    private String msg;
+
+    /**
+     * 业务数据
+     */
+    private Object data;
+
+    private String sign;
+
+    private Result() {
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+
+    public String getMsg() {
+        return msg;
+    }
+
+
+    public Object getData() {
+        return data;
+    }
+
+    public String getSign() {
+        return sign;
+    }
+
+    public void setSign(String sign) {
+        this.sign = sign;
+    }
+
+
+    public static Builder builder() {
+        return new Builder();
+    }
+
+    public static Builder builder(String code, String msg) {
+        return new Builder(code, msg);
+    }
+
+    public static Builder builder(String code, String msg, Object data) {
+        return new Builder(code, msg, data);
+    }
+
+    public static Builder builder(String code, String msg, String sign, Object data) {
+        return new Builder(code, msg, sign, data);
+    }
+
+    //---------- 直接返回结果 ----------
+
+    public static Result success(Object object) {
+        return new Builder(ResultCodeEnum.SUCCESS.getCode(), ResultCodeEnum.SUCCESS.getMsg(), object).build();
+    }
+
+    public static Result success(String code, String msg, Object object) {
+        return new Builder(code, msg, object).build();
+    }
+
+    public static Result success(String msg) {
+        return new Builder(ResultCodeEnum.SUCCESS.getCode(), msg).build();
+    }
+
+    public static Result error(String code, String msg) {
+        return new Builder(code, msg).build();
+    }
+
+    public static Result error(String msg) {
+        return new Builder(ResultCodeEnum.FAILURE.getCode(), msg).build();
+    }
+
+    public static Result error(String code, String msg, Object object) {
+        return new Builder(code, msg, object).build();
+    }
+
+    /**
+     * 消息构建器类
+     */
+    public static class Builder {
+        private String code;
+        private String msg;
+        private Object data;
+        private String sign;
+
+        public Builder() {
+            this.code = ResultCodeEnum.SUCCESS.getCode();
+            this.msg = ResultCodeEnum.SUCCESS.getMsg();
+            this.data = null;
+        }
+
+        public Builder(String code, String msg) {
+            this.code = Strings.isNullOrEmpty(code) ? ResultCodeEnum.SUCCESS.getCode() : code;
+            this.msg = Strings.isNullOrEmpty(msg) ? ResultCodeEnum.SUCCESS.getMsg() : msg;
+        }
+
+        public Builder(String code, String msg, Object extend) {
+            this.code = Strings.isNullOrEmpty(code) ? ResultCodeEnum.SUCCESS.getCode() : code;
+            this.msg = Strings.isNullOrEmpty(msg) ? ResultCodeEnum.SUCCESS.getMsg() : msg;
+            this.data = extend;
+        }
+
+        public Builder(String code, String msg, String sign, Object extend) {
+            this.code = Strings.isNullOrEmpty(code) ? ResultCodeEnum.SUCCESS.getCode() : code;
+            this.msg = Strings.isNullOrEmpty(msg) ? ResultCodeEnum.SUCCESS.getMsg() : msg;
+            this.sign = sign;
+            this.data = extend;
+        }
+
+        public Result build() {
+            Result message = new Result();
+            message.code = this.code;
+            message.msg = this.msg;
+            message.data = this.data;
+            message.sign = this.sign;
+            return message;
+        }
+
+        public Builder setCode(String code) {
+            this.code = code;
+            return this;
+        }
+
+        public Builder setMsg(String msg) {
+            this.msg = msg;
+            return this;
+        }
+
+        public Builder setData(Object data) {
+            this.data = data;
+            return this;
+        }
+    }
+
+}

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov