diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllKshcDTO.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllKshcDTO.java index 9a14c4a..40b6ef0 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllKshcDTO.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllKshcDTO.java @@ -1,9 +1,11 @@ package com.jianshui.invoiceall.domain.dto; +import com.jianshui.invoiceall.domain.dto.jcsk.KshcJsonDataDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; /** * 快速红冲 @@ -21,21 +23,15 @@ public class InvoiceAllKshcDTO { private String dqbm; @ApiModelProperty(value = "true本接口不支持同步") - @NotEmpty + @NotNull private Boolean async; @NotEmpty @ApiModelProperty(value = "纳税人识别号") private String nsrsbh; - @ApiModelProperty(value = "冲红原因代码") - @NotEmpty - private String chyydm; - - @NotEmpty - @ApiModelProperty(value = "原发票号码") - private String yfphm; + private InvoiceAllKshcJsonDataDTO jsonData; diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllKshcJsonDataDTO.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllKshcJsonDataDTO.java new file mode 100644 index 0000000..33837ad --- /dev/null +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllKshcJsonDataDTO.java @@ -0,0 +1,29 @@ +package com.jianshui.invoiceall.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * 快速红冲 + */ +@Data +public class InvoiceAllKshcJsonDataDTO { + + + @ApiModelProperty(value = "冲红原因代码") + @NotEmpty + private String chyydm; + + + @NotEmpty + @ApiModelProperty(value = "原发票号码") + private String yfphm; + + + + + +} diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllYhdjDTO.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllYhdjDTO.java index 03eb560..b39e9ea 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllYhdjDTO.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/InvoiceAllYhdjDTO.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.List; /** @@ -18,7 +19,7 @@ public class InvoiceAllYhdjDTO { private String appkey; @ApiModelProperty(value = "false") - @NotEmpty + @NotNull private Boolean async; @ApiModelProperty(value = "yhdj") diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/KshcDTO.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/KshcDTO.java index abcd79a..7fd3b52 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/KshcDTO.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/KshcDTO.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; /** * 快速红冲 @@ -21,21 +22,15 @@ public class KshcDTO { private String dqbm; @ApiModelProperty(value = "true本接口不支持同步") - @NotEmpty + @NotNull private Boolean async; @NotEmpty @ApiModelProperty(value = "纳税人识别号") private String nsrsbh; - - @ApiModelProperty(value = "冲红原因代码") - @NotEmpty - private String chyydm; + private KshcJsonDataDTO jsonData; - @NotEmpty - @ApiModelProperty(value = "原发票号码") - private String yfphm; diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/KshcJsonDataDTO.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/KshcJsonDataDTO.java new file mode 100644 index 0000000..31336f6 --- /dev/null +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/domain/dto/jcsk/KshcJsonDataDTO.java @@ -0,0 +1,27 @@ +package com.jianshui.invoiceall.domain.dto.jcsk; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +/** + * 快速红冲 + */ +@Data +public class KshcJsonDataDTO { + + + @ApiModelProperty(value = "冲红原因代码") + @NotEmpty + private String chyydm; + + + @NotEmpty + @ApiModelProperty(value = "原发票号码") + private String yfphm; + + + +} diff --git a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java index 44e760a..8997560 100644 --- a/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java +++ b/jianshui-invoice-all/src/main/java/com/jianshui/invoiceall/service/impl/InvoiceAllImpl.java @@ -892,6 +892,7 @@ public class InvoiceAllImpl implements IInvoiceAll { KshcDTO kshcDTO = BeanUtil.copyProperties(invoiceAllKshcDTO, KshcDTO.class); ValidateUtils.validate(kshcDTO); + ValidateUtils.validate(kshcDTO.getJsonData()); JSONObject result = null; try { diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcJsonDataTwoDTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcJsonDataTwoDTO.java new file mode 100644 index 0000000..39dc55e --- /dev/null +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcJsonDataTwoDTO.java @@ -0,0 +1,26 @@ +package com.jianshui.invoice.domain.dto.api.jcsk; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +/** + * 快速红冲 + */ +@Data +public class KshcJsonDataTwoDTO { + + + @ApiModelProperty(value = "冲红原因代码") + @NotEmpty + private String chyydm; + + + @NotEmpty + @ApiModelProperty(value = "原发票号码") + private String yfphm; + + + +} diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcTwoTwoDTO.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcTwoDTO.java similarity index 73% rename from jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcTwoTwoDTO.java rename to jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcTwoDTO.java index eba88d9..ecb6702 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcTwoTwoDTO.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/api/jcsk/KshcTwoDTO.java @@ -4,12 +4,13 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; /** * 快速红冲 */ @Data -public class KshcTwoTwoDTO { +public class KshcTwoDTO { @NotEmpty @@ -21,22 +22,15 @@ public class KshcTwoTwoDTO { private String dqbm; @ApiModelProperty(value = "true本接口不支持同步") - @NotEmpty + @NotNull private Boolean async; @NotEmpty @ApiModelProperty(value = "纳税人识别号") private String nsrsbh; - - @ApiModelProperty(value = "冲红原因代码") - @NotEmpty - private String chyydm; - @NotEmpty - @ApiModelProperty(value = "原发票号码") - private String yfphm; - + private KshcJsonDataTwoDTO jsonData; } diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JcskTest.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JcskTest.java index 415c5c8..d211169 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JcskTest.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/JcskTest.java @@ -14,7 +14,8 @@ public class JcskTest { public static void main(String[] args) throws Exception { - String key = "ZWaJUo9tKNKKQTQCryW9dw=="; // 1242 +// String key = "ZWaJUo9tKNKKQTQCryW9dw=="; // 1242 + String key = "kpP/pYUBGWdIRNFswh+1Qg=="; // 1240 String order = ""; @@ -208,6 +209,26 @@ public class JcskTest { System.out.println("------------------------------------------------"); + order = "{\n" + + "\t\"async\": true,\n" + + "\t\"nsrsbh\": \"91440101MA9Y2B9C09\",\n" + + "\t\"jsonData\": {\n" + + "\t\t\"yfphm\": \"23442000000026315014\",\n" + + "\t\t\"chyydm\": \"01\"\n" + + "\t},\n" + + "\t\"bsrysfzjhm\": \"210281199307250821\",\n" + + "\t\"dqbm\": \"guangdong\",\n" + + "\t\"appkey\": \"kpP/pYUBGWdIRNFswh+1Qg==\",\n" + + "\t\"serviceId\": \"kshc\"\n" + + "\n" + + "}"; + System.out.println(order); + m = AisinoInvoiceDecryptUtil.encrypt(order, key); + System.out.println("-------------------快速红冲-----------------------------"); + System.out.println(m); + System.out.println("------------------------------------------------"); + +