|
@@ -286,14 +286,17 @@ public class ThemeLogicImpl implements ThemeLogic {
|
|
}
|
|
}
|
|
|
|
|
|
private void checkCourseViewAuth(Long userId, ThemeDetailVO themeDetailVO) {
|
|
private void checkCourseViewAuth(Long userId, ThemeDetailVO themeDetailVO) {
|
|
- User2Theme user2Theme = user2ThemeService.findByUserIdAndThemeId(userId, themeDetailVO.getId());
|
|
|
|
- if(user2Theme == null){
|
|
|
|
|
|
+ List<User2Theme> user2ThemeList = user2ThemeService.findAllByUserIdAndThemeId(userId, themeDetailVO.getId());
|
|
|
|
+ if(user2ThemeList.size() == 0){
|
|
throw new HttpForbiddenException("当前用户没有查看此课程的权限");
|
|
throw new HttpForbiddenException("当前用户没有查看此课程的权限");
|
|
}
|
|
}
|
|
- if(user2Theme == null || !user2Theme.getOperation().equals("*")){
|
|
|
|
- themeDetailVO.setCanEdit(false);
|
|
|
|
- }else{
|
|
|
|
- themeDetailVO.setCanEdit(true);
|
|
|
|
|
|
+ themeDetailVO.setCanEdit(false);
|
|
|
|
+ for (User2Theme user2Theme : user2ThemeList){
|
|
|
|
+ System.out.println(user2Theme.getOperation());
|
|
|
|
+ if(user2Theme.getOperation().equals("*")){
|
|
|
|
+ themeDetailVO.setCanEdit(true);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -501,9 +504,9 @@ public class ThemeLogicImpl implements ThemeLogic {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public CourseVO getCourse(Long id, Long userId) {
|
|
public CourseVO getCourse(Long id, Long userId) {
|
|
- // 判断教师时候具有查看查看当前课程的权限
|
|
|
|
- User2Theme user2Theme = user2ThemeService.findByUserIdAndThemeId(userId, id);
|
|
|
|
- if(user2Theme == null){
|
|
|
|
|
|
+ // 判断教师是否具有查看查看当前课程的权限
|
|
|
|
+ List<User2Theme> user2ThemeList = user2ThemeService.findAllByUserIdAndThemeId(userId, id);
|
|
|
|
+ if(user2ThemeList.size() == 0){
|
|
throw new HttpForbiddenException("当前用户没有查看此课程的权限");
|
|
throw new HttpForbiddenException("当前用户没有查看此课程的权限");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -536,11 +539,15 @@ public class ThemeLogicImpl implements ThemeLogic {
|
|
}
|
|
}
|
|
CourseVO courseVO = themeVOWrapper.wrapTheme2CourseVO(theme, themeEntityRelations);
|
|
CourseVO courseVO = themeVOWrapper.wrapTheme2CourseVO(theme, themeEntityRelations);
|
|
// 判断是否有权限编辑课程
|
|
// 判断是否有权限编辑课程
|
|
- if(user2Theme == null || !user2Theme.getOperation().equals("*")){
|
|
|
|
- courseVO.getThemeDetailVO().setCanEdit(false);
|
|
|
|
- }else{
|
|
|
|
- courseVO.getThemeDetailVO().setCanEdit(true);
|
|
|
|
|
|
+ courseVO.getThemeDetailVO().setCanEdit(false);
|
|
|
|
+ for (User2Theme user2Theme : user2ThemeList){
|
|
|
|
+ System.out.println(user2Theme.getOperation());
|
|
|
|
+ if(user2Theme.getOperation().equals("*")){
|
|
|
|
+ courseVO.getThemeDetailVO().setCanEdit(true);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
// 获取课程中的实体数量
|
|
// 获取课程中的实体数量
|
|
List<ThemeEntityRelations> entityRelationsList = themeService.getThemeEntityRelations(id);
|
|
List<ThemeEntityRelations> entityRelationsList = themeService.getThemeEntityRelations(id);
|
|
// if(entityRelationsList.size() != 0){
|
|
// if(entityRelationsList.size() != 0){
|
|
@@ -753,7 +760,8 @@ public class ThemeLogicImpl implements ThemeLogic {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void buyTheme(long userId, long themeId) {
|
|
public void buyTheme(long userId, long themeId) {
|
|
- if(user2ThemeService.findByUserIdAndThemeId(userId,themeId)==null)
|
|
|
|
|
|
+// if(user2ThemeService.findByUserIdAndThemeId(userId,themeId) == null)
|
|
|
|
+ if(user2ThemeService.findAllByUserIdAndThemeId(userId,themeId).size()==0)
|
|
user2ThemeService.createRelation(userId,themeId);
|
|
user2ThemeService.createRelation(userId,themeId);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1099,7 +1107,7 @@ public class ThemeLogicImpl implements ThemeLogic {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Boolean authorisedCoursesList(Long teacherId, List<Long> courseIdList){
|
|
public Boolean authorisedCoursesList(Long teacherId, List<Long> courseIdList){
|
|
-// // 判断教师是否具有自定义课程教师的角色
|
|
|
|
|
|
+ // 判断教师是否具有自定义课程教师的角色
|
|
List<Role> roleIdsOfUser = roleService.getRolesOfUser(teacherId);
|
|
List<Role> roleIdsOfUser = roleService.getRolesOfUser(teacherId);
|
|
Role courseTeacher = roleService.getRoleByRoleName("courseTeacher");
|
|
Role courseTeacher = roleService.getRoleByRoleName("courseTeacher");
|
|
if(!roleIdsOfUser.contains(courseTeacher)){
|
|
if(!roleIdsOfUser.contains(courseTeacher)){
|
|
@@ -1108,29 +1116,25 @@ public class ThemeLogicImpl implements ThemeLogic {
|
|
|
|
|
|
if(courseIdList.size() <= 0){
|
|
if(courseIdList.size() <= 0){
|
|
throw new HttpBadRequestException("未选择授权课程!");
|
|
throw new HttpBadRequestException("未选择授权课程!");
|
|
-// return true;
|
|
|
|
- }else{
|
|
|
|
- courseIdList.stream().peek(courseId -> {
|
|
|
|
- User2Theme user2Theme = user2ThemeService.findByUserIdAndThemeId(teacherId, courseId);
|
|
|
|
- if(user2Theme != null){
|
|
|
|
- ThemeDetail themeDetail = themeService.getThemeDetailById(user2Theme.getThemeId());
|
|
|
|
|
|
+ }
|
|
|
|
+ courseIdList.stream().peek(courseId -> {
|
|
|
|
+ List<User2Theme> user2ThemeList = user2ThemeService.findAllByUserIdAndThemeId(teacherId, courseId);
|
|
|
|
+ if(user2ThemeList.size() > 0){
|
|
|
|
+ ThemeDetail themeDetail = themeService.getThemeDetailById(courseId);
|
|
|
|
+ user2ThemeList.stream().peek(user2Theme -> {
|
|
|
|
+ System.out.println(user2Theme.getOperation());
|
|
if(user2Theme.getOperation().equals(User2Theme.AUTH_USE)){
|
|
if(user2Theme.getOperation().equals(User2Theme.AUTH_USE)){
|
|
throw new HttpBadRequestException("该教师已有\""+themeDetail.getTitle()+"\"课程的使用权限!");
|
|
throw new HttpBadRequestException("该教师已有\""+themeDetail.getTitle()+"\"课程的使用权限!");
|
|
}else if(user2Theme.getOperation().equals(User2Theme.AUTH_ALL)){
|
|
}else if(user2Theme.getOperation().equals(User2Theme.AUTH_ALL)){
|
|
throw new HttpBadRequestException("该教师已有\""+themeDetail.getTitle()+"\"课程的所有权限!");
|
|
throw new HttpBadRequestException("该教师已有\""+themeDetail.getTitle()+"\"课程的所有权限!");
|
|
}
|
|
}
|
|
- }
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
-
|
|
|
|
- courseIdList.stream().peek(courseId -> {
|
|
|
|
- User2Theme user2Theme = user2ThemeService.findByUserIdAndThemeId(teacherId, courseId);
|
|
|
|
- if(user2Theme != null){
|
|
|
|
- user2ThemeService.updateOperationById(user2Theme.getId(), User2Theme.AUTH_USE);
|
|
|
|
- }else{
|
|
|
|
- user2ThemeService.createOperationRelation(teacherId, courseId, User2Theme.AUTH_USE);
|
|
|
|
- }
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
- }
|
|
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ courseIdList.stream().peek(courseId -> {
|
|
|
|
+ user2ThemeService.createOperationRelation(teacherId, courseId, User2Theme.AUTH_USE);
|
|
|
|
+ }).collect(Collectors.toList());
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1158,4 +1162,22 @@ public class ThemeLogicImpl implements ThemeLogic {
|
|
Role courseTeacher = roleService.findById(9L);
|
|
Role courseTeacher = roleService.findById(9L);
|
|
return roleIdsOfUser.contains(courseTeacher);
|
|
return roleIdsOfUser.contains(courseTeacher);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean deleteAuthorisedCourse(Long teacherId, Long courseId){
|
|
|
|
+ // 判断教师是否具有自定义课程教师的角色
|
|
|
|
+ List<Role> roleIdsOfUser = roleService.getRolesOfUser(teacherId);
|
|
|
|
+ Role courseTeacher = roleService.getRoleByRoleName("courseTeacher");
|
|
|
|
+ if(!roleIdsOfUser.contains(courseTeacher)){
|
|
|
|
+ throw new HttpBadRequestException("当前教师并无自定义课程的权限,请先赋予教师权限后进行操作!");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ User2Theme user2Theme = user2ThemeService.findByUserIdAndThemeIdAndOperation(teacherId, courseId, User2Theme.AUTH_USE);
|
|
|
|
+ ThemeDetail themeDetail = themeService.getThemeDetailById(courseId);
|
|
|
|
+ if(user2Theme == null){
|
|
|
|
+ throw new HttpBadRequestException("当前教师并无\""+themeDetail.getTitle()+"\"的使用权限!");
|
|
|
|
+ }
|
|
|
|
+ user2ThemeService.delete(user2Theme);
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
}
|
|
}
|