教师用户中心

beetlsql3-dev
Mlxa0324 2 years ago
parent 6e94cfc61b
commit d27d93f4ae

@ -1,6 +1,9 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.Header;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@ -14,6 +17,7 @@ import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.SysLog;
import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.query.LambdaQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -169,4 +173,42 @@ public class SysLogService extends CoreBaseService<SysLog> {
}
/**
*
*
* @param userId
* @param dbUser
*/
public void setLoginLogInfo(Long userId, CoreUser dbUser) {
if (ObjectUtil.isAllEmpty(userId, dbUser)) {
return;
}
LambdaQuery<SysLog> sysLogLambdaQuery = sysLogDao.createLambdaQuery();
long loginCount = sysLogLambdaQuery.andLike(SysLog::getRequestUrl, "%login%").andLike(SysLog::getResult, "%成功%").andEq(SysLog::getUserId, userId).count();
// 登录次数
dbUser.set("loginCount", loginCount);
//最后登陆时间
SysLog lastLoginLog = sysLogLambdaQuery.andLike(SysLog::getRequestUrl, "%login%").andLike(SysLog::getResult, "%成功%")
.andEq(SysLog::getUserId, userId).desc(SysLog::getResultTime).limit(0, 1).single("result_time");
// 最后登录时间,默认置空
dbUser.set("lastLoginTime", "-");
if (lastLoginLog != null) {
dbUser.set("lastLoginTime", lastLoginLog.getResultTime());
}
// 登录天数
List<SysLog> loginDaysLogList = sysLogLambdaQuery.andLike(SysLog::getRequestUrl, "%login%").andLike(SysLog::getResult, "%成功%")
.andEq(SysLog::getUserId, userId).desc(SysLog::getResultTime).select(SysLog::getResultTime);
long loginDays = CollectionUtil.emptyIfNull(loginDaysLogList).stream().map(item -> DateUtil.formatDate(item.getResultTime())).distinct().count();
dbUser.set("loginDays", loginDays);
}
}

@ -1,8 +1,6 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
@ -13,7 +11,6 @@ import com.ibeetl.admin.core.entity.CoreOrg;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.service.CoreUserService;
import com.ibeetl.jlw.dao.SysLogDao;
import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.CreateUserDTO;
@ -21,7 +18,6 @@ import com.ibeetl.jlw.web.query.SchoolClassQuery;
import com.ibeetl.jlw.web.query.UniversitiesCollegesQuery;
import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.query.LambdaQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -53,7 +49,8 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol
@Autowired private OrgConsoleService orgConsoleService;
@Autowired private CoreUserService coreUserService;
@Autowired private WebPlatformService webPlatformService;
@Autowired private SysLogDao sysLogDao;
@Autowired
private SysLogService sysLogService;
public PageQuery<UniversitiesColleges>queryByCondition(PageQuery query){
PageQuery ret = universitiesCollegesDao.queryByCondition(query);
@ -223,37 +220,12 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol
Long userId = user.getId();
CoreUser dbUser = coreUserService.getUserById(userId);
LambdaQuery<SysLog> sysLogLambdaQuery = sysLogDao.createLambdaQuery();
long loginCount = sysLogLambdaQuery.andLike(SysLog::getRequestUrl, "%login%").andLike(SysLog::getResult, "%成功%").andEq(SysLog::getUserId, userId).count();
// 登录次数
dbUser.set("loginCount", loginCount);
//最后登陆时间
SysLog lastLoginLog = sysLogLambdaQuery.andLike(SysLog::getRequestUrl, "%login%").andLike(SysLog::getResult, "%成功%")
.andEq(SysLog::getUserId, userId).desc(SysLog::getResultTime).limit(0, 1).single("result_time");
// 最后登录时间,默认置空
dbUser.set("lastLoginTime", "-");
if (lastLoginLog != null) {
dbUser.set("lastLoginTime", lastLoginLog.getResultTime());
}
// 登录天数
List<SysLog> loginDaysLogList = sysLogLambdaQuery.andLike(SysLog::getRequestUrl, "%login%").andLike(SysLog::getResult, "%成功%")
.andEq(SysLog::getUserId, userId).desc(SysLog::getResultTime).select(SysLog::getResultTime);
long loginDays = CollectionUtil.emptyIfNull(loginDaysLogList).stream().map(item -> DateUtil.formatDate(item.getResultTime())).distinct().count();
dbUser.set("loginDays", loginDays);
// 设置登录时间和最后登录时间
sysLogService.setLoginLogInfo(userId, dbUser);
// 构建返回实体
UniversitiesCollegesUserInfo universitiesCollegesUserInfo = new UniversitiesCollegesUserInfo();
// 当前的登录的学校管理员登录信息
// TODO 需要增加 登录次数和登录天数信息和最后登录时间。
universitiesCollegesUserInfo.setCoreUser(dbUser);
// 院校信息
@ -266,6 +238,7 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol
return universitiesCollegesUserInfo;
}
/**
*
* @param universitiesCollegesId ID

@ -54,6 +54,8 @@ public class ApiTeacherService {
private TeacherDao teacherDao;
@Autowired
private CoreUserService coreUserService;
@Autowired
private SysLogService sysLogService;
/**
* -
@ -116,6 +118,9 @@ public class ApiTeacherService {
Teacher teacher = teacherDao.getByUserId(userId);
CoreUser coreUser = coreUserService.getUserById(userId);
// 设置登录时间和最后登录时间
sysLogService.setLoginLogInfo(userId, coreUser);
List<TeacherUserInfoData.TeacherRuleInfo> ruleInfoList = teacherDao.getTeacherUserInfoRuleInfo(userId, null);
TeacherUserInfoData.TeacherRuleInfo teacherRuleInfo = null;

Loading…
Cancel
Save