From 6209da9464b5d0a88869063fb09f0eb155d0da43 Mon Sep 17 00:00:00 2001 From: Mlxa0324 <mlx950324@163.com> Date: Wed, 21 Dec 2022 10:57:20 +0800 Subject: [PATCH] 1 --- .../service/UniversitiesCollegesService.java | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java b/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java index 5a10378d..0ead1e3a 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/UniversitiesCollegesService.java @@ -1,6 +1,8 @@ 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; @@ -11,6 +13,7 @@ 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; @@ -18,6 +21,7 @@ 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; @@ -49,6 +53,7 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol @Autowired private OrgConsoleService orgConsoleService; @Autowired private CoreUserService coreUserService; @Autowired private WebPlatformService webPlatformService; + @Autowired private SysLogDao sysLogDao; public PageQuery<UniversitiesColleges>queryByCondition(PageQuery query){ PageQuery ret = universitiesCollegesDao.queryByCondition(query); @@ -215,11 +220,41 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol CoreUser user = getUser(); Assert.isTrue(user.isUniAdmin(), "该接口只有学校管理管理员可以使用!"); + 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); + // 构建返回实体 UniversitiesCollegesUserInfo universitiesCollegesUserInfo = new UniversitiesCollegesUserInfo(); // 当前的登录的学校管理员登录信息 // TODO 需要增加 登录次数和登录天数信息和最后登录时间。 - universitiesCollegesUserInfo.setCoreUser(user); + universitiesCollegesUserInfo.setCoreUser(dbUser); // 院校信息 UniversitiesColleges universitiesColleges = (UniversitiesColleges) webPlatformService.getUserInfoFromSessionByIdentity(user);