소스 검색

用户表中取消登录账号的唯一索引

buzhanyi 1 년 전
부모
커밋
1b6777dcdf

+ 3 - 2
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/upms/controller/SysUserController.java

@@ -76,8 +76,8 @@ public class SysUserController {
         if (errorMessage != null) {
             return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
         }
-        //查验填写的邮箱、号码、工号是否已存在
-        String contactData = sysUserService.verifyContactData(sysUserDto.getEmail(), sysUserDto.getMobile(), sysUserDto.getJobNumber());
+        //查验填写的邮箱、号码、工号、账号是否已存在
+        String contactData = sysUserService.verifyContactData(sysUserDto.getEmail(), sysUserDto.getMobile(), sysUserDto.getJobNumber(), sysUserDto.getLoginName());
         if (contactData != null) {
             return ResponseResult.error(ErrorCodeEnum.DUPLICATED_UNIQUE_KEY, contactData);
         }
@@ -371,4 +371,5 @@ public class SysUserController {
         }
         return ResponseResult.success();
     }
+
 }

+ 8 - 0
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/upms/dao/SysUserMapper.java

@@ -177,6 +177,14 @@ public interface SysUserMapper extends BaseDaoMapper<SysUser> {
      */
     List<SysUser> getSysUsersByMobileOfTheir(@Param("mobile") String mobile, @Param("userId") String userId);
 
+    /**
+     * 查询使用该账号的用户
+     *
+     * @param loginName 账号
+     * @return
+     */
+    List<SysUser> getSysUsersByLoginName(@Param("loginName") String loginName);
+
     /**
      * 查询使用该工号的用户
      *

+ 12 - 0
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/upms/dao/mapper/SysUserMapper.xml

@@ -335,6 +335,18 @@
         and deleted_flag ='1' and user_id != #{userId}
     </select>
 
+    <select id="getSysUsersByLoginName" resultType="com.ankaibei.workFlow.webadmin.upms.model.SysUser"
+            parameterType="java.lang.String">
+        SELECT
+        work_sys_user.*
+        FROM
+        work_sys_user
+        <where>
+            work_sys_user.login_name = #{loginName}
+        </where>
+        and deleted_flag ='1'
+    </select>
+
     <select id="getSysUsersByJobNumber" resultMap="BaseResultMap">
         SELECT
         work_sys_user.*

+ 1 - 1
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/upms/service/SysUserService.java

@@ -219,7 +219,7 @@ public interface SysUserService extends IBaseService<SysUser, String> {
      * @param jobNumber 工号
      * @return
      */
-    String verifyContactData(String email, String mobile, String jobNumber);
+    String verifyContactData(String email, String mobile, String jobNumber, String loginName);
 
     /**
      * 查询填写的邮箱、号码、工号是否已存在

+ 8 - 1
application-webadmin/src/main/java/com/ankaibei/workFlow/webadmin/upms/service/impl/SysUserServiceImpl.java

@@ -55,6 +55,8 @@ public class SysUserServiceImpl extends BaseService<SysUser, String> implements
     @Autowired
     private SysPostService sysPostService;
     @Autowired
+    private SysUserService sysUserService;
+    @Autowired
     private IdGeneratorWrapper idGenerator;
     @Autowired
     private PasswordEncoder passwordEncoder;
@@ -224,6 +226,7 @@ public class SysUserServiceImpl extends BaseService<SysUser, String> implements
     @Transactional(rollbackFor = Exception.class)
     @Override
     public boolean remove(String userId) {
+        //sysUserMapper.deleteById(userId);
         if (sysUserMapper.deleteById(userId) == 0) {
             return false;
         }
@@ -236,6 +239,7 @@ public class SysUserServiceImpl extends BaseService<SysUser, String> implements
         SysDataPermUser dataPermUser = new SysDataPermUser();
         dataPermUser.setUserId(userId);
         sysDataPermUserMapper.delete(new QueryWrapper<>(dataPermUser));
+        sysUserService.removeById(userId);
         return true;
     }
 
@@ -433,7 +437,10 @@ public class SysUserServiceImpl extends BaseService<SysUser, String> implements
     }
 
     @Override
-    public String verifyContactData(String email, String mobile, String jobNumber) {
+    public String verifyContactData(String email, String mobile, String jobNumber, String loginName) {
+        if (sysUserMapper.getSysUsersByJobNumber(jobNumber).size() > 0) {
+            return "该工号已绑定用户,请确认工号无误!";
+        }
         if (sysUserMapper.getSysUsersByEmail(email).size() > 0) {
             return "该邮箱已被使用,请确认邮箱无误!";
         }