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 694eaf90f..f3bac5184 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -32,6 +32,7 @@ import com.jsowell.pile.domain.OrderPayRecord; import com.jsowell.pile.domain.WxpayCallbackRecord; import com.jsowell.pile.dto.BasicPileDTO; import com.jsowell.pile.dto.GenerateOrderDTO; +import com.jsowell.pile.dto.ManualSettlementDTO; import com.jsowell.pile.dto.PayOrderDTO; import com.jsowell.pile.dto.PayOrderSuccessCallbackDTO; import com.jsowell.pile.dto.PaymentScenarioDTO; @@ -812,7 +813,7 @@ public class OrderService { * 人工结算订单 * @param dto */ - public boolean manualSettlementOrder(QueryOrderDTO dto) { + public boolean manualSettlementOrder(ManualSettlementDTO dto) { log.info("人工结算订单-begin orderCode:{}", dto.getOrderCode()); // 查询订单 OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode()); @@ -833,18 +834,22 @@ public class OrderService { List merchantDeptIds = authorizedMap.getMerchantDeptIds(); } - // 获取最后一次实时数据 - List chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode()); - if (CollectionUtils.isEmpty(chargingRealTimeData)) { - log.info("人工结算订单-根据订单号:{},查不到充电桩上传的实时数据,无法进行结算", dto.getOrderCode()); - return false; + String chargingAmount = dto.getChargingAmount(); + String chargingDegree = dto.getChargingDegree(); + if (StringUtils.isBlank(chargingAmount) || StringUtils.isBlank(chargingDegree)) { + // 获取最后一次实时数据 + List chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode()); + if (CollectionUtils.isNotEmpty(chargingRealTimeData)) { + RealTimeMonitorData realTimeMonitorData = chargingRealTimeData.get(0); + chargingAmount = realTimeMonitorData.getChargingAmount(); + chargingDegree = realTimeMonitorData.getChargingDegree(); + } } - RealTimeMonitorData realTimeMonitorData = chargingRealTimeData.get(0); // 组装交易记录数据 TransactionRecordsData data = new TransactionRecordsData(); - data.setConsumptionAmount(realTimeMonitorData.getChargingAmount()); // 总消费金额 - data.setTotalElectricity(realTimeMonitorData.getChargingDegree()); // 总用电量 + data.setConsumptionAmount(chargingAmount); // 总消费金额 + data.setTotalElectricity(chargingDegree); // 总用电量 data.setStopReasonMsg("人工结算订单,操作人:" + SecurityUtils.getUsername()); // 停止原因 // 结算订单 diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java index a9f2d8332..c1722e4e3 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderBasicInfoController.java @@ -7,6 +7,7 @@ import com.jsowell.common.core.page.TableDataInfo; import com.jsowell.common.enums.BusinessType; import com.jsowell.common.util.poi.ExcelUtil; import com.jsowell.pile.domain.OrderBasicInfo; +import com.jsowell.pile.dto.ManualSettlementDTO; import com.jsowell.pile.dto.QueryOrderDTO; import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.vo.web.OrderListVO; @@ -108,7 +109,7 @@ public class OrderBasicInfoController extends BaseController { * http://localhost:8080/order/manualSettlementOrder */ @PostMapping("/manualSettlementOrder") - public AjaxResult manualSettlementOrder(@RequestBody QueryOrderDTO dto) { + public AjaxResult manualSettlementOrder(@RequestBody ManualSettlementDTO dto) { return toAjax(orderService.manualSettlementOrder(dto)); } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/ManualSettlementDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/ManualSettlementDTO.java new file mode 100644 index 000000000..31b6c7bb9 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/ManualSettlementDTO.java @@ -0,0 +1,21 @@ +package com.jsowell.pile.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class ManualSettlementDTO { + // 订单编号 + private String orderCode; + + // 充电金额 + private String chargingAmount; + + // 充电度数 + private String chargingDegree; +} diff --git a/jsowell-ui/src/views/order/order/orderDetail.vue b/jsowell-ui/src/views/order/order/orderDetail.vue index c9898fb80..f2784b443 100644 --- a/jsowell-ui/src/views/order/order/orderDetail.vue +++ b/jsowell-ui/src/views/order/order/orderDetail.vue @@ -13,7 +13,15 @@ > 平台收到充电桩传来的最后一次实时监测数据
时间:{{lastMonitorData.dateTime}}, 消费金额:{{lastMonitorData.chargingAmount}}, 充电度数:{{lastMonitorData.chargingDegree}} - + + + + + + + + + 取 消 确 定 @@ -196,8 +204,12 @@ export default { orderDetail:[], pileIn: [], orderRealTimeInfo: null, + // 手动结算对话框Visible dialogVisible: false, + // 最后一次实时监测数据 lastMonitorData: {}, + // 手动结算参数 + manualSettlementParam: {}, }; }, created() { @@ -208,11 +220,9 @@ export default { this.dialogVisible = true; }, confirmManualSettlement() { - var data = { - orderCode: this.orderInfo[0].orderCode - }; - console.log("确认手动结算订单", data); - manualSettlementOrder(data).then(response => { + this.manualSettlementParam.orderCode = this.orderInfo[0].orderCode; + console.log("确认手动结算订单param:", this.manualSettlementParam); + manualSettlementOrder(this.manualSettlementParam).then(response => { this.dialogVisible = false; this.getOrderDetail(); })