ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -41,6 +41,11 @@ } @Override public R<List<TAppUser>> getAllUser() { return null; } @Override public R<TAppCoupon> couponGetById(Long id) { return R.fail("查询优惠券失败:"+throwable.getMessage()); } ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -48,6 +48,8 @@ */ @PostMapping(value = "/t-app-user/user/getUserById/{id}") R<TAppUser> getUserById(@PathVariable("id") Long id); @PostMapping(value = "/t-app-user/user/getAllUser") R<List<TAppUser>> getAllUser(); @PostMapping(value = "/t-app-user/user/coupon/getById") ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
@@ -29,7 +29,17 @@ public ChargingGunClient create(Throwable throwable) { log.error("充电枪调用失败:{}", throwable.getMessage()); return new ChargingGunClient() { @Override public R<List<TChargingGun>> getAllGun() { return null; } @Override public R<List<TChargingPile>> getAllPile() { return null; } @Override public R<String> getAllName(Integer id) { return R.fail("根据id获取充电枪完整名称失败:" + throwable.getMessage()); ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
@@ -53,6 +53,11 @@ return R.fail("根据合作商id获取合作商详情失败:" + throwable.getMessage()); } @Override public R<List<Partner>> getAllPartner() { return null; } }; } } ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
@@ -2,6 +2,7 @@ import com.ruoyi.chargingPile.api.factory.ChargingGunFallbackFactory; import com.ruoyi.chargingPile.api.model.TChargingGun; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.model.TFaultMessage; import com.ruoyi.chargingPile.api.vo.GetChargingGunByCode; import com.ruoyi.chargingPile.api.vo.SiteNameVO; @@ -13,12 +14,26 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; /** * @author zhibing.pu * @Date 2024/8/15 19:36 */ @FeignClient(contextId = "ChargingGunClient", value = ServiceNameConstants.CHARGINGPILE_SERVICE, fallbackFactory = ChargingGunFallbackFactory.class) public interface ChargingGunClient { /** * 获取所有枪 * @return */ @PostMapping("/t-charging-gun/getAllGun") R<List<TChargingGun>> getAllGun(); /** * 获取所有桩 * @return */ @PostMapping("/t-charging-gun/getAllPile") R<List<TChargingPile>> getAllPile(); /** * 根据id获取充电枪完整名称 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/SiteClient.java
@@ -40,4 +40,6 @@ R<List<GetSiteListDTO>> getSiteListByUserId(@RequestParam("userId") Long userId); @GetMapping("/partner/getPartnerR/{id}") R<Partner> getPartnerR(@PathVariable("id") Integer id); @GetMapping("/partner/getAllPartner") public R<List<Partner>> getAllPartner(); } ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -970,6 +970,10 @@ TAppUser appUser = appUserService.getById(id); return R.ok(appUser); } @PostMapping(value = "/user/getAllUser") public R<List<TAppUser>> getAllUser(){ return R.ok(appUserService.list(null)); } /** ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
@@ -98,6 +98,11 @@ Partner partner = partnerService.getPartner(id); return R.ok(partner); } @ResponseBody @GetMapping("/getAllPartner") public R<List<Partner>> getAllPartner(){ return R.ok(partnerService.list()); } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -69,6 +69,22 @@ @Autowired private FileUploadConfig fileUploadConfig; /** * 查询所有枪 */ @PostMapping(value = "/getAllGun") public R<List<TChargingGun>> getAllGun() { return R.ok(chargingGunService.list(null)); } /** * 查询所有桩 */ @PostMapping(value = "/getAllPile") public R<List<TChargingPile>> getAllPile() { return R.ok(chargingPileService.list(null)); } /** * 查询充电枪列表 */ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -61,10 +61,13 @@ import java.math.RoundingMode; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** * <p> @@ -129,20 +132,27 @@ List<TChargingOrderExport> tChargingOrderExports = new ArrayList<>(); List<ChargingOrderListVO> exportList = res.getExportList(); int i = 0; List<Site> data9 = siteClient.getSiteAll().getData(); List<TChargingGun> data = chargingGunClient.getAllGun().getData(); List<TAppUser> data6 = appUserClient.getAllUser().getData(); List<Partner> data7 = siteClient.getAllPartner().getData(); List<AccountingStrategyOrder> listAll = accountingStrategyOrderService.lambdaQuery() .list(); List<TChargingOrderAccountingStrategy> stageCostAll = tChargingOrderAccountingStrategyService.list( ); for (ChargingOrderListVO chargingOrderListVO : exportList) { TChargingOrderExport tChargingOrderExport = new TChargingOrderExport(); List<Site> data = siteClient.getSiteByIds(Arrays.asList(chargingOrderListVO.getSiteId())).getData(); TAppUser data3 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData(); TChargingGun data4 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData(); if (data!=null&&(!data.isEmpty())){ tChargingOrderExport.setSiteCode(data.get(0).getCode()); Site site = data9.stream().filter(e -> e.getId().equals(chargingOrderListVO.getSiteId())).findFirst().orElse(null); TAppUser data3 = data6.stream().filter(e->e.getId().equals(chargingOrderListVO.getAppUserId())).findFirst().orElse(null); TChargingGun data4 = data.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null); if (site!=null){ tChargingOrderExport.setSiteCode(site.getCode()); tChargingOrderExport.setSiteName(chargingOrderListVO.getSiteName()); tChargingOrderExport.setCity(data.get(0).getCity()); tChargingOrderExport.setCityName(data.get(0).getDistricts()); tChargingOrderExport.setSiteType(data.get(0).getSiteType()); tChargingOrderExport.setStatus(data.get(0).getStatus()+""); Partner data2 = siteClient.getPartnerR(data.get(0).getPartnerId()).getData(); tChargingOrderExport.setCity(site.getCity()); tChargingOrderExport.setCityName(site.getDistricts()); tChargingOrderExport.setSiteType(site.getSiteType()); tChargingOrderExport.setStatus(site.getStatus()+""); Partner data2 = data7.stream().filter(e->e.getId().equals(site.getPartnerId())).findFirst().orElse(null); if (data2!=null){ tChargingOrderExport.setPartner(data2.getName()); } @@ -153,9 +163,9 @@ tChargingOrderExport.setCode(chargingOrderListVO.getCode()); tChargingOrderExport.setTerminalName(chargingOrderListVO.getTerminalName()); // 查询这笔订单的计费策略名称 List<AccountingStrategyOrder> list = accountingStrategyOrderService.lambdaQuery() .eq(AccountingStrategyOrder::getChargingOrderId, chargingOrderListVO.getId()) .list(); List<AccountingStrategyOrder> list = listAll.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList()); if (!list.isEmpty()){ tChargingOrderExport.setName(list.get(0).getName()); } @@ -194,9 +204,7 @@ tChargingOrderExport.setServiceCharge(chargingOrderListVO.getServiceCharge()+""); tChargingOrderExport.setTotal(chargingOrderListVO.getPaymentAmount()+""); tChargingOrderExport.setChargingCapacity(chargingOrderListVO.getElectricity()+""); List<TChargingOrderAccountingStrategy> stageCost = tChargingOrderAccountingStrategyService.list( new LambdaQueryWrapper<TChargingOrderAccountingStrategy>() .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrderListVO.getId())); List<TChargingOrderAccountingStrategy> stageCost = stageCostAll.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList()); if (!stageCost.isEmpty()){ // 累加时段电费单价 取平均值 BigDecimal bigDecimal1 = new BigDecimal("0"); @@ -216,12 +224,12 @@ tChargingOrderExport.setServiceChargePrice(divide2+""); tChargingOrderExport.setServiceChargePriceLook(divide3+""); } // 获取充电时间 UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrderListVO.getCode()).getData(); if (data5!=null){ if (data5.getTime_remaining()!=null){ tChargingOrderExport.setCumulativeChargingTime(data5.getCumulative_charging_time()+""); } if (chargingOrderListVO.getStartTime()!=null && chargingOrderListVO.getEndTime()!=null){ LocalDateTime startTime = chargingOrderListVO.getStartTime(); LocalDateTime endTime = chargingOrderListVO.getEndTime(); // 计算时间差 单位秒 long between = ChronoUnit.SECONDS.between(startTime, endTime); tChargingOrderExport.setCumulativeChargingTime((between*60)+""); } tChargingOrderExport.setStartSoc(chargingOrderListVO.getStartSoc()); tChargingOrderExport.setEndtSoc(chargingOrderListVO.getEndSoc()); @@ -229,9 +237,8 @@ tChargingOrderExport.setIsSocType(""); tChargingOrderExport.setIsSocNum("0"); tChargingOrderExport.setUserType("普通个人用户"); TAppUser data2 = appUserClient.getUserById(chargingOrderListVO.getAppUserId()).getData(); if (data2!=null&&data2.getVipId()!=null){ TVip data1 = vipClient.getInfo1(data2.getVipId()).getData(); if (data3!=null&&data3.getVipId()!=null){ TVip data1 = vipClient.getInfo1(data3.getVipId()).getData(); if (data1!=null){ tChargingOrderExport.setVipType(data1.getName()); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1438,6 +1438,9 @@ String endTime1 = null; String endTime2 = null; List<TChargingGun> allGun = chargingGunClient.getAllGun().getData(); List<TChargingPile> allPile = chargingGunClient.getAllPile().getData(); if (StringUtils.hasLength(dto.getStartTime())){ String[] split = dto.getStartTime().split(" - "); startTime1 = split[0]; @@ -1534,8 +1537,8 @@ chargingOrderListVO.setSiteName(site.getName()); } if (chargingOrderListVO.getChargingGunId()!=null && chargingOrderListVO.getChargingPileId()!=null){ TChargingGun data1 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData(); TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderListVO.getChargingPileId()).getData(); TChargingGun data1 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null); TChargingGun data2 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null); if (data2 != null && data1 != null) { chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName()); } @@ -1644,8 +1647,8 @@ chargingOrderListVO.setChargingSecond(between); } if (chargingOrderListVO.getChargingGunId()!=null && chargingOrderListVO.getChargingPileId()!=null){ TChargingGun data1 = chargingGunClient.getChargingGunById(chargingOrderListVO.getChargingGunId()).getData(); TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderListVO.getChargingPileId()).getData(); TChargingGun data1 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null); TChargingGun data2 = allGun.stream().filter(e->e.getId().equals(chargingOrderListVO.getChargingGunId())).findFirst().orElse(null); if (data2 != null && data1 != null) { chargingOrderListVO.setTerminalName(data2.getName() + "-" + data1.getName()); }