Pu Zhibing
2024-10-08 52d18b0c747f12c64c9f9b36acb1b5e25f131e0c
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -107,11 +107,14 @@
    * @param number
    * @return
    */
   @PostMapping("/getSiteInfoByNumber")
   @GetMapping("/getSiteInfoByNumber")
   @ApiOperation(value = "扫一扫后通过桩编号获取电站信息", tags = {"小程序-扫一扫"})
   public R<SiteInfoVO> getSiteInfoByNumber(@RequestParam("number") String number){
      SiteInfoVO siteInfoVO = new SiteInfoVO();
      TChargingPile one = chargingPileService.lambdaQuery().eq(TChargingPile::getNumber, number).one();
      String chargingPileCode = number.substring(0, number.length() - 2);
      String chargingGunCode = number.substring(number.length() - 2);
      TChargingPile one = chargingPileService.lambdaQuery().eq(TChargingPile::getCode, chargingPileCode).one();
      TChargingGun chargingGun = chargingGunService.getOne(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getCode, chargingGunCode).eq(TChargingGun::getChargingPileId, one.getId()));
      Site byId = siteService.getById(one.getSiteId());
      TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId());
      List<TAccountingStrategyDetail> list = accountingStrategyDetailService.lambdaQuery().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId1.getId()).list();
@@ -122,6 +125,33 @@
            siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(4, BigDecimal.ROUND_HALF_UP));
         }
      }
      siteInfoVO.setChargingGunId(chargingGun.getId());
      siteInfoVO.setChargingPileId(one.getId());
      siteInfoVO.setName(byId.getName());
      siteInfoVO.setNumber(one.getNumber().toString());
      siteInfoVO.setSpaceChargeExplain(byId.getSpaceChargeExplain());
      return R.ok(siteInfoVO);
   }
   /**
    * 通过桩编号获取电站信息 遠程調用
    * @param number
    * @return
    */
   @PostMapping("/getSiteInfoByNumber1")
   public R<SiteInfoVO> getSiteInfoByNumber1(@RequestParam("number") String number){
      SiteInfoVO siteInfoVO = new SiteInfoVO();
      TChargingPile one = chargingPileService.lambdaQuery().eq(TChargingPile::getCode, number).one();
      Site byId = siteService.getById(one.getSiteId());
      TAccountingStrategy byId1 = accountingStrategyService.getById(byId.getAccountingStrategyId());
      List<TAccountingStrategyDetail> list = accountingStrategyDetailService.lambdaQuery().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId1.getId()).list();
      for (TAccountingStrategyDetail tAccountingStrategyDetail : list) {
         // 当前时间属于那个阶段 取哪个阶段的电价
         if(LocalTime.now().isAfter(LocalTime.parse(tAccountingStrategyDetail.getStartTime())) && LocalTime.now().isBefore(LocalTime.parse(tAccountingStrategyDetail.getEndTime()))){
            siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence());
            siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(4, BigDecimal.ROUND_HALF_UP));
         }
      }
      siteInfoVO.setChargingPileId(one.getId());
      siteInfoVO.setName(byId.getName());
      siteInfoVO.setNumber(one.getNumber().toString());
      siteInfoVO.setSpaceChargeExplain(byId.getSpaceChargeExplain());
@@ -134,6 +164,8 @@
      PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
      return AjaxResult.success(list);
   }
   @GetMapping("/getSiteList/byUserId")
   @ApiOperation(value = "获取站点列表", tags = {"管理后台-站点管理"})
   public R<List<GetSiteListDTO>> getSiteListByUserId(@RequestParam("userId") Long userId){
@@ -272,7 +304,7 @@
   @ApiOperation(value = "获取站点详细信息", tags = {"小程序-站点管理-站点详情"})
   @PostMapping("/getDetailById")
   public AjaxResult<SiteDetailVO> getDetailById(@Validated @RequestBody SiteDetailQuery query){
      SiteDetailVO siteDetailVO = siteService.getDetailById(query.getSiteId());
      SiteDetailVO siteDetailVO = siteService.getDetailById(query);
      // 查询合作商名称
      Partner partner = partnerService.getById(siteDetailVO.getPartnerId());
      if(Objects.nonNull(partner)){
@@ -394,7 +426,7 @@
   @ResponseBody
   @PostMapping("/getSiteByIds")
   public R<List<Site>> getSiteByIds(@RequestBody List<Integer> ids){
      List<Site> sites = siteService.listByIds(ids);
      List<Site> sites = siteService.list(new LambdaQueryWrapper<Site>().in(Site::getId, ids).eq(Site::getDelFlag, 0));
      return R.ok(sites);
   }