add 联联平台 请求启动充电 接口

This commit is contained in:
Lemon
2023-04-29 10:33:16 +08:00
parent b5f1d93359
commit 6c5c72034c
7 changed files with 192 additions and 17 deletions

View File

@@ -222,4 +222,11 @@ public interface IOrderBasicInfoService {
* @return
*/
List<AccumulativeInfoVO> getAccumulativeInfoForLianLian(QueryStationInfoDTO dto);
/**
* 联联平台生成订单
* @param dto
* @return
*/
Map<String, Object> generateOrderForLianLian(QueryStartChargeDTO dto);
}

View File

@@ -1401,4 +1401,76 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
public List<AccumulativeInfoVO> getAccumulativeInfoForLianLian(QueryStationInfoDTO dto) {
return orderBasicInfoMapper.getAccumulativeInfoForLianLian(dto);
}
/**
* 联联平台生成订单
* @param dto
* @return
*/
@Override
public Map<String, Object> generateOrderForLianLian(QueryStartChargeDTO dto) {
// 联联平台生成订单
String orderCode = dto.getStartChargeSeq();
String pileConnectorCode = dto.getConnectorID();
String pileSn = StringUtils.substring(pileConnectorCode, 0, 14);
String connectorCode = StringUtils.substring(pileConnectorCode, 14, 16);
String transactionCode = IdUtils.generateTransactionCode(pileSn, connectorCode);
// 通过桩号查询所属站点
PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn);
Long stationId = pileBasicInfo.getStationId();
// 将此订单信息存入订单表
// 订单基本信息
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
.orderCode(orderCode)
.transactionCode(transactionCode)
.orderStatus(OrderStatusEnum.NOT_START.getValue())
// .memberId(memberVO.getMemberId()) // 会员memberId
.stationId(String.valueOf(stationId))
.pileSn(pileSn)
.connectorCode(connectorCode)
.pileConnectorCode(pileConnectorCode)
// .logicCard(pileAuthCardInfo.getLogicCard()) // 卡号
.startMode(StartModeEnum.LIAN_LIAN.getValue())
.payStatus(Constants.ONE)
// .payAmount(totalAccountAmount) // 支付金额
.payTime(new Date())
// .payMode(PayModeEnum.PAYMENT_OF_BALANCE.getValue()) // 支付方式
.orderAmount(BigDecimal.ZERO)
.build();
// 根据桩编码查询当前计费模板
BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn);
// 订单详情
OrderDetail orderDetail = OrderDetail.builder()
.orderCode(orderCode)
.sharpElectricityPrice(billingTemplateVO.getSharpElectricityPrice())
.sharpServicePrice(billingTemplateVO.getSharpServicePrice())
.peakElectricityPrice(billingTemplateVO.getPeakElectricityPrice())
.peakServicePrice(billingTemplateVO.getPeakServicePrice())
.flatElectricityPrice(billingTemplateVO.getFlatElectricityPrice())
.flatServicePrice(billingTemplateVO.getFlatServicePrice())
.valleyElectricityPrice(billingTemplateVO.getValleyElectricityPrice())
.valleyServicePrice(billingTemplateVO.getValleyServicePrice())
.build();
OrderTransactionDTO createOrderTransactionDTO = OrderTransactionDTO.builder()
.orderBasicInfo(orderBasicInfo)
.orderDetail(orderDetail)
.build();
pileTransactionService.doCreateOrder(createOrderTransactionDTO);
// 组装结果集
Map<String, Object> resultMap = Maps.newHashMap();
resultMap.put("orderCode", orderBasicInfo.getOrderCode());
resultMap.put("transactionCode", orderBasicInfo.getTransactionCode());
resultMap.put("orderBasicInfo", orderBasicInfo);
resultMap.put("orderDetail", orderDetail);
// resultMap.put("accountBalance", totalAccountAmount);
return resultMap;
}
}