加入货币类型,代码整理优化

This commit is contained in:
egzosn
2019-12-26 20:30:59 +08:00
parent 2f64a27a5c
commit 972a8f6294

View File

@@ -181,12 +181,8 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
parameters.put(APPID, payConfigStorage.getAppid());
parameters.put(MCH_ID, payConfigStorage.getMchId());
//判断如果是服务商模式信息则加入
if (!StringUtils.isEmpty(payConfigStorage.getSubMchId())) {
parameters.put("sub_mch_id", payConfigStorage.getSubMchId());
}
if (!StringUtils.isEmpty(payConfigStorage.getSubAppid())) {
parameters.put("sub_appid", payConfigStorage.getSubAppid());
}
setParameters(parameters, "sub_mch_id", payConfigStorage.getSubMchId());
setParameters(parameters, "sub_appid", payConfigStorage.getSubAppid());
parameters.put(NONCE_STR, SignUtils.randomStr());
return parameters;
@@ -213,15 +209,18 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
parameters.put("spbill_create_ip", StringUtils.isEmpty(order.getSpbillCreateIp()) ? "192.168.1.150" : order.getSpbillCreateIp());
// 总金额单位为分
parameters.put("total_fee", Util.conversionCentAmount(order.getPrice()));
if (StringUtils.isNotEmpty(order.getAddition())) {
parameters.put("attach", order.getAddition());
}
setParameters(parameters, "attach", order.getAddition());
parameters.put("notify_url", payConfigStorage.getNotifyUrl());
parameters.put("trade_type", order.getTransactionType().getType());
if (null != order.getExpirationTime()) {
parameters.put("time_start", DateUtils.formatDate(new Date(), DateUtils.YYYYMMDDHHMMSS));
parameters.put("time_expire", DateUtils.formatDate(order.getExpirationTime(), DateUtils.YYYYMMDDHHMMSS));
}
if (null != order.getCurType()) {
parameters.put("fee_type", order.getCurType().getType());
}
((WxTransactionType) order.getTransactionType()).setAttribute(parameters, order);
parameters = preOrderHandler(parameters, order);
setSign(parameters);
@@ -514,7 +513,7 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
private Map<String, Object> setParameters(Map<String, Object> parameters, String key, String value) {
if (!StringUtils.isEmpty(value)) {
if (StringUtils.isNotEmpty(value)) {
parameters.put(key, value);
}
return parameters;
@@ -537,7 +536,7 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
parameters.put("total_fee", Util.conversionCentAmount(refundOrder.getTotalAmount()));
parameters.put("refund_fee", Util.conversionCentAmount(refundOrder.getRefundAmount()));
setParameters(parameters, "notify_url", payConfigStorage.getNotifyUrl());
if (null != refundOrder.getCurType()){
if (null != refundOrder.getCurType()) {
parameters.put("refund_fee_type", refundOrder.getCurType().getType());
}
setParameters(parameters, "refund_desc", refundOrder.getDescription());
@@ -613,7 +612,7 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
/**
* @param transactionIdOrBillDate 支付平台订单号或者账单类型 具体请 类型为{@link String }或者 {@link Date },类型须强制限制,类型不对应则抛出异常{@link PayErrorException}
* @param transactionIdOrBillDate 支付平台订单号或者账单日期 具体请 类型为{@link String }或者 {@link Date },类型须强制限制,类型不对应则抛出异常{@link PayErrorException}
* @param outTradeNoBillType 商户单号或者 账单类型
* @param transactionType 交易类型
* @return 返回支付方对应接口的结果
@@ -638,11 +637,8 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
//获取公共参数
Map<String, Object> parameters = getPublicParameters();
if (StringUtils.isEmpty((String) transactionIdOrBillDate)) {
parameters.put("out_trade_no", outTradeNoBillType);
} else {
parameters.put("transaction_id", transactionIdOrBillDate);
}
setParameters(parameters, "out_trade_no", outTradeNoBillType);
setParameters(parameters, "transaction_id", (String) transactionIdOrBillDate);
//设置签名
setSign(parameters);
return requestTemplate.postForObject(getReqUrl(transactionType), XML.getMap2Xml(parameters), JSONObject.class);
@@ -654,13 +650,13 @@ public class WxPayService extends BasePayService<WxPayConfigStorage> {
* @param order 转账订单
* <pre>
*
* 注意事项:
* ◆ 当返回错误码为“SYSTEMERROR”时请不要更换商户订单号一定要使用原商户订单号重试否则可能造成重复支付等资金风险。
* ◆ XML具有可扩展性因此返回参数可能会有新增而且顺序可能不完全遵循此文档规范如果在解析回包的时候发生错误请商户务必不要换单重试请商户联系客服确认付款情况。如果有新回包字段会更新到此API文档中。
* ◆ 因为错误代码字段err_code的值后续可能会增加所以商户如果遇到回包返回新的错误码请商户务必不要换单重试请商户联系客服确认付款情况。如果有新的错误码会更新到此API文档中。
* ◆ 错误代码描述字段err_code_des只供人工定位问题时做参考系统实现时请不要依赖这个字段来做自动化处理。
* 注意事项:
* ◆ 当返回错误码为“SYSTEMERROR”时请不要更换商户订单号一定要使用原商户订单号重试否则可能造成重复支付等资金风险。
* ◆ XML具有可扩展性因此返回参数可能会有新增而且顺序可能不完全遵循此文档规范如果在解析回包的时候发生错误请商户务必不要换单重试请商户联系客服确认付款情况。如果有新回包字段会更新到此API文档中。
* ◆ 因为错误代码字段err_code的值后续可能会增加所以商户如果遇到回包返回新的错误码请商户务必不要换单重试请商户联系客服确认付款情况。如果有新的错误码会更新到此API文档中。
* ◆ 错误代码描述字段err_code_des只供人工定位问题时做参考系统实现时请不要依赖这个字段来做自动化处理。
*
* </pre>
* </pre>
* @return 对应的转账结果
*/
@Override