xuhy
2025-08-26 f221182c97f52bc7121b042b7ab16bf13813f851
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -32,6 +32,7 @@
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.Set;
/**
@@ -64,10 +65,15 @@
      return pageInfo.setRecords(list);
   }
    @Override
    public List<GetSiteListDTO> getSiteListNolimit(GetSiteList siteList) {
      Set<Integer> ids = null;
      List<GetSiteListDTO> list = this.baseMapper.getSiteListNolimit( siteList, ids);
      return list;
    }
   @Override
    @Override
   public PageInfo<GetSiteListDTO> getSiteList1(Long userId) {
      GetSiteList siteList = new GetSiteList();
      siteList.setPageCurr(1);
@@ -93,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("站点编号重复");
@@ -100,37 +110,72 @@
      this.save(dto);
      // 添加登录账号
      SysUser user = new SysUser();
      user.setPhonenumber(dto.getPhone());
      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);
      R<Long> r = sysUserClient.addSysUser(user);
      user.setSiteId(dto.getId());
      R<Long> r = sysUserClient.addSysUserSite(user);
      if(200 != r.getCode()){
         throw new RuntimeException(r.getMsg());
      }
      dto.setUserId(r.getData());
      this.updateById(dto);
      return AjaxResult.success();
   }
   
   
   /**
    * 编辑站点
    * @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())) {
         // 修改密码
         R res = sysUserClient.resetPassword(sysUser);
      }
      this.updateById(dto);
      return AjaxResult.success();
   }
   
@@ -250,6 +295,8 @@
      }
      for (Integer id : ids) {
         Site site = this.getById(id);
         // 删除账号
         sysUserClient.delSysUserById(site.getUserId());
         this.removeById(site);
      }
      return AjaxResult.success();