From 324ed9fac852bc4117ee0da65a586adef258bd52 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 九月 2025 11:08:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 11 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 ffb64af..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
@@ -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();
 	}
 	

--
Gitblit v1.7.1