From db2b42af57021b259dd6807043493ebbd46668de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Mon, 7 Jul 2025 10:25:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dite/znpt/domain/vo/MenuReq.java | 2 +- .../java/com/dite/znpt/domain/vo/UserReq.java | 1 + .../znpt/service/impl/AuthServiceImpl.java | 5 ++- .../znpt/service/impl/MenuServiceImpl.java | 4 +- .../znpt/service/impl/UserServiceImpl.java | 37 +++++++++---------- .../znpt/web/controller/UserController.java | 6 +-- 6 files changed, 29 insertions(+), 26 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/domain/vo/MenuReq.java b/core/src/main/java/com/dite/znpt/domain/vo/MenuReq.java index f875972..8381526 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/MenuReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/MenuReq.java @@ -28,7 +28,7 @@ public class MenuReq implements Serializable { @ApiModelProperty("菜单名称") private String menuName; - @ApiModelProperty("父级菜单id") + @ApiModelProperty("父级菜单id,父级菜单修改无效") private String parentId; @ApiModelProperty("显示顺序") diff --git a/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java b/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java index 0b49e39..aec17e3 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/UserReq.java @@ -24,6 +24,7 @@ public class UserReq implements Serializable { @Serial private static final long serialVersionUID = -5491849652107338027L; + @NotBlank(message = "账号不能为空") @Pattern(groups = {ValidationGroup.Insert.class},regexp = "^[a-zA-Z0-9_]{4,20}$", message = "只能包含字母、数字或下划线,长度4-20") @ApiModelProperty("账号") private String account; diff --git a/core/src/main/java/com/dite/znpt/service/impl/AuthServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/AuthServiceImpl.java index d5b52a7..4808ef2 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/AuthServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/AuthServiceImpl.java @@ -131,7 +131,10 @@ public class AuthServiceImpl implements AuthService { private void saveSession(String userId){ StpUtil.getSession().set("userInfo", queryUserInfo(userId)); - StpUtil.getSession().set("menuInfo", queryMenuInfo(userId)); + List> menuInfo = queryMenuInfo(userId); + if(!menuInfo.isEmpty()){ + StpUtil.getSession().set("menuInfo", menuInfo); + } } private UserInfo queryUserInfo(String userId){ diff --git a/core/src/main/java/com/dite/znpt/service/impl/MenuServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/MenuServiceImpl.java index 7e7c6e5..8893e9d 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/MenuServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/MenuServiceImpl.java @@ -73,11 +73,13 @@ public class MenuServiceImpl extends ServiceImpl impleme @Transactional(rollbackFor = Exception.class) @Override public void update(String menuId, MenuReq req) { - if(null == this.getById(menuId)){ + MenuEntity menu = this.getById(menuId); + if(null == menu){ throw new ServiceException(Message.MENU_ID_NOT_EXIST); } MenuEntity entity = Converts.INSTANCE.toMenuEntity(req); entity.setMenuId(menuId); + entity.setParentId(menu.getParentId()); if(StrUtil.isBlank(entity.getParentId())){ entity.setParentId("0"); } diff --git a/core/src/main/java/com/dite/znpt/service/impl/UserServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/UserServiceImpl.java index 08b6af0..d371487 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/UserServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/UserServiceImpl.java @@ -134,8 +134,7 @@ public class UserServiceImpl extends ServiceImpl impleme @Transactional(rollbackFor = Exception.class) @Override public String save(UserReq req) { - UserEntity entity = Converts.INSTANCE.toUserEntity(req); - validate(req, null); + UserEntity entity = validate(req, null); String salt = RandomUtil.randomString(req.getAccount(), 4); entity.setSalt(salt); String password = enableDefaultPassword ? defaultPassword : PasswordUtil.generatePassword(); @@ -176,11 +175,6 @@ public class UserServiceImpl extends ServiceImpl impleme } - public static void main(String[] args) { - System.out.println(Integer.parseInt("00001") + 1); - System.out.println(StrUtil.fillBefore("2",'0', 5)); - } - /** * 功能描述:更新用户信息 @@ -197,10 +191,9 @@ public class UserServiceImpl extends ServiceImpl impleme if(null == originalEntity || originalEntity.getDelFlag().equals(Constants.DEL_FLAG_1)){ throw new ServiceException(Message.USER_ID_NOT_EXIST); } - UserEntity entity = Converts.INSTANCE.toUserEntity(req); + UserEntity entity = validate(req, originalEntity); entity.setUserId(userId); entity.setAccount(null); - validate(req, originalEntity); if(CollUtil.isNotEmpty(req.getPostIds())){ userPostService.bindUserPost(userId, req.getPostIds()); } @@ -208,7 +201,7 @@ public class UserServiceImpl extends ServiceImpl impleme } - private void validate(UserReq req, UserEntity originalEntity){ + private UserEntity validate(UserReq req, UserEntity originalEntity){ if(StrUtil.isNotBlank(req.getDeptId()) && deptService.getById(req.getDeptId()) == null){ throw new ServiceException(Message.DEPT_ID_NOT_EXIST); } @@ -216,24 +209,30 @@ public class UserServiceImpl extends ServiceImpl impleme if(this.getOne(accountWrapper) != null && originalEntity == null){ throw new ServiceException(Message.ACCOUNT_EXIST); } - if(originalEntity == null || (StrUtil.isNotBlank(req.getMobile()) && !originalEntity.getMobile().equals(req.getMobile()))){ - LambdaQueryWrapper mobileWrapper = Wrappers.lambdaQuery(UserEntity.class).eq(StrUtil.isNotBlank(req.getMobile()), UserEntity::getMobile, req.getMobile()).eq(UserEntity::getDelFlag, Constants.DEL_FLAG_0); - if(this.getOne(mobileWrapper) != null){ + if(StrUtil.isNotBlank(req.getMobile())){ + LambdaQueryWrapper mobileWrapper = Wrappers.lambdaQuery(UserEntity.class).eq(UserEntity::getMobile, req.getMobile()).eq(UserEntity::getDelFlag, Constants.DEL_FLAG_0); + List mobileUserList = this.list(mobileWrapper); + if((originalEntity == null && !mobileUserList.isEmpty()) || (originalEntity != null && !originalEntity.getMobile().equals(req.getMobile()) && mobileUserList.size() > 1)){ throw new ServiceException(Message.MOBILE_EXIST); + } } - if(originalEntity == null || (StrUtil.isNotBlank(req.getEmail()) && !originalEntity.getEmail().equals(req.getEmail()))){ - LambdaQueryWrapper emailWrapper = Wrappers.lambdaQuery(UserEntity.class).eq(StrUtil.isNotBlank(req.getEmail()), UserEntity::getEmail, req.getEmail()).eq(UserEntity::getDelFlag, Constants.DEL_FLAG_0); - if(this.getOne(emailWrapper) != null){ + if(StrUtil.isNotBlank(req.getEmail())){ + LambdaQueryWrapper emailWrapper = Wrappers.lambdaQuery(UserEntity.class).eq(UserEntity::getEmail, req.getEmail()).eq(UserEntity::getDelFlag, Constants.DEL_FLAG_0); + List emailUserList = this.list(emailWrapper); + if((originalEntity == null && !emailUserList.isEmpty()) || (originalEntity != null && !originalEntity.getEmail().equals(req.getEmail()) && emailUserList.size() > 1)){ throw new ServiceException(Message.EMAIL_EXIST); + } } - if(originalEntity == null || (StrUtil.isNotBlank(req.getIdentityCard()) && !originalEntity.getIdentityCard().equals(req.getIdentityCard()))){ - LambdaQueryWrapper emailWrapper = Wrappers.lambdaQuery(UserEntity.class).eq(StrUtil.isNotBlank(req.getIdentityCard()), UserEntity::getIdentityCard, req.getIdentityCard()).eq(UserEntity::getDelFlag, Constants.DEL_FLAG_0); - if(this.getOne(emailWrapper) != null){ + if(StrUtil.isNotBlank(req.getIdentityCard())){ + LambdaQueryWrapper identifyCardWrapper = Wrappers.lambdaQuery(UserEntity.class).eq(UserEntity::getIdentityCard, req.getIdentityCard()).eq(UserEntity::getDelFlag, Constants.DEL_FLAG_0); + List identifyCardUserList = this.list(identifyCardWrapper); + if((originalEntity == null && !identifyCardUserList.isEmpty()) || (originalEntity != null && !originalEntity.getIdentityCard().equals(req.getIdentityCard()) && identifyCardUserList.size() > 1)){ throw new ServiceException(Message.IDENTITY_CARD_EXIST); } } + return Converts.INSTANCE.toUserEntity(req); } /** diff --git a/web/src/main/java/com/dite/znpt/web/controller/UserController.java b/web/src/main/java/com/dite/znpt/web/controller/UserController.java index b23c209..18bde3a 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/UserController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/UserController.java @@ -1,12 +1,11 @@ package com.dite.znpt.web.controller; +import com.dite.znpt.domain.PageResult; +import com.dite.znpt.domain.Result; import com.dite.znpt.domain.vo.*; -import com.dite.znpt.service.RoleService; import com.dite.znpt.service.UserRoleService; import com.dite.znpt.service.UserService; -import com.dite.znpt.domain.Result; -import com.dite.znpt.domain.PageResult; import com.dite.znpt.util.ValidationGroup; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -14,7 +13,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.List; /** * @author huise23