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