修改服务器崩溃问题等等

beetlsql3-dev
yz 3 months ago
parent 402b73736f
commit befb3cbdfe

@ -247,8 +247,7 @@ public class CoreUserService extends CoreBaseService<CoreUser> {
*
* @return
*/
public Boolean recordLoginInformation(Long userId, String lastLoginTime) {
CoreUser cacheUser = coreUserDao.single(userId);
public Boolean recordLoginInformation(Long userId, String lastLoginTime,CoreUser cacheUser) {
if (cacheUser == null) {
return false;
}

@ -282,66 +282,6 @@ left join core_user_role cur on cu.ID = cur.USER_ID
where cu.CODE = #username#
and cur.ROLE_ID in (192, 194)
[//]: # ()
[//]: # (getUserInfosByUsername)
[//]: # (===)
[//]: # (select cu.CODE as username,)
[//]: # (cu.PASSWORD as password,)
[//]: # (IF&#40;s.student_name IS NULL, t.teacher_name, s.student_name&#41; as name, )
[//]: # (cu.old_id as userId,)
[//]: # (if&#40;cur.ROLE_ID = 192, 4, 3&#41; as roleId,)
[//]: # (uc.old_school_id as schoolId,)
[//]: # (uc.universities_colleges_name as schoolName,)
[//]: # (sc.old_class_id as classId,)
[//]: # (sc.class_name as className,)
[//]: # (IF&#40;s.student_mobile IS NULL, t.teacher_mobile, s.student_mobile&#41; as phone,)
[//]: # (IF&#40;uf.old_id is null, uf1.old_id, uf.old_id&#41; as collegeId,)
[//]: # (IF&#40;uf.university_faculty_name is null, uf1.university_faculty_name, uf.university_faculty_name&#41; as collegeName,)
[//]: # (IF&#40;us.old_id is null, us1.old_id, us.old_id&#41; as majorId,)
[//]: # (IF&#40;us.university_system_name is null, us1.university_system_name, us.university_system_name&#41; as majorName,)
[//]: # (s.old_id as studentId,)
[//]: # (t.old_id as teacherId)
[//]: # (from core_user cu)
[//]: # (join universities_colleges uc on cu.ORG_ID = uc.org_id)
[//]: # (left join student s on cu.ID = s.user_id)
[//]: # (left join teacher t on cu.ID = t.user_id)
[//]: # (left join school_class sc on s.class_id = sc.class_id)
[//]: # (left join university_faculty uf on t.university_faculty_id = uf.university_faculty_id)
[//]: # (left join university_faculty uf1 on sc.university_faculty_id = uf1.university_faculty_id)
[//]: # (left join university_system us on t.university_system_id = us.university_system_id)
[//]: # (left join university_system us1 on sc.university_system_id = us1.university_system_id)
[//]: # (left join core_user_role cur on cu.ID = cur.USER_ID)
[//]: # (where cur.ROLE_ID in &#40;192, 194&#41; )
getUserInfosByUsername
===
select cu.CODE as username,

@ -77,6 +77,15 @@
<div class="layui-row" id="admin_view" style="margin: 20px 0;">
<script id="admin_Demo" type="text/html">
<div class="layui-row">
<div class="jstd" style="background-color: #7f83f7">
<div class="layui-col-md4">
<i class="iconfont" style="font-size: 4rem">&#xebc2;</i>
</div>
<div class="layui-col-md8 jsrc1" style="text-align: right">
<p>院校数量</p>
<p style="margin-top: 20px;">{{!$.isEmpty(d.schoolNumber)?d.schoolNumber:0}}</p>
</div>
</div>
<div class="jsrc" style="background-color: #ff7a70">
<div class="layui-col-md4">
<i class="iconfont" style="font-size: 4rem">&#xebcf;</i>
@ -113,15 +122,7 @@
<p style="margin-top: 20px;">{{!$.isEmpty(d.caseNumber)?d.caseNumber:0}}</p>
</div>
</div>
<div class="jsrc" style="background-color: #648cff">
<div class="layui-col-md4">
<i class="iconfont" style="font-size: 4rem">&#xebd0;</i>
</div>
<div class="layui-col-md8 jsrc1" style="text-align: right">
<p>视频数量</p>
<p style="margin-top: 20px;">{{!$.isEmpty(d.videoNumber)?d.videoNumber:0}}</p>
</div>
</div>
</div>
<div class="layui-row" style="margin: 20px 0;" id="title_view1">
@ -135,24 +136,25 @@
<p style="margin-top: 20px;">{{!$.isEmpty(d.questionNumber)?d.questionNumber:0}}</p>
</div>
</div>
<div class="jstd" style="background-color: #7f83f7">
<div class="layui-col-md4">
<i class="iconfont" style="font-size: 4rem">&#xebc2;</i>
</div>
<div class="layui-col-md8 jsrc1" style="text-align: right">
<p>院校数量</p>
<p style="margin-top: 20px;">{{!$.isEmpty(d.schoolNumber)?d.schoolNumber:0}}</p>
</div>
</div>
<div class="jsrc" style="background-color: #93cb3f">
<div class="jsrc" style="background-color: #648cff">
<div class="layui-col-md4">
<i class="iconfont" style="font-size: 4rem">&#xebd1;</i>
<i class="iconfont" style="font-size: 4rem">&#xebd0;</i>
</div>
<div class="layui-col-md8 jsrc1" style="text-align: right">
<p>上线课程数</p>
<p style="margin-top: 20px;">{{!$.isEmpty(d.courseNumber)?d.courseNumber:0}}</p>
<p>视频数量</p>
<p style="margin-top: 20px;">{{!$.isEmpty(d.videoNumber)?d.videoNumber:0}}</p>
</div>
</div>
<!-- <div class="jsrc" style="background-color: #93cb3f">-->
<!-- <div class="layui-col-md4">-->
<!-- <i class="iconfont" style="font-size: 4rem">&#xebd1;</i>-->
<!-- </div>-->
<!-- <div class="layui-col-md8 jsrc1" style="text-align: right">-->
<!-- <p>上线课程数</p>-->
<!-- <p style="margin-top: 20px;">{{!$.isEmpty(d.courseNumber)?d.courseNumber:0}}</p>-->
<!-- </div>-->
<!-- </div>-->
<div class="jstd" style="background-color: #307db0">
<div class="layui-col-md4">
<i class="iconfont" style="font-size: 4rem">&#xebd4;</i>
@ -209,15 +211,15 @@
<p style="margin-top: 20px;">{{!$.isEmpty(d.studentPersonTime)?d.studentPersonTime:0}}</p>
</div>
</div>
<div class="jsrc" style="background-color: #93cb3f">
<div class="layui-col-md4">
<i class="iconfont" style="font-size: 4rem">&#xebd1;</i>
</div>
<div class="layui-col-md8 jsrc1" style="text-align: right">
<p>上线课程数</p>
<p style="margin-top: 20px;">{{!$.isEmpty(d.courseNumber)?d.courseNumber:0}}</p>
</div>
</div>
<!-- <div class="jsrc" style="background-color: #93cb3f">-->
<!-- <div class="layui-col-md4">-->
<!-- <i class="iconfont" style="font-size: 4rem">&#xebd1;</i>-->
<!-- </div>-->
<!-- <div class="layui-col-md8 jsrc1" style="text-align: right">-->
<!-- <p>上线课程数</p>-->
<!-- <p style="margin-top: 20px;">{{!$.isEmpty(d.courseNumber)?d.courseNumber:0}}</p>-->
<!-- </div>-->
<!-- </div>-->
</div>
<div class="layui-row" style="margin: 20px 0;">
<div class="jstd" style="background-color: #307db0">

@ -122,6 +122,7 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean {
"/wx",
"/test/**",
"/account/**",
"/getSonSystemLogo/**",
"/api/resourcesApplication/logicPicture.json",
"/api/resourcesApplication/getPageList.do"
// "/upload/**"

@ -62,85 +62,86 @@ public class KeyExpiredListener extends KeyExpirationEventMessageListener {
super(listenerContainer);
}
@Override
@Override //*****
protected void doHandleMessage(Message message) {
super.doHandleMessage(message);
try {
String messageAsString = new String(message.getBody(), StandardCharsets.UTF_8);
// 用户token到期事件
if (messageAsString.indexOf(TOKEN_KEY) == 0) {
log.info("有用户的token到期{}", messageAsString);
String token = messageAsString.replace(TOKEN_KEY + ":", "");
List<String> audience = JWT.decode(token).getAudience();
Map<String, Claim> claims = JWT.decode(token).getClaims();
String userId = CollectionUtil.getFirst(audience);
// 获取真实的用户ID和身份类型
String realId = "", jobType1Name = "";
for (String key : claims.keySet()) {
realId = key;
jobType1Name = claims.get(key).asString();
}
// 这里必然能查到系统用户
CoreUser coreUser = coreUserService.getUserById(Long.valueOf(userId));
//查询最新一次登出得记录
SysLog logoutData = sysLogDao.getSQLManager().lambdaQuery(SysLog.class)
.andEq(SysLog::getRequestUrl, TOKEN_EXPIRED_MESSAGE)
.andEq(SysLog::getUserId, userId)
.desc(SysLog::getCreateTime)
.limit(0, 1).single();
List<SysLog> single = sysLogDao.getSQLManager().lambdaQuery(SysLog.class)
.andEq(SysLog::getUserId, userId)
.andLike(SysLog::getRequestUrl, "%" + ResponseControllerAdvice.LOGIN_URL)
.andGreat(SysLog::getCreateTime,Query.filterEmpty(Objects.isNull(logoutData)? false : logoutData.getCreateTime())).select();
List<Long> sysLogIdData = new ArrayList<>();
single.forEach(item -> {
sysLogIdData.add(item.getId());
});
// 记录上一次登录的时间,距离现在的时间差(秒)
SysLog sysLog = new SysLog();
Date now = cn.jlw.util.DateUtil.getPreciseTime(new Date());
// 这里固定该接口的请求路径
sysLog.setMethod("com.ibeetl.jlw.conf.KeyExpiredListener.doHandleMessage");
sysLog.setRequestUrl(TOKEN_EXPIRED_MESSAGE);
sysLog.setParams("{\"_referer\":[]}");
// sysLog.setResult(String.valueOf(DateUtil.between(coreUser.getLastLoginTime(), now, DateUnit.SECOND)));
sysLog.setResult(StringUtils.join(sysLogIdData, ","));
sysLog.setIp("0.0.0.0");
sysLog.setCreateTime(now);
sysLog.setResultTime(now);
sysLog.setSession(token);
sysLog.setUserId(coreUser.getId());
sysLog.setToken(token);
//目前这个字段还没有用到,所以先暂时用来存储学习时长
sysLog.setOpenId(String.valueOf(DateUtil.between(coreUser.getLastLoginTime(), now, DateUnit.SECOND)));
// 记录学生ID
if (null != realId && StrUtil.isNotBlank(jobType1Name) && JT_S_03.equals(MenuEnums.getBySelfAttributeName(jobType1Name))) {
sysLog.setStudentId(Long.valueOf(realId));
}
sysLogService.insert(sysLog);
List<StudentTeacherSystemUseLogAnalysis> teacherSystemUseLogAnalyses = studentTeacherSystemUseLogAnalysisDao.getSQLManager()
.lambdaQuery(StudentTeacherSystemUseLogAnalysis.class)
.andIsNull(StudentTeacherSystemUseLogAnalysis::getDayTime).select();
teacherSystemUseLogAnalyses.forEach(item ->{
long time = (Objects.isNull(item.getAddTime()) ? 0 : item.getAddTime().getTime()) + (Objects.isNull(item.getUseDuration()) ? 0 : (item.getUseDuration() * 60 * 1000));
item.setDayTime(DateUtil.formatDateTime(DateUtil.date(time)));
studentTeacherSystemUseLogAnalysisDao.updateTemplateById(item);
});
}
} catch (Exception e) {
log.error("有用户的token到期but日志记录失败", e.getMessage());
}
return;
// super.doHandleMessage(message);
// try {
// String messageAsString = new String(message.getBody(), StandardCharsets.UTF_8);
//
// // 用户token到期事件
// if (messageAsString.indexOf(TOKEN_KEY) == 0) {
//
// log.info("有用户的token到期{}", messageAsString);
//
// String token = messageAsString.replace(TOKEN_KEY + ":", "");
// List<String> audience = JWT.decode(token).getAudience();
// Map<String, Claim> claims = JWT.decode(token).getClaims();
// String userId = CollectionUtil.getFirst(audience);
//
// // 获取真实的用户ID和身份类型
// String realId = "", jobType1Name = "";
// for (String key : claims.keySet()) {
// realId = key;
// jobType1Name = claims.get(key).asString();
// }
//
// // 这里必然能查到系统用户
// CoreUser coreUser = coreUserService.getUserById(Long.valueOf(userId));
//
// //查询最新一次登出得记录
// SysLog logoutData = sysLogDao.getSQLManager().lambdaQuery(SysLog.class)
// .andEq(SysLog::getRequestUrl, TOKEN_EXPIRED_MESSAGE)
// .andEq(SysLog::getUserId, userId)
// .desc(SysLog::getCreateTime)
// .limit(0, 1).single();
//
// List<SysLog> single = sysLogDao.getSQLManager().lambdaQuery(SysLog.class)
// .andEq(SysLog::getUserId, userId)
// .andLike(SysLog::getRequestUrl, "%" + ResponseControllerAdvice.LOGIN_URL)
// .andGreat(SysLog::getCreateTime,Query.filterEmpty(Objects.isNull(logoutData)? false : logoutData.getCreateTime())).select();
//
// List<Long> sysLogIdData = new ArrayList<>();
// single.forEach(item -> {
// sysLogIdData.add(item.getId());
// });
//
// // 记录上一次登录的时间,距离现在的时间差(秒)
// SysLog sysLog = new SysLog();
// Date now = cn.jlw.util.DateUtil.getPreciseTime(new Date());
// // 这里固定该接口的请求路径
// sysLog.setMethod("com.ibeetl.jlw.conf.KeyExpiredListener.doHandleMessage");
// sysLog.setRequestUrl(TOKEN_EXPIRED_MESSAGE);
// sysLog.setParams("{\"_referer\":[]}");
//// sysLog.setResult(String.valueOf(DateUtil.between(coreUser.getLastLoginTime(), now, DateUnit.SECOND)));
// sysLog.setResult(StringUtils.join(sysLogIdData, ","));
// sysLog.setIp("0.0.0.0");
// sysLog.setCreateTime(now);
// sysLog.setResultTime(now);
// sysLog.setSession(token);
// sysLog.setUserId(coreUser.getId());
// sysLog.setToken(token);
// //目前这个字段还没有用到,所以先暂时用来存储学习时长
// sysLog.setOpenId(String.valueOf(DateUtil.between(coreUser.getLastLoginTime(), now, DateUnit.SECOND)));
// // 记录学生ID
// if (null != realId && StrUtil.isNotBlank(jobType1Name) && JT_S_03.equals(MenuEnums.getBySelfAttributeName(jobType1Name))) {
// sysLog.setStudentId(Long.valueOf(realId));
// }
// sysLogService.insert(sysLog);
//
// List<StudentTeacherSystemUseLogAnalysis> teacherSystemUseLogAnalyses = studentTeacherSystemUseLogAnalysisDao.getSQLManager()
// .lambdaQuery(StudentTeacherSystemUseLogAnalysis.class)
// .andIsNull(StudentTeacherSystemUseLogAnalysis::getDayTime).select();
// teacherSystemUseLogAnalyses.forEach(item ->{
// long time = (Objects.isNull(item.getAddTime()) ? 0 : item.getAddTime().getTime()) + (Objects.isNull(item.getUseDuration()) ? 0 : (item.getUseDuration() * 60 * 1000));
// item.setDayTime(DateUtil.formatDateTime(DateUtil.date(time)));
// studentTeacherSystemUseLogAnalysisDao.updateTemplateById(item);
// });
// }
//
// } catch (Exception e) {
// log.error("有用户的token到期but日志记录失败", e.getMessage());
// }
}
}

@ -49,6 +49,7 @@ public interface GeneralQuestionLogDao extends BaseMapper<GeneralQuestionLog> {
List<GeneralQuestionLog> getByIds(String ids);
List<GeneralQuestionLog> getValuesByQuery(GeneralQuestionLogQuery generalQuestionLogQuery);
List<GeneralQuestionLog> selectByIdOne(GeneralQuestionLogQuery generalQuestionLogQuery);
List<GeneralQuestionLog> getValuesByQueryNotWithPermission(GeneralQuestionLogQuery generalQuestionLogQuery);

@ -35,12 +35,14 @@ public enum SubsystemName {
CSRC("证监会、银保监会、行业协会"),
RISK_MANAGEMENT("风险管理"),
DIGITAL_MARKETING("数字营销"),
CREDIT_RATING_AGENCIES("征信评级机构"),
CREDIT_RATING_AGENCIES("征信评级"),
FINANCIAL_BIGDATA("金融大数据"), //598
BIGDATA_BASICS("大数据基础"), //Python基础 698
MACHINE_LEARNING("机器学习"), //798
INTELLIGEN_RISK_CONTROL("智能风控"),//金融风险管理 898
IPO("私募");
Text_MINING("文本挖掘"),//文本挖掘
IPO("私募"),
MONEY_MANAGEMENT_NEW("研究咨询"); //智能理财分析教学系统V2.0

@ -689,6 +689,23 @@ public class CourseInfoService extends CoreBaseService<CourseInfo> {
buildCourseInfoResources(courseInfoList);
courseInfoList.sort(Comparator.comparing(o -> defaultIfNull(o.getOrderIndex(), ZERO)));
for (int i = 0; i < courseInfoList.size(); i++) {
CourseInfo courseInfo1 = courseInfoList.get(i);
if(courseInfo1!=null){
List<ResourcesInfo> resourcesInfo = courseInfo1.getResourcesInfo();
if(!resourcesInfo.isEmpty()){
for (int j = 0; j < resourcesInfo.size(); j++) {
if(resourcesInfo.get(j).getResourcesInfoContent().contains("pptx")){
resourcesInfo.get(j).setResourcesInfoContent(resourcesInfo.get(j).getResourcesInfoContent().replace("pptx","pdf"));
}
if(resourcesInfo.get(j).getResourcesInfoContent().contains("pptx")){
resourcesInfo.get(j).setResourcesInfoContent(resourcesInfo.get(j).getResourcesInfoContent().replace("pptx","pdf"));
}
}
}
}
}
return courseInfoList;
}

@ -1391,4 +1391,11 @@ public class GeneralQuestionLogService extends CoreBaseService<GeneralQuestionLo
public Boolean existGeneralQuestionSettingId(Long generalQuestionSettingId) {
return generalQuestionLogDao.existGeneralQuestionSettingId(generalQuestionSettingId);
}
public List<QuestionLogAnswerLockVO> questionLogAnswerFinallySubmit(Long generalQuestionLogId) {
GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery();
logQuery.setGeneralQuestionLogId(generalQuestionLogId);
List<GeneralQuestionLog> valuesByQueryNotWithPermission = generalQuestionLogDao.selectByIdOne(logQuery);
return BeanUtil.copyToList(valuesByQueryNotWithPermission, QuestionLogAnswerLockVO.class);
}
}

@ -379,7 +379,7 @@ public class ResourcesApplicationService extends CoreBaseService<ResourcesApplic
item.setRealUrl(realUrl);
item.setCanUsed(true);
});
queryListAfter(list);
// queryListAfter(list);
return ret;
}

@ -9,6 +9,7 @@ import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.util.DateUtil;
import com.ibeetl.admin.core.util.enums.DelFlagEnum;
import com.ibeetl.jlw.conf.KeyExpiredListener;
import com.ibeetl.jlw.dao.SysLogDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseQuestionSettingDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseScoreDashboardDao;
import com.ibeetl.jlw.dao.UniversitiesCollegesJurisdictionExperimentalSystemDao;
@ -119,6 +120,9 @@ public class StatisticalAnalysisService {
@Autowired
private CourseInfoService courseInfoService;
@Autowired
private SysLogDao sysLogDao;
/**
*
@ -460,6 +464,208 @@ public class StatisticalAnalysisService {
}
public Map<String, Object> adminIndexDetail(Date stime, Date etime, UniversitiesColleges universitiesColleges, CoreUser coreUser) {
Date startTime = DateUtil.beginOfDay(new Date());
Date endTime = DateUtil.endOfDay(new Date());
if (!Objects.isNull(stime)) {
startTime = DateUtil.beginOfDay(stime);
}
if (!Objects.isNull(stime)) {
endTime = DateUtil.endOfDay(etime);
}
Long orgId = coreUser.getOrgId();
Long universitiesCollegesId = (universitiesColleges == null ? orgId : universitiesColleges.getUniversitiesCollegesId());
Long uniOrgId = (universitiesColleges == null ? orgId : universitiesColleges.getOrgId());
Map<String, Object> data = new HashMap<>();
StudentLoginLogQuery condition = new StudentLoginLogQuery();
if (ObjectUtil.isNotEmpty(startTime)) {
condition.setLoginStartTime(startTime);
}
if (ObjectUtil.isNotEmpty(endTime)) {
condition.setLoginEndTime(endTime);
}
condition.setLoginPath(ResponseControllerAdvice.LOGIN_URL);
condition.setLogoutPath(KeyExpiredListener.TOKEN_EXPIRED_MESSAGE);
UniversitiesColleges uniAdmin = getUniAdmin();
if (null != uniAdmin) {
condition.getPageQuery().setPara("universitiesCollegesId", uniAdmin.getUniversitiesCollegesId());
}
//登录人数 1.5S
PageQuery<StudentLogAnalysisVO> studentLogAnalysisVOPageQuery = studentService.queryStatisticalStatementNumberPeopleByCondition(condition.getPageQuery());
long loginDistinctCount = studentLogAnalysisVOPageQuery.getList().stream().mapToLong(i -> Integer.parseInt(i.getLoginCount())).sum();
data.put("loginNumber", loginDistinctCount);
// 获取登录次数
PageQuery<StudentLoginLogVO> studentLoginLogVOPageQuery = studentService.queryUserLoginLogByCondition(condition.getPageQuery());
Long loginCount = studentLoginLogVOPageQuery.getTotalRow();
//登录人次
data.put("studentPersonTime", loginCount);
if (coreUser.isUniAdmin()) { //学校管理员
List<Student> studentList = studentService.getStudentByStimeAndEtime(startTime, endTime, uniOrgId);
//注册学生数
data.put("studentNumber", studentList.size());
//注册老师数
List<Teacher> teachers = teacherService.getTeacherByStimeAndEtime(startTime, endTime, uniOrgId);
data.put("teacherNumber", teachers.size());
//上线课程数 11s
// TeacherOpenCourseQuery teacherOpenCourseQuery = new TeacherOpenCourseQuery();
// if (ObjectUtil.isNotEmpty(startTime)){
// teacherOpenCourseQuery.setFilterStartTime(startTime);
// }
// if (ObjectUtil.isNotEmpty(endTime)){
// teacherOpenCourseQuery.setFilterEndTime(endTime);
// }
// List<TeacherOpenCourse> teacherOpenCourseMergeCourseInfo = teacherOpenCourseService.getTeacherOpenCourseMergeCourseInfo(teacherOpenCourseQuery, coreUser);
// data.put("courseNumber", teacherOpenCourseMergeCourseInfo.size());
Long resourcesApplicationCount = 0L;
resourcesApplicationCount = universitiesCollegesJurisdictionExperimentalSystemDao.createLambdaQuery()
.andEq(UniversitiesCollegesJurisdictionExperimentalSystem::getUniversitiesCollegesId, universitiesCollegesId)
.andNotEq(UniversitiesCollegesJurisdictionExperimentalSystem::getUseType, 0)
.andBetween(UniversitiesCollegesJurisdictionExperimentalSystem::getAddTime, startTime, endTime)
.count();
data.put("applicationNumber", resourcesApplicationCount);
TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery();
List<TeacherOpenCourse> select11 = teacherOpenCourseService.createLambdaQuery().andEq(TeacherOpenCourse::getOrgId, uniOrgId)
.andEq(TeacherOpenCourse::getTeacherOpenCourseStatus, 1).select();
Set<Long> collect11 = select11.stream().map(TeacherOpenCourse::getTeacherOpenCourseId).collect(Collectors.toSet());
if (orgId != null && orgId != 1) {
teacherOpenCourseQuestionSettingQuery.setOrgId(uniOrgId);
}
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH);
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1);
if (ObjectUtil.isNotEmpty(startTime)) {
teacherOpenCourseQuestionSettingQuery.setStartTime(startTime);
}
if (ObjectUtil.isNotEmpty(endTime)) {
teacherOpenCourseQuestionSettingQuery.setEndTime(endTime);
}
List<TeacherOpenCourseQuestionSettingPure> courseQuestionSettings = teacherOpenCourseQuestionSettingDao.getValuesByQueryNotWithPermission2(teacherOpenCourseQuestionSettingQuery);
long homeWorkNumber = courseQuestionSettings.stream().filter(item -> !HOMEWORK_FILE.equals(item.getTeacherOpenCourseQuestionSettingType())).count();
//批改作业数
data.put("homeWorkNumber", homeWorkNumber);
//课件学习
TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery();
tasksQuery.setTeacherOpenCourseIdPlural(CollectionUtil.join(collect11, ","));
if (ObjectUtil.isNotEmpty(startTime)) {
tasksQuery.setStartTime(startTime);
}
if (ObjectUtil.isNotEmpty(endTime)) {
tasksQuery.setEndTime(endTime);
}
if (orgId != 1) {
tasksQuery.setOrgId(orgId);
}
List<TeacherOpenCourseHandsOnSimulationTasks> teacherOpenCourseHandsOnSimulationTasks = teacherOpenCourseHandsOnSimulationTasksService.getValuesByQueryNotWithPermission(tasksQuery);
long count = teacherOpenCourseHandsOnSimulationTasks.stream().filter(v -> "1".equals(v.getTaskType()) || "2".equals(v.getTaskType())).count();
data.put("studyNumber", count);
//学生做题 课程实操。学生做题:读取【文档存档】中所有课程的【章节】、【课程实操】、【作业—题库作业】、【考试】,这几个模块的任务数量 (题目配置数量,非题目数量)
data.put("exerciseNumber", teacherOpenCourseHandsOnSimulationTasks.size() + courseQuestionSettings.size() + homeWorkNumber);
//学校动态码
data.put("universitiesCollegesAuthCode", universitiesColleges != null ? universitiesColleges.getUniversitiesCollegesAuthCode() : "暂无动态码");
return data;
} else {//管理员
//上线应用数
Long resourcesApplicationCount = resourcesApplicationService.getApplicationByStimeAndEtime(startTime, endTime, uniOrgId);
data.put("applicationNumber", resourcesApplicationCount);
//注册用户数
LambdaQuery<CoreUser> lambdaQuery2 = coreUserDao.createLambdaQuery();
if (uniOrgId != null && uniOrgId != 1) {
lambdaQuery2.andEq(CoreUser::getOrgId, uniOrgId);
}
if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) {
lambdaQuery2.andBetween(CoreUser::getCreateTime, startTime, endTime);
}
int size = lambdaQuery2.andEq(CoreUser::getDelFlag, DelFlagEnum.NORMAL.getValue())
.andNotEq(CoreUser::getId, 1)
.select().size();
data.put("userNumber", size);
data.put("universitiesCollegesAuthCode", universitiesColleges != null ? universitiesColleges.getUniversitiesCollegesAuthCode() : "暂无动态码");
//案例数量
LambdaQuery<HandsOn> lambdaQuery3 = handsOnService.createLambdaQuery();
if (uniOrgId != null && uniOrgId != 1) {
lambdaQuery3.andEq(HandsOn::getOrgId, uniOrgId);
}
if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) {
lambdaQuery3.andBetween(HandsOn::getAddTime, startTime, endTime);
}
int values = lambdaQuery3.andEq(HandsOn::getHandsOnStatus, 1)
.select().size();
LambdaQuery<ResourcesTraining> lambdaQuery4 = resourcesTrainingService.createLambdaQuery();
if (uniOrgId != null && uniOrgId != 1) {
lambdaQuery4.andEq(ResourcesTraining::getOrgId, uniOrgId);
}
if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) {
lambdaQuery4.andBetween(ResourcesTraining::getAddTime, startTime, endTime);
}
int values2 = lambdaQuery4.andEq(ResourcesTraining::getResourcesTrainingStatus, 1)
.select().size();
LambdaQuery<ResourcesCompetition> lambdaQuery5 = resourcesCompetitionService.createLambdaQuery();
if (uniOrgId != null && uniOrgId != 1) {
lambdaQuery5.andEq(ResourcesCompetition::getOrgId, uniOrgId);
}
if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) {
lambdaQuery5.andBetween(ResourcesCompetition::getAddTime, startTime, endTime);
}
int values3 = lambdaQuery5.andEq(ResourcesCompetition::getResourcesCompetitionStatus, 1)
.select().size();
data.put("caseNumber", values + values2 + values3);
//视频数量
ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery();
resourcesInfoQuery.setResourcesInfoType(1);
resourcesInfoQuery.setStartTime(stime);
resourcesInfoQuery.setEndTime(etime);
if (uniOrgId != null && uniOrgId != 1) {
resourcesInfoQuery.setOrgId(uniOrgId);
}
List<ResourcesInfo> videoNumber = resourcesInfoService.getValues(resourcesInfoQuery);
data.put("videoNumber", videoNumber.size());
//题库数量
ResourcesQuestionQuery paras1 = new ResourcesQuestionQuery();
paras1.setQuestionStatus(1);
if (uniOrgId != null && uniOrgId != 1) {
paras1.setOrgId(uniOrgId);
}
if (ObjectUtil.isNotEmpty(startTime)) {
paras1.setStartTime(startTime);
}
if (ObjectUtil.isNotEmpty(endTime)) {
paras1.setEndTime(endTime);
}
List<ResourcesQuestion> questionList = resourcesQuestionService.getValues(paras1);
data.put("questionNumber", questionList.size());
//院校数量
// UniversitiesCollegesQuery paras = new UniversitiesCollegesQuery();
// paras.setUniversitiesCollegesStatus(1);
// if (uniOrgId != null && uniOrgId != 1) {
// paras.setOrgId(uniOrgId);
// }
// if (ObjectUtil.isNotEmpty(startTime)) {
// paras.setStartTime(startTime);
// }
// if (ObjectUtil.isNotEmpty(endTime)) {
// paras.setEndTime(endTime);
// }
// List<UniversitiesColleges> schoolList = universitiesCollegesService.getValues(paras);
// data.put("schoolNumber", schoolList.size());
data.put("schoolNumber", 376);
}
return data;
}
public Map<String, Object> adminIndexDetail1(Date stime, Date etime, UniversitiesColleges universitiesColleges, CoreUser coreUser) {
// Date startTime = DateUtil.beginOfDay(new Date());
// Date endTime = DateUtil.endOfDay(new Date());
//--------------------------------------------------

@ -1169,6 +1169,23 @@ public class StudentService extends CoreBaseService<Student> {
}
// 查询所有的班级编号
List<String> studentSnList = list.stream().map(Student::getStudentSn).collect(Collectors.toList());
//验证学号格式
String regex = "[a-zA-Z\\u4e00-\\u9fa5]+$";
List<String> regexList=new ArrayList<>();
for (int i = 0; i < studentSnList.size(); i++) {
if(!studentSnList.get(i).matches(regex)){
regexList.add(studentSnList.get(i));
}
}
for (String duplicateElement : regexList) {
int errorRowIndex = studentSnList.indexOf(duplicateElement);
// 这里固定列索引,省事
listener.putFailMessage(
errorRowIndex, 2, StrUtil.format("学号有特殊字符:\"{}\"", duplicateElement));
}
// 获取重复的元素
List<String> duplicateElements = getDuplicateElements(studentSnList);

@ -89,7 +89,7 @@ public class TeacherOpenCourseMergeStudentService extends CoreBaseService<Teache
});
ret.setList(studentList);
}
queryListAfter(ret.getList());
// queryListAfter(ret.getList());
return ret;
}

@ -451,7 +451,7 @@ public class TeacherOpenCourseScoreDashboardService extends CoreBaseService<Teac
/**
*
* *****
*
* @param teacherOpenCourseId id
* @return

@ -152,13 +152,15 @@ public class UniversitiesCollegesJurisdictionExperimentalSystemService extends C
List<ZYUserInfo> userInfos=new ArrayList<>();
List<Map<String, Object>> teacherList=teacherService.findAllByUniversitiesCollegesId(universitiesCollegesId);
for (int i = 0; i < teacherList.size(); i++) {
Map<String, Object> userInfoByUsername = coreUserService.getUserInfoByUsername(String.valueOf(teacherList.get(i).get("name")));
Map<String, Object> userInfoByUsername = coreUserService.getUserInfoByUsername(String.valueOf(teacherList.get(i).get("teacherNo")));
if (userInfoByUsername==null){
continue;
}
ZYUserInfo info = new
ZYUserInfo(
coreUserService.getUserInfoByUsername(String.valueOf(teacherList.get(i).get("name"))));
coreUserService.getUserInfoByUsername(String.valueOf(teacherList.get(i).get("teacherNo"))));
info.setSchoolId(Math.toIntExact(universitiesCollegesId));
info.setCollegeId(universitiesCollegesId);
userInfos.add(info);
}
try {

@ -72,7 +72,7 @@ public class UniversitiesCollegesService extends CoreBaseService<UniversitiesCol
public PageQuery<UniversitiesColleges> queryByCondition(PageQuery query) {
PageQuery ret = universitiesCollegesDao.queryByCondition(query);
queryListAfter(ret.getList());
// queryListAfter(ret.getList());
return ret;
}

@ -118,6 +118,22 @@ public class WebPlatformService {
}
}
/**
* Session
* @param user
*/
public void setTeacherUserInfoToSessionByIdentity(String token, @NotNull(message = "登录用户不能为空!") CoreUser user,Teacher teacher) {
httpRequestLocal.setSessionValueByToken(token, T_TEACHER, teacher);
}
/**
* Session
* @param user
*/
public void setStudentUserInfoToSessionByIdentity(String token, @NotNull(message = "登录用户不能为空!") CoreUser user,Student student) {
httpRequestLocal.setSessionValueByToken(token, T_STUDENT, student);
}
/**
* Session
* @param user
@ -207,10 +223,14 @@ public class WebPlatformService {
*
* @param userId
*/
public void checkUserLoginStatusThrow(Long userId) {
StudentExtendSchoolInfo studentExtendSchoolInfo = studentService.getStudentExtendSchoolInfoByUserIds(userId.toString());
TeacherExtendSchoolInfo teacherExtendSchoolInfo = teacherService.getTeacherExtendSchoolInfoByUserIds(userId.toString());
public void checkUserLoginStatusThrow(Long userId,String role) {
TeacherExtendSchoolInfo teacherExtendSchoolInfo =null;
StudentExtendSchoolInfo studentExtendSchoolInfo =null;
if("tea".equals(role)){
teacherExtendSchoolInfo = teacherService.getTeacherExtendSchoolInfoByUserIds(userId.toString());
}else {
studentExtendSchoolInfo = studentService.getStudentExtendSchoolInfoByUserIds(userId.toString());
}
Assert.isFalse(ObjectUtil.isAllEmpty(studentExtendSchoolInfo, teacherExtendSchoolInfo), "学生信息异常,请联系管理员!");

@ -29,7 +29,7 @@ public class ApiIndexBaseService extends CoreBaseAnnotationParser {
.build();
// 解析注解
queryEntityAfter(currentUserInfo);
// queryEntityAfter(currentUserInfo);
return currentUserInfo;
}
}

@ -361,8 +361,9 @@ public class ApiStudentService {
// 设置登录时间和最后登录时间用登录后update core_user表来实现最后登录时间和登录次数的统计。
// sysLogService.setLoginLogInfo(userId, coreUser);
// 活跃度
StudentActiveInfo studentActiveInfo = studentActiveInfo();
// 活跃度 *****
// StudentActiveInfo studentActiveInfo = studentActiveInfo();
StudentActiveInfo studentActiveInfo = null;
return StudentUserCenterData.builder().userInfo(coreUser)

@ -41,6 +41,8 @@ public class SubsystemUserUtil {
//开启区块链数字人民币权限
private static final String QUL_BLOCKDIGITALCURRENCY_START_URL="https://qkljr.sztzjy.com:89/api/admin/permissions/getDigitalCurrency";
//新版智能理财
private static final String ZNLC_USER_INSERT_API_URL="https://znlc.sztzjy.com:118/api/user/checkOrCreateForexSimulationUser";
public static void subsystemUserCreate(List<ZYUserInfo> zyUserInfoss, List<String> applications) throws JsonProcessingException {
@ -156,6 +158,15 @@ public class SubsystemUserUtil {
//MNJY系统新增用户信息
HttpUtil.sendPostRequest(SZYX_USER_INSERT_API_URL, json, "application/json");
}
if (applications.contains(SubsystemName.CREDIT_RATING_AGENCIES.getText())) {
//文本挖掘
HttpUtil.sendPostRequest(SZZX_USER_INSERT_API_URL, json, "application/json");
}
if (applications.contains(SubsystemName.MONEY_MANAGEMENT_NEW.getText())) {
//新版本智能理财 研究咨询
HttpUtil.sendPostRequest(ZNLC_USER_INSERT_API_URL, json, "application/json");
}
}

@ -74,11 +74,12 @@ public class AnalysisController extends BaseController {
@PostMapping(MODEL + "/systemUseLogsAnalysis.json")
@ResponseBody
@ApiOperation("在线人数统计")
@ApiOperation("在线人数统计*****")
public JsonResult<List<SystemUseCountVO>> systemUseLogsAnalysis(SystemUseCountDTO dto, @SCoreUser CoreUser coreUser){
dto.setMethod(ON_LINE_METHOD_NAME);
dto.setRequestUrl("在线人数统计");
return JsonResult.success(analysisService.systemUseLogsAnalysis(dto));
return null;
// dto.setMethod(ON_LINE_METHOD_NAME);
// dto.setRequestUrl("在线人数统计");
// return JsonResult.success(analysisService.systemUseLogsAnalysis(dto));
}
}

@ -161,7 +161,8 @@ public class GeneralQuestionLogController extends BaseController {
logQuery.setQuestionLogAddType(FINALLY_SUBMIT);
logQuery.setUserId(coreUser.getId());
logQuery.setOrgId(coreUser.getOrgId());
return JsonResult.success(generalQuestionLogService.getValuesByQueryNotWithPermission(logQuery));
List<GeneralQuestionLog> valuesByQueryNotWithPermission = generalQuestionLogService.getValuesByQueryNotWithPermission(logQuery);
return JsonResult.success(valuesByQueryNotWithPermission);
}
/**
@ -499,6 +500,23 @@ public class GeneralQuestionLogController extends BaseController {
return JsonResult.success(generalQuestionLogService.questionLogAnswerLock(questionSettingId, questionSnapIds, student));
}
/**
* : <br>
*
*
* @param coreUser
* @return {@link JsonResult}
* @Author: lx
* @Date: 2022/12/1 0:28
*/
@PostMapping(API + "/questionLogAnswerFinallySubmit.do")
@ApiOperation("题目获取错题集答案")
public JsonResult questionLogAnswerFinallySubmit(Long generalQuestionLogId, @SCoreUser CoreUser coreUser){
Student student = getStudent();
Assert.notNull(student, "该接口只能学生操作");
return JsonResult.success(generalQuestionLogService.questionLogAnswerFinallySubmit(generalQuestionLogId));
}
/* 后台页面 */

@ -788,7 +788,7 @@ public class IndexController {
// 教师
case JT_S_02: {
// 判断必要的信息不能为空
webPlatformService.checkUserLoginStatusThrow(user.getId());
webPlatformService.checkUserLoginStatusThrow(user.getId(),"tea");
// 验证使用权,是否到期
UniversitiesColleges universitiesColleges = universitiesCollegesService.getByOrgId(user.getOrgId());
@ -828,14 +828,14 @@ public class IndexController {
final String loginTime = jwtStrings[1];
// 登录信息存放Session
webPlatformService.setUserInfoToSessionByIdentity(token, info.getUser());
webPlatformService.setTeacherUserInfoToSessionByIdentity(token, info.getUser(),teacher);
platformService.setLoginUserByToken(token, info.getUser(), info.getCurrentOrg(), info.getOrgs(), uSystem);
tokenSessionMap.put(token, new Object[]{user, info.getCurrentOrg(), info.getOrgs(), uSystem});
insertCookie(response, user, teacherToken,loginTime);
// 更新
ThreadUtil.execute(() -> {
userService.recordLoginInformation(user.getId(),loginTime);
userService.recordLoginInformation(user.getId(),loginTime,user);
});
// isBG 是否大后台
@ -849,7 +849,7 @@ public class IndexController {
// 学生
case JT_S_03: {
// 判断必要的信息不能为空
webPlatformService.checkUserLoginStatusThrow(user.getId());
webPlatformService.checkUserLoginStatusThrow(user.getId(),"stu");
Student s = studentService.getByUserId(user.getId());
final String studentToken = tokenService.getToken(s);
@ -863,13 +863,13 @@ public class IndexController {
tokenSessionMap.put(token, new Object[]{user, info.getCurrentOrg(), info.getOrgs(), uSystem});
// 登录信息存放Session
webPlatformService.setUserInfoToSessionByIdentity(token, info.getUser());
webPlatformService.setStudentUserInfoToSessionByIdentity(token, info.getUser(),s);
platformService.setLoginUserByToken(token, info.getUser(), info.getCurrentOrg(), info.getOrgs(), uSystem);
insertCookie(response, user, studentToken,loginTime);
// 更新
ThreadUtil.execute(() -> {
userService.recordLoginInformation(user.getId(),loginTime);
userService.recordLoginInformation(user.getId(),loginTime,user);
});
// isBG 是否大后台
@ -898,7 +898,7 @@ public class IndexController {
// 更新
ThreadUtil.execute(() -> {
userService.recordLoginInformation(user.getId(),loginTime);
userService.recordLoginInformation(user.getId(),loginTime,user);
});
// isBG 是否大后台

@ -84,8 +84,9 @@ public class StatisticalAnalysisController {
@ApiOperation("柱状图")
@RequestMapping("/adminIndexBarchart.do")
public JsonResult<Object> adminIndexBarchart(@RequestParam(value = "stime", required = false) Date stime, @RequestParam(value = "etime", required = false) Date etime) {
Map<String, Object> detail = statisticalAnalysisService.adminIndexBarchart(stime, etime);
return JsonResult.success(detail);
// Map<String, Object> detail = statisticalAnalysisService.adminIndexBarchart(stime, etime);
// return JsonResult.success(detail);
return JsonResult.success(null);
}

@ -2319,6 +2319,7 @@ public class StudentController extends BaseController {
ZYUserInfo info = new
ZYUserInfo(
coreUserService.getUserInfoByUsername(student.getStudentSn()));
info.setSchoolId(Integer.valueOf(String.valueOf(schoolId)));
List<String> applications = universitiesCollegesJurisdictionExperimentalSystemService.getAllApplicationIdBySchoolId(schoolId);
SubsystemUserUtil.subsystemUserCreate(Arrays.asList(info), applications);
return jsonResult;
@ -2480,19 +2481,21 @@ public class StudentController extends BaseController {
@GetMapping(MODEL + "/studentLoginLogList.json")
@Function("student.query")
@ResponseBody
@ApiOperation("登录日志")
@ApiOperation("登录日志*****")
public JsonResult<PageQuery> studentLoginLogList(StudentLoginLogQuery condition, @SCoreUser CoreUser coreUser) {
Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
condition.setLoginPath(ResponseControllerAdvice.LOGIN_URL);
condition.setLogoutPath(KeyExpiredListener.TOKEN_EXPIRED_MESSAGE);
if (!Objects.isNull(condition.getLoginStartTime())) {
condition.setLoginStartTime(DateUtil.beginOfDay(condition.getLoginStartTime()));
}
if (!Objects.isNull(condition.getLoginEndTime())) {
condition.setLoginEndTime(DateUtil.endOfDay(condition.getLoginEndTime()));
}
// return JsonResult.success(studentService.queryStudentLoginLogByCondition(condition.getPageQuery()));
return JsonResult.success(studentService.queryUserLoginLogByCondition(condition.getPageQuery()));
return null;
// Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
// condition.setLoginPath(ResponseControllerAdvice.LOGIN_URL);
// condition.setLogoutPath(KeyExpiredListener.TOKEN_EXPIRED_MESSAGE);
// if (!Objects.isNull(condition.getLoginStartTime())) {
// condition.setLoginStartTime(DateUtil.beginOfDay(condition.getLoginStartTime()));
// }
// if (!Objects.isNull(condition.getLoginEndTime())) {
// condition.setLoginEndTime(DateUtil.endOfDay(condition.getLoginEndTime()));
// }
//// return JsonResult.success(studentService.queryStudentLoginLogByCondition(condition.getPageQuery()));
// PageQuery<StudentLoginLogVO> studentLoginLogVOPageQuery = studentService.queryUserLoginLogByCondition(condition.getPageQuery());
// return JsonResult.success(studentService.queryUserLoginLogByCondition(studentLoginLogVOPageQuery));
}
/**
@ -2506,25 +2509,26 @@ public class StudentController extends BaseController {
*/
@GetMapping(MODEL + "/studentLoginLogListExport.json")
@ResponseBody
@ApiOperation("登录日志 导出")
@ApiOperation("登录日志 导出*****")
public String studentLoginLogListExport(StudentLoginLogQuery condition, @SCoreUser CoreUser coreUser) throws IOException {
Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
condition.setLoginPath(ResponseControllerAdvice.LOGIN_URL);
condition.setLogoutPath(KeyExpiredListener.TOKEN_EXPIRED_MESSAGE);
if (!Objects.isNull(condition.getLoginStartTime())) {
condition.setLoginStartTime(DateUtil.beginOfDay(condition.getLoginStartTime()));
}
if (!Objects.isNull(condition.getLoginEndTime())) {
condition.setLoginEndTime(DateUtil.endOfDay(condition.getLoginEndTime()));
}
condition.setPage(1);
condition.setLimit(Integer.MAX_VALUE + 0L);
// PageQuery<StudentLoginLogVO> page = studentService.queryStudentLoginLogByCondition(condition.getPageQuery());
PageQuery<StudentLoginLogVO> page = studentService.queryUserLoginLogByCondition(condition.getPageQuery());
String filename = StrUtil.format("学生登录日志导出{}.xlsx", System.currentTimeMillis());
write(response, filename, "Sheet1", StudentLoginLogVO.class, page.getList());
return null;
// Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
// condition.setLoginPath(ResponseControllerAdvice.LOGIN_URL);
// condition.setLogoutPath(KeyExpiredListener.TOKEN_EXPIRED_MESSAGE);
// if (!Objects.isNull(condition.getLoginStartTime())) {
// condition.setLoginStartTime(DateUtil.beginOfDay(condition.getLoginStartTime()));
// }
// if (!Objects.isNull(condition.getLoginEndTime())) {
// condition.setLoginEndTime(DateUtil.endOfDay(condition.getLoginEndTime()));
// }
// condition.setPage(1);
// condition.setLimit(Integer.MAX_VALUE + 0L);
//// PageQuery<StudentLoginLogVO> page = studentService.queryStudentLoginLogByCondition(condition.getPageQuery());
// PageQuery<StudentLoginLogVO> page = studentService.queryUserLoginLogByCondition(condition.getPageQuery());
//
// String filename = StrUtil.format("学生登录日志导出{}.xlsx", System.currentTimeMillis());
// write(response, filename, "Sheet1", StudentLoginLogVO.class, page.getList());
// return null;
}
/**
@ -2557,17 +2561,18 @@ public class StudentController extends BaseController {
*/
@GetMapping(MODEL + "/studentUseLogListExport.json")
@ResponseBody
@ApiOperation("学生使用日志 导出")
@ApiOperation("学生使用日志 导出*****")
public String studentUseLogListExport(StudentUseLogQuery condition, @SCoreUser CoreUser coreUser) throws IOException {
Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
condition.setPage(1);
condition.setLimit(Integer.MAX_VALUE + 0L);
PageQuery<StudentUseLogVO> page = studentService.queryStudentUseLogByCondition(condition.getPageQuery());
String filename = StrUtil.format("学生使用日志导出{}.xlsx", System.currentTimeMillis());
write(response, filename, "Sheet1", StudentUseLogVO.class, page.getList());
return null;
// Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
//
// condition.setPage(1);
// condition.setLimit(Integer.MAX_VALUE + 0L);
// PageQuery<StudentUseLogVO> page = studentService.queryStudentUseLogByCondition(condition.getPageQuery());
//
// String filename = StrUtil.format("学生使用日志导出{}.xlsx", System.currentTimeMillis());
// write(response, filename, "Sheet1", StudentUseLogVO.class, page.getList());
// return null;
}
/**
@ -2583,19 +2588,20 @@ public class StudentController extends BaseController {
@GetMapping(MODEL + "/studentLogAnalysisList.json")
@Function("student.query")
@ResponseBody
@ApiOperation("学生日志,统计报表")
@ApiOperation("学生日志,统计报表*****")
public JsonResult<PageQuery> studentLogAnalysisList(StudentLogAnalysisQuery condition, @SCoreUser CoreUser coreUser) {
Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
condition.setLoginPath(ResponseControllerAdvice.LOGIN_URL);
condition.setLogoutPath(KeyExpiredListener.TOKEN_EXPIRED_MESSAGE);
if (!Objects.isNull(condition.getLoginStartTime())) {
condition.setLoginStartTime(DateUtil.beginOfDay(condition.getLoginStartTime()));
}
if (!Objects.isNull(condition.getLoginEndTime())) {
condition.setLoginEndTime(DateUtil.endOfDay(condition.getLoginEndTime()));
}
// return JsonResult.success(studentService.queryStudentLogAnalysisByCondition(condition.getPageQuery()));
return JsonResult.success(studentService.queryStatisticalStatementNumberPeopleByCondition(condition.getPageQuery()));
return null;
// condition.setLoginPath(ResponseControllerAdvice.LOGIN_URL);
// condition.setLogoutPath(KeyExpiredListener.TOKEN_EXPIRED_MESSAGE);
// if (!Objects.isNull(condition.getLoginStartTime())) {
// condition.setLoginStartTime(DateUtil.beginOfDay(condition.getLoginStartTime()));
// }
// if (!Objects.isNull(condition.getLoginEndTime())) {
// condition.setLoginEndTime(DateUtil.endOfDay(condition.getLoginEndTime()));
// }
//// return JsonResult.success(studentService.queryStudentLogAnalysisByCondition(condition.getPageQuery()));
// return JsonResult.success(studentService.queryStatisticalStatementNumberPeopleByCondition(condition.getPageQuery()));
}
@ -3052,6 +3058,10 @@ public class StudentController extends BaseController {
ExcelUtil.readExcelNotContainHeader(file, StudentBatchImportUniAdminDTO.class, listener);
// 判断错误的结果集
Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));
for (int i = 0; i < listener.getData().size(); i++) {
String studentSn = listener.getData().get(i).getStudentSn();
System.out.println(studentSn);
}
// 类型转换
List<Student> list = listener.getData().stream().map(item -> {
@ -3134,6 +3144,10 @@ public class StudentController extends BaseController {
coreUserService.getUserInfoByUsername(student.getStudentSn())
));
}
for (int i = 0; i < zyUserInfos.size(); i++) {
ZYUserInfo zyUserInfo = zyUserInfos.get(i);
zyUserInfo.setSchoolId(Integer.valueOf(schoolId.toString()));
}
List<String> applications = universitiesCollegesJurisdictionExperimentalSystemService.getAllApplicationIdBySchoolId(schoolId);
SubsystemUserUtil.subsystemUserCreate(zyUserInfos, applications);
platformService.clearDictCache();
@ -3215,7 +3229,27 @@ public class StudentController extends BaseController {
Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage()));
// 导入并添加身份信息
list.forEach(studentService::add);
// list.forEach(studentService::add);
List<ZYUserInfo> zyUserInfos = new ArrayList<>();
SchoolClassQuery query = new SchoolClassQuery();
query.setClassId(list.get(0).getClassId());
SchoolClass schoolClass = schoolClassService.getValuesByQuery(query).get(0);
Long schoolId = schoolClass.getUniversitiesCollegesId();
for (Student student : list) {
studentService.add(student);
zyUserInfos.add(new
ZYUserInfo(
coreUserService.getUserInfoByUsername(student.getStudentSn())
));
}
for (int i = 0; i < zyUserInfos.size(); i++) {
ZYUserInfo zyUserInfo = zyUserInfos.get(i);
zyUserInfo.setSchoolId(Integer.valueOf(schoolId.toString()));
}
List<String> applications = universitiesCollegesJurisdictionExperimentalSystemService.getAllApplicationIdBySchoolId(schoolId);
SubsystemUserUtil.subsystemUserCreate(zyUserInfos, applications);
platformService.clearDictCache();
} catch (IllegalArgumentException exception) {
return JsonResult.failMessage(exception.getMessage()).setCode(DIY_ERROR.getCode());

@ -471,26 +471,27 @@ public class StudentTeacherSystemUseLogAnalysisController extends BaseController
*/
@GetMapping(MODEL + "/applicationUseLogsAnalysisExport.json")
@ResponseBody
@ApiOperation("院校使用日志 导出")
@ApiOperation("院校使用日志 导出*****")
public String applicationUseLogsAnalysisExport(SystemUseLogsAnalysisDTO condition, @SCoreUser CoreUser coreUser) throws IOException {
Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
if (ObjectUtil.isNotEmpty(condition.getStartDayTime())){
condition.setStartDayTime(DateUtil.beginOfDay(condition.getStartDayTime()));
}
if (ObjectUtil.isNotEmpty(condition.getEndDayTime())){
condition.setEndDayTime(DateUtil.endOfDay(condition.getEndDayTime()));
}
condition.setPage(1); condition.setLimit(Integer.MAX_VALUE + 0L);
PageQuery<SystemUseLogsAnalysisVO> page = studentTeacherSystemUseLogAnalysisService.applicationUseLogsAnalysis(condition.getPageQuery());
page.getList().forEach(item ->{
item.setUseTime(DateUtil.formatDateTime(item.getDayTime()));
});
String filename = StrUtil.format("院校使用日志导出{}.xlsx", System.currentTimeMillis());
write(response, filename, "Sheet1", SystemUseLogsAnalysisVO.class, page.getList());
return null;
// Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
//
// if (ObjectUtil.isNotEmpty(condition.getStartDayTime())){
// condition.setStartDayTime(DateUtil.beginOfDay(condition.getStartDayTime()));
// }
//
// if (ObjectUtil.isNotEmpty(condition.getEndDayTime())){
// condition.setEndDayTime(DateUtil.endOfDay(condition.getEndDayTime()));
// }
//
// condition.setPage(1); condition.setLimit(Integer.MAX_VALUE + 0L);
// PageQuery<SystemUseLogsAnalysisVO> page = studentTeacherSystemUseLogAnalysisService.applicationUseLogsAnalysis(condition.getPageQuery());
//
// page.getList().forEach(item ->{
// item.setUseTime(DateUtil.formatDateTime(item.getDayTime()));
// });
// String filename = StrUtil.format("院校使用日志导出{}.xlsx", System.currentTimeMillis());
// write(response, filename, "Sheet1", SystemUseLogsAnalysisVO.class, page.getList());
// return null;
}
}

@ -1134,6 +1134,7 @@ public class TeacherController extends BaseController {
ZYUserInfo info = new
ZYUserInfo(
coreUserService.getUserInfoByUsername(teacher.getTeacherJobNumber()));
info.setSchoolId(Integer.valueOf(String.valueOf(schoolId)));
List<String> applications = universitiesCollegesJurisdictionExperimentalSystemService.getAllApplicationIdBySchoolId(schoolId);
try {
SubsystemUserUtil.subsystemUserCreate(Arrays.asList(info), applications);

@ -0,0 +1,21 @@
package com.ibeetl.jlw.web.api;
import com.ibeetl.jlw.service.UniversitiesCollegesJurisdictionExperimentalSystemService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "对外开放接口-获取子系统LOGO")
@RestController
@RequestMapping("getSonSystemLogo")
public class SonSystemLogoController {
@PostMapping("getLogo")
public void getAllByQuery(String schoolId,String systemName){
//根据schoolId和systemTypeId 查询第一条项目标志 并返回对象
}
}

@ -31,6 +31,13 @@ spring.datasource.dynamic.datasource.master.username=tianze-pro
spring.datasource.dynamic.datasource.master.password=xYR3A4EXCWxkHmNX
spring.datasource.dynamic.datasource.master.hikari.max-lifetime=60000
# master
#spring.datasource.dynamic.datasource.master.driverClassName=com.mysql.cj.jdbc.Driver
#spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/tianze-pro?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
#spring.datasource.dynamic.datasource.master.username=root
#spring.datasource.dynamic.datasource.master.password=tz123456
#spring.datasource.dynamic.datasource.master.hikari.max-lifetime=60000
# ds2
#spring.datasource.dynamic.datasource.ds2.driverClassName=com.mysql.cj.jdbc.Driver
#spring.datasource.dynamic.datasource.ds2.url=jdbc:mysql://124.223.219.235:3306/tzcj?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true
@ -77,6 +84,7 @@ dynamic.beetlsql.cs.dynamicConnectionSource = master,ds2
#\u6559\u5E08\u7AEF\u548C\u5B66\u751F\u7AEF\u7684\u767B\u5F55\u5730\u5740
student.teacher.url = http://localhost:8080/
#student.teacher.url = http://localhost:8081/
#\u8BD5\u5377\u5230\u4EA4\u5377\u65F6\u95F4\u540E\uFF0C\u5EF6\u8FDF\u4EA4\u5377\u7684\u6BEB\u79D2\u6570
delay.submit.out-time=1800000

@ -234,6 +234,9 @@ queryByConditionQuery
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(questionLogAddType)){
and t.question_log_add_type=#questionLogAddType#
@}
@ -654,6 +657,13 @@ getValuesByQuery
and find_in_set(t.user_id,#userIdPlural#)
@}
selectByIdOne
===
select t.*
from general_question_log t
where
t.general_question_log_id =#generalQuestionLogId#
getValuesByQueryNotWithPermission
===
@ -771,8 +781,6 @@ getValuesByQueryNotWithPermission
@}
getExcelValues
===

@ -125,7 +125,7 @@
elem: '#srTime'
, type: 'date'
, range: '~'
, value: [Common.getNowDate(-365 / 2) + ' ~ ' + Common.getNowDate(1)]
, value: [Common.getNowDate(-2) + ' ~ ' + Common.getNowDate(1)]
, trigger: 'click'
});
@ -139,7 +139,7 @@
elem: '#test5'
, type: 'date'
, range: '~'
, value: [Common.getNowDate(-365 / 2) + ' ~ ' + Common.getNowDate(1)]
, value: [Common.getNowDate(-2 / 2) + ' ~ ' + Common.getNowDate(1)]
, trigger: 'click'
});

Loading…
Cancel
Save