beetlsql3-dev
Mlxa0324 2 years ago
parent 38b0d234cb
commit 6209da9464

@ -1,6 +1,8 @@
package com.ibeetl.jlw.service; 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.lang.Assert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil; 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.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.service.CoreUserService; import com.ibeetl.admin.core.service.CoreUserService;
import com.ibeetl.jlw.dao.SysLogDao;
import com.ibeetl.jlw.dao.UniversitiesCollegesDao; import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.CreateUserDTO; 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 com.ibeetl.jlw.web.query.UniversitiesCollegesQuery;
import org.beetl.sql.core.SqlId; import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.query.LambdaQuery;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -49,6 +53,7 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol
@Autowired private OrgConsoleService orgConsoleService; @Autowired private OrgConsoleService orgConsoleService;
@Autowired private CoreUserService coreUserService; @Autowired private CoreUserService coreUserService;
@Autowired private WebPlatformService webPlatformService; @Autowired private WebPlatformService webPlatformService;
@Autowired private SysLogDao sysLogDao;
public PageQuery<UniversitiesColleges>queryByCondition(PageQuery query){ public PageQuery<UniversitiesColleges>queryByCondition(PageQuery query){
PageQuery ret = universitiesCollegesDao.queryByCondition(query); PageQuery ret = universitiesCollegesDao.queryByCondition(query);
@ -215,11 +220,41 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol
CoreUser user = getUser(); CoreUser user = getUser();
Assert.isTrue(user.isUniAdmin(), "该接口只有学校管理管理员可以使用!"); 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(); UniversitiesCollegesUserInfo universitiesCollegesUserInfo = new UniversitiesCollegesUserInfo();
// 当前的登录的学校管理员登录信息 // 当前的登录的学校管理员登录信息
// TODO 需要增加 登录次数和登录天数信息和最后登录时间。 // TODO 需要增加 登录次数和登录天数信息和最后登录时间。
universitiesCollegesUserInfo.setCoreUser(user); universitiesCollegesUserInfo.setCoreUser(dbUser);
// 院校信息 // 院校信息
UniversitiesColleges universitiesColleges = (UniversitiesColleges) webPlatformService.getUserInfoFromSessionByIdentity(user); UniversitiesColleges universitiesColleges = (UniversitiesColleges) webPlatformService.getUserInfoFromSessionByIdentity(user);

Loading…
Cancel
Save