| | |
| | | } |
| | | |
| | | @Test |
| | | void getChargingDetailsUsesPaidAmountAsUsedCostWhenRealTimeDataPresent() { |
| | | LoginUserApplet loginUser = new LoginUserApplet(); |
| | | loginUser.setUserId(88L); |
| | | when(tokenService.getLoginUserApplet()).thenReturn(loginUser); |
| | | when(mapper.selectOne(any())).thenReturn(null); |
| | | TVinChargingOrder vinOrder = new TVinChargingOrder(); |
| | | vinOrder.setId(1001L); |
| | | vinOrder.setAppUserId(88L); |
| | | vinOrder.setChargingGunId(5); |
| | | vinOrder.setStatus(3); |
| | | vinOrder.setCode("VD20261013001"); |
| | | vinOrder.setResidualAmount(new BigDecimal("66.60")); |
| | | when(vinChargingOrderMapper.selectOne(any())).thenReturn(vinOrder); |
| | | TChargingGun gun = new TChargingGun(); |
| | | gun.setChargingPileId(7); |
| | | when(chargingGunClient.getChargingGunById(5)).thenReturn(R.ok(gun)); |
| | | TChargingPile pile = new TChargingPile(); |
| | | pile.setName("1号桩"); |
| | | pile.setSiteId(9); |
| | | when(chargingPileClient.getChargingPileById(7)).thenReturn(R.ok(pile)); |
| | | Site site = new Site(); |
| | | site.setName("城东站"); |
| | | when(siteClient.getSiteByIds(Arrays.asList(9))).thenReturn(R.ok(Collections.singletonList(site))); |
| | | UploadRealTimeMonitoringData data = new UploadRealTimeMonitoringData(); |
| | | data.setOutput_current(new BigDecimal("10")); |
| | | data.setOutput_voltage(new BigDecimal("220")); |
| | | data.setSoc(50); |
| | | data.setTime_remaining(30); |
| | | data.setCharging_degree(new BigDecimal("5.5")); |
| | | data.setCumulative_charging_time(75); |
| | | // 设备上报已充金额为 4 位小数,展示口径统一保留 2 位 |
| | | data.setPaid_amount(new BigDecimal("12.3456")); |
| | | when(uploadRealTimeMonitoringDataService.getLastDataById("VD20261013001")).thenReturn(data); |
| | | |
| | | ChargingDetails details = service.getChargingDetails(5); |
| | | |
| | | assertEquals(0, new BigDecimal("12.35").compareTo(details.getChargingCost())); |
| | | } |
| | | |
| | | @Test |
| | | void getChargingDetailsReturnsNullWhenNeitherNormalNorVinOrderExists() { |
| | | LoginUserApplet loginUser = new LoginUserApplet(); |
| | | loginUser.setUserId(88L); |