From f221182c97f52bc7121b042b7ab16bf13813f851 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 26 八月 2025 14:39:54 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 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..46944b8 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
@@ -32,6 +32,7 @@
 import javax.annotation.Resource;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 
 /**
@@ -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,52 @@
 	
 	/**
 	 * 编辑站点
-	 * @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();
 	}
 	

--
Gitblit v1.7.1