无关风月
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.*;
@@ -109,7 +111,7 @@
      return AjaxResult.success(siteService.list(new QueryWrapper<>()));
   }
   @PostMapping("/getSiteListGun")
   @GetMapping("/getSiteListGun")
   @ApiOperation(value = "获取站点列表 不分页", tags = {"管理后台-接口信息使用"})
   public AjaxResult<List<Site>> getSiteListGun(){
      return AjaxResult.success(siteService.getSiteListGun());
@@ -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));
   }
@@ -161,6 +175,18 @@
   public AjaxResult addSite(@RequestBody Site site){
      return siteService.addSite(site);
   }
   @ResponseBody
   @PostMapping("/getSiteInfo/{id}")
   @ApiOperation(value = "获取站点详情", tags = {"管理后台-站点管理"})
   public AjaxResult<Site> getSiteInfo(@PathVariable Integer id){
      Site site = siteService.getById(id);
      return AjaxResult.success(site);
   }
   
   @ResponseBody
   @PostMapping("/editSite")
@@ -231,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);
   }
}