update 订单详情中的收费明细

This commit is contained in:
2023-03-08 10:00:13 +08:00
parent 36fb57f2b7
commit 7c0a4e179e
3 changed files with 138 additions and 13 deletions

View File

@@ -22,6 +22,7 @@ import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException; import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils; 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.IdUtils;
import com.jsowell.netty.command.ykc.StartChargingCommand; import com.jsowell.netty.command.ykc.StartChargingCommand;
import com.jsowell.netty.service.yunkuaichong.YKCPushCommandService; import com.jsowell.netty.service.yunkuaichong.YKCPushCommandService;
@@ -667,7 +668,13 @@ public class OrderService {
vo.setPayRecordList(payRecordList); vo.setPayRecordList(payRecordList);
} }
// 查订单明细
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
if (orderDetail != null) {
OrderDetailInfoVO.BillingDetails billingDetails = new OrderDetailInfoVO.BillingDetails();
BeanUtils.copyBeanProp(billingDetails, orderDetail);
vo.setBillingDetails(billingDetails);
}
// 用户信息 // 用户信息
MemberVO memberVO = memberService.getMemberInfoByMemberId(orderBasicInfo.getMemberId()); MemberVO memberVO = memberService.getMemberInfoByMemberId(orderBasicInfo.getMemberId());

View File

@@ -4,6 +4,7 @@ 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;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@@ -14,6 +15,8 @@ public class OrderDetailInfoVO {
// 订单信息 // 订单信息
private OrderInfo orderInfo; private OrderInfo orderInfo;
private BillingDetails billingDetails;
// 用户信息 // 用户信息
private MemberVO memberInfo; private MemberVO memberInfo;
@@ -29,6 +32,91 @@ public class OrderDetailInfoVO {
// 订单相关实时数据 // 订单相关实时数据
private OrderRealTimeInfo orderRealTimeInfo; private OrderRealTimeInfo orderRealTimeInfo;
// billingDetails
@Data
public static class BillingDetails{
/**
* 总用电量
*/
private BigDecimal totalUsedElectricity;
/**
* 订单总金额(电费总额+服务费总额)
*/
private BigDecimal totalOrderAmount;
/**
* 电费总金额(各时段消耗电费总金额)
*/
private BigDecimal totalElectricityAmount;
/**
* 服务费总金额(各时段服务费总金额)
*/
private BigDecimal totalServiceAmount;
/**
* 尖时段用电量
*/
private BigDecimal sharpUsedElectricity;
/**
* 尖时段电费单价
*/
private BigDecimal sharpElectricityPrice;
/**
* 尖时段服务费单价
*/
private BigDecimal sharpServicePrice;
/**
* 峰时段用电量
*/
private BigDecimal peakUsedElectricity;
/**
* 峰时段电费单价
*/
private BigDecimal peakElectricityPrice;
/**
* 峰时段服务费单价
*/
private BigDecimal peakServicePrice;
/**
* 平时段用电量
*/
private BigDecimal flatUsedElectricity;
/**
* 平时段电费单价
*/
private BigDecimal flatElectricityPrice;
/**
* 平时段服务费单价
*/
private BigDecimal flatServicePrice;
/**
* 谷时段用电量
*/
private BigDecimal valleyUsedElectricity;
/**
* 谷时段电费单价
*/
private BigDecimal valleyElectricityPrice;
/**
*
*/
private BigDecimal valleyServicePrice; // 谷时段服务费单价
}
@Data @Data
public static class OrderInfo { public static class OrderInfo {
private String orderCode; // 订单编号 private String orderCode; // 订单编号

View File

@@ -6,29 +6,29 @@
<div <div
style="text-align: center; margin-bottom: 30px" style="text-align: center; margin-bottom: 30px"
v-if=" v-if="
orderDetail[0].orderStatus === '4' || orderInfo[0].orderStatus === '4' ||
orderDetail[0].orderStatus === '6' orderInfo[0].orderStatus === '6'
" "
> >
停止理由: 停止理由:
<span style="color: red">{{ orderDetail[0].stopReasonMsg }}</span> <span style="color: red">{{ orderInfo[0].stopReasonMsg }}</span>
</div> </div>
<el-steps <el-steps
:active="orderDetail[0].orderStatus !== '6' ? 2 : 4" :active="orderInfo[0].orderStatus !== '6' ? 2 : 4"
align-center align-center
finish-status="success" finish-status="success"
> >
<el-step <el-step
title="客户下单" title="客户下单"
:description="orderDetail[0].createTime" :description="orderInfo[0].createTime"
></el-step> ></el-step>
<el-step <el-step
title="开始充电" title="开始充电"
:description="status(orderDetail[0].orderStatus)" :description="status(orderInfo[0].orderStatus)"
></el-step> ></el-step>
<el-step <el-step
title="结束充电" title="结束充电"
:description="orderDetail[0].endTime" :description="orderInfo[0].endTime"
></el-step> ></el-step>
<el-step title="完成充电" description="充电时长"></el-step> <el-step title="完成充电" description="充电时长"></el-step>
</el-steps> </el-steps>
@@ -37,7 +37,7 @@
<!-- 订单信息 --> <!-- 订单信息 -->
<el-card class="cardStyle"> <el-card class="cardStyle">
<h3>订单信息</h3> <h3>订单信息</h3>
<el-table style="width: 100%" :data="orderDetail" border> <el-table style="width: 100%" :data="orderInfo" border>
<el-table-column <el-table-column
prop="orderCode" prop="orderCode"
label="订单号" label="订单号"
@@ -88,6 +88,34 @@
<div class="marginTop"></div> <div class="marginTop"></div>
</el-card> </el-card>
<!-- 收费明细 -->
<el-card class="cardStyle">
<h3>收费明细</h3>
<el-table style="width: 100%" :data="orderDetail" border>
<el-table-column prop="totalUsedElectricity" label="总用电量" align="center"/>
<el-table-column prop="totalOrderAmount" label="订单总金额" align="center"/>
<el-table-column prop="totalElectricityAmount" label="电费总金额" align="center"/>
<el-table-column prop="totalServiceAmount" label="服务费总金额" align="center"/>
<el-table-column prop="sharpUsedElectricity" label="尖时段用电量" align="center"/>
<el-table-column prop="sharpElectricityPrice" label="尖时段电费单价" align="center"/>
<el-table-column prop="sharpServicePrice" label="尖时段服务费单价" align="center"/>
<el-table-column prop="peakUsedElectricity" label="峰时段用电量" align="center"/>
<el-table-column prop="peakElectricityPrice" label="峰时段电费单价" align="center"/>
<el-table-column prop="peakServicePrice" label="峰时段服务费单价" align="center"/>
<el-table-column prop="flatUsedElectricity" label="平时段用电量" align="center"/>
<el-table-column prop="flatElectricityPrice" label="平时段电费单价" align="center"/>
<el-table-column prop="flatServicePrice" label="平时段服务费单价" align="center"/>
<el-table-column prop="valleyUsedElectricity" label="谷时段用电量" align="center"/>
<el-table-column prop="valleyElectricityPrice" label="谷时段电费单价" align="center"/>
<el-table-column prop="valleyServicePrice" label="谷时段服务费单价" align="center"/>
</el-table>
<div class="marginTop"></div>
</el-card>
<el-card class="cardStyle"> <el-card class="cardStyle">
<h3>实时订单数据</h3> <h3>实时订单数据</h3>
<el-table style="width: 100%" :data="orderRealTimeInfo" border> <el-table style="width: 100%" :data="orderRealTimeInfo" border>
@@ -246,7 +274,7 @@
<el-card <el-card
class="cardStyle" class="cardStyle"
v-if=" v-if="
orderDetail[0].orderStatus === '1' || orderDetail[0].orderStatus === '6' orderInfo[0].orderStatus === '1' || orderInfo[0].orderStatus === '6'
" "
> >
<div class="marginTop"></div> <div class="marginTop"></div>
@@ -264,10 +292,11 @@ export default {
data() { data() {
return { return {
orderList: this.$route.params.orderCode, orderList: this.$route.params.orderCode,
orderDetail: [], orderInfo: [],
payDetail: [], payDetail: [],
userInfo: [], userInfo: [],
obj: {}, obj: {},
orderDetail:[],
pileIn: [], pileIn: [],
orderRealTimeInfo: null, orderRealTimeInfo: null,
}; };
@@ -282,8 +311,8 @@ export default {
const { data } = await getOrder(this.orderList); const { data } = await getOrder(this.orderList);
console.log("getOrder", data); console.log("getOrder", data);
this.obj = data; this.obj = data;
this.orderDetail = [data.orderInfo]; this.orderInfo = [data.orderInfo];
console.log("this.orderDetail", this.orderDetail); console.log("this.orderInfo", this.orderDetail);
this.payDetail = data.payRecordList; this.payDetail = data.payRecordList;
console.log("this.payDetail", this.payDetail); console.log("this.payDetail", this.payDetail);
this.userInfo = [data.memberInfo]; this.userInfo = [data.memberInfo];
@@ -291,6 +320,7 @@ export default {
this.pileIn = [data.pileInfo]; this.pileIn = [data.pileInfo];
console.log("this.pileIn", this.pileIn); console.log("this.pileIn", this.pileIn);
this.orderRealTimeInfo = [data.orderRealTimeInfo]; this.orderRealTimeInfo = [data.orderRealTimeInfo];
this.orderDetail = [data.orderDetail];
}, },
status(e) { status(e) {
let arr = [ let arr = [