Browse Source

Merge branch 'han'
解决冲突

hanzhengyi 3 months ago
parent
commit
235315980d

+ 1 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SendSmsController.java

@@ -50,7 +50,7 @@ public class SendSmsController {
     @GetMapping("/noteSending")
     public ApiResult<Void> noteSending(@RequestParam(value = "tenantId" ,required = false) Integer tenantId,@RequestParam(value = "phone") String phone) {
         if((tenantId != null) && !StringUtils.isBlank(phone)){
-            sysUserService.getAppUserInfo(null, tenantId, phone);
+            sysUserService.getAppUserInfo(null, tenantId, phone,null);
         }
 
         DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "LTAI9WERPIFIlHDg", "p7SQ0rYpraebcdoJ0l3tOtYmmgrR4q");

+ 2 - 1
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java

@@ -76,7 +76,8 @@ public class TokenController {
     public ApiResult<?> appLogin(@RequestBody LoginBody form) {
 //        String phone = null;
         // 用户登录
-        SysUser userInfo = sysLoginService.appLogin(form.getUsername(), form.getPassword(), form.getTenantId(), form.getPhone(), form.getVerify());
+        SysUser userInfo = sysLoginService.appLogin(form.getUsername(), form.getPassword(), form.getTenantId(),
+                form.getPhone(), form.getVerify(), form.getMethod());
         LoginUser sysUser = new LoginUser();
         SysUserVO sysUserVO = BeanMapperUtils.map(userInfo, SysUserVO.class);
         sysUserVO.setTenantId(userInfo.getTenantId());

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

@@ -187,4 +187,10 @@ public interface SysUserMapper extends CrudMapper<SysUser> {
 
     SysUser selectUserTenantDataOne(@Param("tenantId") Integer tenantId,
                                     @Param("phone") String phone);
+
+    SysUser selectUserTenantData1(@Param("userName") String userName,
+                                 @Param("tenantId") Integer tenantId);
+
+    SysUser selectUserTenantDataOne1(@Param("tenantId") Integer tenantId,
+                                    @Param("phone") String phone);
 }

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

@@ -245,7 +245,7 @@ public interface ISysUserService extends CrudService<SysUser> {
 
     public LoginUser getUserInfoOne(String username,Integer tenantId);
 
-    SysUser getAppUserInfo(String username, Integer tenantId,String phone);
+    SysUser getAppUserInfo(String username, Integer tenantId,String phone,String method);
     
     public Boolean register(SysUser sysUser);
 

+ 4 - 6
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysLoginService.java

@@ -133,10 +133,9 @@ public class SysLoginService {
     }
 
 
-    public SysUser appLogin(String username, String password, Integer tenantId, String phone, String verify) {
+    public SysUser appLogin(String username, String password, Integer tenantId, String phone, String verify, String method) {
         SysUser loginUser = new SysUser();
         //查询用户信息
-        loginUser = sysUserService.getAppUserInfo(username, tenantId, null);
         if (!StringUtils.isBlank(username) && !StringUtils.isBlank(password)) {
             // 用户名或密码为空 错误
             if (StringUtils.isAnyBlank(username, password)) {
@@ -157,8 +156,7 @@ public class SysLoginService {
                 asyncManager.insertLog(tenantId,loginUser.getUserName(), Constants.LOGIN_FAIL, "用户名不在指定范围", null);
                 throw new BusinessException("用户名不在指定范围");
             }
-
-
+            loginUser = sysUserService.getAppUserInfo(username, tenantId, null, method);
             if (Objects.isNull(loginUser)) {
                 asyncManager.insertLog(tenantId,loginUser.getUserName(), Constants.LOGIN_FAIL, "用户不存在", null);
                 throw new BusinessException("用户不存在");
@@ -179,7 +177,7 @@ public class SysLoginService {
             if (StringUtils.isBlank(phone)) {
                 throw new BusinessException("用户名或手机号不能为空");
             }
-            loginUser = sysUserService.getAppUserInfo(null, tenantId, phone);
+            loginUser = sysUserService.getAppUserInfo(null, tenantId, phone, method);
             // 获取部门ID
             LambdaQueryWrapper<SysUser> deptQueryWrapper = Wrappers.lambdaQuery();
             deptQueryWrapper.select(SysUser::getDeptId)
@@ -200,7 +198,7 @@ public class SysLoginService {
             if (!verify.equals(redisHelper.get(qrCode_verify))) {
                 throw new BusinessException("扫码验证码失败");
             }
-            loginUser = sysUserService.getAppUserInfo(username, tenantId, null);
+            loginUser = sysUserService.getAppUserInfo(username, tenantId, null, method);
         }
         // 获取部门ID
         LambdaQueryWrapper<SysUser> deptQueryWrapper = Wrappers.lambdaQuery();

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

@@ -586,15 +586,30 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public SysUser getAppUserInfo(String username, Integer tenantId, String phone) {
+    public SysUser getAppUserInfo(String username, Integer tenantId, String phone, String method) {
         SysUser sysUser = new SysUser();
         if (!StringUtils.isBlank(username)) {
-            sysUser = userMapper.selectUserTenantData(username, tenantId);
+            if (!StringUtils.isBlank(method) && method.equals("switch")){
+                sysUser = userMapper.selectUserTenantData1(username, tenantId);
+                sysUser.setTenantId(tenantId);
+            }else {
+                sysUser = userMapper.selectUserTenantData(username, tenantId);
+            }
         } else if (!StringUtils.isBlank(phone)) {
-            sysUser = userMapper.selectUserTenantDataOne(tenantId, phone);
+            if (!StringUtils.isBlank(method) && method.equals("switch")){
+                sysUser = userMapper.selectUserTenantDataOne1(tenantId, phone);
+                sysUser.setTenantId(tenantId);
+            }else {
+                sysUser = userMapper.selectUserTenantDataOne(tenantId, phone);
+            }
         }
         if (Objects.isNull(sysUser)) {
-            sysUser = userMapper.selectUserTenantDataOne(tenantId, username);
+            if (!StringUtils.isBlank(method) && method.equals("switch")){
+                sysUser = userMapper.selectUserTenantDataOne1(tenantId, username);
+                sysUser.setTenantId(tenantId);
+            }else {
+                sysUser = userMapper.selectUserTenantDataOne(tenantId, username);
+            }
             if (Objects.isNull(sysUser)) {
                 throw new BusinessException("用户信息未注册");
             }

+ 15 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/LoginBody.java

@@ -42,6 +42,11 @@ public class LoginBody
      */
     private String type;
 
+    /**
+     * 登录方式 界面登录login; 租户切换switch;
+     */
+    private String method;
+
     /**
      * openId
      */
@@ -67,6 +72,16 @@ public class LoginBody
         this.type = type;
     }
 
+    public String getMethod()
+    {
+        return method;
+    }
+
+    public void setMethod(String method)
+    {
+        this.method = method;
+    }
+
     public String getCids()
     {
         return cids;

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

@@ -386,6 +386,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="selectUserTenantDataOne" resultMap="SysUserResult">
         SELECT u.* FROM sys_user_tenant ut
         JOIN sys_user u ON ut.user_id = u.user_id
+        WHERE u.phonenumber = #{phone}
+    </select>
+
+	<select id="selectUserTenantData1" resultMap="SysUserResult">
+        SELECT u.* FROM sys_user_tenant ut
+        JOIN sys_user u ON ut.user_id = u.user_id
+        WHERE ut.tenant_id = #{tenantId} AND
+        u.user_name = #{userName}
+    </select>
+
+	<select id="selectUserTenantDataOne1" resultMap="SysUserResult">
+        SELECT u.* FROM sys_user_tenant ut
+        JOIN sys_user u ON ut.user_id = u.user_id
         WHERE ut.tenant_id = #{tenantId} AND
         u.phonenumber = #{phone}
     </select>