Merge branch 'dev' into HuiFu

This commit is contained in:
2023-05-15 08:22:10 +08:00
36 changed files with 637 additions and 192 deletions

View File

@@ -3,6 +3,8 @@ package com.jsowell.pile.dto;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.List;
/**
* 首页数据展示DTO
*
@@ -15,4 +17,6 @@ public class IndexQueryDTO extends BaseEntity {
* 站点id
*/
private String stationId;
private List<String> stationIdList;
}

View File

@@ -205,4 +205,6 @@ public interface OrderBasicInfoMapper {
List<OrderDetail> queryElecAmountNullList();
int batchUpdateOrderDetail(@Param("list") List<OrderDetail> orderDetailList);
List<OrderDetail> getOrderDetailList(List<String> orderCodes);
}

View File

@@ -2,6 +2,7 @@ package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.OrderInvoiceRecord;
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -11,6 +12,7 @@ import java.util.List;
* @author jsowell
* @date 2023-04-10
*/
@Repository
public interface OrderInvoiceRecordMapper {
/**
* 查询申请开票

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileMerchantInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -67,4 +68,6 @@ public interface PileMerchantInfoMapper {
* @return 结果
*/
public int deletePileMerchantInfoByIds(Long[] ids);
List<String> queryByMerchantDeptIds(@Param("merchantDeptIds") List<String> merchantDeptIds);
}

View File

@@ -77,4 +77,6 @@ public interface PileStationInfoMapper {
* @return
*/
List<PileStationInfo> getStationInfoForLianLian();
List<String> queryByStationDeptIds(@Param("stationDeptIds") List<String> stationDeptIds);
}

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.MemberInvoiceTitle;
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
import java.util.List;
@@ -11,6 +12,8 @@ import java.util.List;
* @date 2023-04-13
*/
public interface IMemberInvoiceTitleService {
InvoiceTitleVO selectByTitleId(String titleId);
/**
* 查询会员发票抬头
*

View File

@@ -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<OrderDetail> getOrderDetailList(List<String> orderCodes);
/**
* 通过会员Id和订单状态查询订单信息
*
@@ -231,4 +235,8 @@ public interface IOrderBasicInfoService {
* @return
*/
Map<String, Object> generateOrderForLianLian(QueryStartChargeDTO dto);
List<OrderAmountDetailVO> queryOrderAmountDetail(List<String> orderCodes);
List<OrderPeriodAmountVO> transformPeriodAmountByOrderDetail(OrderDetail orderDetail);
}

View File

@@ -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);
/**
* 查询申请开票列表
*

View File

@@ -63,4 +63,11 @@ public interface IPileMerchantInfoService {
String getMerchantIdByAppId(String appId);
MerchantInfoVO getMerchantInfo(String merchantId);
/**
* 根据运营商部门ids 查询所有站点id
* @param merchantDeptIds
* @return
*/
List<String> queryByMerchantDeptIds(List<String> merchantDeptIds);
}

View File

@@ -92,4 +92,6 @@ public interface IPileStationInfoService {
PileStationVO getStationInfoByPileSn(String pileSn);
List<PileStationInfo> getStationInfoForLianLian();
List<String> queryByStationDeptIds(List<String> stationIds);
}

View File

@@ -1,9 +1,11 @@
package com.jsowell.pile.service.impl;
import com.jsowell.common.enums.TitleTypeEnum;
import com.jsowell.common.util.DateUtils;
import com.jsowell.pile.domain.MemberInvoiceTitle;
import com.jsowell.pile.mapper.MemberInvoiceTitleMapper;
import com.jsowell.pile.service.IMemberInvoiceTitleService;
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -20,6 +22,24 @@ public class MemberInvoiceTitleServiceImpl implements IMemberInvoiceTitleService
@Autowired
private MemberInvoiceTitleMapper memberInvoiceTitleMapper;
@Override
public InvoiceTitleVO selectByTitleId(String titleId) {
MemberInvoiceTitle memberInvoiceTitle = memberInvoiceTitleMapper.selectMemberInvoiceTitleById(Long.parseLong(titleId));
if (memberInvoiceTitle == null) {
return null;
}
return InvoiceTitleVO.builder()
.titleId(memberInvoiceTitle.getId() + "")
.titleName(memberInvoiceTitle.getName())
.titleType(TitleTypeEnum.getLabel(memberInvoiceTitle.getTitleType()))
.taxId(memberInvoiceTitle.getTaxId())
.unitAddress(memberInvoiceTitle.getUnitAddress())
.phoneNumber(memberInvoiceTitle.getPhoneNumber())
.bankName(memberInvoiceTitle.getBankName())
.bankAccountNumber(memberInvoiceTitle.getBankAccountNumber())
.build();
}
/**
* 查询会员发票抬头
*

View File

@@ -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;
@@ -54,12 +55,16 @@ import com.jsowell.pile.service.IPileAuthCardService;
import com.jsowell.pile.service.IPileBasicInfoService;
import com.jsowell.pile.service.IPileBillingTemplateService;
import com.jsowell.pile.service.IPileConnectorInfoService;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.pile.service.IPileStationInfoService;
import com.jsowell.pile.service.OrderMonitorDataService;
import com.jsowell.pile.service.WechatPayService;
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;
@@ -156,6 +161,12 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Autowired
private OrderMonitorDataService orderMonitorDataService;
@Autowired
private IPileStationInfoService pileStationInfoService;
@Autowired
private IPileMerchantInfoService pileMerchantInfoService;
/**
* 条件查询订单基本信息
*
@@ -1091,6 +1102,28 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
*/
@Override
public List<IndexOrderInfoVO> getIndexOrderInfo(IndexQueryDTO dto) {
AuthorizedDeptVO authorizedMap = SecurityUtils.getAuthorizedMap();
if (authorizedMap == null) {
return Lists.newArrayList();
}
List<String> stationIdList = Lists.newArrayList();
List<String> stationDeptIds = authorizedMap.getStationDeptIds();
if (CollectionUtils.isNotEmpty(stationDeptIds)) {
// 根据部门id查询站点id
List<String> list = pileStationInfoService.queryByStationDeptIds(stationDeptIds);
if (CollectionUtils.isNotEmpty(list)) {
stationIdList.addAll(list);
}
}
List<String> merchantDeptIds = authorizedMap.getMerchantDeptIds();
if (CollectionUtils.isNotEmpty(merchantDeptIds)) {
// 根据运营商部门id查询下面所有站点id
List<String> list = pileMerchantInfoService.queryByMerchantDeptIds(merchantDeptIds);
if (CollectionUtils.isNotEmpty(list)) {
stationIdList.addAll(list);
}
}
dto.setStationIdList(stationIdList);
return orderBasicInfoMapper.getIndexOrderInfo(dto);
}
@@ -1323,6 +1356,11 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
return orderBasicInfoMapper.getOrderDetailByOrderCode(orderCode);
}
@Override
public List<OrderDetail> getOrderDetailList(List<String> orderCodes) {
return orderBasicInfoMapper.getOrderDetailList(orderCodes);
}
/**
* 通过会员Id和订单状态查询订单信息
*
@@ -1558,4 +1596,68 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
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);
}
}

View File

@@ -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<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;
}
/**
* 查询申请开票列表
*

View File

@@ -27,6 +27,7 @@ import com.jsowell.pile.service.IPileConnectorInfoService;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.pile.service.IPileModelInfoService;
import com.jsowell.pile.service.IPileSimInfoService;
import com.jsowell.pile.service.IPileStationInfoService;
import com.jsowell.pile.service.SimCardService;
import com.jsowell.pile.vo.base.MerchantInfoVO;
import com.jsowell.pile.vo.base.PileInfoVO;
@@ -71,6 +72,9 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService {
@Autowired
private IPileMerchantInfoService pileMerchantInfoService;
@Autowired
private IPileStationInfoService pileStationInfoService;
@Autowired
private IPileSimInfoService pileSimInfoService;
@@ -565,8 +569,25 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService {
if (authorizedMap == null) {
return new IndexGeneralSituationVO();
}
dto.setStationDeptIds(authorizedMap.getStationDeptIds());
dto.setMerchantDeptIds(authorizedMap.getMerchantDeptIds());
List<String> stationIdList = Lists.newArrayList();
List<String> stationDeptIds = authorizedMap.getStationDeptIds();
if (CollectionUtils.isNotEmpty(stationDeptIds)) {
// 根据部门id查询站点id
List<String> list = pileStationInfoService.queryByStationDeptIds(stationDeptIds);
if (CollectionUtils.isNotEmpty(list)) {
stationIdList.addAll(list);
}
}
List<String> merchantDeptIds = authorizedMap.getMerchantDeptIds();
if (CollectionUtils.isNotEmpty(merchantDeptIds)) {
// 根据运营商部门id查询下面所有站点id
List<String> list = pileMerchantInfoService.queryByMerchantDeptIds(merchantDeptIds);
if (CollectionUtils.isNotEmpty(list)) {
stationIdList.addAll(list);
}
}
log.info("后管首页基本信息查询 authorizedMap:{}, dto:{}", JSONObject.toJSONString(authorizedMap), JSONObject.toJSONString(dto));
dto.setStationIdList(stationIdList);
return pileBasicInfoMapper.getGeneralSituation(dto);
}

View File

@@ -175,4 +175,9 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService {
.build();
return vo;
}
@Override
public List<String> queryByMerchantDeptIds(List<String> merchantDeptIds) {
return pileMerchantInfoMapper.queryByMerchantDeptIds(merchantDeptIds);
}
}

View File

@@ -163,6 +163,11 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService {
return pileStationInfoMapper.getStationInfoForLianLian();
}
@Override
public List<String> queryByStationDeptIds(List<String> stationIds) {
return pileStationInfoMapper.queryByStationDeptIds(stationIds);
}
/**
* 查询充电站信息列表
*

View File

@@ -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; // 谷时段服务费单价
}

View File

@@ -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; // 服务费金额
}

View File

@@ -18,4 +18,29 @@ public class InvoiceTitleVO {
// 抬头类型 (单位或个人)
private String titleType;
/**
* 税号
*/
private String taxId;
/**
* 单位地址
*/
private String unitAddress;
/**
* 电话号码
*/
private String phoneNumber;
/**
* 开户银行
*/
private String bankName;
/**
* 银行账户
*/
private String bankAccountNumber;
}

View File

@@ -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; // 谷时段服务费单价
}
}

View File

@@ -0,0 +1,51 @@
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
@Builder
public class InvoiceRecordVO {
/**
* 申请记录主键id
*/
private String id;
/**
* 会员id
*/
private String memberId;
/**
* 状态 0-未开票 1-已开票
*/
private String status;
/**
* 创建时间
*/
private String createTime;
/**
* 更新时间x
*/
private String updateTime;
/**
* 发票抬头信息
*/
private InvoiceTitleVO invoiceTitle;
/**
* 订单明细
*/
private List<OrderAmountDetailVO> orderList;
}

View File

@@ -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<ChargeDetail> 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<OrderPeriodAmountVO> chargeDetails;
@Data
public static class OrderInfo {