|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.ibeetl.jlw.service;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
|
import cn.hutool.core.util.EnumUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
@ -7,27 +8,32 @@ import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import cn.jlw.token.TokenService;
|
|
|
|
|
import com.ibeetl.admin.console.service.RoleConsoleService;
|
|
|
|
|
import com.ibeetl.admin.console.service.UserConsoleService;
|
|
|
|
|
import com.ibeetl.admin.core.entity.CoreDict;
|
|
|
|
|
import com.ibeetl.admin.core.entity.CoreOrg;
|
|
|
|
|
import com.ibeetl.admin.core.entity.CoreRole;
|
|
|
|
|
import com.ibeetl.admin.core.entity.CoreUser;
|
|
|
|
|
import com.ibeetl.admin.core.enums.MenuEnums;
|
|
|
|
|
import com.ibeetl.admin.core.rbac.UserLoginInfo;
|
|
|
|
|
import com.ibeetl.admin.core.service.CoreDictService;
|
|
|
|
|
import com.ibeetl.admin.core.service.CorePlatformService;
|
|
|
|
|
import com.ibeetl.admin.core.service.CoreUserService;
|
|
|
|
|
import com.ibeetl.admin.core.util.HttpRequestLocal;
|
|
|
|
|
import com.ibeetl.jlw.entity.Student;
|
|
|
|
|
import com.ibeetl.jlw.entity.StudentExtendSchoolInfo;
|
|
|
|
|
import com.ibeetl.jlw.entity.Teacher;
|
|
|
|
|
import com.ibeetl.jlw.entity.TeacherExtendSchoolInfo;
|
|
|
|
|
import com.ibeetl.jlw.dao.UniversitiesCollegesJurisdictionCurriculumResourcesDao;
|
|
|
|
|
import com.ibeetl.jlw.dao.UniversitiesCollegesJurisdictionExperimentalSystemDao;
|
|
|
|
|
import com.ibeetl.jlw.entity.*;
|
|
|
|
|
import com.ibeetl.jlw.web.IndexController;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.validation.constraints.NotNull;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import static cn.hutool.core.util.ObjectUtil.defaultIfBlank;
|
|
|
|
|
import static cn.hutool.core.util.ObjectUtil.defaultIfNull;
|
|
|
|
|
import static com.ibeetl.admin.core.service.CorePlatformService.*;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -50,6 +56,12 @@ public class WebPlatformService {
|
|
|
|
|
@Autowired private UserConsoleService userConsoleService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private RoleConsoleService roleConsoleService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private UniversitiesCollegesJurisdictionExperimentalSystemDao universitiesCollegesJurisdictionExperimentalSystemDao;
|
|
|
|
|
@Autowired
|
|
|
|
|
private UniversitiesCollegesJurisdictionCurriculumResourcesDao universitiesCollegesJurisdictionCurriculumResourcesDao;
|
|
|
|
|
@Autowired
|
|
|
|
|
private CoreDictService coreDictService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据身份,将用户信息存到Session中
|
|
|
|
@ -271,4 +283,59 @@ public class WebPlatformService {
|
|
|
|
|
|
|
|
|
|
return userId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能描述: <br>
|
|
|
|
|
* 获取快要过期的授权应用和理论课程类课程
|
|
|
|
|
*
|
|
|
|
|
* @Author: lx
|
|
|
|
|
* @Date: 2023/3/19 22:49
|
|
|
|
|
*/
|
|
|
|
|
public List<IndexController.AuthResourcesAndSystemInfo> getAuthResourcesAndSystemInfo() {
|
|
|
|
|
|
|
|
|
|
// 返回值
|
|
|
|
|
List<IndexController.AuthResourcesAndSystemInfo> result = new ArrayList<>(10);
|
|
|
|
|
|
|
|
|
|
// 数据字典中,授权相关的通知时间配置
|
|
|
|
|
List<CoreDict> authSettingDict = coreDictService.findAllByType("auth_setting");
|
|
|
|
|
|
|
|
|
|
// 查询到期前多少天,会给弹框提醒,没查询到数据字典的话,默认10天
|
|
|
|
|
String beforeSendDayAsString = authSettingDict.stream().filter(item -> item.getName().equals("before_send_day")).map(item -> item.getValue()).findFirst().orElse("15");
|
|
|
|
|
// 查询到期后多少天,继续给弹框提醒,直到多少天后,没查询到数据字典的话,默认3天
|
|
|
|
|
String afterSendDayAsString = authSettingDict.stream().filter(item -> item.getName().equals("after_send_day")).map(item -> item.getValue()).findFirst().orElse("3");
|
|
|
|
|
|
|
|
|
|
Long beforeDays = Long.valueOf(beforeSendDayAsString);
|
|
|
|
|
Long afterDays = Long.valueOf(afterSendDayAsString);
|
|
|
|
|
|
|
|
|
|
// 查询需要通知续约的应用和课程
|
|
|
|
|
List<UniversitiesCollegesJurisdictionExperimentalSystem> systemList =
|
|
|
|
|
universitiesCollegesJurisdictionExperimentalSystemDao.getAllOverdueAuthByBeforeAndAfterDays(beforeDays, afterDays);
|
|
|
|
|
List<UniversitiesCollegesJurisdictionCurriculumResources> resourcesList =
|
|
|
|
|
universitiesCollegesJurisdictionCurriculumResourcesDao.getAllOverdueAuthByBeforeAndAfterDays(beforeDays, afterDays);
|
|
|
|
|
|
|
|
|
|
// 快要到期的数据处理
|
|
|
|
|
List<IndexController.AuthResourcesAndSystemInfo> authApplicationList = systemList.stream().map(item -> {
|
|
|
|
|
IndexController.AuthResourcesAndSystemInfo info = new IndexController.AuthResourcesAndSystemInfo();
|
|
|
|
|
info.setName(item.get("name") + "");
|
|
|
|
|
info.setUseEndTime(item.getUseEndTime());
|
|
|
|
|
info.setLastDay(DateUtil.betweenDay(DateUtil.date(), item.getUseEndTime(), true));
|
|
|
|
|
info.setType(defaultIfNull(item.get("type"), "应用授权") + "");
|
|
|
|
|
return info;
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
// 快要到期的数据处理
|
|
|
|
|
List<IndexController.AuthResourcesAndSystemInfo> authCourseInfoList = resourcesList.stream().map(item -> {
|
|
|
|
|
IndexController.AuthResourcesAndSystemInfo info = new IndexController.AuthResourcesAndSystemInfo();
|
|
|
|
|
info.setName(defaultIfNull(item.get("name"), "") + "");
|
|
|
|
|
info.setUseEndTime(item.getUseEndTime());
|
|
|
|
|
info.setLastDay(DateUtil.betweenDay(DateUtil.date(), item.getUseEndTime(), true));
|
|
|
|
|
info.setType(defaultIfNull(item.get("type"), "课程授权") + "");
|
|
|
|
|
return info;
|
|
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
result.addAll(authApplicationList);
|
|
|
|
|
result.addAll(authCourseInfoList);
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|