Pu Zhibing
2024-09-27 d153ca8d05991566bed18eed1ae25f0af3c1cc70
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -20,6 +20,8 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
@@ -105,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();
@@ -120,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());
@@ -305,6 +337,7 @@
   @ResponseBody
   @PostMapping("/addSite")
   @ApiOperation(value = "添加站点", tags = {"管理后台-站点管理"})
   @Log(title = "【站点管理】添加站点", businessType = BusinessType.INSERT)
   public AjaxResult addSite(@RequestBody Site site){
      return siteService.addSite(site);
   }
@@ -324,6 +357,7 @@
   @ResponseBody
   @PostMapping("/editSite")
   @ApiOperation(value = "编辑站点", tags = {"管理后台-站点管理"})
   @Log(title = "【站点管理】编辑站点", businessType = BusinessType.UPDATE)
   public AjaxResult editSite(@RequestBody Site site){
      return siteService.editSite(site);
   }
@@ -334,6 +368,7 @@
   @ApiImplicitParams({
         @ApiImplicitParam(value = "站点id", name = "id", dataTypeClass = Integer.class, required = true)
   })
   @Log(title = "【站点管理】删除站点", businessType = BusinessType.DELETE)
   public AjaxResult delSite(@RequestParam("id") Integer[] id){
      return siteService.delSite(id);
   }
@@ -346,6 +381,7 @@
         @ApiImplicitParam(value = "站点id", name = "id", dataTypeClass = Integer.class, required = true),
         @ApiImplicitParam(value = "计费策略id", name = "accountingStrategyId", dataTypeClass = Integer.class, required = true)
   })
   @Log(title = "【站点管理】设置站点计费策略", businessType = BusinessType.OTHER)
   public AjaxResult setAccountingStrategy(@PathVariable("id") Integer id, @RequestParam("accountingStrategyId") Integer accountingStrategyId){
      siteService.setAccountingStrategy(id, accountingStrategyId);
      return AjaxResult.success();