package com.sv.wx; import com.WeiXinApplication; import com.sv.dto.api.MemberLessonTicketDetailDTO; import com.sv.entity.MemberRefund; import com.sv.entity.Order; import com.sv.mapper.MemberRefundMapper; import com.sv.service.api.OrderService; import com.sv.service.api.config.WechatPayService; import com.ydd.framework.core.exception.ServiceException; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; @RunWith(SpringRunner.class) @SpringBootTest(classes={WeiXinApplication.class}) public class WxServiceTest { @Resource WechatPayService wechatPayService; @Resource OrderService orderService; @Resource MemberRefundMapper memberRefundMapper; @Test public void refund(){ // wechatPayService.createUnifiedOrder("testlmq20231224",new BigDecimal(0.02),"127.0.0.1","JSAPI", 535); // 根据orderSn查出对应订单信息 String orderSn = "231231014749545739"; Integer memberId = 535; Order order = orderService.findOrderSn(orderSn,memberId); if (order == null){ throw new ServiceException(com.sv.exception.api.ExceptionCodeTemplate.ORDER_ERROR); } MemberRefund memberRefund = new MemberRefund(); memberRefund.setMemberId(memberId); memberRefund.setLessonId(1); memberRefund.setMoney(order.getPrice()); // memberRefund.setMoney(new BigDecimal(0.01)); memberRefund.setOrderSn(orderSn); memberRefund.setTransactionId(order.getTradeSn()); memberRefund.setOrderId(order.getId()); memberRefund.setOutRefundNo(orderService.createSn());//商户退款单号 memberRefund.setPlatformId(1); memberRefundMapper.insert(memberRefund); wechatPayService.refundInputMoney(memberRefund,new BigDecimal(0.01)); } }