diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/BillType.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/BillType.java index 793463a..bf65b8f 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/BillType.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/BillType.java @@ -20,10 +20,10 @@ public interface BillType { String getDatePattern(); /** - * 获取压缩类型 - * @return 压缩类型 + * 获取文件类型 + * @return 文件类型 */ - String getTarType(); + String getFileType(); /** * 自定义属性 diff --git a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java index f6a146e..37c3af6 100644 --- a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java +++ b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java @@ -46,6 +46,7 @@ import com.egzosn.pay.common.util.sign.encrypt.RSA; import com.egzosn.pay.common.util.sign.encrypt.RSA2; import com.egzosn.pay.common.util.str.StringUtils; import com.egzosn.pay.union.bean.SDKConstants; +import com.egzosn.pay.union.bean.UnionPayBillType; import com.egzosn.pay.union.bean.UnionPayMessage; import com.egzosn.pay.union.bean.UnionRefundResult; import com.egzosn.pay.union.bean.UnionTransactionType; @@ -659,31 +660,13 @@ public class UnionPayService extends BasePayService { * 下载对账单 * * @param billDate 账单时间 - * @param billType 账单类型 + * @param fileType 文件类型 文件类型,一般商户填写00即可 * @return 返回fileContent 请自行将数据落地 */ @Deprecated @Override - public Map downloadbill(Date billDate, String billType) { - Map params = this.getCommonParam(); - UnionTransactionType.FILE_TRANSFER.convertMap(params); - - params.put(SDKConstants.param_settleDate, DateUtils.formatDate(billDate, DateUtils.MMDD)); - params.put(SDKConstants.param_fileType, billType); - params.remove(SDKConstants.param_backUrl); - params.remove(SDKConstants.param_currencyCode); - this.setSign(params); - String responseStr = getHttpRequestTemplate().postForObject(this.getFileTransUrl(), params, String.class); - JSONObject response = UriVariables.getParametersToMap(responseStr); - if (this.verify(response)) { - if (SDKConstants.OK_RESP_CODE.equals(response.get(SDKConstants.param_respCode))) { - return response; - - } - throw new PayErrorException(new PayException(response.get(SDKConstants.param_respCode).toString(), response.get(SDKConstants.param_respMsg).toString(), response.toString())); - - } - throw new PayErrorException(new PayException("failure", "验证签名失败", response.toString())); + public Map downloadbill(Date billDate, String fileType) { + return downloadBill(billDate, new UnionPayBillType(fileType)); } /** @@ -700,7 +683,7 @@ public class UnionPayService extends BasePayService { UnionTransactionType.FILE_TRANSFER.convertMap(params); params.put(SDKConstants.param_settleDate, DateUtils.formatDate(billDate, DateUtils.MMDD)); - params.put(SDKConstants.param_fileType, billType.getTarType()); + params.put(SDKConstants.param_fileType, billType.getFileType()); params.remove(SDKConstants.param_backUrl); params.remove(SDKConstants.param_currencyCode); this.setSign(params); diff --git a/pay-java-union/src/main/java/com/egzosn/pay/union/bean/UnionPayBillType.java b/pay-java-union/src/main/java/com/egzosn/pay/union/bean/UnionPayBillType.java index ef03102..c833685 100644 --- a/pay-java-union/src/main/java/com/egzosn/pay/union/bean/UnionPayBillType.java +++ b/pay-java-union/src/main/java/com/egzosn/pay/union/bean/UnionPayBillType.java @@ -1,12 +1,71 @@ package com.egzosn.pay.union.bean; +import com.egzosn.pay.common.bean.BillType; +import com.egzosn.pay.common.util.str.StringUtils; + /** * 银联账单类型 + * * @author Egan *
  * email egzosn@gmail.com
  * date 2021/2/23
  * 
*/ -public enum UnionPayBillType { +public class UnionPayBillType implements BillType { + + private String fileType = "00"; + + /** + * 获取类型名称 + * + * @return 类型 + */ + @Override + public String getType() { + return null; + } + + /** + * 获取类型对应的日期格式化表达式 + * + * @return 日期格式化表达式 + */ + @Override + public String getDatePattern() { + return null; + } + + /** + * 获取文件类型 + * + * @return 文件类型 + */ + @Override + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } + + /** + * 自定义属性 + * + * @return 自定义属性 + */ + @Override + public String getCustom() { + return null; + } + + public UnionPayBillType() { + } + + public UnionPayBillType(String fileType) { + if (StringUtils.isNotEmpty(fileType)) { + this.fileType = fileType; + } + } } diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java index 8274cba..3e4ddc5 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/api/WxPayService.java @@ -605,13 +605,14 @@ public class WxPayService extends BasePayService implements parameters.put("bill_type", billType); //目前只支持日账单 parameters.put("bill_date", DateUtils.formatDate(billDate, DateUtils.YYYYMMDD)); - setParameters(parameters, "tar_type", billType.getTarType()); + String fileType = billType.getFileType(); + setParameters(parameters, "tar_type", fileType); //设置签名 setSign(parameters); Map ret = new HashMap(3); ret.put(RETURN_CODE, SUCCESS); ret.put(RETURN_MSG_CODE, "ok"); - if (StringUtils.isEmpty(billType.getTarType())) { + if (StringUtils.isEmpty(fileType)) { String respStr = requestTemplate.postForObject(getReqUrl(WxTransactionType.DOWNLOADBILL), XML.getMap2Xml(parameters), String.class); if (respStr.indexOf("<") == 0) { return XML.toJSONObject(respStr); @@ -775,12 +776,12 @@ public class WxPayService extends BasePayService implements * @param order 转账订单 *
      *
-     *                                        注意事项:
-     *                                        ◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复支付等资金风险。
-     *                                        ◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。
-     *                                        ◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。
-     *                                        ◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。
-     *                                        
+ * 注意事项: + * ◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复支付等资金风险。 + * ◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。 + * ◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。 + * ◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。 + * * @return 对应的转账结果 */ @Override diff --git a/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxPayBillType.java b/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxPayBillType.java index 1bdd111..b4fabfb 100644 --- a/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxPayBillType.java +++ b/pay-java-wx/src/main/java/com/egzosn/pay/wx/bean/WxPayBillType.java @@ -87,16 +87,20 @@ public enum WxPayBillType implements BillType { } /** - * 获取压缩类型 + * 获取文件类型 * - * @return 压缩类型 + * @return 文件类型 */ @Override - public String getTarType() { + public String getFileType() { return tarType; } + + + + /** * 自定义属性 * @@ -109,7 +113,7 @@ public enum WxPayBillType implements BillType { public static WxPayBillType forType(String type){ for (WxPayBillType wxPayBillType : WxPayBillType.values()){ - if (wxPayBillType.getType().equals(type) && StringUtils.isEmpty(wxPayBillType.getTarType())){ + if (wxPayBillType.getType().equals(type) && StringUtils.isEmpty(wxPayBillType.getFileType())){ return wxPayBillType; } }