mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-09 04:20:08 +08:00
update 优化订单金额展示
This commit is contained in:
@@ -15,7 +15,6 @@ import com.jsowell.common.core.redis.RedisCache;
|
|||||||
import com.jsowell.common.enums.InvoiceRecordEnum;
|
import com.jsowell.common.enums.InvoiceRecordEnum;
|
||||||
import com.jsowell.common.enums.MemberWalletEnum;
|
import com.jsowell.common.enums.MemberWalletEnum;
|
||||||
import com.jsowell.common.enums.ykc.ActionTypeEnum;
|
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.OrderPayModeEnum;
|
||||||
import com.jsowell.common.enums.ykc.OrderPayRecordEnum;
|
import com.jsowell.common.enums.ykc.OrderPayRecordEnum;
|
||||||
import com.jsowell.common.enums.ykc.OrderStatusEnum;
|
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.service.WxpayCallbackRecordService;
|
||||||
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
||||||
import com.jsowell.pile.transaction.service.TransactionService;
|
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.base.PileInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.InvoiceRecordVO;
|
import com.jsowell.pile.vo.uniapp.InvoiceRecordVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||||
@@ -794,48 +795,12 @@ public class OrderService {
|
|||||||
// 查订单明细
|
// 查订单明细
|
||||||
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
|
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
|
||||||
if (orderDetail != null) {
|
if (orderDetail != null) {
|
||||||
OrderDetailInfoVO.BillingDetails billingDetails = new OrderDetailInfoVO.BillingDetails();
|
OrderAmountDetailVO billingDetails = new OrderAmountDetailVO();
|
||||||
BeanUtils.copyBeanProp(billingDetails, orderDetail);
|
BeanUtils.copyBeanProp(billingDetails, orderDetail);
|
||||||
vo.setBillingDetails(billingDetails);
|
vo.setBillingDetails(billingDetails);
|
||||||
|
|
||||||
// new 收费明细
|
List<OrderPeriodAmountVO> orderPeriodAmountVOS = orderBasicInfoService.transformPeriodAmountByOrderDetail(orderDetail);
|
||||||
OrderDetailInfoVO.ChargeDetail sharp = new OrderDetailInfoVO.ChargeDetail();
|
vo.setChargeDetails(orderPeriodAmountVOS);
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用户信息
|
// 用户信息
|
||||||
@@ -940,10 +905,9 @@ public class OrderService {
|
|||||||
|
|
||||||
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
|
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
|
||||||
if (orderDetail != null) {
|
if (orderDetail != null) {
|
||||||
UniAppOrderVO.BillingDetails billingDetails = new UniAppOrderVO.BillingDetails();
|
OrderAmountDetailVO billingDetails = new OrderAmountDetailVO();
|
||||||
BeanUtils.copyBeanProp(billingDetails, orderDetail);
|
BeanUtils.copyBeanProp(billingDetails, orderDetail);
|
||||||
vo.setBillingDetails(billingDetails);
|
vo.setBillingDetails(billingDetails);
|
||||||
// orderDetail.getSharpElectricityPrice()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class OrderInvoiceRecordController extends BaseController {
|
|||||||
@PreAuthorize("@ss.hasPermi('order:invoice:query')")
|
@PreAuthorize("@ss.hasPermi('order:invoice:query')")
|
||||||
@GetMapping(value = "/{id}")
|
@GetMapping(value = "/{id}")
|
||||||
public AjaxResult getInfo(@PathVariable("id") Integer id) {
|
public AjaxResult getInfo(@PathVariable("id") Integer id) {
|
||||||
return AjaxResult.success(orderInvoiceRecordService.selectOrderInvoiceRecordById(id));
|
return AjaxResult.success(orderInvoiceRecordService.selectInvoiceTitleVO(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -205,4 +205,6 @@ public interface OrderBasicInfoMapper {
|
|||||||
List<OrderDetail> queryElecAmountNullList();
|
List<OrderDetail> queryElecAmountNullList();
|
||||||
|
|
||||||
int batchUpdateOrderDetail(@Param("list") List<OrderDetail> orderDetailList);
|
int batchUpdateOrderDetail(@Param("list") List<OrderDetail> orderDetailList);
|
||||||
|
|
||||||
|
List<OrderDetail> getOrderDetailList(List<String> orderCodes);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
|||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
import com.jsowell.pile.domain.OrderDetail;
|
import com.jsowell.pile.domain.OrderDetail;
|
||||||
import com.jsowell.pile.dto.*;
|
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.lianlian.AccumulativeInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.OrderVO;
|
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||||
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
|
||||||
@@ -108,6 +110,8 @@ public interface IOrderBasicInfoService {
|
|||||||
*/
|
*/
|
||||||
OrderDetail getOrderDetailByOrderCode(String orderCode);
|
OrderDetail getOrderDetailByOrderCode(String orderCode);
|
||||||
|
|
||||||
|
List<OrderDetail> getOrderDetailList(List<String> orderCodes);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过会员Id和订单状态查询订单信息
|
* 通过会员Id和订单状态查询订单信息
|
||||||
*
|
*
|
||||||
@@ -231,4 +235,8 @@ public interface IOrderBasicInfoService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Map<String, Object> generateOrderForLianLian(QueryStartChargeDTO dto);
|
Map<String, Object> generateOrderForLianLian(QueryStartChargeDTO dto);
|
||||||
|
|
||||||
|
List<OrderAmountDetailVO> queryOrderAmountDetail(List<String> orderCodes);
|
||||||
|
|
||||||
|
List<OrderPeriodAmountVO> transformPeriodAmountByOrderDetail(OrderDetail orderDetail);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.jsowell.pile.service;
|
|||||||
|
|
||||||
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
import com.jsowell.pile.domain.OrderInvoiceRecord;
|
||||||
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||||
|
import com.jsowell.pile.vo.web.InvoiceRecordVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -20,6 +21,8 @@ public interface IOrderInvoiceRecordService {
|
|||||||
*/
|
*/
|
||||||
public OrderInvoiceRecord selectOrderInvoiceRecordById(Integer id);
|
public OrderInvoiceRecord selectOrderInvoiceRecordById(Integer id);
|
||||||
|
|
||||||
|
InvoiceRecordVO selectInvoiceTitleVO(Integer id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询申请开票列表
|
* 查询申请开票列表
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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.domain.ykc.TransactionRecordsData;
|
||||||
import com.jsowell.common.core.redis.RedisCache;
|
import com.jsowell.common.core.redis.RedisCache;
|
||||||
import com.jsowell.common.enums.MemberWalletEnum;
|
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.OrderPayModeEnum;
|
||||||
import com.jsowell.common.enums.ykc.OrderPayStatusEnum;
|
import com.jsowell.common.enums.ykc.OrderPayStatusEnum;
|
||||||
import com.jsowell.common.enums.ykc.OrderStatusEnum;
|
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.service.WxpayRefundCallbackService;
|
||||||
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
||||||
import com.jsowell.pile.transaction.service.TransactionService;
|
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.base.PileInfoVO;
|
||||||
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||||||
@@ -1323,6 +1326,11 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
return orderBasicInfoMapper.getOrderDetailByOrderCode(orderCode);
|
return orderBasicInfoMapper.getOrderDetailByOrderCode(orderCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OrderDetail> getOrderDetailList(List<String> orderCodes) {
|
||||||
|
return orderBasicInfoMapper.getOrderDetailList(orderCodes);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过会员Id和订单状态查询订单信息
|
* 通过会员Id和订单状态查询订单信息
|
||||||
*
|
*
|
||||||
@@ -1558,4 +1566,68 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
|
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OrderAmountDetailVO> queryOrderAmountDetail(List<String> orderCodes) {
|
||||||
|
List<OrderDetail> orderDetailList = getOrderDetailList(orderCodes);
|
||||||
|
if (CollectionUtils.isEmpty(orderDetailList)) {
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
|
List<OrderAmountDetailVO> 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<OrderPeriodAmountVO> 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,16 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
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.domain.OrderInvoiceRecord;
|
||||||
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||||
import com.jsowell.pile.mapper.OrderInvoiceRecordMapper;
|
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.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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -20,6 +27,12 @@ public class OrderInvoiceRecordServiceImpl implements IOrderInvoiceRecordService
|
|||||||
@Autowired
|
@Autowired
|
||||||
private OrderInvoiceRecordMapper orderInvoiceRecordMapper;
|
private OrderInvoiceRecordMapper orderInvoiceRecordMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IMemberInvoiceTitleService memberInvoiceTitleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IOrderBasicInfoService orderBasicInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询申请开票
|
* 查询申请开票
|
||||||
*
|
*
|
||||||
@@ -31,6 +44,33 @@ public class OrderInvoiceRecordServiceImpl implements IOrderInvoiceRecordService
|
|||||||
return orderInvoiceRecordMapper.selectOrderInvoiceRecordById(id);
|
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<String> orderCodes = Lists.newArrayList(orderInvoiceRecord.getOrderCodes().split(","));
|
||||||
|
List<OrderAmountDetailVO> 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;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询申请开票列表
|
* 查询申请开票列表
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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; // 谷时段服务费单价
|
||||||
|
}
|
||||||
@@ -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; // 服务费金额
|
||||||
|
}
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.jsowell.pile.vo.uniapp;
|
package com.jsowell.pile.vo.uniapp;
|
||||||
|
|
||||||
|
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -162,25 +162,6 @@ public class UniAppOrderVO {
|
|||||||
private String batteryMaxTemperature;
|
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; // 谷时段服务费单价
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
package com.jsowell.pile.vo.web;
|
package com.jsowell.pile.vo.web;
|
||||||
|
|
||||||
|
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
|
||||||
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
|
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@@ -44,5 +47,5 @@ public class InvoiceRecordVO {
|
|||||||
/**
|
/**
|
||||||
* 订单明细
|
* 订单明细
|
||||||
*/
|
*/
|
||||||
// private List<> orderList;
|
private List<OrderAmountDetailVO> orderList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
package com.jsowell.pile.vo.web;
|
package com.jsowell.pile.vo.web;
|
||||||
|
|
||||||
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
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.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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,7 +17,8 @@ public class OrderDetailInfoVO {
|
|||||||
// 订单信息
|
// 订单信息
|
||||||
private OrderInfo orderInfo;
|
private OrderInfo orderInfo;
|
||||||
|
|
||||||
private BillingDetails billingDetails;
|
// 账单明细
|
||||||
|
private OrderAmountDetailVO billingDetails;
|
||||||
|
|
||||||
// 用户信息
|
// 用户信息
|
||||||
private MemberVO memberInfo;
|
private MemberVO memberInfo;
|
||||||
@@ -36,37 +38,7 @@ public class OrderDetailInfoVO {
|
|||||||
private RealTimeMonitorData lastMonitorData;
|
private RealTimeMonitorData lastMonitorData;
|
||||||
|
|
||||||
// 收费明细
|
// 收费明细
|
||||||
private List<ChargeDetail> chargeDetails;
|
private List<OrderPeriodAmountVO> 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; // 谷时段服务费单价
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class OrderInfo {
|
public static class OrderInfo {
|
||||||
|
|||||||
@@ -974,4 +974,15 @@
|
|||||||
id=#{i.id}
|
id=#{i.id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<select id="getOrderDetailList" resultMap="OrderDetailResult">
|
||||||
|
select
|
||||||
|
<include refid="Detail_Base_Column_List"/>
|
||||||
|
from order_detail
|
||||||
|
where del_flag = '0'
|
||||||
|
and order_code in
|
||||||
|
<foreach collection="list" item="item" open="(" separator="," close=")">
|
||||||
|
#{item,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
<resultMap type="com.jsowell.pile.domain.OrderInvoiceRecord" id="OrderInvoiceRecordResult">
|
<resultMap type="com.jsowell.pile.domain.OrderInvoiceRecord" id="OrderInvoiceRecordResult">
|
||||||
<result property="id" column="id" />
|
<result property="id" column="id" />
|
||||||
<result property="memberId" column="member_id" />
|
<result property="memberId" column="member_id" />
|
||||||
|
<result property="titleId" column="title_id" />
|
||||||
<result property="orderCodes" column="order_codes" />
|
<result property="orderCodes" column="order_codes" />
|
||||||
<result property="status" column="status" />
|
<result property="status" column="status" />
|
||||||
<result property="totalAmount" column="total_amount" />
|
<result property="totalAmount" column="total_amount" />
|
||||||
@@ -21,7 +22,8 @@
|
|||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
<!--@mbg.generated-->
|
<!--@mbg.generated-->
|
||||||
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
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="selectOrderInvoiceRecordVo">
|
<sql id="selectOrderInvoiceRecordVo">
|
||||||
|
|||||||
@@ -49,10 +49,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import {getInvoice} from "@/api/order/invoice";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "",
|
name: "",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
// 申请开票 id
|
||||||
|
invoiceRecordId: null,
|
||||||
|
// 列表数据
|
||||||
tableData: [{
|
tableData: [{
|
||||||
id: '12987122',
|
id: '12987122',
|
||||||
amount1: '234',
|
amount1: '234',
|
||||||
@@ -78,14 +83,23 @@ export default {
|
|||||||
amount1: '539',
|
amount1: '539',
|
||||||
amount2: '4.1',
|
amount2: '4.1',
|
||||||
amount3: 15
|
amount3: 15
|
||||||
}]
|
}],
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
const id = this.$route.params.id;
|
this.invoiceRecordId = this.$route.params.id;
|
||||||
console.log("发票详情:", this.$route.params);//打印结果为{user:'david'}
|
console.log("发票详情:", this.invoiceRecordId);//打印结果为{user:'david'}
|
||||||
|
this.selectInvoiceRecord();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 查询申请开票信息详情
|
||||||
|
selectInvoiceRecord() {
|
||||||
|
getInvoice(this.invoiceRecordId).then(response => {
|
||||||
|
console.log("查询申请开票信息详情结果", response);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 合计
|
||||||
getSummaries(param) {
|
getSummaries(param) {
|
||||||
const { columns, data } = param;
|
const { columns, data } = param;
|
||||||
const sums = [];
|
const sums = [];
|
||||||
|
|||||||
Reference in New Issue
Block a user