mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-26 01:59:44 +08:00
update vin启动充电
This commit is contained in:
@@ -360,6 +360,9 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
|
|||||||
log.info("充电桩主动申请充电逻辑, param:{}", JSON.toJSONString(confirmStartChargingData));
|
log.info("充电桩主动申请充电逻辑, param:{}", JSON.toJSONString(confirmStartChargingData));
|
||||||
Map<String, String> resultMap = new HashMap<>();
|
Map<String, String> resultMap = new HashMap<>();
|
||||||
|
|
||||||
|
// 生成订单DTO
|
||||||
|
GenerateOrderDTO dto = new GenerateOrderDTO();
|
||||||
|
|
||||||
String pileSn = confirmStartChargingData.getPileSn();
|
String pileSn = confirmStartChargingData.getPileSn();
|
||||||
String connectorCode = confirmStartChargingData.getConnectorCode();
|
String connectorCode = confirmStartChargingData.getConnectorCode();
|
||||||
|
|
||||||
@@ -371,10 +374,12 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
|
|||||||
String startMode = confirmStartChargingData.getStartMode();
|
String startMode = confirmStartChargingData.getStartMode();
|
||||||
if (StringUtils.equals("01", startMode)) {
|
if (StringUtils.equals("01", startMode)) {
|
||||||
String physicsCard = confirmStartChargingData.getPhysicsCard();
|
String physicsCard = confirmStartChargingData.getPhysicsCard();
|
||||||
|
dto.setLogicCard(physicsCard);
|
||||||
memberWalletVO = memberBasicInfoService.queryMemberInfoByCardCode(physicsCard, pileBasicInfo.getMerchantId() + "", pileBasicInfo.getStationId() + "");
|
memberWalletVO = memberBasicInfoService.queryMemberInfoByCardCode(physicsCard, pileBasicInfo.getMerchantId() + "", pileBasicInfo.getStationId() + "");
|
||||||
log.info("根据卡号:{},查询会员信息:{}", physicsCard, JSON.toJSONString(memberWalletVO));
|
log.info("根据卡号:{},查询会员信息:{}", physicsCard, JSON.toJSONString(memberWalletVO));
|
||||||
} else if (StringUtils.equals("03", startMode)) {
|
} else if (StringUtils.equals("03", startMode)) {
|
||||||
String vinCode = confirmStartChargingData.getVinCode();
|
String vinCode = confirmStartChargingData.getVinCode();
|
||||||
|
dto.setVinCode(vinCode);
|
||||||
memberWalletVO = memberBasicInfoService.queryByVinCode(vinCode, pileBasicInfo.getMerchantId() + "", pileBasicInfo.getStationId() + "");
|
memberWalletVO = memberBasicInfoService.queryByVinCode(vinCode, pileBasicInfo.getMerchantId() + "", pileBasicInfo.getStationId() + "");
|
||||||
log.info("根据vin码:{},查询会员信息:{}", vinCode, JSON.toJSONString(memberWalletVO));
|
log.info("根据vin码:{},查询会员信息:{}", vinCode, JSON.toJSONString(memberWalletVO));
|
||||||
}
|
}
|
||||||
@@ -423,7 +428,7 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
|
|||||||
resultMap.put("accountBalance", accountBalance);
|
resultMap.put("accountBalance", accountBalance);
|
||||||
|
|
||||||
// 异步创建订单
|
// 异步创建订单
|
||||||
GenerateOrderDTO dto = new GenerateOrderDTO();
|
// GenerateOrderDTO dto = new GenerateOrderDTO();
|
||||||
dto.setPileSn(pileSn);
|
dto.setPileSn(pileSn);
|
||||||
dto.setConnectorCode(connectorCode);
|
dto.setConnectorCode(connectorCode);
|
||||||
dto.setTransactionCode(transactionCode);
|
dto.setTransactionCode(transactionCode);
|
||||||
@@ -431,10 +436,11 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
|
|||||||
dto.setPayMode(payMode);
|
dto.setPayMode(payMode);
|
||||||
dto.setStartMode(StringUtils.equals("01", startMode) ? "2" : "5");
|
dto.setStartMode(StringUtils.equals("01", startMode) ? "2" : "5");
|
||||||
dto.setMemberId(memberWalletVO.getMemberId());
|
dto.setMemberId(memberWalletVO.getMemberId());
|
||||||
|
dto.setMerchantId(pileBasicInfo.getMerchantId() + "");
|
||||||
|
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
try {
|
try {
|
||||||
Map<String, Object> map = orderBasicInfoService.generateOrderByCard(dto);
|
Map<String, Object> map = orderBasicInfoService.generateOrderByCardV2(dto);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,10 @@ public class GenerateOrderDTO extends BasicPileDTO{
|
|||||||
*/
|
*/
|
||||||
private String startMode;
|
private String startMode;
|
||||||
|
|
||||||
|
private String vinCode;
|
||||||
|
|
||||||
|
private String logicCard;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付方式 1-余额支付;3-白名单支付;4-微信支付;5-支付宝支付
|
* 支付方式 1-余额支付;3-白名单支付;4-微信支付;5-支付宝支付
|
||||||
*/
|
*/
|
||||||
@@ -127,4 +131,9 @@ public class GenerateOrderDTO extends BasicPileDTO{
|
|||||||
* 启动时soc
|
* 启动时soc
|
||||||
*/
|
*/
|
||||||
private String startSoc;
|
private String startSoc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 运营商id
|
||||||
|
*/
|
||||||
|
private String merchantId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -345,6 +345,8 @@ public interface OrderBasicInfoService{
|
|||||||
|
|
||||||
Map<String, Object> generateOrderByCard(GenerateOrderDTO dto) throws Exception;
|
Map<String, Object> generateOrderByCard(GenerateOrderDTO dto) throws Exception;
|
||||||
|
|
||||||
|
Map<String, Object> generateOrderByCardV2(GenerateOrderDTO dto) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 联联平台 获取累计数据用
|
* 联联平台 获取累计数据用
|
||||||
* @param dto
|
* @param dto
|
||||||
@@ -577,4 +579,6 @@ public interface OrderBasicInfoService{
|
|||||||
Map<String, Object> verifyMergeChargeOrder(VerifyMergeChargeOrderDTO dto) throws Exception;
|
Map<String, Object> verifyMergeChargeOrder(VerifyMergeChargeOrderDTO dto) throws Exception;
|
||||||
|
|
||||||
List<OrderBasicInfo> getOrderBasicInfoByTimeInterval(List<String> stationIds, String startTime, String endTime);
|
List<OrderBasicInfo> getOrderBasicInfoByTimeInterval(List<String> stationIds, String startTime, String endTime);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3513,6 +3513,82 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成订单 返回交易流水号
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> generateOrderByCardV2(GenerateOrderDTO dto) throws Exception {
|
||||||
|
logger.info("充电桩主动申请启动充电生成订单 param:{}", JSON.toJSONString(dto));
|
||||||
|
BigDecimal accountBalance = dto.getChargeAmount();
|
||||||
|
String payMode = dto.getPayMode();
|
||||||
|
// 判断当前用户是否为平台测试员
|
||||||
|
// PlatformTesterVO platformTesterVO = memberBasicInfoService.selectPlatformTesterStatus(dto.getMemberId());
|
||||||
|
// PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(dto.getPileSn());
|
||||||
|
// PileStationWhitelist pileStationWhitelist = pileStationWhitelistService.queryWhitelistByMemberId(String.valueOf(pileBasicInfo.getStationId()), dto.getMemberId());
|
||||||
|
|
||||||
|
// 运营商id
|
||||||
|
String merchantId = dto.getMerchantId();
|
||||||
|
|
||||||
|
dto.setChargeAmount(accountBalance);
|
||||||
|
dto.setPayMode(payMode);
|
||||||
|
/*
|
||||||
|
生成订单
|
||||||
|
*/
|
||||||
|
OrderBasicInfo basicInfo = generateOrder(dto);
|
||||||
|
if (basicInfo == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (StringUtils.equals(StartModeEnum.AUTH_CARD.getValue(), dto.getStartMode())) {
|
||||||
|
// 将卡状态改为启动锁定
|
||||||
|
PileAuthCard pileAuthCard = PileAuthCard.builder()
|
||||||
|
.id(dto.getPileAuthCardInfo().getId())
|
||||||
|
.logicCard(dto.getPileAuthCardInfo().getLogicCard())
|
||||||
|
.status("2")
|
||||||
|
.build();
|
||||||
|
pileAuthCardService.updatePileAuthCard(pileAuthCard);
|
||||||
|
} else if (StringUtils.equals(StartModeEnum.VIN_CODE.getValue(), dto.getStartMode())) {
|
||||||
|
// 将vin码改成启动锁定 2023.11.4 站点白名单和测试员不需要锁定
|
||||||
|
if (!StringUtils.equals(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue(), dto.getPayMode())) {
|
||||||
|
dto.getMemberPlateNumberRelation().setVinStatus("2");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 组装结果集
|
||||||
|
Map<String, Object> map = Maps.newHashMap();
|
||||||
|
map.put("orderCode", basicInfo.getOrderCode());
|
||||||
|
map.put("transactionCode", basicInfo.getTransactionCode());
|
||||||
|
map.put("accountBalance", accountBalance);
|
||||||
|
|
||||||
|
logger.info("生成订单 result:{}", JSON.toJSONString(map));
|
||||||
|
|
||||||
|
// 支付订单
|
||||||
|
PayOrderDTO payOrderDTO = PayOrderDTO.builder()
|
||||||
|
.orderCode(basicInfo.getOrderCode())
|
||||||
|
.payAmount(accountBalance)
|
||||||
|
.payMode(dto.getPayMode())
|
||||||
|
.memberId(dto.getMemberId())
|
||||||
|
.startMode(dto.getStartMode())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
String mode = pileMerchantInfoService.getDelayModeByMerchantId(merchantId);
|
||||||
|
// 获取处理逻辑
|
||||||
|
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
|
||||||
|
orderLogic.payOrder(payOrderDTO); // 充电桩主动申请启动充电生成订单 使用支付
|
||||||
|
|
||||||
|
/*
|
||||||
|
推送小程序启动充电消息
|
||||||
|
通过memberId查询openId
|
||||||
|
*/
|
||||||
|
if (StringUtils.isNotBlank(dto.getMemberId())) {
|
||||||
|
wxAppletRemoteService.startChargingSendMsg(dto.getMemberId(), basicInfo.getOrderCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 联联平台 获取累计数据用
|
* 联联平台 获取累计数据用
|
||||||
*
|
*
|
||||||
@@ -4684,8 +4760,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
}
|
}
|
||||||
if (StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue())) {
|
if (StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue())) {
|
||||||
// 鉴权卡启动
|
// 鉴权卡启动
|
||||||
|
if (dto.getPileAuthCardInfo() != null) {
|
||||||
orderBasicInfo.setLogicCard(dto.getPileAuthCardInfo().getLogicCard());
|
orderBasicInfo.setLogicCard(dto.getPileAuthCardInfo().getLogicCard());
|
||||||
}
|
}
|
||||||
|
if (StringUtils.isNotBlank(dto.getLogicCard())) {
|
||||||
|
orderBasicInfo.setLogicCard(dto.getLogicCard());
|
||||||
|
}
|
||||||
|
}
|
||||||
if (StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue())) {
|
if (StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue())) {
|
||||||
// vin启动
|
// vin启动
|
||||||
MemberPlateNumberRelation memberPlateNumberRelation = dto.getMemberPlateNumberRelation();
|
MemberPlateNumberRelation memberPlateNumberRelation = dto.getMemberPlateNumberRelation();
|
||||||
@@ -4697,10 +4778,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
orderBasicInfo.setPlateNumber(memberPlateNumberRelation.getLicensePlateNumber());
|
orderBasicInfo.setPlateNumber(memberPlateNumberRelation.getLicensePlateNumber());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (StringUtils.isNotBlank(dto.getVinCode())) {
|
||||||
|
orderBasicInfo.setVinCode(dto.getVinCode());
|
||||||
|
}
|
||||||
|
}
|
||||||
if (StringUtils.isNotBlank(dto.getStartSoc())) {
|
if (StringUtils.isNotBlank(dto.getStartSoc())) {
|
||||||
orderBasicInfo.setStartSoc(dto.getStartSoc());
|
orderBasicInfo.setStartSoc(dto.getStartSoc());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约时间
|
* 预约时间
|
||||||
@@ -4753,6 +4837,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
.orderDetail(orderDetail)
|
.orderDetail(orderDetail)
|
||||||
.build();
|
.build();
|
||||||
pileTransactionService.doCreateOrder(createOrderTransactionDTO);
|
pileTransactionService.doCreateOrder(createOrderTransactionDTO);
|
||||||
|
logger.info("订单保存成功-orderCode:{}, transactionCode:{}", orderCode, transactionCode);
|
||||||
return orderBasicInfo;
|
return orderBasicInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user