Przeglądaj źródła

移动端-登录接口调整

jichaobo 2 lat temu
rodzic
commit
da05311e12

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

@@ -56,9 +56,9 @@ public class TokenController
     @PostMapping("appLogin")
     public ApiResult<?> appLogin(@RequestBody LoginBody form)
     {
-        String phone = null;
+//        String phone = null;
         // 用户登录
-        SysUser userInfo = sysLoginService.appLogin(form.getUsername(), form.getPassword(), form.getTenantId(),phone);
+        SysUser userInfo = sysLoginService.appLogin(form.getUsername(), form.getPassword(), form.getTenantId(),form.getPhone(),form.getVerify());
         LoginUser SysUser = new LoginUser();
         SysUserVO sysUserVO = BeanMapperUtils.map(userInfo, SysUserVO.class);
         SysUser.setSysUser(sysUserVO);

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

@@ -146,4 +146,7 @@ public interface SysUserMapper extends CrudMapper<SysUser> {
 
     SysUser selectUserData(@Param("userName") String userName,
                            @Param("tenantId") Integer tenantId);
+
+    SysUser selectUserDataOne(@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

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

+ 18 - 5
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysLoginService.java

@@ -3,6 +3,7 @@ package com.usky.system.service;
 import com.usky.common.core.constants.Constants;
 import com.usky.common.core.util.IpUtils;
 import com.usky.common.core.util.ServletUtils;
+import com.usky.common.redis.core.RedisHelper;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.common.core.util.BeanMapperUtils;
@@ -31,6 +32,9 @@ public class SysLoginService {
     @Autowired
     private ISysUserService sysUserService;
 
+    @Autowired
+    private RedisHelper redisHelper;
+
     /**
      * 登录
      */
@@ -79,9 +83,9 @@ public class SysLoginService {
     }
 
 
-    public SysUser appLogin(String username, String password, Integer tenantId, String phone) {
+    public SysUser appLogin(String username, String password, Integer tenantId, String phone,String verify) {
         SysUser loginUser = new SysUser();
-        if (username != null && !"".equals(username)) {
+        if (!StringUtils.isBlank(username)) {
             // 用户名或密码为空 错误
             if (StringUtils.isAnyBlank(username, password)) {
                 recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写");
@@ -103,14 +107,23 @@ public class SysLoginService {
             }
 
             //查询用户信息
-            loginUser = sysUserService.getAppUserInfo(username, tenantId);
+            loginUser = sysUserService.getAppUserInfo(username, tenantId,null);
 
             if (!SecurityUtils.matchesPassword(password, loginUser.getPassword())) {
                 recordLogininfor(username, Constants.LOGIN_FAIL, "用户密码错误");
                 throw new BusinessException("用户不存在/密码错误");
             }
-        } else if (phone != null && !"".equals(phone)) {
-
+        } else {
+            if (StringUtils.isBlank(verify)) {
+                throw new BusinessException("验证码不能为空");
+            }
+            if (!verify.equals(redisHelper.get("Verify"))){
+                throw new BusinessException("验证码错误");
+            }
+            if (StringUtils.isBlank(phone)){
+                throw new BusinessException("用户名或手机号不能为空");
+            }
+            loginUser = sysUserService.getAppUserInfo(null, tenantId,phone);
         }
 
         if (UserStatus.DELETED.getCode().equals(loginUser.getDelFlag())) {

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

@@ -56,7 +56,6 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     private ISysConfigService iSysConfigService;
 
 
-
     /**
      * 根据条件分页查询用户列表
      *
@@ -65,7 +64,7 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      */
     @Override
     public List<SysUser> selectUserList(SysUser user) {
-        user.setTenantId( SecurityUtils.getTenantId());
+        user.setTenantId(SecurityUtils.getTenantId());
         user.setUserType("00");
         return userMapper.selectUserList(user);
     }
@@ -104,8 +103,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public SysUser selectUserByUserNameOne(String userName,Integer tenantId) {
-        return userMapper.selectUserByUserNameOne(userName,tenantId);
+    public SysUser selectUserByUserNameOne(String userName, Integer tenantId) {
+        return userMapper.selectUserByUserNameOne(userName, tenantId);
     }
 
     /**
@@ -175,8 +174,8 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      * @return 结果
      */
     @Override
-    public String checkUserNameUnique(String userName,Integer tenantId) {
-        int count = userMapper.checkUserNameUnique(userName,tenantId);
+    public String checkUserNameUnique(String userName, Integer tenantId) {
+        int count = userMapper.checkUserNameUnique(userName, tenantId);
         if (count > 0) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -450,11 +449,9 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
 
 
     @Override
-    public LoginUser getUserInfo(String username)
-    {
+    public LoginUser getUserInfo(String username) {
         SysUser sysUser = this.selectUserByUserName(username);
-        if (Objects.isNull(sysUser))
-        {
+        if (Objects.isNull(sysUser)) {
             throw new BusinessException("用户信息/密码不存在");
         }
         // 角色集合
@@ -470,11 +467,9 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public LoginUser getUserInfoOne(String username,Integer tenantId)
-    {
-        SysUser sysUser = this.selectUserByUserNameOne(username,tenantId);
-        if (Objects.isNull(sysUser))
-        {
+    public LoginUser getUserInfoOne(String username, Integer tenantId) {
+        SysUser sysUser = this.selectUserByUserNameOne(username, tenantId);
+        if (Objects.isNull(sysUser)) {
             throw new BusinessException("用户信息/密码不存在");
         }
         // 角色集合
@@ -490,28 +485,28 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
     }
 
     @Override
-    public SysUser getAppUserInfo(String username, Integer tenantId)
-    {
-        SysUser sysUser = userMapper.selectUserData(username,tenantId);
-        if (Objects.isNull(sysUser))
-        {
+    public SysUser getAppUserInfo(String username, Integer tenantId, String phone) {
+        SysUser sysUser = new SysUser();
+        if (!StringUtils.isBlank(username)) {
+            sysUser = userMapper.selectUserData(username, tenantId);
+        } else if (!StringUtils.isBlank(phone)) {
+            sysUser = userMapper.selectUserDataOne(tenantId,phone);
+        }
+
+        if (Objects.isNull(sysUser)) {
             throw new BusinessException("用户信息/密码不存在");
         }
         return sysUser;
     }
 
 
-
     @Override
-    public Boolean register(SysUser sysUser)
-    {
+    public Boolean register(SysUser sysUser) {
         String username = sysUser.getUserName();
-        if (!("true".equals(iSysConfigService.selectConfigByKey("sys.account.registerUser"))))
-        {
+        if (!("true".equals(iSysConfigService.selectConfigByKey("sys.account.registerUser")))) {
             throw new BusinessException("当前系统没有开启注册功能!");
         }
-        if (UserConstants.NOT_UNIQUE.equals(this.checkUserNameUnique(username,SecurityUtils.getTenantId())))
-        {
+        if (UserConstants.NOT_UNIQUE.equals(this.checkUserNameUnique(username, SecurityUtils.getTenantId()))) {
             throw new BusinessException("保存用户'" + username + "'失败,注册账号已存在");
         }
         return this.registerUser(sysUser);
@@ -544,31 +539,31 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
 
     @Override
     public CommonPage<SysUser> userList(Integer tenantId, Integer page, Integer size, long userId) {
-        List<SysUser> list1 = userMapper.getUserData(tenantId,null,null,userId);
+        List<SysUser> list1 = userMapper.getUserData(tenantId, null, null, userId);
         int total = 0;
         if (list1.size() > 0) {
             total = list1.size();
         }
         Integer current = null;
-        if (page!=null&&size>0){
+        if (page != null && size > 0) {
             current = (page - 1) * size;
         }
-        List<SysUser> list = userMapper.getUserData(tenantId, current, size,userId);
+        List<SysUser> list = userMapper.getUserData(tenantId, current, size, userId);
         return new CommonPage<>(list, total, size, page);
     }
 
 
-    public List<SysUser> userList(){
+    public List<SysUser> userList() {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         String userType = null;
         if (loginUser != null && !"".equals(loginUser)) {
             userType = loginUser.getUserType();
         }
         String userName = null;
-        if ("00".equals(userType)){
+        if ("00".equals(userType)) {
             userName = SecurityUtils.getUsername();
         }
-        List<SysUser> list = userMapper.userList(SecurityUtils.getTenantId(),userName);
+        List<SysUser> list = userMapper.userList(SecurityUtils.getTenantId(), userName);
         return list;
     }
 }

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

@@ -21,7 +21,37 @@ public class LoginBody
      * 租户ID
      */
     private Integer tenantId;
-    
+
+    /**
+     * 验证码
+     */
+    private String verify;
+
+    /**
+     * 手机号
+     */
+    private String phone;
+
+    public String getPhone()
+    {
+        return phone;
+    }
+
+    public void setPhone(String phone)
+    {
+        this.phone = phone;
+    }
+
+    public String getVerify()
+    {
+        return verify;
+    }
+
+    public void setVerify(String verify)
+    {
+        this.verify = verify;
+    }
+
     public String getUsername()
     {
         return username;

+ 9 - 1
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysUserMapper.xml

@@ -25,9 +25,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="updateBy"     column="update_by"    />
 		<result property="updateTime"   column="update_time"  />
 		<result property="remark"       column="remark"       />
-		<result property="centerUserId"       column="center_user_id"       />
 		<result property="tenantId"       column="tenant_id"       />
 		<result property="address"       column="address"       />
+		<result property="centerUserId"       column="center_user_id"       />
 		<association property="dept" column="dept_id" javaType="com.usky.system.domain.SysDeptVO" resultMap="deptResult" />
 		<collection  property="roles"   javaType="java.util.List"        resultMap="RoleResult" />
 	</resultMap>
@@ -287,6 +287,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<if test="tenantId != null and tenantId != 0">
 			and tenant_id = #{tenantId}
 		</if>
+	</select>
+
+	<select id="selectUserDataOne" resultMap="SysUserResult">
+		select * from sys_user
+		where  phonenumber = #{phone}
+		<if test="tenantId != null and tenantId != 0">
+			and tenant_id = #{tenantId}
+		</if>
 
 	</select>
 </mapper>