mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update vin启动充电
This commit is contained in:
@@ -41,6 +41,10 @@ public class GenerateOrderDTO extends BasicPileDTO{
|
||||
*/
|
||||
private String startMode;
|
||||
|
||||
private String vinCode;
|
||||
|
||||
private String logicCard;
|
||||
|
||||
/**
|
||||
* 支付方式 1-余额支付;3-白名单支付;4-微信支付;5-支付宝支付
|
||||
*/
|
||||
@@ -127,4 +131,9 @@ public class GenerateOrderDTO extends BasicPileDTO{
|
||||
* 启动时soc
|
||||
*/
|
||||
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> generateOrderByCardV2(GenerateOrderDTO dto) throws Exception;
|
||||
|
||||
/**
|
||||
* 联联平台 获取累计数据用
|
||||
* @param dto
|
||||
@@ -577,4 +579,6 @@ public interface OrderBasicInfoService{
|
||||
Map<String, Object> verifyMergeChargeOrder(VerifyMergeChargeOrderDTO dto) throws Exception;
|
||||
|
||||
List<OrderBasicInfo> getOrderBasicInfoByTimeInterval(List<String> stationIds, String startTime, String endTime);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3513,6 +3513,82 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
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,7 +4760,12 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
}
|
||||
if (StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue())) {
|
||||
// 鉴权卡启动
|
||||
orderBasicInfo.setLogicCard(dto.getPileAuthCardInfo().getLogicCard());
|
||||
if (dto.getPileAuthCardInfo() != null) {
|
||||
orderBasicInfo.setLogicCard(dto.getPileAuthCardInfo().getLogicCard());
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getLogicCard())) {
|
||||
orderBasicInfo.setLogicCard(dto.getLogicCard());
|
||||
}
|
||||
}
|
||||
if (StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue())) {
|
||||
// vin启动
|
||||
@@ -4697,10 +4778,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
orderBasicInfo.setPlateNumber(memberPlateNumberRelation.getLicensePlateNumber());
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getStartSoc())) {
|
||||
orderBasicInfo.setStartSoc(dto.getStartSoc());
|
||||
if (StringUtils.isNotBlank(dto.getVinCode())) {
|
||||
orderBasicInfo.setVinCode(dto.getVinCode());
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getStartSoc())) {
|
||||
orderBasicInfo.setStartSoc(dto.getStartSoc());
|
||||
}
|
||||
|
||||
/**
|
||||
* 预约时间
|
||||
@@ -4753,6 +4837,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
.orderDetail(orderDetail)
|
||||
.build();
|
||||
pileTransactionService.doCreateOrder(createOrderTransactionDTO);
|
||||
logger.info("订单保存成功-orderCode:{}, transactionCode:{}", orderCode, transactionCode);
|
||||
return orderBasicInfo;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user