Pu Zhibing
昨天 d08fe17ae9056598aa82efb85ac81a893f4cdf36
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -26,11 +26,13 @@
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.ServletUtils;
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.log.enums.OperatorType;
import com.ruoyi.common.security.annotation.Logical;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.common.security.service.TokenService;
@@ -127,6 +129,7 @@
    * @param number
    * @return
    */
   @Log(title = "【扫一扫】通过桩编号获取电站信息", businessType = BusinessType.OTHER,operatorType = OperatorType.MOBILE)
   @GetMapping("/getSiteInfoByNumber")
   @ApiOperation(value = "扫一扫后通过桩编号获取电站信息", tags = {"小程序-扫一扫"})
   public R<SiteInfoVO> getSiteInfoByNumber(@RequestParam("number") String number){
@@ -147,29 +150,34 @@
               && DateUtils.string2LocalTime(tAccountingStrategyDetail.getEndTime() + ("23:59:59".equals(tAccountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
            siteInfoVO.setElectrovalence(tAccountingStrategyDetail.getElectrovalence().add(tAccountingStrategyDetail.getServiceCharge()).setScale(4, BigDecimal.ROUND_HALF_UP));
            // 获取当前登录用户id
            Long userId = tokenService.getLoginUserApplet().getUserId();
            // 根据id查询用户信息
            TAppUser appUser = appUserClient.getUserById(userId).getData();
            // 获取请求携带的令牌
            if(Objects.nonNull(byId1.getDiscount())){
               siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().multiply(byId1.getDiscount()).add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
            }else {
               siteInfoVO.setVipElectrovalence((tAccountingStrategyDetail.getServiceCharge().add(tAccountingStrategyDetail.getElectrovalence())).setScale(4, BigDecimal.ROUND_HALF_UP));
            }
            if(Objects.nonNull(appUser)){
            String token = SecurityUtils.getToken(ServletUtils.getRequest());
            if(StringUtils.isNotEmpty(token)){
               Long userId = tokenService.getLoginUserApplet().getUserId();
               // 根据id查询用户信息
               TAppUser appUser = appUserClient.getUserById(userId).getData();
               if(Objects.nonNull(appUser)){
//               TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
               GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
               getAppUserVipDetail.setAppUserId(userId);
               getAppUserVipDetail.setVipId(appUser.getVipId());
               R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
               TAppUserVipDetail data1 = appUserVipDetail.getData();
               if(Objects.nonNull(data1)){
                  String vipJson = data1.getVipJson();
                  TVip vip = JSON.parseObject(vipJson, TVip.class);
                  if(Objects.nonNull(vip) && vip.getType() == 2){
                     siteInfoVO.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(tAccountingStrategyDetail.getServiceCharge()).add(tAccountingStrategyDetail.getElectrovalence()));
                  GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
                  getAppUserVipDetail.setAppUserId(userId);
                  getAppUserVipDetail.setVipId(appUser.getVipId());
                  R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
                  TAppUserVipDetail data1 = appUserVipDetail.getData();
                  if(Objects.nonNull(data1)){
                     String vipJson = data1.getVipJson();
                     TVip vip = JSON.parseObject(vipJson, TVip.class);
                     if(Objects.nonNull(vip) && vip.getType() == 2){
                        siteInfoVO.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(tAccountingStrategyDetail.getServiceCharge()).add(tAccountingStrategyDetail.getElectrovalence()));
                     }
                  }
               }
            }
         }
      }
      siteInfoVO.setChargingGunId(chargingGun.getId());
@@ -455,7 +463,6 @@
      int isLogin = StringUtils.isEmpty(SecurityUtils.getToken(request)) ? 0 : 1;
      return AjaxResult.success(siteService.pageList(query,isLogin));
   }
   
   
   @ApiOperation(value = "获取站点列表", tags = {"小程序-站点管理-地图导航站点"})
@@ -464,6 +471,8 @@
      int isLogin = StringUtils.isEmpty(SecurityUtils.getToken(request)) ? 0 : 1;
      return AjaxResult.success(siteService.getMapSiteList(query,isLogin));
   }
   @ApiOperation(value = "获取站点详细信息", tags = {"小程序-站点管理-站点详情"})
   @PostMapping("/getDetailById")
   public AjaxResult<SiteDetailVO> getDetailById(@Validated @RequestBody SiteDetailQuery query){
@@ -484,7 +493,8 @@
      }
      return AjaxResult.success(siteDetailVO);
   }
   @ApiOperation(value = "获取站点下充电桩及充电枪列表", tags = {"小程序-站点管理-站点详情"})
   @GetMapping("/getChargingGunList")
   public AjaxResult<List<TChargingPileVO>> getChargingGunList(@RequestParam(value = "siteId")@ApiParam(value = "站点id", required = true)Integer siteId,
@@ -497,6 +507,7 @@
   public AjaxResult<Map<String,ChargingGunCountVO>> getChargingGunCount(@RequestParam(value = "siteId")@ApiParam(value = "站点id", required = true)Integer siteId){
      return AjaxResult.success(chargingGunService.getChargingGunCount(siteId));
   }
   
   @ApiOperation(value = "获取站点下充电枪数量统计", tags = {"小程序-站点管理-站点详情"})
   @GetMapping("/getChargingGunCount1")
@@ -631,6 +642,20 @@
   public PageInfo<Site> getSiteListPaging(@RequestParam("PageNo") Integer PageNo, @RequestParam("PageSize") Integer PageSize,
                                           @RequestParam("ids") List<String> ids){
      PageInfo<Site> pageInfo = new PageInfo<>(PageNo, PageSize);
      PageInfo<Site> page = siteService.lambdaQuery().eq(Site::getStatus, 1).in(ids.size() > 0, Site::getId, ids)
            .ne(Site::getSiteType, 2).page(pageInfo);
      return page;
   }
   /**
    * 分页查询站电数据
    * @param PageNo
    * @param PageSize
    * @return
    */
   @PostMapping("/getSiteListPagingJianGuan")
   public PageInfo<Site> getSiteListPagingJianGuan(@RequestParam("PageNo") Integer PageNo, @RequestParam("PageSize") Integer PageSize,
                                           @RequestParam("ids") List<String> ids){
      PageInfo<Site> pageInfo = new PageInfo<>(PageNo, PageSize);
      PageInfo<Site> page = siteService.lambdaQuery().eq(Site::getStatus, 1).in(ids.size() > 0, Site::getId, ids).page(pageInfo);
      return page;
   }