Commit f32416d5 authored by zhangqingle's avatar zhangqingle

Merge remote-tracking branch 'origin/meiteng' into zql

parents 3f02fb59 f5ce0064
......@@ -144,8 +144,8 @@ public interface BChapterRepository extends BaseMapper<BChapter> {
"AND t1.del_flag = 0 and t1.flag = 1</script>")
List<StuScoreDTO> selectScoreListBySlIdAndStuId(@Param("slid") String slid, @Param("stuid") String stuid);
// @Delete("<script>delete from b_r_student_chapter where chapter_id = #{chapterId}</script>")
// int deleteStudentChapter(String chapterId);
@Delete("<script>delete from b_r_student_chapter where chapter_id = #{chapterId}</script>")
int deleteStudentChapter(String chapterId);
/**
* 根据章节id和学生id获取主键
......@@ -409,5 +409,19 @@ public interface BChapterRepository extends BaseMapper<BChapter> {
@Select("select count(0) from b_chapter where lesson_id = #{lessonId} and chapter_level = 2 and del_flag != 1 and flag =1")
int getlessonHours(@Param("lessonId") String lessonId);
/**
* 获取当前课程或章下所有的章节id
* @return
*/
@Select("select business_id from b_chapter where pid = #{pid} and lesson_id = #{lessonId} and del_flag != 1 and flag = 1 ORDER BY sort ")
List<String> getChapterIds(@Param("pid")String pid,@Param("lessonId")String lessonId);
@Update("<script>" +
"<foreach collection=\"map\" item=\"item\" separator=\";\">" +
"update b_chapter set sort = #{item.sort} where business_id = #{item.businessId}"+
"</foreach>" +
"</script>")
int updateSort(@Param("map") List<Map<String,Object>> map);
}
......@@ -3,6 +3,7 @@ package org.rcisoft.business.bchapter.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
......@@ -154,22 +155,17 @@ public class BChapterServiceImpl implements BChapterService {
if (bLesson == null){
throw new ServiceException(ResultServiceEnums.LESSON_NOT_EXISTA);
}
// //判断课程是否被关闭
// if ("4".equals(bLesson.getReleaseState())){
// throw new ServiceException(ResultServiceEnums.LESSON_CLOSED);
// }
//判断课程是否被关闭
if ("4".equals(bLesson.getReleaseState())){
throw new ServiceException(ResultServiceEnums.LESSON_CLOSED);
}
//判断该登录人是否可见该课程
List<String> ids = Arrays.asList(new String[]{curUser.getUserId()});
MTUserGetsReqDTO mtUserGetsReqDTO = new MTUserGetsReqDTO();
mtUserGetsReqDTO.setCorpId(curUser.getCorpId());
mtUserGetsReqDTO.setIds(ids);
List<MTUserInfoRspDTO> mtUserInfoRspDTOList = mtCotactApiRequestClient.userGets(mtUserGetsReqDTO);
List<String> departs = new ArrayList<>();
if (mtUserInfoRspDTOList != null && mtUserInfoRspDTOList.size() > 0){
departs = QueryDepart.queryDepart(mtUserInfoRspDTOList);
departs.removeAll(Collections.singleton(null));
departs.removeAll(Collections.singleton(""));
}
List<String> departs = QueryDepart.queryDepart(mtUserInfoRspDTOList);
int result = bLessonRepository.isInViewRange(curUser,lessonId,departs);
if (result < 1){
throw new ServiceException(ResultServiceEnums.NO_ACCESS);
......@@ -300,19 +296,18 @@ public class BChapterServiceImpl implements BChapterService {
UserUtil.setCurrentMergeOperation(model);
bFile.setChapterId(model.getBusinessId());
UserUtil.setCurrentMergeOperation(bFile);
model.setCourseTime(dto.getFileTime());
model.setIsTest(dto.getType());
if (StringUtils.isNotEmpty(dto.getFileTime()) && dto.getFileTime().contains(".")) {
model.setCourseTime(dto.getFileTime().substring(0, dto.getFileTime().lastIndexOf(".")));
bFile.setFileTime(dto.getFileTime().substring(0, dto.getFileTime().lastIndexOf(".")));
}
//先判断该课程的第一节是否是本节 更新blesson表中course_time字段
String cid = bChapterRepository.getFirstChapter(model.getLessonId());
log.debug("--------------------------------第一节id--------:"+cid);
log.debug("------------------------------当前章节id--------:"+model.getBusinessId());
if (model.getBusinessId().equals(cid)) {
int linex = bChapterRepository.updateVideoTimeInLesson(model.getCourseTime(), model.getLessonId());
log.debug("----------------------更新lesson表中第一节时长--"+(linex==0?"失败":"成功")+"----------");
log.debug("--------------------------时长-----------:"+model.getCourseTime());
bChapterRepository.updateVideoTimeInLesson(model.getCourseTime(), model.getLessonId());
}
line = bChapterRepository.updateByPrimaryKeySelective(model);
......@@ -339,7 +334,6 @@ public class BChapterServiceImpl implements BChapterService {
bLessonPersonRepository.updateByPrimaryKeySelective(lessonPerson);
studentChapter.setProgress(0);
brStudentChapterRepository.updateById(studentChapter);
}
}
}
......@@ -388,6 +382,14 @@ public class BChapterServiceImpl implements BChapterService {
if (learnProgress > 0 && newLearnProgress < 0.01){
newLearnProgress = 0.01f;
}
if ("2".equals(lessonPerson.getIsFinish()) && newLearnProgress < 1){
lessonPerson.setIsFinish("1");
}
if (newLearnProgress >= 1){
newLearnProgress = 1;
lessonPerson.setIsFinish("2");
}
lessonPerson.setLearnProgress(newLearnProgress*100+"%");
bLessonPersonRepository.updateByPrimaryKeySelective(lessonPerson);
}
......@@ -404,21 +406,15 @@ public class BChapterServiceImpl implements BChapterService {
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public PersistModel removeBChapter(String id,String userId) {
BChapter bChapter = bChapterRepository.selectByPrimaryKey(id);
String lessonId = bChapterRepository.getLessonIdBychaperId(id);
if (bChapter == null)
throw new ServiceException(ResultServiceEnums.CHAPTER_NOT_EXISTS);
int chapterCount =bChapterRepository.getlessonHours(lessonId);
BLesson bLesson = bLessonRepository.selectByPrimaryKey(lessonId);
if("2".equals(bLesson.getReleaseState()) && chapterCount == 1){
throw new ServiceException(ResultServiceEnums.CHAPTER_ONLY_ONE);
}
List<QueryChapterListResDTO> childList = bChapterRepository.queryBChaptersByPid(id);
boolean hasChild = childList != null && childList.size() > 0;
boolean isChapter = bChapter.getChapterLevel() == ChapterLevelEnum.CHAPTER.getCode();
if (isChapter && hasChild) {
throw new ServiceException(ResultServiceEnums.CHAPTER_HAS_CHILD);
}
String lessonId = bChapterRepository.getLessonIdBychaperId(id);
//获取第一节课的id 与当前id对比
String firstId = bChapterRepository.getFirstChapter(lessonId);
int line = bChapterRepository.removeByPrimaryKey(id);
......@@ -428,13 +424,23 @@ public class BChapterServiceImpl implements BChapterService {
String secondId = bChapterRepository.getFirstChapter(lessonId);
String time = bChapterRepository.getTimeByChapterId(secondId);
//更新到b_lesson 表
bChapterRepository.updateVideoTimeInLesson(time,lessonId);
bChapterRepository.updateCourseTimeForLesson(time,lessonId);
// 更新学生 对应章节总进度
this.updateLessonProgress(lessonId, false);
//删除student_chapter表中数据
bChapterRepository.deleteBStudentChapter(id,userId);
}
//更新表中sort
List<String> chapterIds = bChapterRepository.getChapterIds(bChapter.getPid(),bChapter.getLessonId());
List<Map<String,Object>> params = new ArrayList<>();
for(int i = 0 ;i < chapterIds.size(); i++){
Map<String,Object> map = new HashedMap();
map.put("businessId",chapterIds.get(i));
map.put("sort",i+1);
params.add(map);
}
//更新表中sort
bChapterRepository.updateSort(params);
return new PersistModel(line);
}
......
......@@ -9,8 +9,8 @@ public class StudentTrackingChartDTO {
@ApiModelProperty(value = "课程Id",required = false)
private String lessonId;
// @ApiModelProperty(value = "课程来源(是否为指派,0自选(选修) 1指派(必修))",required = false)
// private String isAppoint;
@ApiModelProperty(value = "课程来源(是否为指派,0自选(选修) 1指派(必修))",required = false)
private String isAppoint;
private String userId;
......
......@@ -183,15 +183,17 @@ public class SysRoleServiceImpl implements SysRoleService {
@Override
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
public int addAdminRoleMenuUser(CurUser curUser) {
String privilege = "M-LESSON-MANAGE,F-ADD-LESSON,F-UPDATE-LESSON,F-CLOSE-LESSON,F-DELETE-LESSON,M-TRAIN-MANAGE,F-ADD-TRAIN,F-UPDATE-TRAIN,F-CLOSE-TRAIN,F-DELETE-TRAIN,M-PRESERVE,F-DOWNLOAD-PRESERVE,F-REPRINT-PRESERVE,F-DELETE-PRESERVE,M-UPLOAD,F-DOWNLOAD-UPLOAD,F-REPRINT-UPLOAD,F-DELETE-UPLOAD,M-CTS-B,F-ONLINE,P-ONLINE-ADD,P-ONLINE-UPDATE,P-ONLINE-APPOINT,P-ONLINE-TRACK,P-ONLINE-RECOMMEND,P-ONLINE-CLOSE,P-ONLINE-DEL,F-UNDERLINE,P-UNDER-ADD,P-UNDER-UPDATE,P-UNDER-APPOINT,P-UNDER-TRACK,P-UNDER-RECOMMEND,P-UNDER-CLOSE,P-UNDER-DEL,F-CATEGORY,F-LABEL,F-INTEGRAL-M,P-NULL-2,M-QDB,F-QDB,P-QDB-ADD,P-QDB-UPDATE,P-QDB-DELETE,P-QDB-ANALYSIS,F-QES,P-QES-ADD,P-QES-UPDATE,P-QES-DELETE,P-QES-IMPORT,M-PAPER,F-PAPER-CATE,P-PAPER-CATE-ADD,P-PAPER-CATE-UPDATE,P-PAPER-CATE-DELETE,F-PAPER,P-PAPER-ADD,P-PAPER-UPDATE,P-PAPER-DELETE,P-PAPER-CONFIG,P-PAPER-HISTORY-VIEW,P-PAPER-HISTORY-CHECK,M-ANALYSIS,P-ANA-PAPER,P-ANA-EXAM,P-ANA-SCORE,M-SYSTEM,F-MAIN-MANAGE,P-COLUMN,P-BANNER,F-USER-MANAGE,P-STOP-START,P-ROLE-EDIT,P-STATISTICS-VIEW,F-ROLE-MANAGE,P-ROLE-MANAGE,P-OPERATION,P-DATALIMIT";
//主管理员角色id
String mRId = IdGen.uuid();
//初始化角色(新加公司超级管理员)
InitAddAdminDTO initAddAdminDTO = new InitAddAdminDTO();
initAddAdminDTO.setRId(mRId);
initAddAdminDTO.setRName("主管理员");
initAddAdminDTO.setRName("智信主管理员(默认)");
initAddAdminDTO.setRStatus("1");
initAddAdminDTO.setRCreatedate(new Date());
initAddAdminDTO.setRPrivilege("M-LESSON-MANAGE,F-ADD-LESSON,F-UPDATE-LESSON,F-CLOSE-LESSON,F-DELETE-LESSON,M-TRAIN-MANAGE,F-ADD-TRAIN,F-UPDATE-TRAIN,F-CLOSE-TRAIN,F-DELETE-TRAIN,M-PRESERVE,F-DOWNLOAD-PRESERVE,F-REPRINT-PRESERVE,F-DELETE-PRESERVE,M-UPLOAD,F-DOWNLOAD-UPLOAD,F-REPRINT-UPLOAD,F-DELETE-UPLOAD,M-CTS-B,F-ONLINE,P-ONLINE-ADD,P-ONLINE-UPDATE,P-ONLINE-APPOINT,P-ONLINE-TRACK,P-ONLINE-RECOMMEND,P-ONLINE-CLOSE,P-ONLINE-DEL,F-UNDERLINE,P-UNDER-ADD,P-UNDER-UPDATE,P-UNDER-NULL,F-CATEGORY,F-LABEL,F-INTEGRAL-M,P-NULL-2,M-QDB,F-QDB,P-QDB-ADD,P-QDB-UPDATE,P-QDB-DELETE,P-QDB-ANALYSIS,F-QES,P-QES-ADD,P-QES-UPDATE,P-QES-DELETE,P-QES-IMPORT,M-PAPER,F-PAPER-CATE,P-PAPER-CATE-ADD,P-PAPER-CATE-UPDATE,P-PAPER-CATE-DELETE,F-PAPER,P-PAPER-ADD,P-PAPER-UPDATE,P-PAPER-DELETE,P-PAPER-CONFIG,P-PAPER-HISTORY-VIEW,P-PAPER-HISTORY-CHECK,M-ANALYSIS,P-ANA-PAPER,P-ANA-EXAM,P-ANA-SCORE,M-SYSTEM,F-MAIN-MANAGE,P-COLUMN,P-BANNER,F-USER-MANAGE,P-STOP-START,P-ROLE-EDIT,P-STATISTICS-VIEW,F-ROLE-MANAGE,P-ROLE-MANAGE,P-OPERATION,P-DATALIMIT");
initAddAdminDTO.setRPrivilege(privilege);
initAddAdminDTO.setType("1");
initAddAdminDTO.setCorpId(curUser.getCorpId());
initAddAdminDTO.setRType("0");
......@@ -214,13 +216,13 @@ public class SysRoleServiceImpl implements SysRoleService {
//子管理员角色id
String sRId = IdGen.uuid();
//初始化角色(新加公司超级管理员)
//初始化角色(新加公司管理员)
InitAddAdminDTO initAddSubAdminDTO = new InitAddAdminDTO();
initAddSubAdminDTO.setRId(sRId);
initAddSubAdminDTO.setRName("子管理员");
initAddSubAdminDTO.setRName("智信子管理员(默认)");
initAddSubAdminDTO.setRStatus("1");
initAddSubAdminDTO.setRCreatedate(new Date());
initAddSubAdminDTO.setRPrivilege("M-LESSON-MANAGE,F-ADD-LESSON,F-UPDATE-LESSON,F-CLOSE-LESSON,F-DELETE-LESSON,M-TRAIN-MANAGE,F-ADD-TRAIN,F-UPDATE-TRAIN,F-CLOSE-TRAIN,F-DELETE-TRAIN,M-PRESERVE,F-DOWNLOAD-PRESERVE,F-REPRINT-PRESERVE,F-DELETE-PRESERVE,M-UPLOAD,F-DOWNLOAD-UPLOAD,F-REPRINT-UPLOAD,F-DELETE-UPLOAD,M-CTS-B,F-ONLINE,P-ONLINE-ADD,P-ONLINE-UPDATE,P-ONLINE-APPOINT,P-ONLINE-TRACK,P-ONLINE-RECOMMEND,P-ONLINE-CLOSE,P-ONLINE-DEL,F-UNDERLINE,P-UNDER-ADD,P-UNDER-UPDATE,P-UNDER-NULL,F-CATEGORY,F-LABEL,F-INTEGRAL-M,P-NULL-2,M-QDB,F-QDB,P-QDB-ADD,P-QDB-UPDATE,P-QDB-DELETE,P-QDB-ANALYSIS,F-QES,P-QES-ADD,P-QES-UPDATE,P-QES-DELETE,P-QES-IMPORT,M-PAPER,F-PAPER-CATE,P-PAPER-CATE-ADD,P-PAPER-CATE-UPDATE,P-PAPER-CATE-DELETE,F-PAPER,P-PAPER-ADD,P-PAPER-UPDATE,P-PAPER-DELETE,P-PAPER-CONFIG,P-PAPER-HISTORY-VIEW,P-PAPER-HISTORY-CHECK,M-ANALYSIS,P-ANA-PAPER,P-ANA-EXAM,P-ANA-SCORE,M-SYSTEM,F-MAIN-MANAGE,P-COLUMN,P-BANNER,F-USER-MANAGE,P-STOP-START,P-ROLE-EDIT,P-STATISTICS-VIEW,F-ROLE-MANAGE,P-ROLE-MANAGE,P-OPERATION,P-DATALIMIT");
initAddSubAdminDTO.setRPrivilege(privilege);
initAddSubAdminDTO.setType("1");
initAddSubAdminDTO.setCorpId(curUser.getCorpId());
initAddSubAdminDTO.setRType("1");
......@@ -228,6 +230,38 @@ public class SysRoleServiceImpl implements SysRoleService {
// List<String> menuIds = new ArrayList<String>(MenuMap.menuMap.values());
List<RoleMenuDTO> subRoleMenuDTOs = setRoleMenu(menuIds,sRId);
//添加默认 讲师、学生 权限
String teacher = IdGen.uuid();
InitAddAdminDTO initTeacherDTO = new InitAddAdminDTO();
initTeacherDTO.setRId(teacher);
initTeacherDTO.setRName("讲师(默认)");
initTeacherDTO.setRStatus("1");
initTeacherDTO.setRCreatedate(new Date());
initTeacherDTO.setRPrivilege("M-LESSON-MANAGE,F-ADD-LESSON,F-UPDATE-LESSON,F-CLOSE-LESSON,F-DELETE-LESSON,M-TRAIN-MANAGE,F-ADD-TRAIN,F-UPDATE-TRAIN,F-CLOSE-TRAIN,F-DELETE-TRAIN,M-UPLOAD,F-DOWNLOAD-UPLOAD,F-REPRINT-UPLOAD,F-DELETE-UPLOAD,M-CTS-B,F-ONLINE,P-ONLINE-ADD,P-ONLINE-UPDATE,P-ONLINE-APPOINT,P-ONLINE-TRACK,P-ONLINE-RECOMMEND,P-ONLINE-CLOSE,P-ONLINE-DEL,F-UNDERLINE,P-UNDER-ADD,P-UNDER-UPDATE,P-UNDER-APPOINT,P-UNDER-TRACK,P-UNDER-RECOMMEND,P-UNDER-CLOSE,P-UNDER-DEL");
initTeacherDTO.setType("0");
initTeacherDTO.setCorpId(curUser.getCorpId());
initTeacherDTO.setRType("1");
List<String> teacherMenu = new ArrayList<String>();
teacherMenu.add("0001");
teacherMenu.add("0011");
teacherMenu.add("0013");
List<RoleMenuDTO> teacherMenuDTOs = setRoleMenu(teacherMenu,teacher);
sysRoleRepository.addAdminRole(initTeacherDTO);
sysRoleRepository.addRoleMenu(teacherMenuDTOs);
String student = IdGen.uuid();
InitAddAdminDTO initStudentDTO = new InitAddAdminDTO();
initStudentDTO.setRId(student);
initStudentDTO.setRName("学员(默认)");
initStudentDTO.setRStatus("1");
initStudentDTO.setRCreatedate(new Date());
initStudentDTO.setRPrivilege("M-PRESERVE,F-DOWNLOAD-PRESERVE,F-REPRINT-PRESERVE,F-DELETE-PRESERVE");
initStudentDTO.setType("0");
initStudentDTO.setCorpId(curUser.getCorpId());
initStudentDTO.setRType("1");
//学院默认没有后台权限,不用加菜单
sysRoleRepository.addAdminRole(initStudentDTO);
//将子管理员 插入tm_admin_role、s_role_menu、
sysRoleRepository.addAdminRole(initAddSubAdminDTO);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment