fix:修改账号判重逻辑、修改项目名称等

master
wangrunpu 2 days ago
parent 225d5d6cdc
commit 16ffd7f5fd

@ -8,9 +8,9 @@
<artifactId>ruoyi-vue-plus</artifactId>
<version>${revision}</version>
<name>RuoYi-Vue-Plus</name>
<name>stm32-iot-server</name>
<url>https://gitee.com/dromara/RuoYi-Vue-Plus</url>
<description>Dromara RuoYi-Vue-Plus多租户管理系统</description>
<description>涉尘涉爆后台管理系统</description>
<properties>
<revision>5.5.1</revision>
@ -69,7 +69,7 @@
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>local</profiles.active>
<logging.level>info</logging.level>
<monitor.username>ruoyi</monitor.username>
<monitor.username>admin</monitor.username>
<monitor.password>123456</monitor.password>
</properties>
</profile>
@ -79,7 +79,7 @@
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<logging.level>info</logging.level>
<monitor.username>ruoyi</monitor.username>
<monitor.username>admin</monitor.username>
<monitor.password>123456</monitor.password>
</properties>
<activation>
@ -92,7 +92,7 @@
<properties>
<profiles.active>prod</profiles.active>
<logging.level>warn</logging.level>
<monitor.username>ruoyi</monitor.username>
<monitor.username>admin</monitor.username>
<monitor.password>123456</monitor.password>
</properties>
</profile>

@ -17,7 +17,7 @@ public class DromaraApplication {
SpringApplication application = new SpringApplication(DromaraApplication.class);
application.setApplicationStartup(new BufferingApplicationStartup(2048));
application.run(args);
System.out.println("(♥◠‿◠)ノ゙ RuoYi-Vue-Plus启动成功 ლ(´ڡ`ლ)゙");
System.out.println("(♥◠‿◠)ノ゙ 涉尘涉爆服务端启动成功 ლ(´ڡ`ლ)゙");
}
}

@ -106,7 +106,7 @@ public class AuthController {
Long userId = LoginHelper.getUserId();
scheduledExecutorService.schedule(() -> {
SseMessageDto dto = new SseMessageDto();
dto.setMessage("欢迎登录RuoYi-Vue-Plus后台管理系统");
dto.setMessage("欢迎登录涉尘涉爆后台管理系统");
dto.setUserIds(List.of(userId));
SseMessageUtils.publishMessage(dto);
}, 5, TimeUnit.SECONDS);

@ -119,7 +119,7 @@ redisson:
# 单节点配置
singleServerConfig:
# 客户端名称 不能用中文
clientName: RuoYi-Vue-Plus
clientName: stm32-iot-server
# 最小空闲连接数
connectionMinimumIdleSize: 8
# 连接池大小
@ -274,7 +274,7 @@ justauth:
mqtt:
server: http://localhost:18083
host: tcp://83l6076j43.goho.co:37690
client-id: stm32-iot-server # 推荐使用模块名+端口,确保唯一性
client-id: stm32-iot-server890 # 推荐使用模块名+端口,确保唯一性
username:
password:
api-key: 890c854975af5456

@ -52,7 +52,7 @@ user:
# Spring配置
spring:
application:
name: RuoYi-Vue-Plus
name: stm32-iot-server
threads:
# 开启虚拟线程 仅jdk21可用
virtual:

@ -146,7 +146,6 @@ public class PlusDataPermissionHandler {
for (DataColumn dataColumn : dataPermission.value()) {
// 包含权限标识符 这直接跳过
if (ignoreMap.containsKey(dataColumn)) {
// 修复多角色与权限标识符共用问题 https://gitee.com/dromara/RuoYi-Vue-Plus/issues/IB4CS4
conditions.add(joinStr + " 1 = 1 ");
isSuccess = true;
continue;

@ -2,7 +2,7 @@ server:
port: 9090
spring:
application:
name: ruoyi-monitor-admin
name: stm32-iot-monitor
profiles:
active: @profiles.active@
@ -18,7 +18,7 @@ spring:
boot:
admin:
ui:
title: RuoYi-Vue-Plus服务监控中心
title: 涉尘涉爆管理平台服务监控中心
context-path: /admin
# 忽略无用警告
thymeleaf:

@ -5,7 +5,7 @@ server:
spring:
application:
name: ruoyi-snailjob-server
name: stm32-iot-snailjob
profiles:
active: @profiles.active@
web:

@ -39,7 +39,7 @@ public class DustDustinfoController extends BaseController {
/**
*
*/
@SaCheckPermission("hazard:dustDustinfo:list")
@SaCheckPermission("hazard:dustCompanyinfo:list")
@GetMapping("/list")
public TableDataInfo<DustDustinfoVo> list(DustDustinfoBo bo, PageQuery pageQuery) {
return dustDustinfoService.queryPageList(bo, pageQuery);
@ -50,7 +50,7 @@ public class DustDustinfoController extends BaseController {
/**
*
*/
@SaCheckPermission("hazard:dustDustinfo:export")
@SaCheckPermission("hazard:dustCompanyinfo:export")
@Log(title = "涉尘信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(DustDustinfoBo bo, HttpServletResponse response) {
@ -63,7 +63,7 @@ public class DustDustinfoController extends BaseController {
*
* @param id
*/
@SaCheckPermission("hazard:dustDustinfo:query")
@SaCheckPermission("hazard:dustCompanyinfo:query")
@GetMapping("/{id}")
public R<DustDustinfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable String id) {
@ -73,7 +73,7 @@ public class DustDustinfoController extends BaseController {
/**
*
*/
@SaCheckPermission("hazard:dustDustinfo:add")
@SaCheckPermission("hazard:dustCompanyinfo:add")
@Log(title = "涉尘信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@ -84,7 +84,7 @@ public class DustDustinfoController extends BaseController {
/**
*
*/
@SaCheckPermission("hazard:dustDustinfo:edit")
@SaCheckPermission("hazard:dustCompanyinfo:edit")
@Log(title = "涉尘信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -97,7 +97,7 @@ public class DustDustinfoController extends BaseController {
*
* @param ids
*/
@SaCheckPermission("hazard:dustDustinfo:remove")
@SaCheckPermission("hazard:dustCompanyinfo:remove")
@Log(title = "涉尘信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

@ -67,7 +67,7 @@ public class SysProfileController extends BaseController {
SysUserBo user = BeanUtil.toBean(profile, SysUserBo.class);
user.setUserId(LoginHelper.getUserId());
String username = LoginHelper.getUsername();
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user.getPhonenumber())) {
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + username + "'失败,手机号码已存在");
}
if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {

@ -22,6 +22,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.system.domain.bo.SysTenantBo;
import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.vo.SysTenantVo;
import org.dromara.system.service.ISysTenantService;
import org.dromara.system.service.ISysUserService;
@ -95,13 +96,13 @@ public class SysTenantController extends BaseController {
if (!tenantService.checkCompanyNameUnique(bo)) {
return R.fail("新增租户'" + bo.getCompanyName() + "'失败,企业名称已存在");
}
SysUserBo user = new SysUserBo();
user.setPhonenumber(bo.getContactPhone());
user.setUserName(bo.getUsername());
// 校验用户名和手机号是否全局唯一(方法内部已使用TenantHelper.ignore)
if (!userService.checkUserNameUnique(bo.getUsername())) {
if (!userService.checkUserNameUnique(user)) {
return R.fail("新增租户失败,管理员账号'" + bo.getUsername() + "'已存在");
}
if (!userService.checkPhoneUnique(bo.getContactPhone())) {
return R.fail("新增租户失败,联系电话'" + bo.getContactPhone() + "'已存在");
}
return toAjax(TenantHelper.ignore(() -> tenantService.insertByBo(bo)));
}
@ -118,9 +119,6 @@ public class SysTenantController extends BaseController {
if (!tenantService.checkCompanyNameUnique(bo)) {
return R.fail("修改租户'" + bo.getCompanyName() + "'失败,公司名称已存在");
}
if (!userService.checkPhoneUnique(bo.getContactPhone())) {
return R.fail("新增租户失败,联系电话'" + bo.getContactPhone() + "'已存在");
}
return toAjax(tenantService.updateByBo(bo));
}

@ -168,9 +168,9 @@ public class SysUserController extends BaseController {
@PostMapping
public R<Void> add(@Validated @RequestBody SysUserBo user) {
deptService.checkDeptDataScope(user.getDeptId());
if (!userService.checkUserNameUnique(user.getUserName())) {
if (!userService.checkUserNameUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user.getPhonenumber())) {
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
@ -195,9 +195,9 @@ public class SysUserController extends BaseController {
userService.checkUserAllowed(user.getUserId());
userService.checkUserDataScope(user.getUserId());
deptService.checkDeptDataScope(user.getDeptId());
if (!userService.checkUserNameUnique(user.getUserName())) {
if (!userService.checkUserNameUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user.getPhonenumber())) {
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");

@ -103,18 +103,18 @@ public interface ISysUserService {
/**
*
*
* @param username
* @param user
* @return
*/
boolean checkUserNameUnique(String username);
boolean checkUserNameUnique(SysUserBo user);
/**
*
*
* @param phone
* @param user
* @return
*/
boolean checkPhoneUnique(String phone);
boolean checkPhoneUnique(SysUserBo user);
/**
* email

@ -177,7 +177,6 @@ public class SysTenantServiceImpl implements ISysTenantService {
user.setNickName(bo.getUsername());
user.setPassword(BCrypt.hashpw(bo.getPassword()));
user.setDeptId(deptId);
user.setPhonenumber(bo.getContactPhone());
userMapper.insert(user);
//新增系统用户后,默认当前用户为部门的负责人
SysDept sd = new SysDept();

@ -236,15 +236,16 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
/**
*
*
* @param username
* @param user
* @return
*/
@Override
public boolean checkUserNameUnique(String username) {
public boolean checkUserNameUnique(SysUserBo user) {
AtomicBoolean exist = new AtomicBoolean(false);
TenantHelper.ignore(() -> {
exist.set(baseMapper.exists(new LambdaQueryWrapper<SysUser>()
.eq(SysUser::getUserName, username)));
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())
.eq(SysUser::getUserName, user.getUserName())));
});
return !exist.get();
@ -253,14 +254,15 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
/**
*
*
* @param phonenumber
* @param user
*/
@Override
public boolean checkPhoneUnique(String phonenumber) {
public boolean checkPhoneUnique(SysUserBo user) {
AtomicBoolean exist = new AtomicBoolean(false);
TenantHelper.ignore(() -> {
exist.set(baseMapper.exists(new LambdaQueryWrapper<SysUser>()
.eq(SysUser::getPhonenumber, phonenumber)));
.ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId())
.eq(SysUser::getPhonenumber, user.getPhonenumber())));
});
return !exist.get();
}

Loading…
Cancel
Save