diff --git a/backend/src/main/java/com/xly/erp/module/usr/mapper/SysUserMapper.java b/backend/src/main/java/com/xly/erp/module/usr/mapper/SysUserMapper.java index 60ed176..35d2b11 100644 --- a/backend/src/main/java/com/xly/erp/module/usr/mapper/SysUserMapper.java +++ b/backend/src/main/java/com/xly/erp/module/usr/mapper/SysUserMapper.java @@ -42,4 +42,10 @@ public interface SysUserMapper extends BaseMapper { "SET iFailedLoginCount = 0, tLockUntil = NULL, tLastLoginDate = NOW() " + "WHERE iIncrement = #{userId}") int markLoginSuccess(@Param("userId") Integer userId); + + @Select("SELECT EXISTS(SELECT 1 FROM sys_user WHERE sUsername = #{username})") + boolean existsByUsername(@Param("username") String username); + + @Select("SELECT EXISTS(SELECT 1 FROM sys_user WHERE sUserCode = #{userCode})") + boolean existsByUserCode(@Param("userCode") String userCode); } diff --git a/backend/src/test/java/com/xly/erp/module/usr/mapper/SysUserMapperTest.java b/backend/src/test/java/com/xly/erp/module/usr/mapper/SysUserMapperTest.java index 76c8cb4..2b11924 100644 --- a/backend/src/test/java/com/xly/erp/module/usr/mapper/SysUserMapperTest.java +++ b/backend/src/test/java/com/xly/erp/module/usr/mapper/SysUserMapperTest.java @@ -43,4 +43,24 @@ class SysUserMapperTest { SysUser user = userMapper.selectByUsername("nobody"); assertNull(user); } + + @Test + void existsByUsername_trueForExisting() { + assertTrue(userMapper.existsByUsername(LoginTestSeeder.USER_OK)); + } + + @Test + void existsByUsername_falseForUnknown() { + assertFalse(userMapper.existsByUsername("nobody")); + } + + @Test + void existsByUserCode_trueForExisting() { + assertTrue(userMapper.existsByUserCode("U001")); + } + + @Test + void existsByUserCode_falseForUnknown() { + assertFalse(userMapper.existsByUserCode("UXXX")); + } }