获取需要续约的授权应用和授权课程

beetlsql3-dev
Mlxa0324 2 years ago
parent 09fb126e9c
commit 4fc953ed50

@ -271,18 +271,14 @@ public class CoreDictService extends CoreBaseService<CoreDict> {
* @return
*/
public String getOrDefault(String type, String defaultValue) {
List<CoreDict> passRateList = findAllByType(type);
if (ObjectUtil.isNotEmpty(passRateList)) {
String passRateValue = passRateList.stream().sorted(((o1, o2) -> o2.getSort() - o1.getSort())).findFirst().get().getValue();
if (ObjectUtil.isNotEmpty(passRateValue)) {
return passRateValue;
List<CoreDict> list = findAllByType(type);
if (ObjectUtil.isNotEmpty(list)) {
String value = list.stream().sorted(((o1, o2) -> o2.getSort() - o1.getSort())).findFirst().get().getValue();
if (ObjectUtil.isNotEmpty(value)) {
return value;
}
}
return defaultValue;
}
}

@ -2,9 +2,11 @@ package com.ibeetl.jlw.dao;
import com.ibeetl.jlw.entity.CourseInfo;
import com.ibeetl.jlw.entity.UniversitiesCollegesJurisdictionCurriculumResources;
import com.ibeetl.jlw.entity.UniversitiesCollegesJurisdictionExperimentalSystem;
import com.ibeetl.jlw.web.query.UniversitiesCollegesJurisdictionCurriculumResourcesQuery;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.Param;
import org.beetl.sql.mapper.annotation.SqlResource;
import org.beetl.sql.mapper.annotation.Update;
import org.springframework.stereotype.Repository;
@ -49,4 +51,16 @@ public interface UniversitiesCollegesJurisdictionCurriculumResourcesDao extends
* @return
*/
List<UniversitiesCollegesJurisdictionCurriculumResources> getAllOverdueAuth();
/**
* : <br>
* ,
*
* @param beforeDays
* @param afterDays
* @return {@link List< UniversitiesCollegesJurisdictionExperimentalSystem >}
* @Author: lx
* @Date: 2023/3/19 23:38
*/
List<UniversitiesCollegesJurisdictionCurriculumResources> getAllOverdueAuthByBeforeAndAfterDays(@Param("beforeDays") Long beforeDays, @Param("afterDays") Long afterDays);
}

@ -4,6 +4,7 @@ import com.ibeetl.jlw.entity.UniversitiesCollegesJurisdictionExperimentalSystem;
import com.ibeetl.jlw.web.query.UniversitiesCollegesJurisdictionExperimentalSystemQuery;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.Param;
import org.beetl.sql.mapper.annotation.SqlResource;
import org.beetl.sql.mapper.annotation.Update;
import org.springframework.stereotype.Repository;
@ -30,4 +31,16 @@ public interface UniversitiesCollegesJurisdictionExperimentalSystemDao extends B
* @return
*/
List<UniversitiesCollegesJurisdictionExperimentalSystem> getAllOverdueAuth();
/**
* : <br>
* ,
*
* @param beforeDays
* @param afterDays
* @return {@link List< UniversitiesCollegesJurisdictionExperimentalSystem>}
* @Author: lx
* @Date: 2023/3/19 23:38
*/
List<UniversitiesCollegesJurisdictionExperimentalSystem> getAllOverdueAuthByBeforeAndAfterDays(@Param("beforeDays") Long beforeDays, @Param("afterDays") Long afterDays);
}

@ -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;
}
}

@ -36,6 +36,7 @@ import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.service.*;
import com.ibeetl.jlw.web.query.CompetitionQuery;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@ -1080,4 +1081,39 @@ public class IndexController {
return environment.getProperty("weinxin.auth-text-value", "kR8QcYpBTyrYJWvG");
}
@Data
public static class AuthResourcesAndSystemInfo {
/**
*
*/
private String name;
/**
* 使
*/
private Date useEndTime;
/**
*
*/
private Long lastDay;
/**
*
*/
private String type;
}
/**
* : <br>
*
*
* @param coreUser
* @return {@link JsonResult< List< AuthResourcesAndSystemInfo>>}
* @Author: lx
* @Date: 2023/3/19 22:49
*/
@GetMapping("getAuthResourcesAndSystemInfo.json")
@ResponseBody
public JsonResult<List<AuthResourcesAndSystemInfo>> getAuthResourcesAndSystemInfo(@SCoreUser CoreUser coreUser) {
return JsonResult.success(webPlatformService.getAuthResourcesAndSystemInfo());
}
}

@ -409,7 +409,18 @@ getAllOverdueAuth
===
* 获取所有的过期的授权课程
select *
select t.*, ta.course_info_name as `name`, '课程授权' as `type`
from universities_colleges_jurisdiction_curriculum_resources t
left join course_info ta on ta.course_info_id = t.course_info_id
where not now() between t.use_start_time and t.use_end_time
getAllOverdueAuthByBeforeAndAfterDays
===
* 获取所有的过期的授权应用, 指定前移几天和后移几天
select t.*, ta.course_info_name as `name`, '课程授权' as `type`
from universities_colleges_jurisdiction_curriculum_resources t
left join course_info ta on ta.course_info_id = t.course_info_id
where 1 = 1
AND now() between CONCAT(DATE_FORMAT(date_add(t.use_start_time, interval -#{beforeDays} day), '%Y-%m-%d'), ' 00:00:00')
AND CONCAT(DATE_FORMAT(date_add(t.use_end_time, interval #{afterDays} day), '%Y-%m-%d'), ' 23:59:59')

@ -217,6 +217,19 @@ getAllOverdueAuth
===
* 获取所有的过期的授权应用
select *
select t.*, ta.application_name as `name`, '应用授权' as `type`
from universities_colleges_jurisdiction_experimental_system t
left join resources_application ta on ta.resources_application_id = t.type_id
where not now() between t.use_start_time and t.use_end_time
getAllOverdueAuthByBeforeAndAfterDays
===
* 获取所有的过期的授权应用, 指定前移几天和后移几天
select t.*, ta.application_name as `name`, '应用授权' as `type`
from universities_colleges_jurisdiction_experimental_system t
left join resources_application ta on ta.resources_application_id = t.type_id
where 1 = 1
AND now() between CONCAT(DATE_FORMAT(date_add(t.use_start_time, interval -#{beforeDays} day), '%Y-%m-%d'), ' 00:00:00')
AND CONCAT(DATE_FORMAT(date_add(t.use_end_time, interval #{afterDays} day), '%Y-%m-%d'), ' 23:59:59')

Loading…
Cancel
Save