|
|
@@ -470,6 +470,7 @@ public class ResourceRecordController {
|
|
|
return CommonResult.ok();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 资源中心-添加浏览次数
|
|
|
*
|
|
|
@@ -712,6 +713,251 @@ public class ResourceRecordController {
|
|
|
return CommonResult.data(result);
|
|
|
}
|
|
|
|
|
|
+ //应2025.10.30新需求,学生能操作对应老师资源列表,出新相关操作接口,起
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 学员超链接-查询该学生的授课老师列表
|
|
|
+ *
|
|
|
+ * @author honorfire
|
|
|
+ * @date 2025/10/30
|
|
|
+ */
|
|
|
+ @ApiOperationSupport(order = 5)
|
|
|
+ @ApiOperation("学员超链接-查询该学生的授课老师列表")
|
|
|
+ //@SaCheckPermission("/disk/courseauditrecord/getStudentTeacher")
|
|
|
+ @GetMapping("/disk/courseauditrecord/getStudentTeacher")
|
|
|
+ public CommonResult<Page<Map<String,Object>>> getStudentTeacher(CourseAuditRecordIdParam courseAuditRecordIdParam, HttpServletRequest req) {
|
|
|
+ Map param =new HashMap();
|
|
|
+ String userId = StpLoginUserUtil.getLoginUser().getId();
|
|
|
+ param.put("userId", userId);
|
|
|
+ Page<Map<String,Object>> result=courseAuditRecordService.getStudentTeacherList(param);
|
|
|
+
|
|
|
+ return CommonResult.data(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 资源管理-学员超链接-分页列表
|
|
|
+ *
|
|
|
+ * @author honorfire
|
|
|
+ * @date 2025/10/30
|
|
|
+ */
|
|
|
+ @ApiOperationSupport(order = 1)
|
|
|
+ @ApiOperation("资源管理-学员超链接-分页列表")
|
|
|
+ //@SaCheckPermission("/disk/courseauditrecord/stuLinkResourceRecordPage")
|
|
|
+ @GetMapping("/disk/courseauditrecord/stuLinkResourceRecordPage")
|
|
|
+ public CommonResult<Page<Map<String,Object>>> stuLinkResourceRecordPage(CourseAuditRecordPageParam courseAuditRecordPageParam, HttpServletRequest req) {
|
|
|
+ Map param =new HashMap();
|
|
|
+ //默认不传情况,列表查询的是未审核的
|
|
|
+ String verifyStatus="0";
|
|
|
+ if(StringUtils.isNotEmpty(req.getParameter("verifyStatus")))verifyStatus=req.getParameter("verifyStatus");
|
|
|
+// param.put("verifyStatus", verifyStatus);
|
|
|
+ //改良,审核状态可以查多个
|
|
|
+ param.put("verifyStatusList", Arrays.asList(verifyStatus.split(",")));
|
|
|
+ //2025.10.30学生超链接功能标识,1老师上传,2查学生上传
|
|
|
+ String stulinkType=req.getParameter("stulinkType");
|
|
|
+ //默认是查这个学生对应的老师上传的
|
|
|
+ if(StringUtils.isEmpty(stulinkType))stulinkType="1";
|
|
|
+ param.put("stulinkType", stulinkType);
|
|
|
+ if("1".equals(stulinkType))
|
|
|
+ {
|
|
|
+ //学生超链接里每次只查这个老师的资源列表,老师id必传
|
|
|
+ if(StringUtils.isEmpty(req.getParameter("teacherId")))return CommonResult.error("学生超链接-列表-请传入老师id");
|
|
|
+ param.put("teacherId", req.getParameter("teacherId"));
|
|
|
+ }
|
|
|
+ else if("2".equals(stulinkType))
|
|
|
+ {
|
|
|
+ //学生超链接里默认查指定某个学生上传的资源,但是不传查默认当前这个学生上传的
|
|
|
+ String studentId=req.getParameter("studentId");
|
|
|
+ if(StringUtils.isEmpty(studentId))studentId=StpLoginUserUtil.getLoginUser().getId();
|
|
|
+ param.put("studentId", studentId);
|
|
|
+ }
|
|
|
+
|
|
|
+ //文件名称
|
|
|
+ param.put("fileName", req.getParameter("fileName"));
|
|
|
+ param.put("collegeId", req.getParameter("collegeId"));
|
|
|
+ param.put("collegeTwoId", req.getParameter("collegeTwoId"));
|
|
|
+ param.put("collegeThreeId", req.getParameter("collegeThreeId"));
|
|
|
+ param.put("majorId", req.getParameter("majorId"));
|
|
|
+ param.put("resourceType", req.getParameter("resourceType"));
|
|
|
+ param.put("resourceTwoType", req.getParameter("resourceTwoType"));
|
|
|
+ param.put("resourceThreeType", req.getParameter("resourceThreeType"));
|
|
|
+ param.put("suffix", req.getParameter("suffix"));
|
|
|
+ //功能归属表时,0资源库1课程素材库,默认属于资源库
|
|
|
+// param.put("affiliationFuncType",req.getParameter("affiliationFuncType"));
|
|
|
+ Page<Map<String,Object>> list=courseAuditRecordService.queryList(param);
|
|
|
+ return CommonResult.data(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 资源管理-学员超链接-添加
|
|
|
+ *
|
|
|
+ * @author honorfire
|
|
|
+ * @date 2025/10/30
|
|
|
+ */
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @ApiOperation("资源管理-学员超链接-添加")
|
|
|
+ @CommonLog("资源管理-学员超链接-添加")
|
|
|
+ //@SaCheckPermission("/disk/coursestulink/stuLinkResourceRecordAdd")
|
|
|
+ @PostMapping("/disk/coursestulink/stuLinkResourceRecordAdd")
|
|
|
+ public CommonResult<Map<String,Object>> stuLinkResourceRecordAdd(@RequestBody @Valid CourseAuditRecordAddParam courseAuditRecordAddParam) {
|
|
|
+ Map result=new HashMap();
|
|
|
+ //2025.10.30学生超链接功能标识,1老师上传,2查学生上传
|
|
|
+ String stulinkType="1";
|
|
|
+ //2025.10.30学生超链接功能下,应甲方需要,学生在此添加资源,强行把资源归为老师上传,但是把学生信息本地埋点至fileName字段用于追溯
|
|
|
+ if("1".equals(stulinkType))
|
|
|
+ {
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordAddParam.getTeacherId()))return CommonResult.error("学生超链接-新增-请传入老师id");
|
|
|
+ }
|
|
|
+ String teacherId =courseAuditRecordAddParam.getTeacherId();
|
|
|
+
|
|
|
+ //生成统一的上传批次号
|
|
|
+ String uploadBatchNum = UUID.randomUUID().toString();
|
|
|
+ if("1".equals(courseAuditRecordAddParam.getAuthType()))
|
|
|
+ {
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordAddParam.getUserRelateIds()))return CommonResult.error("私密权限关联用户不能为空");
|
|
|
+ }
|
|
|
+ //该次上传附件信息
|
|
|
+ String userFileIdsStr=courseAuditRecordAddParam.getUserfileIds();
|
|
|
+ String[] userFileIdList = userFileIdsStr.split(",");
|
|
|
+ List<CourseAuditRecord> courseAuditRecordList = new ArrayList<>();
|
|
|
+ List<String> addIdList=new ArrayList<>();
|
|
|
+ for (String userFileId : userFileIdList) {
|
|
|
+ CourseAuditRecord courseAuditRecord = BeanUtil.toBean(courseAuditRecordAddParam, CourseAuditRecord.class);
|
|
|
+ //2025.10.30学生超链接功能下,应甲方需要,学生在此添加资源,强行把资源归为老师上传,但是把学生信息本地埋点至fileName字段用于追溯
|
|
|
+ if("1".equals(stulinkType))
|
|
|
+ {
|
|
|
+ courseAuditRecord.setCreateUser(teacherId);
|
|
|
+ courseAuditRecord.setFileName(StpLoginUserUtil.getLoginUser().getId());
|
|
|
+ }
|
|
|
+ //2025.6.27废弃,改用userfile表,直接有相关信息
|
|
|
+// ResourceUserFile resourceUserFile =resourceUserfileService.queryEntity(userFileId);
|
|
|
+// courseAuditRecord.setFileName(resourceUserFile.getFileName());
|
|
|
+ courseAuditRecord.setUserfileId(userFileId);
|
|
|
+ courseAuditRecord.setUploadBatchNum(uploadBatchNum);
|
|
|
+ if(StringUtils.isNotEmpty(courseAuditRecordAddParam.getKeywordValue()))courseAuditRecord.setKeywordPinyin(StringUtils.deleteWhitespace(pinyinUtils.toPinyin(courseAuditRecordAddParam.getKeywordValue(),false)));
|
|
|
+ courseAuditRecordList.add(courseAuditRecord);
|
|
|
+ courseAuditRecord=courseAuditRecordService.addOne(courseAuditRecord);
|
|
|
+ addIdList.add(courseAuditRecord.getId());
|
|
|
+ //存储私密权限下关联的用户
|
|
|
+ if("1".equals(courseAuditRecordAddParam.getAuthType()))
|
|
|
+ {
|
|
|
+ String userRelateIdsStr=courseAuditRecordAddParam.getUserRelateIds();
|
|
|
+ String[] userRelateIdArray = userRelateIdsStr.split(",");
|
|
|
+ List<String> userRelateIdList=Arrays.asList(userRelateIdArray);
|
|
|
+ List<ResourceRecordUserRelate> resourceRecordUserRelateList = new ArrayList<>();
|
|
|
+ for(String userRelateId:userRelateIdList)
|
|
|
+ {
|
|
|
+ ResourceRecordUserRelate resourceRecordUserRelate=new ResourceRecordUserRelate();
|
|
|
+ resourceRecordUserRelate.setUserId(userRelateId);
|
|
|
+ resourceRecordUserRelate.setResourceRecord(courseAuditRecord.getId());
|
|
|
+ resourceRecordUserRelateList.add(resourceRecordUserRelate);
|
|
|
+ }
|
|
|
+ //权限中如果没勾选自己,需要自动加入自己
|
|
|
+ String selfId=StpLoginUserUtil.getLoginUser().getId();
|
|
|
+ if(!userRelateIdList.contains(selfId))
|
|
|
+ {
|
|
|
+ ResourceRecordUserRelate resourceRecordUserRelate=new ResourceRecordUserRelate();
|
|
|
+ resourceRecordUserRelate.setUserId(selfId);
|
|
|
+ resourceRecordUserRelate.setResourceRecord(courseAuditRecord.getId());
|
|
|
+ resourceRecordUserRelateList.add(resourceRecordUserRelate);
|
|
|
+ }
|
|
|
+
|
|
|
+ resourceRecordUserRelateService.addBatch(resourceRecordUserRelateList);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+// courseAuditRecordService.addBatch(courseAuditRecordList);
|
|
|
+ String addIdListStr= String.join(",",addIdList);
|
|
|
+ result.put("addIdListStr",addIdListStr);
|
|
|
+ return CommonResult.data(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 资源管理-学员超链接-编辑
|
|
|
+ *
|
|
|
+ * @author honorfire
|
|
|
+ * @date 2025/06/20 14:58
|
|
|
+ */
|
|
|
+ @ApiOperationSupport(order = 3)
|
|
|
+ @ApiOperation("资源管理-学员超链接-编辑")
|
|
|
+ @CommonLog("资源管理-学员超链接-编辑")
|
|
|
+ //@SaCheckPermission("/disk/courseauditrecord/stuLinkResourceRecordEdit")
|
|
|
+ @PostMapping("/disk/courseauditrecord/stuLinkResourceRecordEdit")
|
|
|
+ public CommonResult<String> stuLinkResourceRecordEdit(@RequestBody @Valid CourseAuditRecordEditParam courseAuditRecordEditParam) {
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getId()))return CommonResult.error("id不能为空");
|
|
|
+ if(StringUtils.isNotEmpty(courseAuditRecordEditParam.getAuthType()))
|
|
|
+ {
|
|
|
+ if("1".equals(courseAuditRecordEditParam.getAuthType()))
|
|
|
+ {
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getUserRelateIds()))return CommonResult.error("私密权限关联用户不能为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //2025.10.30学生超链接功能标识,1老师上传,2查学生上传
|
|
|
+ String stulinkType="1";
|
|
|
+ //2025.10.30学生超链接功能下,应甲方需要,学生在此添加资源,强行把资源归为老师上传,但是把学生信息本地埋点至fileName字段用于追溯
|
|
|
+ if("1".equals(stulinkType))
|
|
|
+ {
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getTeacherId()))return CommonResult.error("学生超链接-编辑-请传入老师id");
|
|
|
+ }
|
|
|
+ String teacherId =courseAuditRecordEditParam.getTeacherId();
|
|
|
+
|
|
|
+ CourseAuditRecord courseAuditRecord = BeanUtil.toBean(courseAuditRecordEditParam, CourseAuditRecord.class);
|
|
|
+ if("1".equals(stulinkType))
|
|
|
+ {
|
|
|
+ courseAuditRecord.setCreateUser(teacherId);
|
|
|
+ courseAuditRecord.setFileName(StpLoginUserUtil.getLoginUser().getId());
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotEmpty(courseAuditRecordEditParam.getKeywordValue()))courseAuditRecord.setKeywordPinyin(StringUtils.deleteWhitespace(pinyinUtils.toPinyin(courseAuditRecordEditParam.getKeywordValue(),false)));
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getCollegeId()))courseAuditRecord.setCourseId("");
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getCollegeTwoId()))courseAuditRecord.setCollegeTwoId("");
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getCollegeThreeId()))courseAuditRecord.setCollegeThreeId("");
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getResourceType()))courseAuditRecord.setResourceType("");
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getResourceTwoType()))courseAuditRecord.setResourceTwoType("");
|
|
|
+ if(StringUtils.isEmpty(courseAuditRecordEditParam.getResourceThreeType()))courseAuditRecord.setResourceThreeType("");
|
|
|
+ //如果过往状态是已发布,需要将状态恢复成待审核
|
|
|
+ CourseAuditRecord oldCourseAuditRecord = courseAuditRecordService.queryEntity(courseAuditRecordEditParam.getId());
|
|
|
+ if(StringUtils.isNotEmpty(oldCourseAuditRecord.getVerifyStatus()))if("2".equals(oldCourseAuditRecord.getVerifyStatus()))courseAuditRecord.setVerifyStatus("1");
|
|
|
+ courseAuditRecordService.editOne(courseAuditRecord);
|
|
|
+ //删除旧私密权限下关联的用户
|
|
|
+ Map deleteRelateParam=new HashMap();
|
|
|
+ deleteRelateParam.put("resourceRecord", courseAuditRecord.getId());
|
|
|
+ List<ResourceRecordUserRelate> deleteRelateList=resourceRecordUserRelateService.allList(deleteRelateParam);
|
|
|
+ List<String> deleteRelateIdList=CollStreamUtil.toList(deleteRelateList, ResourceRecordUserRelate::getId);
|
|
|
+ resourceRecordUserRelateService.deleteByIds(deleteRelateIdList);
|
|
|
+ if(StringUtils.isNotEmpty(courseAuditRecordEditParam.getAuthType()))
|
|
|
+ {
|
|
|
+ //存储私密权限下关联的用户
|
|
|
+ if("1".equals(courseAuditRecordEditParam.getAuthType()))
|
|
|
+ {
|
|
|
+ String userRelateIdsStr=courseAuditRecordEditParam.getUserRelateIds();
|
|
|
+ String[] userRelateIdArray = userRelateIdsStr.split(",");
|
|
|
+ List<String> userRelateIdList=Arrays.asList(userRelateIdArray);
|
|
|
+ List<ResourceRecordUserRelate> resourceRecordUserRelateList = new ArrayList<>();
|
|
|
+ for(String userRelateId:userRelateIdList)
|
|
|
+ {
|
|
|
+ ResourceRecordUserRelate resourceRecordUserRelate=new ResourceRecordUserRelate();
|
|
|
+ resourceRecordUserRelate.setUserId(userRelateId);
|
|
|
+ resourceRecordUserRelate.setResourceRecord(courseAuditRecord.getId());
|
|
|
+ resourceRecordUserRelateList.add(resourceRecordUserRelate);
|
|
|
+ }
|
|
|
+ //权限中如果没勾选自己,需要自动加入自己
|
|
|
+ String selfId=StpLoginUserUtil.getLoginUser().getId();
|
|
|
+ if(!userRelateIdList.contains(selfId))
|
|
|
+ {
|
|
|
+ ResourceRecordUserRelate resourceRecordUserRelate=new ResourceRecordUserRelate();
|
|
|
+ resourceRecordUserRelate.setUserId(selfId);
|
|
|
+ resourceRecordUserRelate.setResourceRecord(courseAuditRecord.getId());
|
|
|
+ resourceRecordUserRelateList.add(resourceRecordUserRelate);
|
|
|
+ }
|
|
|
+
|
|
|
+ resourceRecordUserRelateService.addBatch(resourceRecordUserRelateList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return CommonResult.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ //应2025.10.30新需求,学生能操作对应老师资源列表,出新相关操作接口,止
|
|
|
+
|
|
|
/**
|
|
|
* 资源管理-获取分享链接页面
|
|
|
*
|