| | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | int size = this.baseMapper.getMyChargingOrderList(appUserId, 1, null, null).size(); |
| | | map.put("number", size); |
| | | query.setPageCurr((query.getPageCurr() - 1) * query.getPageSize()); |
| | | Integer pageCurr = query.getPageCurr() == null || query.getPageCurr() < 1 ? 1 : query.getPageCurr(); |
| | | Integer pageSize = query.getPageSize() == null || query.getPageSize() < 1 ? 10 : query.getPageSize(); |
| | | query.setPageCurr((pageCurr - 1) * pageSize); |
| | | query.setPageSize(pageSize); |
| | | List<TChargingOrder> list = this.baseMapper.getMyChargingOrderList(appUserId, query.getType(), query.getPageCurr(), query.getPageSize()); |
| | | List<MyChargingOrderList> orderLists = new ArrayList<>(); |
| | | for (TChargingOrder tChargingOrder : list) { |
| | |
| | | myChargingOrderList.setId(tChargingOrder.getId().toString()); |
| | | myChargingOrderList.setSiteId(tChargingOrder.getSiteId()); |
| | | myChargingOrderList.setStatus(tChargingOrder.getStatus()); |
| | | Site site = siteClient.getSiteByIds(Arrays.asList(tChargingOrder.getSiteId())).getData().get(0); |
| | | myChargingOrderList.setTitle(site.getName()); |
| | | Site site = getOrderSite(tChargingOrder.getSiteId()); |
| | | myChargingOrderList.setTitle(site == null ? "未知电站" : site.getName()); |
| | | myChargingOrderList.setChargingDegree(tChargingOrder.getChargingCapacity()); |
| | | String name = chargingGunClient.getAllName(tChargingOrder.getChargingGunId()).getData(); |
| | | String name = getChargingGunName(tChargingOrder.getChargingGunId()); |
| | | myChargingOrderList.setChargingGunId(tChargingOrder.getChargingGunId()); |
| | | myChargingOrderList.setName(name); |
| | | myChargingOrderList.setEndMode(tChargingOrder.getEndMode()); |
| | | BigDecimal payMoney = tChargingOrder.getStatus() < 4 ? tChargingOrder.getRechargeAmount() : tChargingOrder.getPaymentAmount(); |
| | | Integer status = tChargingOrder.getStatus(); |
| | | BigDecimal payMoney = status != null && status < 4 ? tChargingOrder.getRechargeAmount() : tChargingOrder.getPaymentAmount(); |
| | | myChargingOrderList.setPayMoney(payMoney); |
| | | myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | if (tChargingOrder.getCreateTime() != null) { |
| | | myChargingOrderList.setCreateTime(tChargingOrder.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); |
| | | } |
| | | long count = orderEvaluateService.count(new LambdaQueryWrapper<TOrderEvaluate>().eq(TOrderEvaluate::getOrderType, 1) |
| | | .eq(TOrderEvaluate::getOrderId, tChargingOrder.getId()).eq(TOrderEvaluate::getDelFlag, 0)); |
| | | myChargingOrderList.setEvaluate(count + 1L); |
| | |
| | | map.put("list", orderLists); |
| | | map.put("totle", list.size()); |
| | | return map; |
| | | } |
| | | |
| | | private Site getOrderSite(Integer siteId) { |
| | | if (siteId == null) { |
| | | return null; |
| | | } |
| | | R<List<Site>> result = siteClient.getSiteByIds(Collections.singletonList(siteId)); |
| | | List<Site> sites = result == null ? Collections.emptyList() : result.getData(); |
| | | return sites == null || sites.isEmpty() ? null : sites.get(0); |
| | | } |
| | | |
| | | private String getChargingGunName(Integer chargingGunId) { |
| | | if (chargingGunId == null) { |
| | | return ""; |
| | | } |
| | | R<String> result = chargingGunClient.getAllName(chargingGunId); |
| | | return result == null || result.getData() == null ? "" : result.getData(); |
| | | } |
| | | |
| | | |
| | |
| | | if (order == null || isWhitelistAllFreeOrder(order)) { |
| | | return BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP); |
| | | } |
| | | BigDecimal thirdPayAmount = money(order.getThirdPayAmount()); |
| | | if (thirdPayAmount.compareTo(BigDecimal.ZERO) > 0) { |
| | | return thirdPayAmount; |
| | | } |
| | | if (Integer.valueOf(3).equals(order.getPayMethod())) { |
| | | return money(order.getRechargeAmount()); |
| | | } |
| | | return thirdPayAmount; |
| | | return ChargingSimulationSupport.thirdPayAmount(order); |
| | | } |
| | | |
| | | /** |
| | |
| | | BigDecimal electricityFee = money(request.getElectricityFee()); |
| | | BigDecimal serviceFee = money(request.getServiceFee()); |
| | | BigDecimal simulationTotal = electricityFee.add(serviceFee).setScale(2, RoundingMode.HALF_UP); |
| | | BigDecimal availableAmount = money(order.getChargeAmount()).compareTo(BigDecimal.ZERO) > 0 |
| | | ? money(order.getChargeAmount()) : money(order.getRechargeAmount()); |
| | | BigDecimal availableAmount = ChargingSimulationSupport.availableAmount(order); |
| | | if (simulationTotal.compareTo(availableAmount) > 0) { |
| | | throw new ServiceException("模拟消费金额不能超过订单可消费金额" + availableAmount.toPlainString() + "元"); |
| | | } |
| | |
| | | TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>() |
| | | .eq(TChargingOrder::getAppUserId, userId) |
| | | .eq(TChargingOrder::getChargingGunId, gunId) |
| | | .eq(TChargingOrder::getSourceName, "ICBC") |
| | | .eq(TChargingOrder::getRechargePaymentStatus, 2) |
| | | .in(TChargingOrder::getStatus, Arrays.asList(2, 3, 4)) |
| | | .eq(TChargingOrder::getDelFlag, 0) |
| | |
| | | .orderByDesc(TChargingOrder::getId) |
| | | .last("limit 1")); |
| | | if (order == null) { |
| | | throw new ServiceException("当前枪没有属于你的可模拟ICBC已支付订单"); |
| | | throw new ServiceException("当前枪没有属于你的可模拟已支付订单"); |
| | | } |
| | | return order; |
| | | } |
| | |
| | | result.setOrderId(order.getId()); |
| | | result.setOrderCode(order.getCode()); |
| | | result.setOrderStatus(order.getStatus()); |
| | | result.setPaymentMode(ChargingSimulationSupport.paymentMode(order)); |
| | | result.setPayMethod(order.getPayMethod()); |
| | | result.setRechargePaymentType(order.getRechargePaymentType()); |
| | | result.setSourceName(order.getSourceName()); |
| | | result.setRechargeAmount(order.getRechargeAmount()); |
| | | result.setChargeAmount(order.getChargeAmount()); |
| | | result.setAvailableAmount(ChargingSimulationSupport.availableAmount(order)); |
| | | result.setBalancePayAmount(order.getBalancePayAmount()); |
| | | result.setThirdPayAmount(order.getThirdPayAmount()); |
| | | result.setElectricityFee(order.getElectrovalence()); |
| | | result.setServiceFee(order.getServiceCharge()); |
| | | result.setPaymentAmount(order.getPaymentAmount()); |
| | | result.setRefundAmount(order.getRefundAmount()); |
| | | result.setBalanceRefundAmount(order.getBalanceRefundAmount()); |
| | | result.setThirdRefundAmount(order.getThirdRefundAmount()); |
| | | result.setRefundStatus(order.getRefundStatus()); |
| | | result.setIcbcOrderId(order.getRechargeSerialNumber()); |
| | | TChargingOrderShareRecord shareRecord = chargingOrderShareRecordMapper.selectOne( |
| | |
| | | .eq(TChargingOrderShareRecord::getDelFlag, false) |
| | | .orderByDesc(TChargingOrderShareRecord::getId) |
| | | .last("limit 1")); |
| | | if (shareRecord == null) { |
| | | shareRecord = chargingOrderShareRecordMapper.selectOne( |
| | | new LambdaQueryWrapper<TChargingOrderShareRecord>() |
| | | .eq(TChargingOrderShareRecord::getChargingOrderId, order.getId()) |
| | | .eq(TChargingOrderShareRecord::getDelFlag, false) |
| | | .orderByDesc(TChargingOrderShareRecord::getId) |
| | | .last("limit 1")); |
| | | } |
| | | if (shareRecord != null) { |
| | | result.setShareAmount(shareRecord.getShareAmount()); |
| | | result.setShareStatus(shareRecord.getOnlineShareStatus()); |