This commit is contained in:
Lemon
2023-07-11 15:31:26 +08:00
parent f85bc681b7
commit 8564e95866
3 changed files with 41 additions and 17 deletions

View File

@@ -317,7 +317,7 @@ public class MemberService {
if (StringUtils.isNotBlank(dto.getVinCode())) { if (StringUtils.isNotBlank(dto.getVinCode())) {
// 判断当前vin是否被绑定 // 判断当前vin是否被绑定
MemberPlateNumberRelation memberPlateInfoByVinCode = memberPlateNumberRelationService.getMemberPlateInfoByVinCode(dto.getVinCode()); MemberPlateNumberRelation memberPlateInfoByVinCode = memberPlateNumberRelationService.getMemberPlateInfoByVinCode(dto.getVinCode());
if (memberPlateInfoByVinCode == null) { if (memberPlateInfoByVinCode != null) {
throw new BusinessException(ReturnCodeEnum.CODE_THIS_VIN_HAS_BEEN_BINDING); throw new BusinessException(ReturnCodeEnum.CODE_THIS_VIN_HAS_BEEN_BINDING);
} }
relation.setVinCode(dto.getVinCode().toUpperCase(Locale.ROOT)); relation.setVinCode(dto.getVinCode().toUpperCase(Locale.ROOT));

View File

@@ -182,6 +182,12 @@ public class SpringBootTestController {
private IMemberBasicInfoService memberBasicInfoService; private IMemberBasicInfoService memberBasicInfoService;
@Test
public void testVin() {
String vinCode = "LRWYGCFS3PC844497";
MemberPlateNumberRelation memberPlateInfoByVinCode = memberPlateNumberRelationService.getMemberPlateInfoByVinCode(vinCode);
System.out.println(memberPlateInfoByVinCode);
}
@Test @Test
public void testUpdateConnectorStatus() { public void testUpdateConnectorStatus() {

View File

@@ -160,6 +160,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Autowired @Autowired
private PileRemoteService pileRemoteService; private PileRemoteService pileRemoteService;
@Autowired
private IPileStationWhitelistService pileStationWhitelistService;
/** /**
* 条件查询订单基本信息 * 条件查询订单基本信息
* *
@@ -1579,25 +1582,40 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
*/ */
@Override @Override
public Map<String, Object> generateOrderByCard(GenerateOrderDTO dto) throws Exception { public Map<String, Object> generateOrderByCard(GenerateOrderDTO dto) throws Exception {
// BigDecimal totalAccountAmount = BigDecimal.ZERO;
BigDecimal accountBalance = BigDecimal.ZERO;
String payMode;
// 判断当前用户是否为平台测试员
PlatformTesterVO platformTesterVO = memberBasicInfoService.selectPlatformTesterStatus(dto.getMemberId());
PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(dto.getPileSn());
PileStationWhitelist pileStationWhitelist = pileStationWhitelistService.queryWhitelistByMemberId(String.valueOf(pileBasicInfo.getStationId()), dto.getMemberId());
if(platformTesterVO != null && StringUtils.equals(Constants.ONE, platformTesterVO.getStatus())) {
// 是平台测试员
accountBalance = new BigDecimal("500");
payMode = OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue();
}else if(pileStationWhitelist != null) {
// 站点白名单
accountBalance = new BigDecimal("500");
payMode = OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue();
} else {
// 通过memberId获取账户余额 // 通过memberId获取账户余额
MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(dto.getMemberId()); MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(dto.getMemberId());
if (memberVO == null) { if (memberVO == null) {
throw new BusinessException(ReturnCodeEnum.CODE_GET_MEMBER_ACCOUNT_AMOUNT_ERROR); throw new BusinessException(ReturnCodeEnum.CODE_GET_MEMBER_ACCOUNT_AMOUNT_ERROR);
} }
BigDecimal totalAccountAmount = memberVO.getTotalAccountAmount(); if (accountBalance.compareTo(BigDecimal.ZERO) <= 0) {
if (totalAccountAmount.compareTo(BigDecimal.ZERO) <= 0) {
throw new BusinessException(ReturnCodeEnum.CODE_BALANCE_IS_INSUFFICIENT); throw new BusinessException(ReturnCodeEnum.CODE_BALANCE_IS_INSUFFICIENT);
} }
// 判断当前用户是否为平台测试员 accountBalance = memberVO.getTotalAccountAmount();
PlatformTesterVO platformTesterVO = memberBasicInfoService.selectPlatformTesterStatus(dto.getMemberId()); payMode = OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue();
if(platformTesterVO != null && StringUtils.equals(Constants.ONE, platformTesterVO.getStatus())) { // accountBalance = memberVO.getTotalAccountAmount();
// 是平台测试员 // dto.setChargeAmount(totalAccountAmount); // 充电金额
dto.setChargeAmount(new BigDecimal("500")); // dto.setPayMode(OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue()); // 1-余额支付
dto.setPayMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue());
} }
dto.setChargeAmount(totalAccountAmount); // 充电金额 dto.setChargeAmount(accountBalance);
dto.setPayMode(OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue()); // 1-余额支付 dto.setPayMode(payMode);
/* /*
生成订单 生成订单
*/ */
@@ -1623,14 +1641,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
Map<String, Object> map = Maps.newHashMap(); Map<String, Object> map = Maps.newHashMap();
map.put("orderCode", basicInfo.getOrderCode()); map.put("orderCode", basicInfo.getOrderCode());
map.put("transactionCode", basicInfo.getTransactionCode()); map.put("transactionCode", basicInfo.getTransactionCode());
map.put("accountBalance", totalAccountAmount); map.put("accountBalance", accountBalance);
logger.info("生成订单 result:{}", JSON.toJSONString(map)); logger.info("生成订单 result:{}", JSON.toJSONString(map));
// 支付订单 // 支付订单
PayOrderDTO payOrderDTO = new PayOrderDTO(); PayOrderDTO payOrderDTO = new PayOrderDTO();
payOrderDTO.setOrderCode(basicInfo.getOrderCode()); payOrderDTO.setOrderCode(basicInfo.getOrderCode());
payOrderDTO.setPayAmount(totalAccountAmount); payOrderDTO.setPayAmount(accountBalance);
payOrderDTO.setPayMode(dto.getPayMode()); payOrderDTO.setPayMode(dto.getPayMode());
payOrderDTO.setMemberId(dto.getMemberId()); payOrderDTO.setMemberId(dto.getMemberId());
// payOrderDTO.setCode(); // payOrderDTO.setCode();