Merge branch 'dev' into feature-integrated_with_JCPP

This commit is contained in:
Guoqs
2026-01-09 17:17:53 +08:00
15 changed files with 152 additions and 30 deletions

View File

@@ -1,5 +1,6 @@
package com.jsowell.pile.dto;
import lombok.Builder;
import lombok.Data;
import java.util.List;
@@ -11,6 +12,7 @@ import java.util.List;
* @date 2023/3/4 11:39
*/
@Data
@Builder
public class BindingCarNoDTO {
private String id;

View File

@@ -0,0 +1,36 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CarNumberBindDTO {
/**
* 手机号
*/
private String phoneNumber;
/**
* 会员ID
*/
private String memberId;
/**
* 车牌号列表
*/
private List<String> carNumberList;
/**
* vin列表
*/
private List<String> vinList;
}

View File

@@ -5724,7 +5724,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
vo.setStartChargeTime(orderVO.getStartTime());
vo.setEndChargeTime(orderVO.getEndTime());
vo.setReason(orderVO.getReason());
vo.setSettleTime(orderVO.getSettlemetTime());
vo.setSettleTime(orderVO.getSettlementTime());
vo.setPayTime(orderVO.getPayTime());
vo.setOrderCode(orderVO.getOrderCode());
vo.setStartMode(orderVO.getStartMode());

View File

@@ -964,10 +964,10 @@ public abstract class AbstractProgramLogic implements InitializingBean {
BigDecimal electricityAmountDiscount = BigDecimal.ZERO;
// 服务费折扣金额 初始值为0
BigDecimal serviceAmountDiscount = BigDecimal.ZERO;
// 优惠后电费金额 初始值为优惠前金额
BigDecimal afterDiscountElectricityAmount = new BigDecimal(originalTotalElectricityAmount.toString());
// 优惠后服务费金额 初始值为优惠前金额
BigDecimal afterDiscountServiceAmount = new BigDecimal(originalTotalServiceAmount.toString());
// 优惠后电费金额 初始值为0
BigDecimal afterDiscountElectricityAmount = BigDecimal.ZERO;
// 优惠后服务费金额 初始值为0
BigDecimal afterDiscountServiceAmount = BigDecimal.ZERO;
// 订单总耗电量
BigDecimal totalUsedElectricity = orderDetail.getTotalUsedElectricity();
@@ -988,8 +988,8 @@ public abstract class AbstractProgramLogic implements InitializingBean {
MemberDiscountVO memberDiscountVO = memberGroupService.queryMemberDiscountV2(merchantId, stationId, memberId);
if (memberDiscountVO == null) {
// 如果没有优惠,则优惠后金额 等于优惠前金额
afterDiscountElectricityAmount = orderDetail.getTotalElectricityAmount();
afterDiscountServiceAmount = orderDetail.getTotalServiceAmount();
afterDiscountElectricityAmount = originalTotalElectricityAmount;
afterDiscountServiceAmount = originalTotalServiceAmount;
} else {
// 集团会员的订单,记录集团编号
orderBasicInfo.setGroupCode(memberDiscountVO.getGroupCode());
@@ -1076,6 +1076,22 @@ public abstract class AbstractProgramLogic implements InitializingBean {
afterDiscountServiceAmount = afterDiscountServiceAmount.add(serviceAmount);
}
// 如果4个时段都是0并且总耗电量大于0则折扣后电费等于原始电费折扣后服务费等于原始服务费
// if (peakUsedElectricity.compareTo(BigDecimal.ZERO) == 0
// && flatUsedElectricity.compareTo(BigDecimal.ZERO) == 0
// && valleyUsedElectricity.compareTo(BigDecimal.ZERO) == 0
// && sharpUsedElectricity.compareTo(BigDecimal.ZERO) == 0
// && totalUsedElectricity.compareTo(BigDecimal.ZERO) > 0) {
// afterDiscountElectricityAmount = originalTotalElectricityAmount;
// afterDiscountServiceAmount = originalTotalServiceAmount;
// }
// 如果总耗电量大于0, 并且各个时段耗电量总和为0, 则优惠后金额等于优惠前金额
if (totalUsedElectricity.compareTo(BigDecimal.ZERO) > 0 && sumUsedElectricity.compareTo(BigDecimal.ZERO) == 0 ) {
afterDiscountElectricityAmount = originalTotalElectricityAmount;
afterDiscountServiceAmount = originalTotalServiceAmount;
}
// 计算优惠了多少钱
// 电费折扣金额 = 优惠前电费 - 优惠后电费
electricityAmountDiscount = originalTotalElectricityAmount.subtract(afterDiscountElectricityAmount);
@@ -1086,12 +1102,6 @@ public abstract class AbstractProgramLogic implements InitializingBean {
// orderCode, originalTotalElectricityAmount, afterDiscountElectricityAmount, electricityAmountDiscount, originalTotalServiceAmount, afterDiscountServiceAmount, serviceAmountDiscount);
}
// 如果总耗电量大于0, 并且各个时段耗电量总和为0, 则优惠后金额等于优惠前金额
if (totalUsedElectricity.compareTo(BigDecimal.ZERO) > 0 && sumUsedElectricity.compareTo(BigDecimal.ZERO) == 0 ) {
afterDiscountElectricityAmount = orderDetail.getTotalElectricityAmount();
afterDiscountServiceAmount = orderDetail.getTotalServiceAmount();
}
/**
* 电费折扣金额和服务费折扣金额 应该大于等于0, 如小于0, 则设置为0
*/

View File

@@ -76,7 +76,7 @@ public class OrderVO {
/**
* 结算时间
*/
private String settlemetTime;
private String settlementTime;
/**
* 结算金额(指实际产生的消费,包括本金支付,微信支付等)
@@ -156,4 +156,6 @@ public class OrderVO {
* 会员id
*/
private String memberId;
private String phoneNumber;
}