From d153ca8d05991566bed18eed1ae25f0af3c1cc70 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 27 九月 2024 10:40:06 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 61 +++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 3 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java index 1db4d7c..1add52d 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java +++ b/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; @@ -27,6 +29,8 @@ import com.ruoyi.other.api.feignClient.UserSiteClient; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; +import com.ruoyi.system.api.feignClient.SysUserRoleClient; +import com.ruoyi.system.api.model.SysUserRoleVo; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -82,16 +86,35 @@ @Resource private ChargingOrderClient chargingOrderClient; + + @Resource + private SysUserRoleClient userRoleClient; + + + + /** + * 根据站点id 查询所有充电桩 + * @param siteId + * @return + */ + @GetMapping("/getPileListBySiteId/{siteId}") + public R<List<TChargingPile>> getPileListBySiteId(@PathVariable("siteId")Integer siteId){ + + return R.ok(chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, siteId).list()); + } /** * 小程序扫一扫 * @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(); @@ -102,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()); @@ -287,6 +337,7 @@ @ResponseBody @PostMapping("/addSite") @ApiOperation(value = "添加站点", tags = {"管理后台-站点管理"}) + @Log(title = "【站点管理】添加站点", businessType = BusinessType.INSERT) public AjaxResult addSite(@RequestBody Site site){ return siteService.addSite(site); } @@ -306,6 +357,7 @@ @ResponseBody @PostMapping("/editSite") @ApiOperation(value = "编辑站点", tags = {"管理后台-站点管理"}) + @Log(title = "【站点管理】编辑站点", businessType = BusinessType.UPDATE) public AjaxResult editSite(@RequestBody Site site){ return siteService.editSite(site); } @@ -316,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); } @@ -328,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(); @@ -350,7 +404,8 @@ //非管理员需要根据角色和用户配置查询允许的站点数据 if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData(); - List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData(); + List<SysUserRoleVo> data2 = userRoleClient.getRoleByUserId(sysUser.getUserId()).getData(); + List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData(); data.addAll(data1); Set<Integer> list = new HashSet<>(data); wrapper.in(Site::getId, list); -- Gitblit v1.7.1