mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-07-03 05:28:03 +08:00
新增 订单流程测试方法
This commit is contained in:
@@ -28,6 +28,7 @@ import com.jsowell.common.core.domain.entity.SysDictData;
|
|||||||
import com.jsowell.common.core.domain.ykc.LoginRequestData;
|
import com.jsowell.common.core.domain.ykc.LoginRequestData;
|
||||||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||||||
import com.jsowell.common.core.redis.RedisCache;
|
import com.jsowell.common.core.redis.RedisCache;
|
||||||
|
import com.jsowell.common.enums.AcquirerEnum;
|
||||||
import com.jsowell.common.enums.DelFlagEnum;
|
import com.jsowell.common.enums.DelFlagEnum;
|
||||||
import com.jsowell.common.enums.ykc.*;
|
import com.jsowell.common.enums.ykc.*;
|
||||||
import com.jsowell.common.exception.BusinessException;
|
import com.jsowell.common.exception.BusinessException;
|
||||||
@@ -54,6 +55,8 @@ import com.jsowell.pile.transaction.service.TransactionService;
|
|||||||
import com.jsowell.pile.util.SnUtils;
|
import com.jsowell.pile.util.SnUtils;
|
||||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||||
|
import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO;
|
||||||
|
import com.jsowell.pile.vo.uniapp.SendMessageVO;
|
||||||
import com.jsowell.pile.vo.web.BalanceDeductionAmountVO;
|
import com.jsowell.pile.vo.web.BalanceDeductionAmountVO;
|
||||||
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
||||||
import com.jsowell.pile.vo.web.OrderListVO;
|
import com.jsowell.pile.vo.web.OrderListVO;
|
||||||
@@ -217,40 +220,136 @@ public class SpringBootTestController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private TransactionService transactionService;
|
private TransactionService transactionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OrderPayRecordService orderPayRecordService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单元测试,测试订单流程
|
* 单元测试,测试订单流程
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testTheOrderProcess() {
|
public void testTheOrderProcess() throws Exception {
|
||||||
// 生成订单
|
// 生成订单
|
||||||
OrderBasicInfo orderBasicInfo = generateAnOrder();
|
// OrderBasicInfo orderBasicInfo = generateAnOrder();
|
||||||
|
// System.out.println(orderBasicInfo);
|
||||||
// 支付订单
|
// 支付订单
|
||||||
PayOrderDTO dto = new PayOrderDTO();
|
// int a = payOrder(orderBasicInfo);
|
||||||
|
// System.out.println(a);
|
||||||
payOrder(dto);
|
|
||||||
|
|
||||||
// 结算订单
|
// 结算订单
|
||||||
|
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode("C65033300551");
|
||||||
|
settleOrder(orderBasicInfo);
|
||||||
// 订单退款
|
// 订单退款
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private OrderBasicInfo generateAnOrder() {
|
private OrderBasicInfo generateAnOrder() throws ParseException {
|
||||||
OrderBasicInfo orderBasicInfo = new OrderBasicInfo();
|
GenerateOrderDTO dto = new GenerateOrderDTO();
|
||||||
OrderDetail detail = new OrderDetail();
|
PileConnectorDetailVO vo = new PileConnectorDetailVO();
|
||||||
|
vo.setStationId("2");
|
||||||
|
dto.setPileConnector(vo);
|
||||||
|
|
||||||
|
dto.setMemberId("67945248");
|
||||||
|
dto.setStartMode("1");
|
||||||
|
dto.setPayMode("4");
|
||||||
|
dto.setPileSn("88000000000001");
|
||||||
|
dto.setConnectorCode("01");
|
||||||
|
dto.setChargeAmount(new BigDecimal("10"));
|
||||||
|
// 查询充电桩的计费模板
|
||||||
|
BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(dto.getPileSn());
|
||||||
|
dto.setBillingTemplate(billingTemplateVO);
|
||||||
|
OrderBasicInfo orderBasicInfo = orderBasicInfoService.saveOrder2Database(dto);
|
||||||
|
|
||||||
OrderTransactionDTO dto = new OrderTransactionDTO();
|
|
||||||
dto.setOrderBasicInfo(orderBasicInfo);
|
|
||||||
dto.setOrderDetail(detail);
|
|
||||||
transactionService.doCreateOrder(dto);
|
|
||||||
return orderBasicInfo;
|
return orderBasicInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
private OrderBasicInfo payOrder(PayOrderDTO dto) {
|
private int payOrder(OrderBasicInfo orderBasicInfo) throws Exception {
|
||||||
return null;
|
// PayOrderDTO dto = new PayOrderDTO();
|
||||||
|
// dto.setMemberId(orderBasicInfo.getMemberId());
|
||||||
|
// dto.setOrderCode(orderBasicInfo.getOrderCode());
|
||||||
|
// dto.setStartMode(orderBasicInfo.getStartMode());
|
||||||
|
// dto.setPayMode(orderBasicInfo.getPayMode());
|
||||||
|
// dto.setPayAmount(orderBasicInfo.getPayAmount());
|
||||||
|
//
|
||||||
|
// Map<String, Object> map = orderBasicInfoService.payOrder(dto);
|
||||||
|
// return map;
|
||||||
|
String paymentId = "test01";
|
||||||
|
BigDecimal amount = orderBasicInfo.getPayAmount();
|
||||||
|
String orderCode = orderBasicInfo.getOrderCode();
|
||||||
|
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
json.put("paymentId", paymentId);
|
||||||
|
json.put("amount", amount);
|
||||||
|
|
||||||
|
// 记录订单支付流水
|
||||||
|
OrderPayRecord orderPayRecord = OrderPayRecord.builder()
|
||||||
|
.orderCode(orderCode)
|
||||||
|
.payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
|
||||||
|
.payAmount(amount)
|
||||||
|
.acquirer(AcquirerEnum.ADAPAY.getValue())
|
||||||
|
.deductionRecord(json.toJSONString())
|
||||||
|
.createBy(null)
|
||||||
|
.build();
|
||||||
|
orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
|
||||||
|
|
||||||
|
// 更新冻结金额 支付成功后全部冻结
|
||||||
|
memberAdapayRecordService.updateFreezeAmount(paymentId, amount);
|
||||||
|
|
||||||
|
// 支付订单成功
|
||||||
|
PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
|
||||||
|
.orderCode(orderCode)
|
||||||
|
.payAmount(amount)
|
||||||
|
.payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||||
|
.acquirer(AcquirerEnum.ADAPAY.getValue())
|
||||||
|
.build();
|
||||||
|
// 订单支付成功 支付回调
|
||||||
|
// orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
|
||||||
|
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(callbackDTO.getOrderCode());
|
||||||
|
|
||||||
|
// 修改订单
|
||||||
|
orderInfo.setPayMode(callbackDTO.getPayMode());
|
||||||
|
orderInfo.setPayStatus(Constants.ONE);
|
||||||
|
orderInfo.setPayAmount(callbackDTO.getPayAmount());
|
||||||
|
orderInfo.setPayTime(new Date());
|
||||||
|
orderInfo.setChargeStartTime(new Date());
|
||||||
|
orderInfo.setOrderStatus(OrderStatusEnum.IN_THE_CHARGING.getValue());
|
||||||
|
return orderBasicInfoService.updateOrderBasicInfo(orderInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void settleOrder(OrderBasicInfo orderBasicInfo) {
|
||||||
|
TransactionRecordsData data = TransactionRecordsData.builder()
|
||||||
|
.transactionCode(orderBasicInfo.getTransactionCode())
|
||||||
|
.pileSn(orderBasicInfo.getPileSn())
|
||||||
|
.connectorCode(orderBasicInfo.getConnectorCode())
|
||||||
|
.startTime("2023-03-10 17:10:24")
|
||||||
|
.endTime("2023-03-10 17:10:46")
|
||||||
|
.sharpPrice("1.10000")
|
||||||
|
.sharpUsedElectricity("2.0000")
|
||||||
|
.sharpAmount("2.2000")
|
||||||
|
.peakPrice("1.20000")
|
||||||
|
.peakUsedElectricity("0")
|
||||||
|
.peakAmount("0")
|
||||||
|
.flatPrice("1.30000")
|
||||||
|
.flatUsedElectricity("0")
|
||||||
|
.flatAmount("0")
|
||||||
|
.valleyPrice("1.40000")
|
||||||
|
.valleyUsedElectricity("0")
|
||||||
|
.valleyAmount("0")
|
||||||
|
.totalElectricity("2")
|
||||||
|
.consumptionAmount("5.3000")
|
||||||
|
.vinCode("\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000")
|
||||||
|
.transactionIdentifier("01")
|
||||||
|
.transactionTime("2023-03-10 17:10:46")
|
||||||
|
.stopReasonMsg("结束充电,APP远程停止")
|
||||||
|
.logicCard("0")
|
||||||
|
.createTime(new Date())
|
||||||
|
|
||||||
|
.build();
|
||||||
|
|
||||||
|
orderBasicInfoService.settleOrder(data, orderBasicInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 测试多笔支付情况,解冻部分金额
|
* 测试多笔支付情况,解冻部分金额
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -78,4 +78,9 @@ public class GenerateOrderDTO extends BasicPileDTO{
|
|||||||
* 车牌号码
|
* 车牌号码
|
||||||
*/
|
*/
|
||||||
private String plateNumber;
|
private String plateNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 站点id
|
||||||
|
*/
|
||||||
|
private String stationId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ public interface IOrderBasicInfoService {
|
|||||||
*/
|
*/
|
||||||
List<OrderListVO> selectChargingOrder(String pileSn);
|
List<OrderListVO> selectChargingOrder(String pileSn);
|
||||||
|
|
||||||
|
public OrderBasicInfo saveOrder2Database(GenerateOrderDTO dto) throws ParseException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改订单
|
* 修改订单
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -3250,7 +3250,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private OrderBasicInfo saveOrder2Database(GenerateOrderDTO dto) throws ParseException {
|
public OrderBasicInfo saveOrder2Database(GenerateOrderDTO dto) throws ParseException {
|
||||||
String orderCode = generateNewOrderCode();
|
String orderCode = generateNewOrderCode();
|
||||||
String transactionCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode());
|
String transactionCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user