|
@@ -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,6 +108,7 @@ 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());
|
|
|
}
|
|
@@ -109,6 +116,21 @@ public class UmsAdminServiceImpl implements UmsAdminService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 添加登录记录
|
|
|
+ * @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);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 根据用户名修改登录时间
|
|
|
*/
|
|
|
private void updateLoginTimeByUsername(String username) {
|