From cd7dd3a996f8dcaeb5d288b58bd3d27442dc542b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 27 八月 2025 17:52:22 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java |   74 ++++++++++++++++++++++++++++++------
 1 files changed, 61 insertions(+), 13 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index fbfafa5..d3676d5 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/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
@@ -64,10 +62,18 @@
 		return pageInfo.setRecords(list);
 	}
 
+    @Override
+    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;
+    }
 
 
-
-	@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,73 @@
 		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())) {
+			// 修改密码
+			sysUser.setPassword(dto.getPassword());
+			R res = sysUserClient.siteResetPassword(sysUser);
+		}
+
+		this.updateById(dto);
 		return AjaxResult.success();
 	}
 	
@@ -250,6 +296,8 @@
 		}
 		for (Integer id : ids) {
 			Site site = this.getById(id);
+			// 删除账号
+			sysUserClient.delSysUserById(site.getUserId());
 			this.removeById(site);
 		}
 		return AjaxResult.success();

--
Gitblit v1.7.1