售后注解问题;

微信支付退款错误日志记录。
This commit is contained in:
Chopper 2021-09-10 15:54:26 +08:00
parent 8784da3449
commit 7c2234b1a9
3 changed files with 31 additions and 16 deletions

View File

@ -13,8 +13,8 @@ public enum ConnectEnum {
*/
QQ("QQ登录"),
WEIBO("微博联合登录"),
WECHAT("微信联合登录"),
//只存放unionid
WECHAT("微信联合登录"),
WECHAT_OPEN_ID("微信openid登录"),
WECHAT_MP_OPEN_ID("微信openid登录"),
ALIPAY("支付宝登录"),

View File

@ -274,9 +274,9 @@ public class AfterSaleServiceImpl extends ServiceImpl<AfterSaleMapper, AfterSale
@Override
@AfterSaleLogPoint(sn = "#afterSaleSn", description = "'售后-商家收货:单号['+#afterSaleSn+'],物流单号为['+#logisticsNo+']" +
",处理结果['+serviceStatus='PASS'?+'商家收货':'商家拒收'+']'")
",处理结果['+serviceStatus='PASS'?'商家收货':'商家拒收'+']'")
@SystemLogPoint(description = "售后-商家收货", customerLog = "'售后-商家收货:单号['+#afterSaleSn+'],物流单号为['+#logisticsNo+']" +
",处理结果['+serviceStatus='PASS'?+'商家收货':'商家拒收'+']'")
",处理结果['+serviceStatus='PASS'?'商家收货':'商家拒收'+']'")
public AfterSale storeConfirm(String afterSaleSn, String serviceStatus, String remark) {
//根据售后单号获取售后单
AfterSale afterSale = OperationalJudgment.judgment(this.getBySn(afterSaleSn));

View File

@ -552,23 +552,38 @@ public class WechatPlugin implements Payment {
String result = HttpKit.readData(request);
log.info("微信退款通知密文 {}", result);
JSONObject ciphertext = JSONUtil.parseObj(result);
if (!("REFUND.SUCCESS").equals(ciphertext.getStr("event_type"))) {
return;
}
try {
//校验服务器端响应¬
try { //校验服务器端响应¬
String plainText = WxPayKit.verifyNotify(serialNo, result, signature, nonce, timestamp,
wechatPaymentSetting().getApiKey3(), Objects.requireNonNull(getPlatformCert()));
log.info("微信退款通知明文 {}", plainText);
JSONObject jsonObject = JSONUtil.parseObj(plainText);
String transactionId = jsonObject.getStr("transaction_id");
String refundId = jsonObject.getStr("refund_id");
RefundLog refundLog = refundLogService.getOne(new LambdaQueryWrapper<RefundLog>().eq(RefundLog::getPaymentReceivableNo, transactionId));
if (refundLog != null) {
refundLog.setIsRefund(true);
refundLog.setReceivableNo(refundId);
refundLogService.saveOrUpdate(refundLog);
if (("REFUND.SUCCESS").equals(ciphertext.getStr("event_type"))) {
log.info("退款成功 {}", plainText);
//校验服务器端响应
JSONObject jsonObject = JSONUtil.parseObj(plainText);
String transactionId = jsonObject.getStr("transaction_id");
String refundId = jsonObject.getStr("refund_id");
RefundLog refundLog = refundLogService.getOne(new LambdaQueryWrapper<RefundLog>().eq(RefundLog::getPaymentReceivableNo, transactionId));
if (refundLog != null) {
refundLog.setIsRefund(true);
refundLog.setReceivableNo(refundId);
refundLogService.saveOrUpdate(refundLog);
}
} else {
log.info("退款失败 {}", plainText);
JSONObject jsonObject = JSONUtil.parseObj(plainText);
String transactionId = jsonObject.getStr("transaction_id");
String refundId = jsonObject.getStr("refund_id");
RefundLog refundLog = refundLogService.getOne(new LambdaQueryWrapper<RefundLog>().eq(RefundLog::getPaymentReceivableNo, transactionId));
if (refundLog != null) {
refundLog.setReceivableNo(refundId);
refundLog.setErrorMessage(ciphertext.getStr("summary"));
refundLogService.saveOrUpdate(refundLog);
}
}
} catch (Exception e) {
log.error("微信退款失败", e);