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>