mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-26 18:18:01 +08:00
手动结算订单
This commit is contained in:
@@ -588,6 +588,7 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
OrderDetailInfoVO.OrderInfo order = new OrderDetailInfoVO.OrderInfo();
|
OrderDetailInfoVO.OrderInfo order = new OrderDetailInfoVO.OrderInfo();
|
||||||
order.setOrderCode(orderBasicInfo.getOrderCode());
|
order.setOrderCode(orderBasicInfo.getOrderCode());
|
||||||
|
order.setTransactionCode(orderBasicInfo.getTransactionCode());
|
||||||
order.setOrderStatus(orderBasicInfo.getOrderStatus());
|
order.setOrderStatus(orderBasicInfo.getOrderStatus());
|
||||||
String describe = orderBasicInfoService.transformOrderStatusDescribe(orderBasicInfo.getOrderStatus(), orderBasicInfo.getPayStatus());
|
String describe = orderBasicInfoService.transformOrderStatusDescribe(orderBasicInfo.getOrderStatus(), orderBasicInfo.getPayStatus());
|
||||||
order.setOrderStatusDescribe(describe);
|
order.setOrderStatusDescribe(describe);
|
||||||
@@ -609,9 +610,9 @@ public class OrderService {
|
|||||||
dto.setConnectorCodeList(Lists.newArrayList(pileConnectorCode));
|
dto.setConnectorCodeList(Lists.newArrayList(pileConnectorCode));
|
||||||
List<RealTimeMonitorData> chargingRealTimeDataList = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode());
|
List<RealTimeMonitorData> chargingRealTimeDataList = orderBasicInfoService.getChargingRealTimeData(orderBasicInfo.getTransactionCode());
|
||||||
if (CollectionUtils.isNotEmpty(chargingRealTimeDataList)) {
|
if (CollectionUtils.isNotEmpty(chargingRealTimeDataList)) {
|
||||||
List<OrderDetailInfoVO.RealTimeMonitorData> infoList = Lists.newArrayList();
|
List<OrderDetailInfoVO.PileMonitorData> infoList = Lists.newArrayList();
|
||||||
for (RealTimeMonitorData realTimeMonitorData : chargingRealTimeDataList) {
|
for (RealTimeMonitorData realTimeMonitorData : chargingRealTimeDataList) {
|
||||||
OrderDetailInfoVO.RealTimeMonitorData info = new OrderDetailInfoVO.RealTimeMonitorData();
|
OrderDetailInfoVO.PileMonitorData info = new OrderDetailInfoVO.PileMonitorData();
|
||||||
info.setInstantCurrent(realTimeMonitorData.getOutputCurrent()); // 电流
|
info.setInstantCurrent(realTimeMonitorData.getOutputCurrent()); // 电流
|
||||||
info.setInstantVoltage(realTimeMonitorData.getOutputVoltage()); // 电压
|
info.setInstantVoltage(realTimeMonitorData.getOutputVoltage()); // 电压
|
||||||
info.setInstantPower(realTimeMonitorData.getOutputPower()); // 功率
|
info.setInstantPower(realTimeMonitorData.getOutputPower()); // 功率
|
||||||
@@ -634,9 +635,12 @@ public class OrderService {
|
|||||||
|
|
||||||
// 根据时间进行正序排序
|
// 根据时间进行正序排序
|
||||||
infoList = infoList.stream()
|
infoList = infoList.stream()
|
||||||
.sorted(Comparator.comparing(OrderDetailInfoVO.RealTimeMonitorData::getTime))
|
.sorted(Comparator.comparing(OrderDetailInfoVO.PileMonitorData::getTime))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
vo.setRealTimeMonitorDataList(infoList);
|
vo.setRealTimeMonitorDataList(infoList);
|
||||||
|
|
||||||
|
// 最后一次实时数据
|
||||||
|
vo.setLastMonitorData(chargingRealTimeDataList.get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 支付流水
|
// 支付流水
|
||||||
@@ -809,6 +813,7 @@ public class OrderService {
|
|||||||
* @param dto
|
* @param dto
|
||||||
*/
|
*/
|
||||||
public boolean manualSettlementOrder(QueryOrderDTO dto) {
|
public boolean manualSettlementOrder(QueryOrderDTO dto) {
|
||||||
|
log.info("人工结算订单-begin orderCode:{}", dto.getOrderCode());
|
||||||
// 查询订单
|
// 查询订单
|
||||||
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
|
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
|
||||||
if (orderBasicInfo == null) {
|
if (orderBasicInfo == null) {
|
||||||
@@ -847,6 +852,8 @@ public class OrderService {
|
|||||||
|
|
||||||
// 发送停止充电指令
|
// 发送停止充电指令
|
||||||
pileRemoteService.remoteStopCharging(orderBasicInfo.getPileSn(), orderBasicInfo.getConnectorCode());
|
pileRemoteService.remoteStopCharging(orderBasicInfo.getPileSn(), orderBasicInfo.getConnectorCode());
|
||||||
|
|
||||||
|
log.info("人工结算订单-end orderCode:{}", dto.getOrderCode());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.jsowell.pile.vo.web;
|
package com.jsowell.pile.vo.web;
|
||||||
|
|
||||||
|
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
||||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -26,12 +27,14 @@ public class OrderDetailInfoVO {
|
|||||||
// 支付信息
|
// 支付信息
|
||||||
private List<PayRecord> payRecordList;
|
private List<PayRecord> payRecordList;
|
||||||
|
|
||||||
// 枪口信息
|
// 枪口监控信息
|
||||||
private List<RealTimeMonitorData> realTimeMonitorDataList;
|
private List<PileMonitorData> realTimeMonitorDataList;
|
||||||
|
|
||||||
// 订单相关实时数据
|
// 订单相关实时数据
|
||||||
private OrderRealTimeInfo orderRealTimeInfo;
|
private OrderRealTimeInfo orderRealTimeInfo;
|
||||||
|
|
||||||
|
private RealTimeMonitorData lastMonitorData;
|
||||||
|
|
||||||
// billingDetails
|
// billingDetails
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -57,6 +60,7 @@ public class OrderDetailInfoVO {
|
|||||||
@Data
|
@Data
|
||||||
public static class OrderInfo {
|
public static class OrderInfo {
|
||||||
private String orderCode; // 订单编号
|
private String orderCode; // 订单编号
|
||||||
|
private String transactionCode; // 交易流水号
|
||||||
private String orderStatus; // 订单状态
|
private String orderStatus; // 订单状态
|
||||||
private String orderStatusDescribe; // 订单状态描述
|
private String orderStatusDescribe; // 订单状态描述
|
||||||
private String startTime; // 充电开始时间
|
private String startTime; // 充电开始时间
|
||||||
@@ -79,7 +83,7 @@ public class OrderDetailInfoVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class RealTimeMonitorData{
|
public static class PileMonitorData {
|
||||||
private String instantCurrent; // 实时电流
|
private String instantCurrent; // 实时电流
|
||||||
private String instantVoltage; // 实时电压
|
private String instantVoltage; // 实时电压
|
||||||
private String instantPower; // 实时功率
|
private String instantPower; // 实时功率
|
||||||
|
|||||||
@@ -51,3 +51,11 @@ export function totalData(query) {
|
|||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function manualSettlementOrder(data) {
|
||||||
|
return request({
|
||||||
|
url: '/order/manualSettlementOrder',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,9 +1,23 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="cardStyle" v-if="orderInfo[0].orderStatus === '5'">
|
<el-card class="cardStyle" v-if="orderInfo[0].orderStatus === '4'">
|
||||||
<div >
|
<div style="margin: 10px">
|
||||||
手动结算
|
<span style="color: #bf1c1c">该笔订单为异常状态,请检查充电桩状态!</span>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="dialogVisible = true">手动结算</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
title="提示"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="30%"
|
||||||
|
>
|
||||||
|
<span>平台收到充电桩传来的最后一次实时监测数据<br/></span>
|
||||||
|
<span>时间:{{lastMonitorData.dateTime}}, 消费金额:{{lastMonitorData.chargingAmount}}, 充电度数:{{lastMonitorData.chargingDegree}}</span>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="confirmManualSettlement">确 定</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
</el-card>
|
</el-card>
|
||||||
<!-- 进度条-->
|
<!-- 进度条-->
|
||||||
<el-card class="cardStyle">
|
<el-card class="cardStyle">
|
||||||
@@ -43,12 +57,8 @@
|
|||||||
<el-card class="cardStyle">
|
<el-card class="cardStyle">
|
||||||
<h3>订单信息</h3>
|
<h3>订单信息</h3>
|
||||||
<el-table style="width: 100%" :data="orderInfo" border>
|
<el-table style="width: 100%" :data="orderInfo" border>
|
||||||
<el-table-column
|
<el-table-column prop="orderCode" label="订单号" align="center" width="280"/>
|
||||||
prop="orderCode"
|
<el-table-column prop="transactionCode" label="交易流水号" align="center" width="280"/>
|
||||||
label="订单号"
|
|
||||||
align="center"
|
|
||||||
width="280"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column prop="orderStatusDescribe" label="订单状态描述" align="center"/>
|
<el-table-column prop="orderStatusDescribe" label="订单状态描述" align="center"/>
|
||||||
<el-table-column prop="createTime" label="创建时间" align="center"/>
|
<el-table-column prop="createTime" label="创建时间" align="center"/>
|
||||||
<el-table-column prop="startTime" label="开始时间" align="center"/>
|
<el-table-column prop="startTime" label="开始时间" align="center"/>
|
||||||
@@ -169,7 +179,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getOrder } from "@/api/order/order";
|
import { getOrder, manualSettlementOrder } from "@/api/order/order";
|
||||||
import OrderEcharts from "@/views/order/order/orderEcharts";
|
import OrderEcharts from "@/views/order/order/orderEcharts";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -185,12 +195,26 @@ export default {
|
|||||||
orderDetail:[],
|
orderDetail:[],
|
||||||
pileIn: [],
|
pileIn: [],
|
||||||
orderRealTimeInfo: null,
|
orderRealTimeInfo: null,
|
||||||
|
dialogVisible: false,
|
||||||
|
lastMonitorData: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getOrderDetail();
|
this.getOrderDetail();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
clickManualSettlement() {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
},
|
||||||
|
confirmManualSettlement() {
|
||||||
|
var data = {
|
||||||
|
orderCode: this.orderInfo[0].orderCode
|
||||||
|
};
|
||||||
|
console.log("确认手动结算订单", data);
|
||||||
|
manualSettlementOrder(data).then(response => {
|
||||||
|
this.dialogVisible = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
async getOrderDetail() {
|
async getOrderDetail() {
|
||||||
console.log("主页面传递过来的参数", this.orderList);
|
console.log("主页面传递过来的参数", this.orderList);
|
||||||
// console.log(this.orderList.orderCode)
|
// console.log(this.orderList.orderCode)
|
||||||
@@ -207,6 +231,7 @@ export default {
|
|||||||
console.log("this.pileIn", this.pileIn);
|
console.log("this.pileIn", this.pileIn);
|
||||||
this.orderRealTimeInfo = [data.orderRealTimeInfo];
|
this.orderRealTimeInfo = [data.orderRealTimeInfo];
|
||||||
this.orderDetail = [data.billingDetails];
|
this.orderDetail = [data.billingDetails];
|
||||||
|
this.lastMonitorData = data.lastMonitorData;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user