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