mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
Merge branch 'dev' of http://192.168.2.2:8099/jsowell/jsowell-charger-web into dev
This commit is contained in:
@@ -2,10 +2,7 @@ package com.jsowell.pile.domain;
|
||||
|
||||
import com.jsowell.common.annotation.Excel;
|
||||
import com.jsowell.common.core.domain.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.*;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
@@ -17,7 +14,8 @@ import java.math.BigDecimal;
|
||||
* @author jsowell
|
||||
* @date 2022-09-30
|
||||
*/
|
||||
@Data
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@@ -184,158 +182,6 @@ public class OrderDetail extends BaseEntity {
|
||||
*/
|
||||
private String delFlag;
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setOrderCode(String orderCode) {
|
||||
this.orderCode = orderCode;
|
||||
}
|
||||
|
||||
public String getOrderCode() {
|
||||
return orderCode;
|
||||
}
|
||||
|
||||
public void setTotalUsedElectricity(BigDecimal totalUsedElectricity) {
|
||||
this.totalUsedElectricity = totalUsedElectricity;
|
||||
}
|
||||
|
||||
public BigDecimal getTotalUsedElectricity() {
|
||||
return totalUsedElectricity;
|
||||
}
|
||||
|
||||
public void setTotalOrderAmount(BigDecimal totalOrderAmount) {
|
||||
this.totalOrderAmount = totalOrderAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getTotalOrderAmount() {
|
||||
return totalOrderAmount;
|
||||
}
|
||||
|
||||
public void setTotalElectricityAmount(BigDecimal totalElectricityAmount) {
|
||||
this.totalElectricityAmount = totalElectricityAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getTotalElectricityAmount() {
|
||||
return totalElectricityAmount;
|
||||
}
|
||||
|
||||
public void setTotalServiceAmount(BigDecimal totalServiceAmount) {
|
||||
this.totalServiceAmount = totalServiceAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getTotalServiceAmount() {
|
||||
return totalServiceAmount;
|
||||
}
|
||||
|
||||
public void setSharpUsedElectricity(BigDecimal sharpUsedElectricity) {
|
||||
this.sharpUsedElectricity = sharpUsedElectricity;
|
||||
}
|
||||
|
||||
public BigDecimal getSharpUsedElectricity() {
|
||||
return sharpUsedElectricity;
|
||||
}
|
||||
|
||||
public void setSharpElectricityPrice(BigDecimal sharpElectricityPrice) {
|
||||
this.sharpElectricityPrice = sharpElectricityPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getSharpElectricityPrice() {
|
||||
return sharpElectricityPrice;
|
||||
}
|
||||
|
||||
public void setSharpServicePrice(BigDecimal sharpServicePrice) {
|
||||
this.sharpServicePrice = sharpServicePrice;
|
||||
}
|
||||
|
||||
public BigDecimal getSharpServicePrice() {
|
||||
return sharpServicePrice;
|
||||
}
|
||||
|
||||
public void setPeakUsedElectricity(BigDecimal peakUsedElectricity) {
|
||||
this.peakUsedElectricity = peakUsedElectricity;
|
||||
}
|
||||
|
||||
public BigDecimal getPeakUsedElectricity() {
|
||||
return peakUsedElectricity;
|
||||
}
|
||||
|
||||
public void setPeakElectricityPrice(BigDecimal peakElectricityPrice) {
|
||||
this.peakElectricityPrice = peakElectricityPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getPeakElectricityPrice() {
|
||||
return peakElectricityPrice;
|
||||
}
|
||||
|
||||
public void setPeakServicePrice(BigDecimal peakServicePrice) {
|
||||
this.peakServicePrice = peakServicePrice;
|
||||
}
|
||||
|
||||
public BigDecimal getPeakServicePrice() {
|
||||
return peakServicePrice;
|
||||
}
|
||||
|
||||
public void setFlatUsedElectricity(BigDecimal flatUsedElectricity) {
|
||||
this.flatUsedElectricity = flatUsedElectricity;
|
||||
}
|
||||
|
||||
public BigDecimal getFlatUsedElectricity() {
|
||||
return flatUsedElectricity;
|
||||
}
|
||||
|
||||
public void setFlatElectricityPrice(BigDecimal flatElectricityPrice) {
|
||||
this.flatElectricityPrice = flatElectricityPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getFlatElectricityPrice() {
|
||||
return flatElectricityPrice;
|
||||
}
|
||||
|
||||
public void setFlatServicePrice(BigDecimal flatServicePrice) {
|
||||
this.flatServicePrice = flatServicePrice;
|
||||
}
|
||||
|
||||
public BigDecimal getFlatServicePrice() {
|
||||
return flatServicePrice;
|
||||
}
|
||||
|
||||
public void setValleyUsedElectricity(BigDecimal valleyUsedElectricity) {
|
||||
this.valleyUsedElectricity = valleyUsedElectricity;
|
||||
}
|
||||
|
||||
public BigDecimal getValleyUsedElectricity() {
|
||||
return valleyUsedElectricity;
|
||||
}
|
||||
|
||||
public void setValleyElectricityPrice(BigDecimal valleyElectricityPrice) {
|
||||
this.valleyElectricityPrice = valleyElectricityPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getValleyElectricityPrice() {
|
||||
return valleyElectricityPrice;
|
||||
}
|
||||
|
||||
public void setValleyServicePrice(BigDecimal valleyServicePrice) {
|
||||
this.valleyServicePrice = valleyServicePrice;
|
||||
}
|
||||
|
||||
public BigDecimal getValleyServicePrice() {
|
||||
return valleyServicePrice;
|
||||
}
|
||||
|
||||
public void setDelFlag(String delFlag) {
|
||||
this.delFlag = delFlag;
|
||||
}
|
||||
|
||||
public String getDelFlag() {
|
||||
return delFlag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
|
||||
@@ -344,7 +190,7 @@ public class OrderDetail extends BaseEntity {
|
||||
.append("totalUsedElectricity", getTotalUsedElectricity())
|
||||
.append("totalOrderAmount", getTotalOrderAmount())
|
||||
.append("totalElectricityAmount", getTotalElectricityAmount())
|
||||
.append("totalServiceAnount", getTotalServiceAmount())
|
||||
.append("totalServiceAmount", getTotalServiceAmount())
|
||||
.append("sharpUsedElectricity", getSharpUsedElectricity())
|
||||
.append("sharpElectricityPrice", getSharpElectricityPrice())
|
||||
.append("sharpServicePrice", getSharpServicePrice())
|
||||
|
||||
@@ -275,12 +275,15 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
virtualAmount = new BigDecimal(orderAmount.toString());
|
||||
}
|
||||
|
||||
// 剩余需要退回的金额 residue
|
||||
// 退款金额 = 支付金额 - 订单消费金额 剩余需要退回的金额 residue
|
||||
BigDecimal residue = payAmount.subtract(orderAmount);
|
||||
|
||||
// 结算金额 = 消费金额 - 虚拟金额 - 优惠金额
|
||||
BigDecimal settleAmount = orderAmount.subtract(virtualAmount);
|
||||
|
||||
// 把交易记录中的用电量,金额等信息 更新到orderBasicInfo和orderDetail
|
||||
orderBasicInfo.setVirtualAmount(virtualAmount); // 虚拟金额
|
||||
orderBasicInfo.setSettleAmount(orderAmount.subtract(virtualAmount)); // 结算金额
|
||||
orderBasicInfo.setSettleAmount(settleAmount); // 结算金额
|
||||
orderBasicInfo.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
|
||||
orderBasicInfo.setReason(data.getStopReasonMsg()); // 充电停止原因
|
||||
orderBasicInfo.setSettlementTime(DateUtils.getNowDate()); // 结算时间
|
||||
@@ -301,6 +304,8 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
try {
|
||||
// 总电费金额
|
||||
BigDecimal totalElectricityAmount = BigDecimal.ZERO;
|
||||
// 总服务费金额
|
||||
BigDecimal totalServiceAmount = BigDecimal.ZERO;
|
||||
|
||||
// 尖时段用电量
|
||||
String sharpUsedElectricity = data.getSharpUsedElectricity();
|
||||
@@ -312,11 +317,16 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
if (data.getSharpAmount() != null) {
|
||||
orderDetail.setSharpAmount(new BigDecimal(data.getSharpAmount()));
|
||||
}
|
||||
// 计算该时段电费
|
||||
BigDecimal multiply = orderDetail.getSharpElectricityPrice()
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal sharpElectricityAmount = orderDetail.getSharpElectricityPrice()
|
||||
.multiply(new BigDecimal(sharpUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(multiply);
|
||||
totalElectricityAmount = totalElectricityAmount.add(sharpElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal sharpServiceAmount = orderDetail.getSharpServicePrice()
|
||||
.multiply(new BigDecimal(sharpUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(sharpServiceAmount);
|
||||
}
|
||||
|
||||
// 峰时段用电量
|
||||
@@ -329,11 +339,16 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
if (data.getPeakAmount() != null) {
|
||||
orderDetail.setPeakAmount(new BigDecimal(data.getPeakAmount()));
|
||||
}
|
||||
// 计算该时段电费
|
||||
BigDecimal multiply = orderDetail.getPeakElectricityPrice()
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal peakElectricityAmount = orderDetail.getPeakElectricityPrice()
|
||||
.multiply(new BigDecimal(peakUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(multiply);
|
||||
totalElectricityAmount = totalElectricityAmount.add(peakElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal peakServiceAmount = orderDetail.getPeakServicePrice()
|
||||
.multiply(new BigDecimal(peakUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(peakServiceAmount);
|
||||
}
|
||||
|
||||
// 平时段用电量
|
||||
@@ -346,11 +361,16 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
if (data.getFlatAmount() != null) {
|
||||
orderDetail.setFlatAmount(new BigDecimal(data.getFlatAmount()));
|
||||
}
|
||||
// 计算该时段电费
|
||||
BigDecimal multiply = orderDetail.getFlatElectricityPrice()
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal flatElectricityAmount = orderDetail.getFlatElectricityPrice()
|
||||
.multiply(new BigDecimal(flatUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(multiply);
|
||||
totalElectricityAmount = totalElectricityAmount.add(flatElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal flatServiceAmount = orderDetail.getFlatServicePrice()
|
||||
.multiply(new BigDecimal(flatUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(flatServiceAmount);
|
||||
}
|
||||
|
||||
// 谷时段用电量
|
||||
@@ -363,19 +383,27 @@ public abstract class AbstractProgramLogic implements InitializingBean {
|
||||
if (data.getValleyAmount() != null) {
|
||||
orderDetail.setValleyAmount(new BigDecimal(data.getValleyAmount()));
|
||||
}
|
||||
// 计算该时段电费
|
||||
BigDecimal multiply = orderDetail.getValleyElectricityPrice()
|
||||
// 计算该时段电费 = 电费单价 x 用电量
|
||||
BigDecimal valleyElectricityAmount = orderDetail.getValleyElectricityPrice()
|
||||
.multiply(new BigDecimal(valleyUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalElectricityAmount = totalElectricityAmount.add(multiply);
|
||||
totalElectricityAmount = totalElectricityAmount.add(valleyElectricityAmount);
|
||||
// 计算该时段服务费
|
||||
BigDecimal valleyServiceAmount = orderDetail.getValleyServicePrice()
|
||||
.multiply(new BigDecimal(valleyUsedElectricity))
|
||||
.setScale(2, RoundingMode.DOWN);
|
||||
totalServiceAmount = totalServiceAmount.add(valleyServiceAmount);
|
||||
}
|
||||
|
||||
// 如果算出来的电费金额大于总消费金额,则电费金额等于总消费金额
|
||||
if (totalElectricityAmount.compareTo(orderAmount) > 0) {
|
||||
totalElectricityAmount = orderAmount;
|
||||
// 如果算出来的 电费金额 + 服务费金额 != 总消费金额,则电费金额等于总消费金额 - 服务费金额
|
||||
if (totalElectricityAmount.add(totalServiceAmount).compareTo(orderAmount) != 0) {
|
||||
totalElectricityAmount = orderAmount.subtract(totalServiceAmount);
|
||||
}
|
||||
|
||||
// 电费总金额
|
||||
orderDetail.setTotalElectricityAmount(totalElectricityAmount);
|
||||
orderDetail.setTotalServiceAmount(orderAmount.subtract(totalElectricityAmount));
|
||||
// 服务费总金额
|
||||
orderDetail.setTotalServiceAmount(totalServiceAmount);
|
||||
orderDetail.setTotalUsedElectricity(new BigDecimal(data.getTotalElectricity())); // 总用电量
|
||||
orderDetail.setTotalOrderAmount(orderAmount); // 订单总金额
|
||||
} catch (Exception e) {
|
||||
|
||||
Reference in New Issue
Block a user