diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index a423ba8d7..6f3cc24fd 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -8,7 +8,6 @@ import com.google.common.collect.Maps; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.page.PageResponse; -import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.MemberWalletEnum; import com.jsowell.common.enums.ykc.ActionTypeEnum; import com.jsowell.common.enums.ykc.OrderPayModeEnum; @@ -48,7 +47,6 @@ import com.jsowell.pile.service.IMemberTransactionRecordService; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IOrderPayRecordService; import com.jsowell.pile.service.IPileBillingTemplateService; -import com.jsowell.pile.service.IPileConnectorInfoService; import com.jsowell.pile.service.IPileStationInfoService; import com.jsowell.pile.service.WechatPayService; import com.jsowell.pile.service.WxpayCallbackRecordService; diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/StartModeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/StartModeEnum.java new file mode 100644 index 000000000..fa2c7d079 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/StartModeEnum.java @@ -0,0 +1,36 @@ +package com.jsowell.common.enums.ykc; + +/** + * 启动方式 + */ +public enum StartModeEnum { + WEB("0", "后管启动"), + APP("1","用户app启动"), + CARD("2", "卡启动"), + + ; + + private String value; + private String label; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + StartModeEnum(String value, String label) { + this.value = value; + this.label = label; + } +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 45cb0b6fa..c04728635 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -17,13 +17,13 @@ import com.jsowell.common.enums.ykc.OrderPayStatusEnum; import com.jsowell.common.enums.ykc.OrderStatusEnum; import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum; import com.jsowell.common.enums.ykc.ReturnCodeEnum; +import com.jsowell.common.enums.ykc.StartModeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.SecurityUtils; import com.jsowell.common.util.StringUtils; -import com.jsowell.common.util.bean.BeanUtils; +import com.jsowell.common.util.id.IdUtils; import com.jsowell.common.util.id.SnowflakeIdWorker; -import com.jsowell.pile.domain.OrderAbnormalRecord; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderDetail; import com.jsowell.pile.domain.OrderPayRecord; @@ -38,12 +38,14 @@ import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.service.IOrderAbnormalRecordService; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IOrderPayRecordService; +import com.jsowell.pile.service.IPileBasicInfoService; import com.jsowell.pile.service.IPileConnectorInfoService; import com.jsowell.pile.service.WechatPayService; import com.jsowell.pile.service.WxpayCallbackRecordService; import com.jsowell.pile.service.WxpayRefundCallbackService; import com.jsowell.pile.transaction.dto.OrderTransactionDTO; import com.jsowell.pile.transaction.service.TransactionService; +import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.OrderVO; import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO; @@ -111,9 +113,15 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Autowired private IOrderAbnormalRecordService orderAbnormalRecordService; + @Autowired + private TransactionService pileTransactionService; + @Autowired private WxAppletRemoteService wxAppletRemoteService; + @Autowired + private IPileBasicInfoService pileBasicInfoService; + @Autowired private IPileConnectorInfoService pileConnectorInfoService; @@ -680,12 +688,121 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Override public void saveAbnormalOrder(TransactionRecordsData data) { - OrderAbnormalRecord record = new OrderAbnormalRecord(); - BeanUtils.copyBeanProp(record, data); - orderAbnormalRecordService.insertOrderAbnormalRecord(record); + // OrderAbnormalRecord record = new OrderAbnormalRecord(); + // BeanUtils.copyBeanProp(record, data); + // orderAbnormalRecordService.insertOrderAbnormalRecord(record); // 保存到订单主表 + // 订单基本信息 + PileInfoVO pileInfoVO = pileBasicInfoService.selectPileInfoBySn(data.getPileSn()); + if (pileInfoVO == null) { + return; + } + String orderCode = IdUtils.getOrderCode(); + OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder().build(); + // 订单编号 + orderBasicInfo.setOrderCode(orderCode); + // 交易流水号 + orderBasicInfo.setTransactionCode(data.getTransactionCode()); + // 订单状态 固定值异常 + orderBasicInfo.setOrderStatus(OrderStatusEnum.SUSPICIOUS.getValue()); + // 站点id + orderBasicInfo.setStationId(pileInfoVO.getStationId()); + // 充电桩编号 + orderBasicInfo.setPileSn(data.getPileSn()); + // 枪口号 + orderBasicInfo.setConnectorCode(data.getConnectorCode()); + // 枪口编号 + orderBasicInfo.setPileConnectorCode(pileInfoVO.getPileSn() + data.getConnectorCode()); + // 启动方式 + String transactionIdentifier = data.getTransactionIdentifier(); + String startMode = null; + if (StringUtils.equals(transactionIdentifier, "01")) { + startMode = StartModeEnum.APP.getValue(); + } else if (StringUtils.equals(transactionIdentifier, "02")) { + // 卡启动 + startMode = StartModeEnum.CARD.getValue(); + } + orderBasicInfo.setStartMode(startMode); + // 支付方式 + orderBasicInfo.setPayMode(null); + // 支付金额 + orderBasicInfo.setPayAmount(null); + // 支付状态 + orderBasicInfo.setPayStatus(null); + // 支付时间 + orderBasicInfo.setPayTime(null); + // 订单金额 + orderBasicInfo.setOrderAmount(null); + // 充电开始时间 + orderBasicInfo.setChargeStartTime(DateUtils.parseDate(data.getStartTime())); + // 充电结束时间 + orderBasicInfo.setChargeEndTime(DateUtils.parseDate(data.getEndTime())); + + // 订单详情 + OrderDetail orderDetail = OrderDetail.builder().build(); + // 订单编号 + orderDetail.setOrderCode(orderCode); + // 订单总金额 + orderDetail.setTotalOrderAmount(new BigDecimal(data.getConsumptionAmount())); + // 总用电量 + orderDetail.setTotalUsedElectricity(new BigDecimal(data.getTotalElectricity())); + // 总服务费金额 + // orderDetail.setTotalServiceAmount(); + // 总电费金额 + // orderDetail.setTotalElectricityAmount(); + + // 尖时段金额 + orderDetail.setSharpAmount(new BigDecimal(data.getSharpAmount())); + // 尖时段单价 + orderDetail.setSharpPrice(new BigDecimal(data.getSharpPrice())); + // 尖时段服务费单价 + // orderDetail.setSharpServicePrice(); + // 尖时段电费单价 + // orderDetail.setSharpElectricityPrice(); + // 尖时段用电量 + orderDetail.setSharpUsedElectricity(new BigDecimal(data.getSharpUsedElectricity())); + + // 峰时段金额 + orderDetail.setPeakAmount(new BigDecimal(data.getPeakAmount())); + // 峰时段单价 + orderDetail.setPeakPrice(new BigDecimal(data.getPeakPrice())); + // 峰时段服务费单价 + // orderDetail.setPeakServicePrice(); + // 峰时段电费单价 + // orderDetail.setPeakElectricityPrice(); + // 峰时段用电量 + orderDetail.setPeakUsedElectricity(new BigDecimal(data.getPeakUsedElectricity())); + + // 平时段金额 + orderDetail.setFlatAmount(new BigDecimal(data.getFlatAmount())); + // 平时段单价 + orderDetail.setFlatPrice(new BigDecimal(data.getFlatPrice())); + // 平时段服务费单价 + // orderDetail.setFlatServicePrice(); + // 平时段电费单价 + // orderDetail.setFlatElectricityPrice(); + // 平时段用电量 + orderDetail.setFlatUsedElectricity(new BigDecimal(data.getFlatUsedElectricity())); + + + // 谷时段金额 + orderDetail.setValleyAmount(new BigDecimal(data.getValleyAmount())); + // 谷时段单价 + orderDetail.setValleyPrice(new BigDecimal(data.getValleyPrice())); + // 谷时段服务费单价 + // orderDetail.setValleyServicePrice(); + // 谷时段电费单价 + // orderDetail.setValleyElectricityPrice(); + // 谷时段用电量 + orderDetail.setValleyUsedElectricity(new BigDecimal(data.getValleyUsedElectricity())); + + OrderTransactionDTO createOrderTransactionDTO = OrderTransactionDTO.builder() + .orderBasicInfo(orderBasicInfo) + .orderDetail(orderDetail) + .build(); + pileTransactionService.doCreateOrder(createOrderTransactionDTO); } /**