|  |  |  | 
|---|
|  |  |  | private TransactionsMapper transactionsMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
|---|
|  |  |  | public Refund wxRefund(RefundDTO refundDTO) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | // 发送退款请求 | 
|---|
|  |  |  | 
|---|
|  |  |  | WxPayRefundRequest request = new WxPayRefundRequest(); | 
|---|
|  |  |  | request.setOutTradeNo(refundDTO.getOrderId()); | 
|---|
|  |  |  | request.setOutRefundNo(refNum); | 
|---|
|  |  |  | //            request.setTotalFee(BaseWxPayRequest.yuanToFen(refundDTO.getTotalAmount().toString())); | 
|---|
|  |  |  | //            request.setRefundFee(BaseWxPayRequest.yuanToFen(refundDTO.getRefundAmount().toString())); | 
|---|
|  |  |  | System.out.println("实际总金额" + BaseWxPayRequest.yuanToFen(refundDTO.getTotalAmount().toString())); | 
|---|
|  |  |  | System.out.println("实际退款金额" + BaseWxPayRequest.yuanToFen(refundDTO.getRefundAmount().toString())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | request.setTotalFee(1); | 
|---|
|  |  |  | request.setRefundFee(1); | 
|---|
|  |  |  | request.setTotalFee(refundDTO.getTotalAmount().intValue()); | 
|---|
|  |  |  | request.setRefundFee(refundDTO.getRefundAmount().intValue()); | 
|---|
|  |  |  | System.out.println("实际总金额" + refundDTO.getTotalAmount()); | 
|---|
|  |  |  | System.out.println("实际退款金额" + refundDTO.getRefundAmount()); | 
|---|
|  |  |  | //            request.setTotalFee(1); | 
|---|
|  |  |  | //            request.setRefundFee(1); | 
|---|
|  |  |  | WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request); | 
|---|
|  |  |  | if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) { | 
|---|
|  |  |  | //存储退款记录 与 流水记录 | 
|---|
|  |  |  | 
|---|
|  |  |  | refund.setMoney(refundDTO.getRefundAmount()); | 
|---|
|  |  |  | refund.setOnlineOrderid(refNum); | 
|---|
|  |  |  | refund.setPayWay(Constants.ZERO); | 
|---|
|  |  |  | refund.setStatus(Constants.TWO); | 
|---|
|  |  |  | refund.setDoneDate(new Date()); | 
|---|
|  |  |  | refund.setCreator(refundDTO.getCreator()); | 
|---|
|  |  |  | refund.setType(refundDTO.getType()); | 
|---|
|  |  |  | refund.setObjId(refundDTO.getOrderId()); | 
|---|
|  |  |  | refund.setReason(refundDTO.getReason()); | 
|---|