Quellcode durchsuchen

'优化移动端-手机号验证码登录、租户管理-管理员配置-新增和租户管理-管理员配置-修改三个接口'

james vor 2 Jahren
Ursprung
Commit
454a7b86ec

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/UserConfigController.java

@@ -45,6 +45,9 @@ public class UserConfigController extends BaseController {
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(),user.getTenantId()))) {
             return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         }
+        if(UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique1(user.getPhonenumber(),user.getTenantId()))){
+            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增手机号'" + user.getPhonenumber() + "'失败,手机号已存在");
+        }
         user.setCreateBy(SecurityUtils.getUsername());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         user.setCreateTime(new Date());
@@ -67,6 +70,12 @@ public class UserConfigController extends BaseController {
     @Transactional
     @PostMapping("/updateserData")
     public ApiResult<Void> updateserData(@Validated @RequestBody SysUser user) {
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName(),user.getTenantId()))) {
+            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增用户'" + user.getUserName() + "'失败,登录账号已存在");
+        }
+        if(UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique1(user.getPhonenumber(),user.getTenantId()))){
+            return ApiResult.error(BusinessErrorCode.BIZ_BUSINESS_ERROR.getCode(), "新增手机号'" + user.getPhonenumber() + "'失败,手机号已存在");
+        }
         if(StringUtils.isNotBlank(user.getPassword())){
             user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         }

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysUserMapper.java

@@ -126,6 +126,15 @@ public interface SysUserMapper extends CrudMapper<SysUser> {
      */
     public SysUser checkPhoneUnique(String phonenumber);
 
+    /**
+     * 校验手机号码是否唯一
+     *
+     * @param phone 手机号
+     * @param tenantId 租户ID
+     * @return 结果
+     */
+    public int checkPhoneUnique1(@Param("phone") String phone, @Param("tenantId") Integer tenantId);
+
     /**
      * 校验email是否唯一
      *

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/ISysUserService.java

@@ -89,6 +89,15 @@ public interface ISysUserService extends CrudService<SysUser> {
      */
     public String checkPhoneUnique(SysUser user);
 
+    /**
+     * 校验手机号码是否唯一
+     *
+     * @param phone 手机号
+     * @param tenantId 租户ID
+     * @return 结果
+     */
+    public String checkPhoneUnique1(String phone, Integer tenantId);
+
     /**
      * 校验email是否唯一
      *

+ 9 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -198,6 +198,15 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
         return UserConstants.UNIQUE;
     }
 
+    @Override
+    public String checkPhoneUnique1(String phone, Integer tenantId){
+        int count = userMapper.checkPhoneUnique1(phone, tenantId);
+        if (count > 0) {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
     /**
      * 校验email是否唯一
      *

+ 8 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

@@ -162,6 +162,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '2' limit 1
 	</select>
+
+	<select id="checkPhoneUnique1" resultType="int">
+		select count(1) from sys_user where phonenumber = #{phone} and del_flag != '2'
+		<if test="tenantId != null and tenantId != 0">
+			and tenant_id = #{tenantId}
+		</if>
+		limit 1
+	</select>
 	
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, email from sys_user where email = #{email} and del_flag = '2' limit 1