无关风月
2025-09-01 324ed9fac852bc4117ee0da65a586adef258bd52
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -30,9 +30,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.*;
/**
 * @author zhibing.pu
@@ -65,8 +63,11 @@
   }
    @Override
    public List<GetSiteListDTO> getSiteListNolimit(GetSiteList siteList) {
      Set<Integer> ids = null;
    public List<GetSiteListDTO> getSiteListNolimit(GetSiteList siteList,SysUser sysUser) {
      Set<Integer> ids = new HashSet<>();
      if(sysUser.getRoleType() != 1){
         ids.add(sysUser.getSiteId());
      }
      List<GetSiteListDTO> list = this.baseMapper.getSiteListNolimit( siteList, ids);
      return list;
    }
@@ -98,6 +99,10 @@
      if(ajaxResult.isError()){
         return ajaxResult;
      }
      SysUser sysUser = sysUserClient.queryUserByUserName(dto.getAccount()).getData();
      if (Objects.nonNull(sysUser)){
         return AjaxResult.error("账号已存在");
      }
      Site one = this.getOne(new LambdaQueryWrapper<Site>().eq(Site::getCode, dto.getCode()).eq(Site::getDelFlag, 0));
      if(null != one){
         return AjaxResult.error("站点编号重复");
@@ -125,20 +130,53 @@
   
   /**
    * 编辑站点
    * @param site
    * @param dto
    * @return
    */
   @Override
   public AjaxResult editSite(Site site) {
      AjaxResult ajaxResult = addSiteVerify(site);
   public AjaxResult editSite(SiteDTO dto) {
      AjaxResult ajaxResult = addSiteVerify(dto);
      if(ajaxResult.isError()){
         return ajaxResult;
      }
      Site one = this.getOne(new LambdaQueryWrapper<Site>().eq(Site::getCode, site.getCode()).eq(Site::getDelFlag, 0));
      if(null != one && !one.getCode().equals(site.getCode())){
      Site one = this.getOne(new LambdaQueryWrapper<Site>().eq(Site::getCode, dto.getCode()).eq(Site::getDelFlag, 0));
      if(null != one && !one.getCode().equals(dto.getCode())){
         return AjaxResult.error("站点编号重复");
      }
      this.updateById(site);
      // 通过站点id查询登录账号
      SysUser sysUser = sysUserClient.queryUserBySiteId(dto.getId()).getData();
      // 判断是否更换了账号  更换了账号判断是否已存在
      if(null != sysUser && !sysUser.getUserName().equals(dto.getAccount())){
         SysUser sysUser1 = sysUserClient.queryUserByUserName(dto.getAccount()).getData();
         if(null != sysUser1){
            return AjaxResult.error("账号已存在");
         }
         // 添加登录账号
         SysUser user = new SysUser();
         user.setPhonenumber(dto.getAccount());
         user.setUserName(dto.getAccount());
         user.setNickName(dto.getName());
         user.setPassword(dto.getPassword());
         user.setStatus("0");
         user.setDelFlag("0");
         user.setRoleId(2L);
         user.setSiteId(dto.getId());
         R<Long> r = sysUserClient.addSysUserSite(user);
         if(200 != r.getCode()){
            throw new RuntimeException(r.getMsg());
         }
         dto.setUserId(r.getData());
         // 删除原有的登录账号
         R res = sysUserClient.delSysUserById(sysUser.getUserId());
      }
      if(Objects.nonNull(sysUser) && sysUser.getUserName().equals(dto.getAccount())) {
         // 修改密码
         sysUser.setPassword(dto.getPassword());
         R res = sysUserClient.siteResetPassword(sysUser);
      }
      this.updateById(dto);
      return AjaxResult.success();
   }