mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-14 12:20:04 +08:00
配置充电停车优惠
This commit is contained in:
@@ -1773,19 +1773,31 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public OrderSplitResult realTimeOrderSplit(AfterSettleOrderDTO afterSettleOrderDTO) throws BaseAdaPayException {
|
public OrderSplitResult realTimeOrderSplit(AfterSettleOrderDTO afterSettleOrderDTO) throws BaseAdaPayException {
|
||||||
|
// 查询订单信息
|
||||||
|
OrderBasicInfo orderBasicInfo = this.getOrderInfoByOrderCode(afterSettleOrderDTO.getOrderCode());
|
||||||
|
afterSettleOrderDTO.setOrderBasicInfo(orderBasicInfo);
|
||||||
|
|
||||||
// 校验订单支付金额,消费金额,退款金额
|
// 校验订单支付金额,消费金额,退款金额
|
||||||
BigDecimal orderPayAmount = afterSettleOrderDTO.getOrderPayAmount(); // 支付金额
|
BigDecimal orderPayAmount = afterSettleOrderDTO.getOrderPayAmount(); // 支付金额
|
||||||
BigDecimal orderConsumeAmount = afterSettleOrderDTO.getOrderConsumeAmount(); // 消费金额
|
BigDecimal orderConsumeAmount = afterSettleOrderDTO.getOrderConsumeAmount(); // 消费金额
|
||||||
BigDecimal orderSettleAmount = afterSettleOrderDTO.getOrderSettleAmount();
|
BigDecimal orderSettleAmount = afterSettleOrderDTO.getOrderSettleAmount();
|
||||||
BigDecimal orderRefundAmount = afterSettleOrderDTO.getOrderRefundAmount(); // 退款金额
|
BigDecimal orderRefundAmount = afterSettleOrderDTO.getOrderRefundAmount(); // 退款金额
|
||||||
|
|
||||||
|
// 如果是余额支付, 校验消费金额+ 退款金额 = 支付金额
|
||||||
|
if (StringUtils.equals(orderBasicInfo.getPayMode(), "1")) {
|
||||||
|
if (orderConsumeAmount.add(orderRefundAmount).compareTo(orderPayAmount) != 0) {
|
||||||
|
logger.info("realTimeOrderSplit-订单:{}, 支付金额与消费金额+退款金额不相等", afterSettleOrderDTO.getOrderCode());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果是在线支付, 校验消费金额+ 退款金额 = 支付金额
|
||||||
|
if (StringUtils.equals(orderBasicInfo.getPayMode(), "4") || StringUtils.equals(orderBasicInfo.getPayMode(), "5")) {
|
||||||
if (orderSettleAmount.add(orderRefundAmount).compareTo(orderPayAmount) != 0) {
|
if (orderSettleAmount.add(orderRefundAmount).compareTo(orderPayAmount) != 0) {
|
||||||
logger.info("realTimeOrderSplit-订单:{}, 支付金额与结算金额+退款金额不相等", afterSettleOrderDTO.getOrderCode());
|
logger.info("realTimeOrderSplit-订单:{}, 支付金额与结算金额+退款金额不相等", afterSettleOrderDTO.getOrderCode());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// 查询订单信息
|
|
||||||
OrderBasicInfo orderBasicInfo = this.getOrderInfoByOrderCode(afterSettleOrderDTO.getOrderCode());
|
|
||||||
afterSettleOrderDTO.setOrderBasicInfo(orderBasicInfo);
|
|
||||||
|
|
||||||
// 订单结算金额,汇付分账
|
// 订单结算金额,汇付分账
|
||||||
splittingMethod(afterSettleOrderDTO);
|
splittingMethod(afterSettleOrderDTO);
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ import java.security.NoSuchAlgorithmException;
|
|||||||
import java.security.NoSuchProviderException;
|
import java.security.NoSuchProviderException;
|
||||||
import java.security.spec.InvalidKeySpecException;
|
import java.security.spec.InvalidKeySpecException;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.time.LocalTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -698,6 +699,15 @@ public class CommonService {
|
|||||||
String sumChargingTime = realTimeMonitorData.getSumChargingTime(); // 充电时长
|
String sumChargingTime = realTimeMonitorData.getSumChargingTime(); // 充电时长
|
||||||
String chargingDegree = realTimeMonitorData.getChargingDegree(); // 充电度数
|
String chargingDegree = realTimeMonitorData.getChargingDegree(); // 充电度数
|
||||||
String conditionType = String.valueOf(chargeParkingDiscount.getConditionType());
|
String conditionType = String.valueOf(chargeParkingDiscount.getConditionType());
|
||||||
|
|
||||||
|
// 判断订单创建时间,是否在优惠时间段内
|
||||||
|
LocalTime createLocalTime = DateUtils.date2LocalDateTime(orderBasicInfo.getCreateTime()).toLocalTime();
|
||||||
|
if (createLocalTime.isBefore(chargeParkingDiscount.getStartTime()) || createLocalTime.isAfter(chargeParkingDiscount.getEndTime())) {
|
||||||
|
// 不在优惠时间段内
|
||||||
|
log.info("{}该订单不在优惠时间段({}-{})内", orderBasicInfo.getOrderCode(), chargeParkingDiscount.getStartTime(), chargeParkingDiscount.getEndTime());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 如果conditionType为1判断充电度数, 如果为2判断充电时长
|
// 如果conditionType为1判断充电度数, 如果为2判断充电时长
|
||||||
boolean flag = false;
|
boolean flag = false;
|
||||||
if (StringUtils.equals(conditionType, Constants.ONE)) {
|
if (StringUtils.equals(conditionType, Constants.ONE)) {
|
||||||
@@ -713,14 +723,14 @@ public class CommonService {
|
|||||||
}
|
}
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
// 不满足发券条件
|
// 不满足发券条件
|
||||||
log.info(orderBasicInfo.getOrderCode() + " 该订单不满足发券条件");
|
log.info("{} 该订单不满足发券条件", orderBasicInfo.getOrderCode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 是否已经发券
|
// 是否已经发券
|
||||||
String redisKey = CacheConstants.CAR_BIND_COUPON_BY_ORDER_CODE + orderBasicInfo.getOrderCode();
|
String redisKey = CacheConstants.CAR_BIND_COUPON_BY_ORDER_CODE + orderBasicInfo.getOrderCode();
|
||||||
Object cacheObject = redisCache.getCacheObject(redisKey);
|
Object cacheObject = redisCache.getCacheObject(redisKey);
|
||||||
if (cacheObject != null) {
|
if (cacheObject != null) {
|
||||||
log.info(orderBasicInfo.getOrderCode() + " 该订单已经发券");
|
log.info("{} 该订单已经发券", orderBasicInfo.getOrderCode());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 绑定停车券
|
// 绑定停车券
|
||||||
|
|||||||
@@ -118,11 +118,11 @@
|
|||||||
<div class="margin-right foot4">
|
<div class="margin-right foot4">
|
||||||
<div class="color60">可提现(元)</div>
|
<div class="color60">可提现(元)</div>
|
||||||
<div class="margin-20 color">{{ adapayMember.avlBalance }}</div>
|
<div class="margin-20 color">{{ adapayMember.avlBalance }}</div>
|
||||||
<el-button type="primary" v-if="adapayMember.avlBalance > withdrawalFee"
|
<!-- <el-button type="primary" v-if="adapayMember.avlBalance > withdrawalFee"-->
|
||||||
@click="dialogVisible = true">提现申请</el-button>
|
<!-- @click="dialogVisible = true">提现申请</el-button>-->
|
||||||
<div v-else>
|
<!-- <div v-else>-->
|
||||||
<span class="text">该余额大于{{ withdrawalFee }}元时,才可发起取现</span>
|
<!-- <span class="text">该余额大于{{ withdrawalFee }}元时,才可发起取现</span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="margin-right foot4">
|
<div class="margin-right foot4">
|
||||||
<div class="color60">总提现金额(元)</div>
|
<div class="color60">总提现金额(元)</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user