mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-14 23:08:35 +08:00
新增 鉴权卡启动充电,订单信息存入数据库
This commit is contained in:
@@ -6,7 +6,9 @@ import com.jsowell.common.constant.Constants;
|
|||||||
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
||||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||||
import com.jsowell.common.enums.ykc.OrderStatusEnum;
|
import com.jsowell.common.enums.ykc.OrderStatusEnum;
|
||||||
|
import com.jsowell.common.enums.ykc.PayModeEnum;
|
||||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||||
|
import com.jsowell.common.enums.ykc.StartModeEnum;
|
||||||
import com.jsowell.common.exception.BusinessException;
|
import com.jsowell.common.exception.BusinessException;
|
||||||
import com.jsowell.common.util.BytesUtil;
|
import com.jsowell.common.util.BytesUtil;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.common.util.StringUtils;
|
||||||
@@ -16,17 +18,23 @@ import com.jsowell.netty.factory.YKCOperateFactory;
|
|||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
import com.jsowell.pile.domain.OrderDetail;
|
import com.jsowell.pile.domain.OrderDetail;
|
||||||
import com.jsowell.pile.domain.PileAuthCard;
|
import com.jsowell.pile.domain.PileAuthCard;
|
||||||
|
import com.jsowell.pile.domain.PileBasicInfo;
|
||||||
import com.jsowell.pile.service.IPileAuthCardService;
|
import com.jsowell.pile.service.IPileAuthCardService;
|
||||||
|
import com.jsowell.pile.service.IPileBasicInfoService;
|
||||||
|
import com.jsowell.pile.service.IPileBillingTemplateService;
|
||||||
import com.jsowell.pile.service.impl.MemberBasicInfoServiceImpl;
|
import com.jsowell.pile.service.impl.MemberBasicInfoServiceImpl;
|
||||||
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
||||||
import com.jsowell.pile.transaction.service.TransactionService;
|
import com.jsowell.pile.transaction.service.TransactionService;
|
||||||
|
import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||||
|
import com.jsowell.pile.vo.web.BillingTemplateVO;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 充电桩主动申请启动充电 0x31
|
* 充电桩主动申请启动充电 0x31
|
||||||
@@ -49,6 +57,12 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{
|
|||||||
@Autowired
|
@Autowired
|
||||||
private TransactionService pileTransactionService;
|
private TransactionService pileTransactionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPileBasicInfoService pileBasicInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPileBillingTemplateService pileBillingTemplateService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
YKCOperateFactory.register(type, this);
|
YKCOperateFactory.register(type, this);
|
||||||
@@ -109,6 +123,7 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{
|
|||||||
String logicCard = "";
|
String logicCard = "";
|
||||||
byte[] authenticationFlagByteArr = Constants.zeroByteArray;
|
byte[] authenticationFlagByteArr = Constants.zeroByteArray;
|
||||||
byte[] accountBalanceByteArr = Constants.zeroByteArray;
|
byte[] accountBalanceByteArr = Constants.zeroByteArray;
|
||||||
|
String transactionCode = IdUtils.generateTransactionCode(pileSn, connectorCode);
|
||||||
try {
|
try {
|
||||||
if (StringUtils.equals("01", startMode)) {
|
if (StringUtils.equals("01", startMode)) {
|
||||||
// 刷卡启动充电
|
// 刷卡启动充电
|
||||||
@@ -138,39 +153,43 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{
|
|||||||
// 鉴权成功标识 0x00 失败 0x01 成功
|
// 鉴权成功标识 0x00 失败 0x01 成功
|
||||||
authenticationFlagByteArr = Constants.oneByteArray;
|
authenticationFlagByteArr = Constants.oneByteArray;
|
||||||
}
|
}
|
||||||
|
// 通过桩号查询所属站点
|
||||||
|
PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn);
|
||||||
|
Long stationId = pileBasicInfo.getStationId();
|
||||||
|
// TODO 个人桩站点不计费
|
||||||
|
|
||||||
// TODO 将此订单信息存入订单表
|
// 将此订单信息存入订单表
|
||||||
|
|
||||||
String orderCode = IdUtils.getOrderCode();
|
String orderCode = IdUtils.getOrderCode();
|
||||||
String transactionCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode());
|
|
||||||
// 订单基本信息
|
// 订单基本信息
|
||||||
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
|
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
|
||||||
.orderCode(orderCode)
|
.orderCode(orderCode)
|
||||||
.transactionCode(transactionCode)
|
.transactionCode(transactionCode)
|
||||||
.orderStatus(OrderStatusEnum.NOT_START.getValue())
|
.orderStatus(OrderStatusEnum.NOT_START.getValue())
|
||||||
.memberId(memberVO.getMemberId())
|
.memberId(memberVO.getMemberId())
|
||||||
.stationId(dto.getPileConnector().getStationId())
|
.stationId(String.valueOf(stationId))
|
||||||
.pileSn(dto.getPileSn())
|
.pileSn(pileSn)
|
||||||
.connectorCode(dto.getConnectorCode())
|
.connectorCode(connectorCode)
|
||||||
.pileConnectorCode(dto.getPileSn() + dto.getConnectorCode())
|
.pileConnectorCode(pileSn + connectorCode)
|
||||||
.startMode(dto.getStartMode())
|
.startMode(StartModeEnum.CARD.getValue())
|
||||||
.payStatus(Constants.ZERO)
|
.payStatus(Constants.ZERO)
|
||||||
.payAmount(dto.getChargeAmount())
|
.payAmount(new BigDecimal(String.valueOf(accountBalance)))
|
||||||
.payMode(dto.getPayMode())
|
.payTime(new Date())
|
||||||
|
.payMode(PayModeEnum.PAYMENT_OF_BALANCE.getValue())
|
||||||
.orderAmount(BigDecimal.ZERO)
|
.orderAmount(BigDecimal.ZERO)
|
||||||
.build();
|
.build();
|
||||||
|
// 根据桩编码查询当前计费模板
|
||||||
|
BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn);
|
||||||
// 订单详情
|
// 订单详情
|
||||||
OrderDetail orderDetail = OrderDetail.builder()
|
OrderDetail orderDetail = OrderDetail.builder()
|
||||||
.orderCode(orderCode)
|
.orderCode(orderCode)
|
||||||
.sharpElectricityPrice(dto.getBillingTemplate().getSharpElectricityPrice())
|
.sharpElectricityPrice(billingTemplateVO.getSharpElectricityPrice())
|
||||||
.sharpServicePrice(dto.getBillingTemplate().getSharpServicePrice())
|
.sharpServicePrice(billingTemplateVO.getSharpServicePrice())
|
||||||
.peakElectricityPrice(dto.getBillingTemplate().getPeakElectricityPrice())
|
.peakElectricityPrice(billingTemplateVO.getPeakElectricityPrice())
|
||||||
.peakServicePrice(dto.getBillingTemplate().getPeakServicePrice())
|
.peakServicePrice(billingTemplateVO.getPeakServicePrice())
|
||||||
.flatElectricityPrice(dto.getBillingTemplate().getFlatElectricityPrice())
|
.flatElectricityPrice(billingTemplateVO.getFlatElectricityPrice())
|
||||||
.flatServicePrice(dto.getBillingTemplate().getFlatServicePrice())
|
.flatServicePrice(billingTemplateVO.getFlatServicePrice())
|
||||||
.valleyElectricityPrice(dto.getBillingTemplate().getValleyElectricityPrice())
|
.valleyElectricityPrice(billingTemplateVO.getValleyElectricityPrice())
|
||||||
.valleyServicePrice(dto.getBillingTemplate().getValleyServicePrice())
|
.valleyServicePrice(billingTemplateVO.getValleyServicePrice())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
OrderTransactionDTO createOrderTransactionDTO = OrderTransactionDTO.builder()
|
OrderTransactionDTO createOrderTransactionDTO = OrderTransactionDTO.builder()
|
||||||
@@ -178,8 +197,6 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{
|
|||||||
.orderDetail(orderDetail)
|
.orderDetail(orderDetail)
|
||||||
.build();
|
.build();
|
||||||
pileTransactionService.doCreateOrder(createOrderTransactionDTO);
|
pileTransactionService.doCreateOrder(createOrderTransactionDTO);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (BusinessException e){
|
} catch (BusinessException e){
|
||||||
log.error("刷卡启动充电鉴权 error:{}, {}", e.getCode(), e.getMessage());
|
log.error("刷卡启动充电鉴权 error:{}, {}", e.getCode(), e.getMessage());
|
||||||
@@ -189,7 +206,7 @@ public class ConfirmStartChargingRequestHandler extends AbstractHandler{
|
|||||||
|
|
||||||
// 应答
|
// 应答
|
||||||
// 交易流水号
|
// 交易流水号
|
||||||
String transactionCode = IdUtils.generateTransactionCode(pileSn, connectorCode);
|
// String transactionCode = IdUtils.generateTransactionCode(pileSn, connectorCode);
|
||||||
byte[] serialNumByteArr = BytesUtil.str2Bcd(transactionCode);
|
byte[] serialNumByteArr = BytesUtil.str2Bcd(transactionCode);
|
||||||
|
|
||||||
// 逻辑卡号
|
// 逻辑卡号
|
||||||
|
|||||||
Reference in New Issue
Block a user