无关风月
2024-08-27 e86ed626de30e3e60ba5e1294b0d134546ac5b4d
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -14,6 +14,7 @@
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.GeodesyUtil;
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.security.utils.SecurityUtils;
@@ -30,6 +31,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.*;
@@ -88,7 +90,7 @@
         // 当前时间属于那个阶段 取哪个阶段的电价
         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(2, BigDecimal.ROUND_HALF_UP));
            siteInfoVO.setVipElectrovalence(tAccountingStrategyDetail.getElectrovalence().multiply(byId1.getDiscount()).setScale(4, BigDecimal.ROUND_HALF_UP));
         }
      }
      siteInfoVO.setName(byId.getName());
@@ -122,13 +124,25 @@
   }
   @ApiOperation(value = "获取站点分页列表", tags = {"小程序-站点管理-首页"})
   @PostMapping("/pageList")
   public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query){
      return AjaxResult.success(siteService.pageList(query));
   public AjaxResult<PageInfo<SiteVO>> pageList(@Validated @RequestBody SiteQuery query, HttpServletRequest request){
      int isLogin = StringUtils.isEmpty(SecurityUtils.getToken(request)) ? 0 : 1;
      return AjaxResult.success(siteService.pageList(query,isLogin));
   }
   @ApiOperation(value = "获取站点列表", tags = {"小程序-站点管理-地图导航站点"})
   @PostMapping("/getMapSiteList")
   public AjaxResult<List<SiteVO>> getMapSiteList(@Validated @RequestBody SiteQuery query){
      return AjaxResult.success(siteService.getMapSiteList(query));
   }
   @ApiOperation(value = "获取站点详细信息", tags = {"小程序-站点管理-站点详情"})
   @PostMapping("/getDetailById")
   public AjaxResult<SiteDetailVO> getDetailById(@Validated @RequestBody SiteDetailQuery query){
      SiteDetailVO siteDetailVO = siteService.getDetailById(query.getSiteId());
      // 查询合作商名称
      Partner partner = partnerService.getById(siteDetailVO.getPartnerId());
      if(Objects.nonNull(partner)){
         siteDetailVO.setPartnerName(partner.getName());
      }
      // 计算距离
      Map<String, Double> distance = GeodesyUtil.getDistance(query.getLat() + "," + query.getLon(), siteDetailVO.getLat() + "," + siteDetailVO.getLon());
      siteDetailVO.setDistance(distance.get("WGS84"));
@@ -144,7 +158,7 @@
   @ApiOperation(value = "获取站点下充电桩及充电枪列表", tags = {"小程序-站点管理-站点详情"})
   @GetMapping("/getChargingGunList")
   public AjaxResult<List<TChargingPileVO>> getChargingGunList(@RequestParam(value = "siteId")@ApiParam(value = "站点id", required = true)Integer siteId,
                                                @RequestParam(value = "siteId",required = false)@ApiParam(value = "类型 1=超充,2=快充,3=慢充")Integer type){
                                                @RequestParam(value = "type",required = false)@ApiParam(value = "类型 1=超充,2=快充,3=慢充")Integer type){
      return AjaxResult.success(chargingPileService.getChargingGunList(siteId,type));
   }
@@ -243,4 +257,16 @@
      List<Site> sites = siteService.listByIds(ids);
      return R.ok(sites);
   }
   /**
    * 获取所有站点数据
    * @return
    */
   @ResponseBody
   @PostMapping("/getSiteAll")
   public R<List<Site>> getSiteAll(){
      List<Site> list = siteService.list(new LambdaQueryWrapper<Site>().eq(Site::getDelFlag, 0));
      return R.ok(list);
   }
}