diff --git a/science-admin/src/main/java/com/yiboshi/science/dao/SystemUserDAO.java b/science-admin/src/main/java/com/yiboshi/science/dao/SystemUserDAO.java index ad2d304cbcd18fc5165bfeac598732590f373ddc..9bea8bf4255b92bfb0f0d7aa84cb85546d07f82b 100644 --- a/science-admin/src/main/java/com/yiboshi/science/dao/SystemUserDAO.java +++ b/science-admin/src/main/java/com/yiboshi/science/dao/SystemUserDAO.java @@ -15,6 +15,7 @@ import com.yiboshi.science.param.query.SystemUserQueryVO; public interface SystemUserDAO extends BaseMapper<SystemUser>, BaseDAO<SystemUserQueryVO,SystemUserDTO, SystemUser> { SystemUserDTO findByName(String userName); String getMaxUsername(String Code); + String getUsername(String Code); SystemUser getByUserName(String userName); SystemUserDTO getSystemUserById(String id); } diff --git a/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemUserServiceImpl.java b/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemUserServiceImpl.java index 5d667c7473de484b1f52d299682c8f738aa32a6e..c49d3400ec2ccf81ae9dece0064b7ba4c37c619f 100644 --- a/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemUserServiceImpl.java +++ b/science-admin/src/main/java/com/yiboshi/science/service/impl/SystemUserServiceImpl.java @@ -110,9 +110,10 @@ public class SystemUserServiceImpl extends BaseServiceImpl<SystemUserDAO, System if (!Objects.nonNull(username) || username.equals("")) systemUser.setUsername(systemUserDAO.getMaxUsername("1521")); else { - if (this.isExist(username)) - throw new BusinessException("该用户名已注册,请更改后再试!"); - systemUser.setUsername(username); + if (this.isExist(username)) { + systemUser.setUsername(systemUserDAO.getUsername(username)); + } else + systemUser.setUsername(username); } systemUser.setPassword(password); systemUser.setPersonId(userId); diff --git a/science-admin/src/main/resources/mapper/SystemUserDAO.xml b/science-admin/src/main/resources/mapper/SystemUserDAO.xml index 2f70bb8f712deb0dbe4a2caf23c0816eaa824f38..c365f6d6a65a8e58fafc2bd16b856e63a67617f3 100644 --- a/science-admin/src/main/resources/mapper/SystemUserDAO.xml +++ b/science-admin/src/main/resources/mapper/SystemUserDAO.xml @@ -17,6 +17,11 @@ <select id="getMaxUsername" parameterType="java.lang.String" resultType="java.lang.String"> select cast((ifnull(max(username),0)+1) as char) code from system_user where username like concat(#{Code},'%') </select> + <select id="getUsername" parameterType="java.lang.String" resultType="java.lang.String"> + SELECT CONCAT(#{code},right(CONCAT('00',cast((ifnull(SUBSTR(max(username),LENGTH(max(username))-1),0)+1) as char)),2)) code + from system_user + where username like concat(#{code},'%') + </select> <select id="getByUserName" parameterType="java.lang.String" resultType="com.yiboshi.science.entity.SystemUser"> SELECT a.* FROM system_user a where binary a.username=#{userName} </select>