添加登录日志记录

This commit is contained in:
zhh 2018-12-05 15:57:58 +08:00
parent bd04016210
commit 6b5f37636c

View File

@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
import com.macro.mall.dao.UmsAdminPermissionRelationDao;
import com.macro.mall.dao.UmsAdminRoleRelationDao;
import com.macro.mall.dto.UmsAdminParam;
import com.macro.mall.mapper.UmsAdminLoginLogMapper;
import com.macro.mall.mapper.UmsAdminMapper;
import com.macro.mall.mapper.UmsAdminPermissionRelationMapper;
import com.macro.mall.mapper.UmsAdminRoleRelationMapper;
@ -26,7 +27,10 @@ import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -59,6 +63,8 @@ public class UmsAdminServiceImpl implements UmsAdminService {
private UmsAdminPermissionRelationMapper adminPermissionRelationMapper;
@Autowired
private UmsAdminPermissionRelationDao adminPermissionRelationDao;
@Autowired
private UmsAdminLoginLogMapper loginLogMapper;
@Override
public UmsAdmin getAdminByUsername(String username) {
@ -102,12 +108,28 @@ public class UmsAdminServiceImpl implements UmsAdminService {
UserDetails userDetails = userDetailsService.loadUserByUsername(username);
token = jwtTokenUtil.generateToken(userDetails);
updateLoginTimeByUsername(username);
insertLoginLog(username);
} catch (AuthenticationException e) {
LOGGER.warn("登录异常:{}", e.getMessage());
}
return token;
}
/**
* 添加登录记录
* @param username 用户名
*/
private void insertLoginLog(String username) {
UmsAdmin admin = getAdminByUsername(username);
UmsAdminLoginLog loginLog = new UmsAdminLoginLog();
loginLog.setAdminId(admin.getId());
loginLog.setCreateTime(new Date());
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
loginLog.setIp(request.getRemoteAddr());
loginLogMapper.insert(loginLog);
}
/**
* 根据用户名修改登录时间
*/