提交修改

This commit is contained in:
quyixiao 2025-11-09 15:48:59 +08:00
parent e5e967c7f4
commit 301beb895f
2 changed files with 7 additions and 4 deletions

View File

@ -353,6 +353,7 @@ public class AdminOrderController {
reverseOrderEntity.setWeixinTransactionId(refund.getTransactionId());
reverseOrderEntity.setUserEceivedAccount(refund.getUserReceivedAccount());
reverseOrderEntity.setPreRefundInfo(JSON.toJSONString(refund));
reverseOrderEntity.setGmtPreRefund(new Date());
vvReverseOrderDao.updateVvReverseOrderById(reverseOrderEntity);
}
return r;

View File

@ -56,6 +56,7 @@ public class AppWeiXinRefundNotifyController {
@PostMapping("/refundNotifyUrl")
@Transactional
public Object refundNotifyUrl(@RequestBody String jsonData) throws Exception {
log.info("AppWeiXinRefundNotifyController refundNotifyUrl jsonData = " + jsonData);
//转为map格式
Map<String, String> jsonMap = JSONObject.parseObject(jsonData, Map.class);
//退款成功后返回一个加密字段resource,以下为解密
@ -64,7 +65,6 @@ public class AppWeiXinRefundNotifyController {
*/
String resource = JSONObject.toJSONString(jsonMap.get("resource"));
JSONObject object = JSONObject.parseObject(resource);
String ciphertext = String.valueOf(object.get("ciphertext"));
String nonce = String.valueOf(object.get("nonce"));
@ -72,25 +72,27 @@ public class AppWeiXinRefundNotifyController {
String associated_data = String.valueOf(object.get("associated_data"));
String resultStr = decryptToString(associated_data.getBytes("UTF-8"), nonce.getBytes("UTF-8"), ciphertext);
log.info("AppWeiXinRefundNotifyController refundNotifyUrl resultStr = " + resultStr);
Map<String, String> reqInfo = JSONObject.parseObject(resultStr, Map.class);
String refund_status = reqInfo.get("refund_status");//退款状态
String out_trade_no = reqInfo.get("out_trade_no"); //订单号
log.info("AppWeiXinRefundNotifyController refundNotifyUrl out_trade_no:{} refund_status:{} resultStr :{} " ,out_trade_no,refund_status,resultStr);
Map<String, Object> parm = new HashMap<>();
if (!StringUtils.isEmpty(refund_status) && "SUCCESS".equals(refund_status)) {
VvReverseOrderEntity vvReverseOrderEntity = reverseOrderDao.selectVvReverseOrderByTradeOrderId(NumberUtil.objToLong(out_trade_no));
vvReverseOrderEntity.setGmtRefunded(new Date());
vvReverseOrderEntity.setStatus(ReverseStatusEnums.refunded.getStatus());
vvReverseOrderEntity.setGmtRefundNotify(new Date());
reverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(NumberUtil.objToLong(out_trade_no));
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
vvTradeOrderLineEntity.setReverseStatus(ReverseStatusEnums.refunded.getStatus());
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
}
//你自己的业务
parm.put("code", "SUCCESS");
parm.put("message", "成功");