From 1ea3f13a995009087473a4356dbf2bcbdc9e3fdc Mon Sep 17 00:00:00 2001 From: zhaoqing <1670883518@qq.com> Date: Mon, 27 Apr 2026 18:04:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE-=E5=A7=94?= =?UTF-8?q?=E6=89=98=E6=96=B9=E7=AE=A1=E7=90=86-=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E6=96=B9=E5=BC=8F/=E7=99=BB=E5=BD=95=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserShipperApplicationService.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java index 54a97909f..94c6cec03 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java @@ -322,6 +322,8 @@ public class UserShipperApplicationService { //========================用户注册=========================== UserDO userDO = new UserDO(); userDO.setAvatar(userShipperDO.getAvatar()); + //账号唯一性检验 + checkUserAccountUnique(userShipperDO.getUserAccount(),null,configSwitch.getTopOrganizationId()); userDO.setUserAccount(userShipperDO.getUserAccount()); userDO.setUserName(userShipperDO.getUserName()); userDO.setUserId(userShipperDO.getUserId()); @@ -333,7 +335,8 @@ public class UserShipperApplicationService { userDO.setRoleName(roleName); } - userDO.setUserPhone(userShipperDO.getUserAccount()); + + userDO.setUserPhone(userShipperDO.getUserPhone()); userShipperDO.setShipperType(1); userShipperDO.setDelFlag(1); @@ -1182,4 +1185,29 @@ public class UserShipperApplicationService { // 根据userId查询货主信息 return userShipperDomainService.selectByUserId(userId); } + + + /** + * 校验登录账号唯一性 + * @param userAccount 登录账号 + * @param userId 用户ID(编辑时传入,用于排除自身;新增时传null) + * @param topOrganizationId 顶级组织ID + */ + private void checkUserAccountUnique(String userAccount, Long userId, Long topOrganizationId) { + if (StringUtils.isBlank(userAccount)) { + return; // 账号为空,不校验 + } + + UserDO checkDO = new UserDO(); + checkDO.setTopOrganizationId(topOrganizationId); + checkDO.setUserAccount(userAccount); + checkDO.setUserId(userId); + + UserPo existUser = userDomainService.findByTopOrganizationIdAndUserAccount(checkDO); + if (existUser != null) { + throw new ServiceException("登录账号已存在"); + } + } + + } \ No newline at end of file