Pu Zhibing
2024-10-31 d1d7df6417a76d481e654c96b2db34e4fbab88ea
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -1,9 +1,13 @@
package com.ruoyi.chargingPile.service.impl;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.feignClient.AppUserVipDetailClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.api.model.TAppUserVipDetail;
import com.ruoyi.account.api.vo.GetAppUserVipDetail;
import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
@@ -18,6 +22,7 @@
import com.ruoyi.chargingPile.domain.SiteMenu;
import com.ruoyi.chargingPile.mapper.SiteMapper;
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -80,7 +85,8 @@
   
   @Resource
   private IntegrationClient integrationClient;
   @Resource
   private AppUserVipDetailClient vipDetailClient;
   
   
   /**
@@ -88,6 +94,7 @@
    * @param siteList
    * @return
    */
   @Override
   public PageInfo<GetSiteListDTO> getSiteList(GetSiteList siteList) {
      Set<Integer> ids = null;
@@ -95,12 +102,15 @@
      SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
      Integer roleType = sysUser.getRoleType();
      Integer objectId = sysUser.getObjectId();
      R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
      //合作商
      if(roleType == 2){
         ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
      }else{
         //非管理员需要根据角色和用户配置查询允许的站点数据
         if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
         //改用roleId=1来判断
         if(admin.getData()!=1){
//         if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
            List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
            List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
            if(data2.size() > 0){
@@ -134,12 +144,14 @@
      SysUser sysUser = sysUserClient.getSysUser(userId).getData();
      Integer roleType = sysUser.getRoleType();
      Integer objectId = sysUser.getObjectId();
      R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
      //合作商
      if(roleType == 2){
         ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
      }else{
         //非管理员需要根据角色和用户配置查询允许的站点数据
         if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
         if(admin.getData()!=1){
            List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
            List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
            List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
@@ -280,9 +292,9 @@
   @Override
   public PageInfo<SiteVO> pageList(SiteQuery query,Integer isLogin) {
      TAppUser appUser = null;
      // 获取当前登录用户id
      Long userId = tokenService.getLoginUserApplet().getUserId();
      if(isLogin == 1){
         // 获取当前登录用户id
         Long userId = tokenService.getLoginUserApplet().getUserId();
         // 根据id查询用户信息
         appUser = appUserClient.getUserById(userId).getData();
      }
@@ -290,7 +302,14 @@
      List<SiteVO> list = this.baseMapper.pageList(query,pageInfo);
      if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){
         // 查询会员信息
         TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
//         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();
         String vipJson = data1.getVipJson();
         TVip vip = JSON.parseObject(vipJson, TVip.class);
         if(Objects.nonNull(vip) && vip.getType() == 2){
            list.forEach(item -> {
               if(Objects.nonNull(vip.getDiscount())){
@@ -380,7 +399,14 @@
      List<SiteVO> list = this.baseMapper.getMapSiteList(query);
      if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){
         // 查询会员信息
         TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
//         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();
         String vipJson = data1.getVipJson();
         TVip vip = JSON.parseObject(vipJson, TVip.class);
         if(Objects.nonNull(vip) && vip.getType() == 2){
            list.forEach(item -> {
               item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal()));