diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java index 6c599d35..2e57cd31 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java @@ -2,6 +2,7 @@ package com.ibeetl.jlw.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; +import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import cn.jlw.util.ToolUtils; @@ -424,4 +425,18 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< public void deleteTeacherOpenCourseAllRelatedByTeacherOpenCourseId(@NotNull(message = "开课ID不能为空!") Long teacherOpenCourseId) { } + + /** + * 验证操作的数据,是否是教师本人上传的 + * @param resourcesInfoIds + * @param coreUser + */ + public void validateIsTeacher(@NotNull(message = "开课资源ID不能为空!") String resourcesInfoIds, @NotNull(message = "登录用户信息不能为空!") CoreUser coreUser) { + if (coreUser.isTeacher()) { + for (String id : resourcesInfoIds.split(",")) { + Long userId = getInfo(Long.valueOf(id)).getUserId(); + Assert.isTrue(coreUser.getId().equals(userId), "只能编辑自己上传的资源"); + } + } + } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java index d57037a7..427cdb16 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java @@ -40,6 +40,7 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.function.Consumer; /** * 开课资源拉取 开课关联- 资源管理 接口 @@ -67,7 +68,15 @@ public class TeacherOpenCourseMergeResourcesInfoController{ return JsonResult.failMessage("请登录后再操作"); }else{ PageQuery page = condition.getPageQuery(); - teacherOpenCourseMergeResourcesInfoService.queryByConditionQuery(page); + PageQuery pageQuery = teacherOpenCourseMergeResourcesInfoService.queryByConditionQuery(page); + + Consumer isSelf = item -> { + // 判断是否是自己上传的资源 + if (coreUser.getId().equals(item.getUserId())) { + item.set("isSelf", true); + } + }; + CollectionUtil.emptyIfNull(pageQuery.getList()).forEach(isSelf); return JsonResult.success(page); } } @@ -94,6 +103,43 @@ public class TeacherOpenCourseMergeResourcesInfoController{ } } + @PostMapping(API + "/add.do") + public JsonResult addDo(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery, BindingResult result,@SCoreUser CoreUser coreUser){ + if(result.hasErrors()){ + return JsonResult.failMessage(result); + }else{ + teacherOpenCourseMergeResourcesInfoQuery.setUserId(coreUser.getId()); + teacherOpenCourseMergeResourcesInfoQuery.setOrgId(coreUser.getOrgId()); + return teacherOpenCourseMergeResourcesInfoService.add(teacherOpenCourseMergeResourcesInfoQuery); + } + } + + @PostMapping(API + "/edit.do") + public JsonResult updateDo(@Validated(ValidateConfig.UPDATE.class) TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery, BindingResult result, @SCoreUser CoreUser coreUser) { + if(result.hasErrors()){ + return JsonResult.failMessage(result); + }else { + teacherOpenCourseMergeResourcesInfoService.validateIsTeacher(teacherOpenCourseMergeResourcesInfoQuery.getTeacherOpenCourseMergeResourcesInfoId().toString(), coreUser); + teacherOpenCourseMergeResourcesInfoQuery.setUserId(null); + teacherOpenCourseMergeResourcesInfoQuery.setOrgId(null); + String msg = teacherOpenCourseMergeResourcesInfoService.edit(teacherOpenCourseMergeResourcesInfoQuery); + if (StringUtils.isBlank(msg)) { + return JsonResult.success(); + } else { + return JsonResult.failMessage("更新失败,"+msg); + } + } + } + + @PostMapping(API + "/delete.do") + @ResponseBody + public JsonResult deleteDo(String ids, @SCoreUser CoreUser coreUser) { + teacherOpenCourseMergeResourcesInfoService.validateIsTeacher(ids, coreUser); + teacherOpenCourseMergeResourcesInfoService.deleteTeacherOpenCourseMergeResourcesInfo(ids); + return JsonResult.success(); + } + + /* 后台页面 */ @@ -199,6 +245,11 @@ public class TeacherOpenCourseMergeResourcesInfoController{ } + /** + * 教师端-不能调用这个方法, 没有判断教师身份 + * @param ids + * @return + */ @PostMapping(MODEL + "/delete.json") @Function("teacherOpenCourseMergeResourcesInfo.delete") @ResponseBody