From 8713d8296109b5e8a7bf2df14dc7fa0a92a50572 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Fri, 12 May 2023 15:03:29 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/OrderService.java | 48 ++----------- .../pile/OrderInvoiceRecordController.java | 2 +- .../pile/mapper/OrderBasicInfoMapper.java | 2 + .../pile/service/IOrderBasicInfoService.java | 8 +++ .../service/IOrderInvoiceRecordService.java | 3 + .../impl/OrderBasicInfoServiceImpl.java | 72 +++++++++++++++++++ .../impl/OrderInvoiceRecordServiceImpl.java | 40 +++++++++++ .../pile/vo/base/OrderAmountDetailVO.java | 40 +++++++++++ .../pile/vo/base/OrderPeriodAmountVO.java | 24 +++++++ .../jsowell/pile/vo/uniapp/UniAppOrderVO.java | 23 +----- .../jsowell/pile/vo/web/InvoiceRecordVO.java | 5 +- .../pile/vo/web/OrderDetailInfoVO.java | 38 ++-------- .../mapper/pile/OrderBasicInfoMapper.xml | 11 +++ .../mapper/pile/OrderInvoiceRecordMapper.xml | 4 +- jsowell-ui/src/views/order/invoice/detail.vue | 20 +++++- 15 files changed, 238 insertions(+), 102 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderAmountDetailVO.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderPeriodAmountVO.java 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 055d75f75..723efda49 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -15,7 +15,6 @@ import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.InvoiceRecordEnum; import com.jsowell.common.enums.MemberWalletEnum; import com.jsowell.common.enums.ykc.ActionTypeEnum; -import com.jsowell.common.enums.ykc.BillingTimeEnum; import com.jsowell.common.enums.ykc.OrderPayModeEnum; import com.jsowell.common.enums.ykc.OrderPayRecordEnum; import com.jsowell.common.enums.ykc.OrderStatusEnum; @@ -64,6 +63,8 @@ import com.jsowell.pile.service.WechatPayService; import com.jsowell.pile.service.WxpayCallbackRecordService; import com.jsowell.pile.transaction.dto.OrderTransactionDTO; import com.jsowell.pile.transaction.service.TransactionService; +import com.jsowell.pile.vo.base.OrderAmountDetailVO; +import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.uniapp.InvoiceRecordVO; import com.jsowell.pile.vo.uniapp.MemberVO; @@ -794,48 +795,12 @@ public class OrderService { // 查订单明细 OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode); if (orderDetail != null) { - OrderDetailInfoVO.BillingDetails billingDetails = new OrderDetailInfoVO.BillingDetails(); + OrderAmountDetailVO billingDetails = new OrderAmountDetailVO(); BeanUtils.copyBeanProp(billingDetails, orderDetail); vo.setBillingDetails(billingDetails); - // new 收费明细 - OrderDetailInfoVO.ChargeDetail sharp = new OrderDetailInfoVO.ChargeDetail(); - sharp.setPeriodType(BillingTimeEnum.SHARP.getLabel()); - sharp.setElectricityPrice(orderDetail.getSharpElectricityPrice()); - sharp.setServicePrice(orderDetail.getSharpServicePrice()); - BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getSharpUsedElectricity(); - sharp.setUsedElectricity(sharpUsedElectricity); - sharp.setElectricityAmount(sharp.getElectricityPrice().multiply(sharp.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - sharp.setServiceAmount(sharp.getServicePrice().multiply(sharp.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - - OrderDetailInfoVO.ChargeDetail peak = new OrderDetailInfoVO.ChargeDetail(); - peak.setPeriodType(BillingTimeEnum.PEAK.getLabel()); - peak.setElectricityPrice(orderDetail.getPeakElectricityPrice()); - peak.setServicePrice(orderDetail.getPeakServicePrice()); - BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getPeakUsedElectricity(); - peak.setUsedElectricity(peakUsedElectricity); - peak.setElectricityAmount(peak.getElectricityPrice().multiply(peak.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - peak.setServiceAmount(peak.getServicePrice().multiply(peak.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - - OrderDetailInfoVO.ChargeDetail flat = new OrderDetailInfoVO.ChargeDetail(); - flat.setPeriodType(BillingTimeEnum.FLAT.getLabel()); - flat.setElectricityPrice(orderDetail.getFlatElectricityPrice()); - flat.setServicePrice(orderDetail.getFlatServicePrice()); - BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getFlatUsedElectricity(); - flat.setUsedElectricity(flatUsedElectricity); - flat.setElectricityAmount(flat.getElectricityPrice().multiply(flat.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - flat.setServiceAmount(flat.getServicePrice().multiply(flat.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - - OrderDetailInfoVO.ChargeDetail valley = new OrderDetailInfoVO.ChargeDetail(); - valley.setPeriodType(BillingTimeEnum.VALLEY.getLabel()); - valley.setElectricityPrice(orderDetail.getValleyElectricityPrice()); - valley.setServicePrice(orderDetail.getValleyServicePrice()); - BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getValleyUsedElectricity(); - valley.setUsedElectricity(valleyUsedElectricity); - valley.setElectricityAmount(valley.getElectricityPrice().multiply(valley.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - valley.setServiceAmount(valley.getServicePrice().multiply(valley.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); - - vo.setChargeDetails(Lists.newArrayList(sharp, peak, flat, valley)); + List orderPeriodAmountVOS = orderBasicInfoService.transformPeriodAmountByOrderDetail(orderDetail); + vo.setChargeDetails(orderPeriodAmountVOS); } // 用户信息 @@ -940,10 +905,9 @@ public class OrderService { OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode); if (orderDetail != null) { - UniAppOrderVO.BillingDetails billingDetails = new UniAppOrderVO.BillingDetails(); + OrderAmountDetailVO billingDetails = new OrderAmountDetailVO(); BeanUtils.copyBeanProp(billingDetails, orderDetail); vo.setBillingDetails(billingDetails); - // orderDetail.getSharpElectricityPrice() } try { diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderInvoiceRecordController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderInvoiceRecordController.java index 072b551e1..fd65dbe59 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderInvoiceRecordController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderInvoiceRecordController.java @@ -63,7 +63,7 @@ public class OrderInvoiceRecordController extends BaseController { @PreAuthorize("@ss.hasPermi('order:invoice:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Integer id) { - return AjaxResult.success(orderInvoiceRecordService.selectOrderInvoiceRecordById(id)); + return AjaxResult.success(orderInvoiceRecordService.selectInvoiceTitleVO(id)); } /** diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java index 3b93c9d53..9d9126e8e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java @@ -205,4 +205,6 @@ public interface OrderBasicInfoMapper { List queryElecAmountNullList(); int batchUpdateOrderDetail(@Param("list") List orderDetailList); + + List getOrderDetailList(List orderCodes); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index 34afc2aa4..af19de9dc 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -5,6 +5,8 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderDetail; import com.jsowell.pile.dto.*; +import com.jsowell.pile.vo.base.OrderAmountDetailVO; +import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; import com.jsowell.pile.vo.uniapp.OrderVO; import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO; @@ -108,6 +110,8 @@ public interface IOrderBasicInfoService { */ OrderDetail getOrderDetailByOrderCode(String orderCode); + List getOrderDetailList(List orderCodes); + /** * 通过会员Id和订单状态查询订单信息 * @@ -231,4 +235,8 @@ public interface IOrderBasicInfoService { * @return */ Map generateOrderForLianLian(QueryStartChargeDTO dto); + + List queryOrderAmountDetail(List orderCodes); + + List transformPeriodAmountByOrderDetail(OrderDetail orderDetail); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderInvoiceRecordService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderInvoiceRecordService.java index cda371b78..9bfe54a3c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderInvoiceRecordService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderInvoiceRecordService.java @@ -2,6 +2,7 @@ package com.jsowell.pile.service; import com.jsowell.pile.domain.OrderInvoiceRecord; import com.jsowell.pile.dto.QueryInvoiceRecordDTO; +import com.jsowell.pile.vo.web.InvoiceRecordVO; import java.util.List; @@ -20,6 +21,8 @@ public interface IOrderInvoiceRecordService { */ public OrderInvoiceRecord selectOrderInvoiceRecordById(Integer id); + InvoiceRecordVO selectInvoiceTitleVO(Integer id); + /** * 查询申请开票列表 * 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 1885e4d98..448eef345 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 @@ -14,6 +14,7 @@ import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.enums.MemberWalletEnum; +import com.jsowell.common.enums.ykc.BillingTimeEnum; import com.jsowell.common.enums.ykc.OrderPayModeEnum; import com.jsowell.common.enums.ykc.OrderPayStatusEnum; import com.jsowell.common.enums.ykc.OrderStatusEnum; @@ -60,6 +61,8 @@ 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.OrderAmountDetailVO; +import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; @@ -1323,6 +1326,11 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { return orderBasicInfoMapper.getOrderDetailByOrderCode(orderCode); } + @Override + public List getOrderDetailList(List orderCodes) { + return orderBasicInfoMapper.getOrderDetailList(orderCodes); + } + /** * 通过会员Id和订单状态查询订单信息 * @@ -1558,4 +1566,68 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { return resultMap; } + + @Override + public List queryOrderAmountDetail(List orderCodes) { + List orderDetailList = getOrderDetailList(orderCodes); + if (CollectionUtils.isEmpty(orderDetailList)) { + return Lists.newArrayList(); + } + List resultList = Lists.newArrayList(); + OrderAmountDetailVO vo = null; + for (OrderDetail orderDetail : orderDetailList) { + vo = new OrderAmountDetailVO(); + BeanUtils.copyBeanProp(vo, orderDetail); + resultList.add(vo); + } + return resultList; + } + + /** + * 订单详情 转换为各个时段的详情 + */ + @Override + public List transformPeriodAmountByOrderDetail(OrderDetail orderDetail) { + // 尖时段 + OrderPeriodAmountVO sharp = new OrderPeriodAmountVO(); + sharp.setPeriodType(BillingTimeEnum.SHARP.getLabel()); + sharp.setElectricityPrice(orderDetail.getSharpElectricityPrice()); + sharp.setServicePrice(orderDetail.getSharpServicePrice()); + BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getSharpUsedElectricity(); + sharp.setUsedElectricity(sharpUsedElectricity); + sharp.setElectricityAmount(sharp.getElectricityPrice().multiply(sharp.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + sharp.setServiceAmount(sharp.getServicePrice().multiply(sharp.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + + // 峰时段 + OrderPeriodAmountVO peak = new OrderPeriodAmountVO(); + peak.setPeriodType(BillingTimeEnum.PEAK.getLabel()); + peak.setElectricityPrice(orderDetail.getPeakElectricityPrice()); + peak.setServicePrice(orderDetail.getPeakServicePrice()); + BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getPeakUsedElectricity(); + peak.setUsedElectricity(peakUsedElectricity); + peak.setElectricityAmount(peak.getElectricityPrice().multiply(peak.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + peak.setServiceAmount(peak.getServicePrice().multiply(peak.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + + // 平时段 + OrderPeriodAmountVO flat = new OrderPeriodAmountVO(); + flat.setPeriodType(BillingTimeEnum.FLAT.getLabel()); + flat.setElectricityPrice(orderDetail.getFlatElectricityPrice()); + flat.setServicePrice(orderDetail.getFlatServicePrice()); + BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getFlatUsedElectricity(); + flat.setUsedElectricity(flatUsedElectricity); + flat.setElectricityAmount(flat.getElectricityPrice().multiply(flat.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + flat.setServiceAmount(flat.getServicePrice().multiply(flat.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + + // 谷时段 + OrderPeriodAmountVO valley = new OrderPeriodAmountVO(); + valley.setPeriodType(BillingTimeEnum.VALLEY.getLabel()); + valley.setElectricityPrice(orderDetail.getValleyElectricityPrice()); + valley.setServicePrice(orderDetail.getValleyServicePrice()); + BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getValleyUsedElectricity(); + valley.setUsedElectricity(valleyUsedElectricity); + valley.setElectricityAmount(valley.getElectricityPrice().multiply(valley.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + valley.setServiceAmount(valley.getServicePrice().multiply(valley.getUsedElectricity()).setScale(2, BigDecimal.ROUND_DOWN)); + + return Lists.newArrayList(sharp, peak, flat, valley); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java index 9015a5e97..78ebde4a0 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderInvoiceRecordServiceImpl.java @@ -1,9 +1,16 @@ package com.jsowell.pile.service.impl; +import com.google.common.collect.Lists; +import com.jsowell.common.util.DateUtils; import com.jsowell.pile.domain.OrderInvoiceRecord; import com.jsowell.pile.dto.QueryInvoiceRecordDTO; import com.jsowell.pile.mapper.OrderInvoiceRecordMapper; +import com.jsowell.pile.service.IMemberInvoiceTitleService; +import com.jsowell.pile.service.IOrderBasicInfoService; import com.jsowell.pile.service.IOrderInvoiceRecordService; +import com.jsowell.pile.vo.base.OrderAmountDetailVO; +import com.jsowell.pile.vo.uniapp.InvoiceTitleVO; +import com.jsowell.pile.vo.web.InvoiceRecordVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +27,12 @@ public class OrderInvoiceRecordServiceImpl implements IOrderInvoiceRecordService @Autowired private OrderInvoiceRecordMapper orderInvoiceRecordMapper; + @Autowired + private IMemberInvoiceTitleService memberInvoiceTitleService; + + @Autowired + private IOrderBasicInfoService orderBasicInfoService; + /** * 查询申请开票 * @@ -31,6 +44,33 @@ public class OrderInvoiceRecordServiceImpl implements IOrderInvoiceRecordService return orderInvoiceRecordMapper.selectOrderInvoiceRecordById(id); } + @Override + public InvoiceRecordVO selectInvoiceTitleVO(Integer id) { + // 申请记录信息 + OrderInvoiceRecord orderInvoiceRecord = selectOrderInvoiceRecordById(id); + if (orderInvoiceRecord == null) { + return null; + } + // 发票抬头信息 + InvoiceTitleVO invoiceTitleVO = memberInvoiceTitleService.selectByTitleId(orderInvoiceRecord.getTitleId()); + + // 订单信息 + List orderCodes = Lists.newArrayList(orderInvoiceRecord.getOrderCodes().split(",")); + List orderAmountDetailVOS = orderBasicInfoService.queryOrderAmountDetail(orderCodes); + + InvoiceRecordVO vo = InvoiceRecordVO.builder() + .id(orderInvoiceRecord.getId() + "") + .memberId(orderInvoiceRecord.getMemberId()) + .status(orderInvoiceRecord.getStatus()) + .invoiceTitle(invoiceTitleVO) + .orderList(orderAmountDetailVOS) + .createTime(DateUtils.formatDateTime(orderInvoiceRecord.getCreateTime())) + .updateTime(DateUtils.formatDateTime(orderInvoiceRecord.getUpdateTime())) + .build(); + + return vo; + } + /** * 查询申请开票列表 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderAmountDetailVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderAmountDetailVO.java new file mode 100644 index 000000000..10ec0bb73 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderAmountDetailVO.java @@ -0,0 +1,40 @@ +package com.jsowell.pile.vo.base; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 订单金额明细 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class OrderAmountDetailVO { + private String orderCode; // 订单编号 + + 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; // 谷时段服务费单价 +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderPeriodAmountVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderPeriodAmountVO.java new file mode 100644 index 000000000..7d08d4488 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/OrderPeriodAmountVO.java @@ -0,0 +1,24 @@ +package com.jsowell.pile.vo.base; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 订单时段收费明细 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class OrderPeriodAmountVO { + private String periodType; // 时段类型 + private BigDecimal usedElectricity; // 用电量 + private BigDecimal electricityPrice; // 电费单价 + private BigDecimal servicePrice; // 服务费单价 + private BigDecimal electricityAmount; // 电费金额 + private BigDecimal serviceAmount; // 服务费金额 +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java index e2aa752e4..25ecb53c5 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/UniAppOrderVO.java @@ -1,11 +1,11 @@ package com.jsowell.pile.vo.uniapp; +import com.jsowell.pile.vo.base.OrderAmountDetailVO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.math.BigDecimal; import java.util.List; @Data @@ -162,25 +162,6 @@ public class UniAppOrderVO { private String batteryMaxTemperature; } - private BillingDetails billingDetails; + private OrderAmountDetailVO 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; // 谷时段服务费单价 - } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/InvoiceRecordVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/InvoiceRecordVO.java index d58e01613..1d2ddc787 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/InvoiceRecordVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/InvoiceRecordVO.java @@ -1,11 +1,14 @@ package com.jsowell.pile.vo.web; +import com.jsowell.pile.vo.base.OrderAmountDetailVO; import com.jsowell.pile.vo.uniapp.InvoiceTitleVO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + @Data @NoArgsConstructor @AllArgsConstructor @@ -44,5 +47,5 @@ public class InvoiceRecordVO { /** * 订单明细 */ - // private List<> orderList; + private List orderList; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java index f131762ca..c55e89f78 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/OrderDetailInfoVO.java @@ -1,11 +1,12 @@ package com.jsowell.pile.vo.web; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; +import com.jsowell.pile.vo.base.OrderAmountDetailVO; +import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.uniapp.MemberVO; import lombok.Data; -import java.math.BigDecimal; import java.util.List; /** @@ -16,7 +17,8 @@ public class OrderDetailInfoVO { // 订单信息 private OrderInfo orderInfo; - private BillingDetails billingDetails; + // 账单明细 + private OrderAmountDetailVO billingDetails; // 用户信息 private MemberVO memberInfo; @@ -36,37 +38,7 @@ public class OrderDetailInfoVO { private RealTimeMonitorData lastMonitorData; // 收费明细 - private List chargeDetails; - - @Data - public static class ChargeDetail{ - private String periodType; // 时段类型 - private BigDecimal usedElectricity; // 用电量 - private BigDecimal electricityPrice; // 电费单价 - private BigDecimal servicePrice; // 服务费单价 - private BigDecimal electricityAmount; // 电费金额 - private BigDecimal serviceAmount; // 服务费金额 - } - - @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; // 谷时段服务费单价 - } + private List chargeDetails; @Data public static class OrderInfo { diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index 1f5c08795..31008f5e8 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -974,4 +974,15 @@ id=#{i.id} + + \ No newline at end of file diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderInvoiceRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderInvoiceRecordMapper.xml index 31cdb9466..d185422ae 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderInvoiceRecordMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderInvoiceRecordMapper.xml @@ -7,6 +7,7 @@ + @@ -21,7 +22,8 @@ - id, member_id, order_codes, status, total_amount, total_service_amount, total_elec_amount, create_by, create_time, update_by, update_time, del_flag + id, member_id, title_id, order_codes, status, total_amount, total_service_amount, total_elec_amount, + create_by, create_time, update_by, update_time, del_flag diff --git a/jsowell-ui/src/views/order/invoice/detail.vue b/jsowell-ui/src/views/order/invoice/detail.vue index cf905b6b0..2b2055d6f 100644 --- a/jsowell-ui/src/views/order/invoice/detail.vue +++ b/jsowell-ui/src/views/order/invoice/detail.vue @@ -49,10 +49,15 @@