新增用户登陆IP,登陆时间

This commit is contained in:
RuoYi
2018-05-22 22:00:04 +08:00
parent e009cf9708
commit 95fc2f2d83
13 changed files with 75 additions and 22 deletions

View File

@ -3,7 +3,6 @@ package com.ruoyi.common.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
/**
@ -23,6 +22,16 @@ public class DateUtils
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
/**
* 获取当前Date型日期
*
* @return Date() 当前日期
*/
public static Date getNowDate()
{
return new Date();
}
/**
* 获取当前日期, 默认格式为yyyy-MM-dd
*

View File

@ -32,7 +32,6 @@ import com.ruoyi.project.system.user.domain.User;
*
* @author ruoyi
*/
@Aspect
@Component
@EnableAsync

View File

@ -10,9 +10,11 @@ import com.ruoyi.common.exception.user.CaptchaException;
import com.ruoyi.common.exception.user.UserBlockedException;
import com.ruoyi.common.exception.user.UserNotExistsException;
import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.SystemLogUtils;
import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.project.system.user.domain.User;
import com.ruoyi.project.system.user.service.IUserService;
@ -70,12 +72,12 @@ public class LoginService
{
user = userService.selectUserByPhoneNumber(username);
}
if (user == null && maybeEmail(username))
{
user = userService.selectUserByEmail(username);
}
if (user == null)
{
SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.not.exists"));
@ -89,8 +91,8 @@ public class LoginService
SystemLogUtils.log(username, CommonConstant.LOGIN_FAIL, MessageUtils.message("user.blocked", user.getRefuseDes()));
throw new UserBlockedException(user.getRefuseDes());
}
SystemLogUtils.log(username, CommonConstant.LOGIN_SUCCESS, MessageUtils.message("user.login.success"));
recordLoginInfo(user);
return user;
}
@ -112,4 +114,14 @@ public class LoginService
return true;
}
/**
* 记录登录信息
*/
public void recordLoginInfo(User user)
{
user.setLoginIp(ShiroUtils.getIp());
user.setLoginDate(DateUtils.getNowDate());
userService.updateUser(user);
}
}

View File

@ -22,7 +22,7 @@ public interface ConfigMapper
/**
* 根据键名查询参数配置信息
*
* @param configName 参数名
* @param configKey 参数
* @return 参数配置信息
*/
public Config selectConfigByKey(String configKey);

View File

@ -22,7 +22,7 @@ public interface IConfigService
/**
* 根据键名查询参数配置信息
*
* @param configName 参数名
* @param configKey 参数
* @return 参数键值
*/
public String selectConfigByKey(String configKey);
@ -78,7 +78,7 @@ public interface IConfigService
/**
* 校验参数键名是否唯一
*
* @param dept 部门信息
* @param config 参数信息
* @return 结果
*/
public String checkConfigKeyUnique(Config config);

View File

@ -1,6 +1,7 @@
package com.ruoyi.project.system.user.domain;
import java.util.Arrays;
import java.util.Date;
import org.apache.shiro.crypto.SecureRandomNumberGenerator;
import com.ruoyi.framework.web.domain.BaseEntity;
import com.ruoyi.project.system.dept.domain.Dept;
@ -41,6 +42,10 @@ public class User extends BaseEntity
private int status;
/** 拒绝登录描述 */
private String refuseDes;
/** 最后登陆IP */
private String loginIp;
/** 最后登陆时间 */
private Date loginDate;
/** 部门对象 */
private Dept dept;
/** 角色组 */
@ -199,6 +204,26 @@ public class User extends BaseEntity
this.refuseDes = refuseDes;
}
public String getLoginIp()
{
return loginIp;
}
public void setLoginIp(String loginIp)
{
this.loginIp = loginIp;
}
public Date getLoginDate()
{
return loginDate;
}
public void setLoginDate(Date loginDate)
{
this.loginDate = loginDate;
}
public Dept getDept()
{
return dept;

View File

@ -30,7 +30,7 @@ public interface UserMapper
/**
* 通过手机号码查询用户
*
* @param userName 用户名
* @param phoneNumber 手机号码
* @return 用户对象信息
*/
public User selectUserByPhoneNumber(String phoneNumber);

View File

@ -30,7 +30,7 @@ public interface IUserService
/**
* 通过手机号码查询用户
*
* @param userName 用户名
* @param phoneNumber 手机号码
* @return 用户对象信息
*/
public User selectUserByPhoneNumber(String phoneNumber);
@ -103,7 +103,7 @@ public interface IUserService
/**
* 校验手机号码是否唯一
*
* @param phonenumber 登录名称
* @param user 用户信息
* @return 结果
*/
public String checkPhoneUnique(User user);
@ -112,7 +112,7 @@ public interface IUserService
/**
* 校验email是否唯一
*
* @param email 登录名称
* @param user 用户信息
* @return 结果
*/
public String checkEmailUnique(User user);

View File

@ -5,6 +5,7 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.framework.shiro.service.PasswordService;
@ -152,7 +153,7 @@ public class UserServiceImpl implements IUserService
{
user.setUpdateBy(ShiroUtils.getLoginName());
// 修改用户信息
count = userMapper.updateUser(user);
count = updateUser(user);
// 删除用户与角色关联
userRoleMapper.deleteUserRoleByUserId(userId);
// 新增用户与角色管理
@ -201,7 +202,7 @@ public class UserServiceImpl implements IUserService
{
user.randomSalt();
user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
return userMapper.updateUser(user);
return updateUser(user);
}
/**