mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-20 00:06:53 +08:00
Merge branch 'pre-master' into 'master'
Pre master See merge request !2
This commit is contained in:
@@ -174,13 +174,33 @@ public class CourseFileApi extends ApiBaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//默认是查询自己的课件。
|
//默认是查询自己的课件。
|
||||||
if (self == null) {
|
// if (self == null) {
|
||||||
self = false;
|
// self = false;
|
||||||
}
|
// }
|
||||||
if (self) {
|
// if (self) {
|
||||||
filters.add(FieldFilters.eq("sysCreateAid", getCurrent().getAccountId()));
|
// filters.add(FieldFilters.eq("sysCreateAid", getCurrent().getAccountId()));
|
||||||
}
|
// }
|
||||||
//
|
//
|
||||||
|
//增加权限的过滤,只要看到自己或有权限的机构的
|
||||||
|
if(TempFilterConfig.Manager_CourseFile_ByOrgIds) {
|
||||||
|
UserOrgIds userOrgIds=outSideDataService.getOrgIds();
|
||||||
|
List<String> orgIds = userOrgIds.getIds();
|
||||||
|
String aid=getCurrent().getAccountId();
|
||||||
|
//如果是超级管理员,就不按机构过滤了
|
||||||
|
boolean isSystemAdmin=false;
|
||||||
|
if(userOrgIds.getPermissions().containsKey(UserOrgIds.IsSystemAdminKey)) {
|
||||||
|
isSystemAdmin=userOrgIds.getPermissions().get(UserOrgIds.IsSystemAdminKey);
|
||||||
|
}
|
||||||
|
if(!isSystemAdmin) {
|
||||||
|
if(!orgIds.isEmpty()){
|
||||||
|
//filters.add(FieldFilters.in("orgId", orgIds));
|
||||||
|
filters.add(FieldFilters.or(FieldFilters.eq("sysCreateAid", aid),FieldFilters.in("orgId", orgIds)));
|
||||||
|
}else {
|
||||||
|
filters.add(FieldFilters.eq("sysCreateAid", aid));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
PageList<CourseFile> courseFilePageList = courseFileService.queryPage(pager.getPageIndex(), pager.getPageSize(), OrderCondition.desc("id"), filters);
|
PageList<CourseFile> courseFilePageList = courseFileService.queryPage(pager.getPageIndex(), pager.getPageSize(), OrderCondition.desc("id"), filters);
|
||||||
return success(courseFilePageList);
|
return success(courseFilePageList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -259,6 +259,8 @@ public class CourseServiceImpl implements ICourseService {
|
|||||||
if(dto.getIsSystemAdmin()==null || !dto.getIsSystemAdmin()) {
|
if(dto.getIsSystemAdmin()==null || !dto.getIsSystemAdmin()) {
|
||||||
|
|
||||||
if(StringUtil.isNotBlank(dto.getOrgIds())){
|
if(StringUtil.isNotBlank(dto.getOrgIds())){
|
||||||
|
log.error("【"+dto.getOrgAid()+"】 按机构过滤和自己创建的课程");
|
||||||
|
log.error(" orgids "+dto.getOrgIds());
|
||||||
if(dto.getOrgIds().contains(",")){
|
if(dto.getOrgIds().contains(",")){
|
||||||
String[] split = dto.getOrgIds().split(",");
|
String[] split = dto.getOrgIds().split(",");
|
||||||
List<String> strings = Arrays.asList(split);
|
List<String> strings = Arrays.asList(split);
|
||||||
@@ -267,9 +269,12 @@ public class CourseServiceImpl implements ICourseService {
|
|||||||
filters.add(FieldFilters.or(FieldFilters.eq("orgId",dto.getOrgIds()),FieldFilters.eq("sysCreateAid",dto.getOrgAid())));
|
filters.add(FieldFilters.or(FieldFilters.eq("orgId",dto.getOrgIds()),FieldFilters.eq("sysCreateAid",dto.getOrgAid())));
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
|
log.error("【"+dto.getOrgAid()+"】 机构ids没有, 只查询自己创建的课程");
|
||||||
//没有机构权限,只能查出自己创建的
|
//没有机构权限,只能查出自己创建的
|
||||||
filters.add(FieldFilters.eq("sysCreateAid",dto.getOrgAid()));
|
filters.add(FieldFilters.eq("sysCreateAid",dto.getOrgAid()));
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
log.error("【"+dto.getOrgAid()+"】IsSystemAdmin is true 不过机构过滤,查询全部");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -230,10 +230,11 @@ public class StudySignupApi extends ApiBaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 只有未审核通过的才可以删除
|
* 只有未审核通过的才可以删除,因为当前系统中无未审核的,所以此删除不会发生
|
||||||
* @param signup
|
* @param signup
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@PostMapping("/delete")
|
@PostMapping("/delete")
|
||||||
public JsonResponse<Boolean> delete(String id){
|
public JsonResponse<Boolean> delete(String id){
|
||||||
if(StringUtils.isBlank(id)){
|
if(StringUtils.isBlank(id)){
|
||||||
@@ -241,8 +242,9 @@ public class StudySignupApi extends ApiBaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
signupService.setDeleted(id);
|
//signupService.setDeleted(id);
|
||||||
return success(true);
|
//return success(true);
|
||||||
|
return error("已通过的报名不能在这里删除");
|
||||||
}catch(Exception e) {
|
}catch(Exception e) {
|
||||||
log.error("删除报名错误",e);
|
log.error("删除报名错误",e);
|
||||||
return error("删除报名失败,请与管理员联系",e.getMessage());
|
return error("删除报名失败,请与管理员联系",e.getMessage());
|
||||||
|
|||||||
@@ -82,8 +82,9 @@ public class StudyCourse extends IdEntity{
|
|||||||
private LocalDateTime addTime;
|
private LocalDateTime addTime;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 开始学习时间
|
* 开始学习时间,报名和学习是一体的,此字段为后续报名学习不致的情况,当前这种情况没有
|
||||||
* */
|
* */
|
||||||
|
@Deprecated
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@Column(name = "start_time")
|
@Column(name = "start_time")
|
||||||
private LocalDateTime startTime;
|
private LocalDateTime startTime;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
import com.xboe.common.OrderCondition;
|
import com.xboe.common.OrderCondition;
|
||||||
import com.xboe.common.PageList;
|
import com.xboe.common.PageList;
|
||||||
import com.xboe.common.beans.KeyValue;
|
import com.xboe.common.beans.KeyValue;
|
||||||
|
import com.xboe.school.study.entity.StudyCourse;
|
||||||
import com.xboe.school.study.entity.StudySignup;
|
import com.xboe.school.study.entity.StudySignup;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -46,7 +47,7 @@ public interface IStudySignupService {
|
|||||||
* 管理员添加报名
|
* 管理员添加报名
|
||||||
* @param signup
|
* @param signup
|
||||||
*/
|
*/
|
||||||
void addSignup(StudySignup signup);
|
StudyCourse addSignup(StudySignup signup);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除报名,只有未审核过的才可以删除
|
* 删除报名,只有未审核过的才可以删除
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ import java.time.LocalDate;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
@@ -42,6 +40,7 @@ import com.xboe.school.study.entity.StudyCourse;
|
|||||||
import com.xboe.school.study.entity.StudyCourseItem;
|
import com.xboe.school.study.entity.StudyCourseItem;
|
||||||
import com.xboe.school.study.entity.StudySignup;
|
import com.xboe.school.study.entity.StudySignup;
|
||||||
import com.xboe.school.study.service.IStudyCourseService;
|
import com.xboe.school.study.service.IStudyCourseService;
|
||||||
|
import com.xboe.school.study.service.IStudySignupService;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@@ -53,6 +52,9 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
|||||||
@Autowired
|
@Autowired
|
||||||
StudySignupDao signupDao;
|
StudySignupDao signupDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
IStudySignupService signupService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
StudyCourseDao studyCourseDao;
|
StudyCourseDao studyCourseDao;
|
||||||
|
|
||||||
@@ -77,9 +79,6 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
|||||||
@Autowired
|
@Autowired
|
||||||
StudyScoreDao studyScoreDao;
|
StudyScoreDao studyScoreDao;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
StudySignupDao studySignupDao;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
StudyTimeDao studyTimeDao;
|
StudyTimeDao studyTimeDao;
|
||||||
|
|
||||||
@@ -87,7 +86,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
|||||||
CourseDao courseDao;
|
CourseDao courseDao;
|
||||||
|
|
||||||
@Autowired(required = false)
|
@Autowired(required = false)
|
||||||
ICourseStudySearch search;//对ES的处理
|
ICourseStudySearch esSearch;//对ES的处理
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StudyCourse findByCourseIdAndAid(String courseId, String aid) {
|
public StudyCourse findByCourseIdAndAid(String courseId, String aid) {
|
||||||
@@ -278,13 +277,13 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
|||||||
//删除课程学习时长记录
|
//删除课程学习时长记录
|
||||||
studyTimeDao.deleteByFilter(FieldFilters.eq("studyId",id));
|
studyTimeDao.deleteByFilter(FieldFilters.eq("studyId",id));
|
||||||
//删除课程报名信息
|
//删除课程报名信息
|
||||||
studySignupDao.deleteByFilter(FieldFilters.and(FieldFilters.eq("courseId",courseId),FieldFilters.eq("aid",aid)));
|
signupDao.deleteByFilter(FieldFilters.and(FieldFilters.eq("courseId",courseId),FieldFilters.eq("aid",aid)));
|
||||||
//修改课程学习人数
|
//修改课程学习人数
|
||||||
courseDao.updateMultiFieldById(courseId, UpdateBuilder.create("studys", "studys-1", FieldUpdateType.EXPRESSION));
|
courseDao.updateMultiFieldById(courseId, UpdateBuilder.create("studys", "studys-1", FieldUpdateType.EXPRESSION));
|
||||||
//同步删除ES的处理
|
//同步删除ES的处理
|
||||||
if(search!=null) {
|
if(esSearch!=null) {
|
||||||
//search.removeByStudyId(id);
|
esSearch.removeByStudyId(id);
|
||||||
log.info("删除,同步操作ES的删除未启用,如果确认已配置ES,请启用");
|
log.info("删除,同步操作ES的课程报名学习记录");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -641,37 +640,9 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
|||||||
public StudyCourse autoSignup(StudySignup signup) {
|
public StudyCourse autoSignup(StudySignup signup) {
|
||||||
|
|
||||||
signup.setSignType(StudySignup.SIGNTYPE_SELF);
|
signup.setSignType(StudySignup.SIGNTYPE_SELF);
|
||||||
if(signup.getStatus()==null) {
|
StudyCourse sc=signupService.addSignup(signup);
|
||||||
//如果未指定状态,就设置审核通过
|
|
||||||
signup.setStatus(StudySignup.STATUS_PASS);
|
|
||||||
signup.setAuditType(StudySignup.AUDITTYPE_AUTO);
|
|
||||||
signup.setAuditInfo("系统自动审核");
|
|
||||||
signup.setAuditUser("");
|
|
||||||
}
|
|
||||||
signupDao.save(signup);
|
|
||||||
//添加到课程学习
|
|
||||||
LocalDateTime now=LocalDateTime.now();
|
|
||||||
|
|
||||||
StudyCourse sc=new StudyCourse();
|
|
||||||
sc.setAddTime(LocalDateTime.now());
|
|
||||||
sc.setAid(signup.getAid());
|
|
||||||
sc.setAname(signup.getName());
|
|
||||||
sc.setCourseId(signup.getCourseId());
|
|
||||||
sc.setCourseName(signup.getCourseName());
|
|
||||||
sc.setCourseType(signup.getCourseType());//课程类型没有带过来
|
|
||||||
sc.setFinishTime(null);
|
|
||||||
sc.setLastScore(0f);
|
|
||||||
sc.setProgress(0f);
|
|
||||||
sc.setSource(signup.getAuditType());//来源方式,和报名类型一致
|
|
||||||
sc.setStatus(StudyCourse.STATUS_NOSTUDY);
|
|
||||||
sc.setStatusTime(now);
|
|
||||||
sc.setTotalDuration(0);
|
|
||||||
sc.setLastTime(sc.getAddTime());
|
|
||||||
studyCourseDao.save(sc);
|
|
||||||
signup.setStudyId(sc.getId());
|
|
||||||
//更新课程学习人数
|
//更新课程学习人数
|
||||||
courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
||||||
|
|
||||||
return sc;
|
return sc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.xboe.school.study.service.impl;
|
package com.xboe.school.study.service.impl;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.ZoneOffset;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
@@ -17,12 +19,17 @@ import com.xboe.core.orm.FieldUpdateType;
|
|||||||
import com.xboe.core.orm.QueryBuilder;
|
import com.xboe.core.orm.QueryBuilder;
|
||||||
import com.xboe.core.orm.UpdateBuilder;
|
import com.xboe.core.orm.UpdateBuilder;
|
||||||
import com.xboe.module.course.dao.CourseDao;
|
import com.xboe.module.course.dao.CourseDao;
|
||||||
|
import com.xboe.module.course.dto.CourseStudyDto;
|
||||||
|
import com.xboe.module.course.service.ICourseStudySearch;
|
||||||
import com.xboe.school.study.dao.StudyCourseDao;
|
import com.xboe.school.study.dao.StudyCourseDao;
|
||||||
import com.xboe.school.study.dao.StudySignupDao;
|
import com.xboe.school.study.dao.StudySignupDao;
|
||||||
import com.xboe.school.study.entity.StudyCourse;
|
import com.xboe.school.study.entity.StudyCourse;
|
||||||
import com.xboe.school.study.entity.StudySignup;
|
import com.xboe.school.study.entity.StudySignup;
|
||||||
import com.xboe.school.study.service.IStudySignupService;
|
import com.xboe.school.study.service.IStudySignupService;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@Transactional
|
@Transactional
|
||||||
public class StudySignupServiceImpl implements IStudySignupService{
|
public class StudySignupServiceImpl implements IStudySignupService{
|
||||||
@@ -33,47 +40,25 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
|||||||
@Autowired
|
@Autowired
|
||||||
StudyCourseDao studyCourseDao;
|
StudyCourseDao studyCourseDao;
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
ICourseStudySearch esSearch;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
CourseDao courseDao;
|
CourseDao courseDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void selfSignup(StudySignup signup) {
|
public void selfSignup(StudySignup signup) {
|
||||||
signup.setSignType(StudySignup.SIGNTYPE_SELF);
|
signup.setSignType(StudySignup.SIGNTYPE_SELF);
|
||||||
if(signup.getStatus()==null) {
|
this.addSignup(signup);
|
||||||
//如果未指定状态,就设置审核通过
|
|
||||||
signup.setStatus(StudySignup.STATUS_PASS);
|
|
||||||
signup.setAuditType(StudySignup.AUDITTYPE_AUTO);
|
|
||||||
signup.setAuditInfo("系统自动审核");
|
|
||||||
signup.setAuditUser("");
|
|
||||||
}
|
|
||||||
signupDao.save(signup);
|
|
||||||
//添加到课程学习
|
|
||||||
LocalDateTime now=LocalDateTime.now();
|
|
||||||
|
|
||||||
StudyCourse sc=new StudyCourse();
|
|
||||||
sc.setAddTime(LocalDateTime.now());
|
|
||||||
sc.setAid(signup.getAid());
|
|
||||||
sc.setAname(signup.getName());
|
|
||||||
sc.setCourseId(signup.getCourseId());
|
|
||||||
sc.setCourseName(signup.getCourseName());
|
|
||||||
sc.setCourseType(signup.getCourseType());//课程类型没有带过来
|
|
||||||
sc.setFinishTime(null);
|
|
||||||
sc.setLastScore(0f);
|
|
||||||
sc.setProgress(0f);
|
|
||||||
sc.setSource(signup.getAuditType());//来源方式,和报名类型一致
|
|
||||||
sc.setStatus(StudyCourse.STATUS_NOSTUDY);
|
|
||||||
sc.setStatusTime(now);
|
|
||||||
sc.setTotalDuration(0);
|
|
||||||
sc.setLastTime(sc.getAddTime());
|
|
||||||
studyCourseDao.save(sc);
|
|
||||||
signup.setStudyId(sc.getId());
|
|
||||||
//更新课程学习人数
|
//更新课程学习人数
|
||||||
courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addSignup(StudySignup signup) {
|
public StudyCourse addSignup(StudySignup signup) {
|
||||||
signup.setSignType(StudySignup.SIGNTYPE_ADD);
|
if(signup.getSignType()==null) {
|
||||||
|
signup.setSignType(StudySignup.SIGNTYPE_ADD);
|
||||||
|
}
|
||||||
if(signup.getStatus()==null) {
|
if(signup.getStatus()==null) {
|
||||||
//如果未指定状态,就设置审核通过
|
//如果未指定状态,就设置审核通过
|
||||||
signup.setStatus(StudySignup.STATUS_PASS);
|
signup.setStatus(StudySignup.STATUS_PASS);
|
||||||
@@ -101,6 +86,34 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
|||||||
sc.setLastTime(sc.getAddTime());
|
sc.setLastTime(sc.getAddTime());
|
||||||
sc.setTotalDuration(0);
|
sc.setTotalDuration(0);
|
||||||
studyCourseDao.save(sc);
|
studyCourseDao.save(sc);
|
||||||
|
signup.setStudyId(sc.getId());
|
||||||
|
//发布到ES
|
||||||
|
if(esSearch!=null) {
|
||||||
|
CourseStudyDto dto=new CourseStudyDto();
|
||||||
|
dto.setId(sc.getId());
|
||||||
|
dto.setAccountId(sc.getAid());
|
||||||
|
dto.setCourseId(sc.getCourseId());
|
||||||
|
dto.setCourseImage(sc.getCourseImage());
|
||||||
|
dto.setCourseName(sc.getCourseName());
|
||||||
|
dto.setCourseType(sc.getCourseType());
|
||||||
|
dto.setProgress(sc.getProgress()==null? 0:sc.getProgress().intValue());
|
||||||
|
dto.setSource(2);//固定值,新系统
|
||||||
|
//如果开始时间没有,就使用添加时间
|
||||||
|
if(sc.getStartTime()!=null) {
|
||||||
|
dto.setStartTime(sc.getStartTime().toEpochSecond(ZoneOffset.of("+8")));
|
||||||
|
}else {
|
||||||
|
dto.setStartTime(sc.getAddTime().toEpochSecond(ZoneOffset.of("+8")));
|
||||||
|
}
|
||||||
|
dto.setStatus(sc.getStatus());
|
||||||
|
try {
|
||||||
|
esSearch.publishOrUpdate(dto, null);
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("ES发布报名课程学习【"+sc.getAname()+","+sc.getCourseName()+"】失败",e);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sc;
|
||||||
//courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
//courseDao.updateMultiFieldById(signup.getCourseId(),UpdateBuilder.create("studys", "studys+1",FieldUpdateType.EXPRESSION));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +201,6 @@ public class StudySignupServiceImpl implements IStudySignupService{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setDeleted(String id) {
|
public void setDeleted(String id) {
|
||||||
|
|
||||||
signupDao.setDeleted(id);
|
signupDao.setDeleted(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user