mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-28 15:05:18 +08:00
update 计算订单会员折扣逻辑
This commit is contained in:
@@ -499,9 +499,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
// settleOrder(data, orderInfo);
|
||||
|
||||
// 新逻辑
|
||||
String mode = pileMerchantInfoService.getDelayModeByMerchantId(orderInfo.getMerchantId());
|
||||
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
|
||||
orderLogic.settleOrder(data, orderInfo);
|
||||
try {
|
||||
String mode = pileMerchantInfoService.getDelayModeByMerchantId(orderInfo.getMerchantId());
|
||||
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
|
||||
orderLogic.settleOrder(data, orderInfo);
|
||||
} catch (Exception e) {
|
||||
logger.error("充电桩启动失败,执行退款逻辑发生异常", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2369,12 +2373,12 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
|
||||
if (platformTesterVO != null && StringUtils.equals(Constants.ONE, platformTesterVO.getStatus())) {
|
||||
// 是平台测试员
|
||||
accountBalance = new BigDecimal("500");
|
||||
accountBalance = Constants.whitelistDefaultAmount;
|
||||
payMode = OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue();
|
||||
|
||||
} else if (pileStationWhitelist != null) {
|
||||
// 站点白名单
|
||||
accountBalance = new BigDecimal("500");
|
||||
accountBalance = Constants.whitelistDefaultAmount;
|
||||
payMode = OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue();
|
||||
} else {
|
||||
// 通过memberId获取账户余额
|
||||
@@ -2384,9 +2388,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
}
|
||||
accountBalance = memberVO.getTotalAccountAmount();
|
||||
if (accountBalance.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
logger.info("充电桩主动申请启动充电生成订单 余额不足", JSON.toJSONString(dto));
|
||||
logger.info("充电桩主动申请启动充电生成订单 余额不足, memberId:{}, MemberVO:{}", dto.getMemberId(), JSON.toJSONString(memberVO));
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_BALANCE_IS_INSUFFICIENT);
|
||||
}
|
||||
BigDecimal defaultAmount = Constants.balancePayMaxAmount;
|
||||
if (accountBalance.compareTo(defaultAmount) > 0) {
|
||||
accountBalance = defaultAmount;
|
||||
}
|
||||
payMode = OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue();
|
||||
// accountBalance = memberVO.getTotalAccountAmount();
|
||||
// dto.setChargeAmount(totalAccountAmount); // 充电金额
|
||||
@@ -2961,7 +2969,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
resultMap.put("weixinMap", weixinMap);
|
||||
} else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue())) { // 白名单支付
|
||||
// 白名单支付可以直接调支付回调方法
|
||||
dto.setPayAmount(new BigDecimal("500"));
|
||||
dto.setPayAmount(Constants.whitelistDefaultAmount);
|
||||
whiteListPayOrder(dto);
|
||||
}
|
||||
return resultMap;
|
||||
|
||||
@@ -19,6 +19,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class OrderPayRecordServiceImpl implements OrderPayRecordService {
|
||||
@@ -50,6 +52,10 @@ public class OrderPayRecordServiceImpl implements OrderPayRecordService {
|
||||
|
||||
@Override
|
||||
public int batchInsert(List<OrderPayRecord> payRecordList) {
|
||||
if (CollectionUtils.isEmpty(payRecordList)) {
|
||||
return 0;
|
||||
}
|
||||
payRecordList = payRecordList.stream().filter(Objects::nonNull).collect(Collectors.toList());
|
||||
return orderPayRecordMapper.batchInsert(payRecordList);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user