mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-26 05:55:03 +08:00
update 电单车
This commit is contained in:
@@ -36,7 +36,6 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.ParseException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -123,7 +122,7 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
/**
|
||||
* 生成订单
|
||||
*/
|
||||
public abstract OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException;
|
||||
public abstract OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws Exception;
|
||||
|
||||
/**
|
||||
* 支付订单
|
||||
|
||||
@@ -69,7 +69,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws ParseException {
|
||||
public OrderBasicInfo generateOrder(GenerateOrderDTO dto) throws Exception {
|
||||
// 处理前端传的参数
|
||||
orderBasicInfoService.analysisPileParameter(dto);
|
||||
|
||||
@@ -112,9 +112,33 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
// 无transactionCode, 表示由平台端启动充电, 需要验证充电桩状态
|
||||
orderBasicInfoService.checkPileInfoForEBike(dto);
|
||||
}
|
||||
|
||||
// 校验该桩号枪口是否有待支付订单
|
||||
checkPileConnectorOrder(dto);
|
||||
|
||||
return orderBasicInfoService.saveOrderForEBike(dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验该桩号枪口是否有待支付订单
|
||||
*/
|
||||
private void checkPileConnectorOrder(GenerateOrderDTO dto) {
|
||||
String pileConnectorCode = dto.getPileConnectorCode();
|
||||
List<OrderBasicInfo> orderBasicInfoList = orderBasicInfoService.queryOrdersByPileConnectorCodeAndStatus(pileConnectorCode, null, OrderPayStatusEnum.unpaid.getValue());
|
||||
|
||||
if (CollectionUtils.isNotEmpty(orderBasicInfoList)) {
|
||||
List<OrderBasicInfo> collect = orderBasicInfoList.stream()
|
||||
// 这个会员有待支付订单
|
||||
.filter(x -> StringUtils.equals(x.getMemberId(), dto.getMemberId()))
|
||||
// 10分钟内的订单
|
||||
.filter(x -> DateUtils.intervalTime(x.getCreateTime(), DateUtils.getNowDate()) < 10 * 60 * 1000)
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(collect)) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PENDING_PAYMENT_ORDERS_EXIST_ERROR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付订单
|
||||
* @param dto
|
||||
@@ -933,7 +957,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
OrderBasicInfo orderBasicInfo;
|
||||
try {
|
||||
orderBasicInfo = generateOrder(generateOrderDTO);
|
||||
} catch (ParseException e) {
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
// 支付订单
|
||||
|
||||
Reference in New Issue
Block a user