parent
205de3c972
commit
0592c2ed53
6 changed files with 252 additions and 235 deletions
@ -1,102 +1,102 @@ |
||||
package com.teaching.backend.controller.records; |
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.teaching.backend.common.BaseResponse; |
||||
import com.teaching.backend.common.ResultUtils; |
||||
import com.teaching.backend.filter.ValidateParams; |
||||
import com.teaching.backend.mapper.records.ResourceLearningRecordMapper; |
||||
import com.teaching.backend.model.entity.records.KnowledgeLearningRecord; |
||||
import com.teaching.backend.model.entity.records.ResourceLearningRecord; |
||||
import com.teaching.backend.service.impl.records.KnowledgeLearningRecordServiceImpl; |
||||
import com.teaching.backend.service.impl.records.ResourceLearningRecordServiceImpl; |
||||
import com.teaching.backend.utils.UploadUtils; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import org.springframework.http.MediaType; |
||||
import org.springframework.web.bind.annotation.*; |
||||
import org.springframework.web.multipart.MultipartFile; |
||||
|
||||
import javax.annotation.Resource; |
||||
import javax.servlet.http.HttpServletRequest; |
||||
import javax.servlet.http.HttpServletResponse; |
||||
import java.io.File; |
||||
import java.io.IOException; |
||||
import java.util.List; |
||||
|
||||
@RestController |
||||
@RequestMapping("/api/resourcelearningrecords") |
||||
public class ResourceLearningRecordController { |
||||
@Resource |
||||
private ResourceLearningRecordServiceImpl resourceLearningRecordService; |
||||
@Resource |
||||
private ResourceLearningRecordMapper resourceLearningRecordMapper; |
||||
|
||||
|
||||
|
||||
@ApiOperation("添加资源学习记录") |
||||
// @ValidateParams({"userId","type","coursesId"})
|
||||
@PostMapping("/saverecords") |
||||
public BaseResponse<String> saveResourceRecords(@RequestBody ResourceLearningRecord resourceLearningRecord) { |
||||
return resourceLearningRecordService.saveCoursesRecords(resourceLearningRecord); |
||||
} |
||||
|
||||
/** |
||||
* 获取当前登录用户的学习资源记录 |
||||
* @param pagenum |
||||
* @param pagesize |
||||
* @return |
||||
*/ |
||||
@ApiOperation("根据用户id查询学习记录") |
||||
@ValidateParams({"userId"}) |
||||
@GetMapping("/page") |
||||
public BaseResponse<Page> getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum, |
||||
@RequestParam(value = "pagesize", defaultValue = "10") int pagesize, |
||||
@RequestParam String userId, |
||||
@RequestParam String courseId, |
||||
@RequestParam String knowledgeId){ |
||||
return resourceLearningRecordService.getPage(pagenum, pagesize, userId, knowledgeId,courseId); |
||||
|
||||
} |
||||
/** |
||||
* 根据ids删除 |
||||
* @param ids |
||||
* @return |
||||
*/ |
||||
@ApiOperation("学习记录删除") |
||||
@DeleteMapping("/delete") |
||||
public BaseResponse<String> deleteRecords(@RequestParam List<Long> ids){ |
||||
return resourceLearningRecordService.removeResourceRecord(ids); |
||||
} |
||||
|
||||
/** |
||||
* 统计单个学生学习资源数量 |
||||
* @param userId |
||||
* @return |
||||
*/ |
||||
@ApiOperation("统计单个学生学习资源数量") |
||||
@GetMapping("/countresourcenumber") |
||||
public BaseResponse<Integer> countResourceNumber(@RequestParam String userId) { |
||||
return ResultUtils.success(resourceLearningRecordMapper.selectDistinctResourceIdsByUser(userId).size()); |
||||
} |
||||
|
||||
|
||||
@ApiOperation("上传图片") |
||||
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) |
||||
public BaseResponse<String> upload(@RequestPart("filedata") MultipartFile filedata) throws IOException { |
||||
//调用ser
|
||||
System.out.println(filedata.getResource()); |
||||
System.out.println(UploadUtils.saveFileByDirectory(filedata)); |
||||
// File file = filedata.getResource().getFile();
|
||||
// UploadUtils.Chunk(file);
|
||||
// UploadUtils.Merge(file);
|
||||
//源文件
|
||||
// File sourseFile = (File) file;
|
||||
return ResultUtils.success("hello"); |
||||
}; |
||||
|
||||
@GetMapping("/bf") |
||||
public BaseResponse<String> bf(@RequestParam String path, File file,HttpServletRequest request, HttpServletResponse response){ |
||||
File sourseFile = new File(path); |
||||
return ResultUtils.success(path); |
||||
}; |
||||
|
||||
} |
||||
//package com.teaching.backend.controller.records;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
//import com.teaching.backend.common.BaseResponse;
|
||||
//import com.teaching.backend.common.ResultUtils;
|
||||
//import com.teaching.backend.filter.ValidateParams;
|
||||
//import com.teaching.backend.mapper.records.ResourceLearningRecordMapper;
|
||||
//import com.teaching.backend.model.entity.records.KnowledgeLearningRecord;
|
||||
//import com.teaching.backend.model.entity.records.ResourceLearningRecord;
|
||||
//import com.teaching.backend.service.impl.records.KnowledgeLearningRecordServiceImpl;
|
||||
//import com.teaching.backend.service.impl.records.ResourceLearningRecordServiceImpl;
|
||||
//import com.teaching.backend.utils.UploadUtils;
|
||||
//import io.swagger.annotations.ApiOperation;
|
||||
//import org.springframework.http.MediaType;
|
||||
//import org.springframework.web.bind.annotation.*;
|
||||
//import org.springframework.web.multipart.MultipartFile;
|
||||
//
|
||||
//import javax.annotation.Resource;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import javax.servlet.http.HttpServletResponse;
|
||||
//import java.io.File;
|
||||
//import java.io.IOException;
|
||||
//import java.util.List;
|
||||
//
|
||||
//@RestController
|
||||
//@RequestMapping("/api/resourcelearningrecords")
|
||||
//public class ResourceLearningRecordController {
|
||||
// @Resource
|
||||
// private ResourceLearningRecordServiceImpl resourceLearningRecordService;
|
||||
// @Resource
|
||||
// private ResourceLearningRecordMapper resourceLearningRecordMapper;
|
||||
//
|
||||
//
|
||||
//
|
||||
// @ApiOperation("添加资源学习记录")
|
||||
//// @ValidateParams({"userId","type","coursesId"})
|
||||
// @PostMapping("/saverecords")
|
||||
// public BaseResponse<String> saveResourceRecords(@RequestBody ResourceLearningRecord resourceLearningRecord) {
|
||||
// return resourceLearningRecordService.saveCoursesRecords(resourceLearningRecord);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 获取当前登录用户的学习资源记录
|
||||
// * @param pagenum
|
||||
// * @param pagesize
|
||||
// * @return
|
||||
// */
|
||||
// @ApiOperation("根据用户id查询学习记录")
|
||||
// @ValidateParams({"userId"})
|
||||
// @GetMapping("/page")
|
||||
// public BaseResponse<Page> getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum,
|
||||
// @RequestParam(value = "pagesize", defaultValue = "10") int pagesize,
|
||||
// @RequestParam String userId,
|
||||
// @RequestParam String courseId,
|
||||
// @RequestParam String knowledgeId){
|
||||
// return resourceLearningRecordService.getPage(pagenum, pagesize, userId, knowledgeId,courseId);
|
||||
//
|
||||
// }
|
||||
// /**
|
||||
// * 根据ids删除
|
||||
// * @param ids
|
||||
// * @return
|
||||
// */
|
||||
// @ApiOperation("学习记录删除")
|
||||
// @DeleteMapping("/delete")
|
||||
// public BaseResponse<String> deleteRecords(@RequestParam List<Long> ids){
|
||||
// return resourceLearningRecordService.removeResourceRecord(ids);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 统计单个学生学习资源数量
|
||||
// * @param userId
|
||||
// * @return
|
||||
// */
|
||||
// @ApiOperation("统计单个学生学习资源数量")
|
||||
// @GetMapping("/countresourcenumber")
|
||||
// public BaseResponse<Integer> countResourceNumber(@RequestParam String userId) {
|
||||
// return ResultUtils.success(resourceLearningRecordMapper.selectDistinctResourceIdsByUser(userId).size());
|
||||
// }
|
||||
//
|
||||
//
|
||||
// @ApiOperation("上传图片")
|
||||
// @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||
// public BaseResponse<String> upload(@RequestPart("filedata") MultipartFile filedata) throws IOException {
|
||||
// //调用ser
|
||||
// System.out.println(filedata.getResource());
|
||||
// System.out.println(UploadUtils.saveFileByDirectory(filedata));
|
||||
//// File file = filedata.getResource().getFile();
|
||||
//// UploadUtils.Chunk(file);
|
||||
//// UploadUtils.Merge(file);
|
||||
// //源文件
|
||||
//// File sourseFile = (File) file;
|
||||
// return ResultUtils.success("hello");
|
||||
// };
|
||||
//
|
||||
// @GetMapping("/bf")
|
||||
// public BaseResponse<String> bf(@RequestParam String path, File file,HttpServletRequest request, HttpServletResponse response){
|
||||
// File sourseFile = new File(path);
|
||||
// return ResultUtils.success(path);
|
||||
// };
|
||||
//
|
||||
//}
|
||||
|
@ -1,127 +1,127 @@ |
||||
package com.teaching.backend.service.impl.records; |
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.teaching.backend.common.BaseResponse; |
||||
import com.teaching.backend.common.ResultUtils; |
||||
import com.teaching.backend.mapper.records.ResourceLearningRecordMapper; |
||||
import com.teaching.backend.model.entity.records.KnowledgeLearningRecord; |
||||
import com.teaching.backend.model.entity.records.ResourceLearningRecord; |
||||
import com.teaching.backend.model.entity.resource.ResourceLearningNumber; |
||||
import com.teaching.backend.model.vo.records.KnowledgeLearningRecordVo; |
||||
import com.teaching.backend.model.vo.records.ResourceLearingRecordVo; |
||||
import com.teaching.backend.service.impl.resource.ResourceLearningNumberServiceImpl; |
||||
import com.teaching.backend.service.records.IResourceLearningRecordService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import javax.annotation.Resource; |
||||
import java.text.SimpleDateFormat; |
||||
import java.time.LocalDateTime; |
||||
import java.time.ZoneId; |
||||
import java.util.ArrayList; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* <p> |
||||
* 服务实现类 |
||||
* </p> |
||||
* |
||||
* @author author |
||||
* @since 2024-07-24 |
||||
*/ |
||||
@Service |
||||
public class ResourceLearningRecordServiceImpl extends ServiceImpl<ResourceLearningRecordMapper, ResourceLearningRecord> implements IResourceLearningRecordService { |
||||
|
||||
@Resource |
||||
private ResourceLearningNumberServiceImpl resourceLearningNumberService; |
||||
|
||||
@Override |
||||
public BaseResponse<String> saveCoursesRecords(ResourceLearningRecord resourceLearningRecord) { |
||||
//课程id
|
||||
String courseId = resourceLearningRecord.getCoursesId(); |
||||
String knowledgeId = resourceLearningRecord.getKnowledgeId(); |
||||
String resourceId = resourceLearningRecord.getResourceId(); |
||||
String userId = resourceLearningRecord.getUserId(); |
||||
//1.生成学习时间
|
||||
resourceLearningRecord.setTimes(LocalDateTime.now()); |
||||
//2.设置人数
|
||||
//2.1查人数
|
||||
Long count = resourceLearningNumberService.query() |
||||
.eq("course_id", courseId) |
||||
.eq("knowledge_id",knowledgeId) |
||||
.eq("resource_id",resourceId).count(); |
||||
//2.2判断自己是否学习过
|
||||
Long count1 = query() |
||||
.eq("user_id", userId) |
||||
.eq("courses_id", courseId) |
||||
.eq("knowledge_id",knowledgeId) |
||||
.eq("resource_id",resourceId).count(); |
||||
if (count > 0){ |
||||
//自己没学过,人数加1
|
||||
if (count1 == 0){ |
||||
resourceLearningNumberService.update().setSql("number = number + 1") |
||||
.eq("course_id",courseId) |
||||
.eq("knowledge_id",knowledgeId) |
||||
.eq("resource_id",resourceId).update(); |
||||
// System.out.println("用户:"+userId+"第一次学这门课");
|
||||
} |
||||
}else { |
||||
//该课程第一次被学,人数设置为1
|
||||
ResourceLearningNumber resourceLearningNumber = new ResourceLearningNumber(); |
||||
resourceLearningNumber.setNumber(1); |
||||
resourceLearningNumber.setCourseId(courseId); |
||||
resourceLearningNumber.setKnowledgeId(knowledgeId); |
||||
resourceLearningNumber.setResourceId(resourceId); |
||||
resourceLearningNumberService.save(resourceLearningNumber); |
||||
} |
||||
//设置人数
|
||||
String numberId = resourceLearningNumberService.query() |
||||
.eq("course_id", courseId) |
||||
.eq("knowledge_id",knowledgeId) |
||||
.eq("resource_id",resourceId).one().getId(); |
||||
resourceLearningRecord.setNumber(numberId); |
||||
//保存记录
|
||||
save(resourceLearningRecord); |
||||
return ResultUtils.success("添加成功"); |
||||
} |
||||
|
||||
@Override |
||||
public BaseResponse<Page> getPage(int pagenum, int pagesize, String userId, String knowledgeId, String courseId) { |
||||
//格式化时间
|
||||
String strDateFormat = "yyyy-MM-dd HH:mm:ss"; |
||||
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat); |
||||
//分页查询
|
||||
Page<ResourceLearningRecord> page = query() |
||||
.orderByDesc("times") |
||||
.eq("user_id", userId) |
||||
.eq("knowledge_id",knowledgeId) |
||||
.eq("courses_id",courseId).page(new Page<>(pagenum, pagesize)); |
||||
Page<ResourceLearingRecordVo> page1 = new Page<>(); |
||||
List<ResourceLearningRecord> records = page.getRecords(); |
||||
BeanUtil.copyProperties(page, page1); |
||||
List<ResourceLearingRecordVo> recordsVos = new ArrayList<>(); |
||||
//copy集合
|
||||
records.forEach(resourceLearningRecord -> { |
||||
ResourceLearingRecordVo resourceLearingRecordVo = new ResourceLearingRecordVo(); |
||||
BeanUtil.copyProperties(resourceLearningRecord,resourceLearingRecordVo); |
||||
Date date = Date.from(resourceLearningRecord.getTimes().atZone(ZoneId.systemDefault()).toInstant()); |
||||
resourceLearingRecordVo.setTime(sdf.format(date)); |
||||
// //填充学习人数
|
||||
resourceLearingRecordVo.setNumber(resourceLearningNumberService.getById(resourceLearningRecord.getNumber()).getNumber()); |
||||
recordsVos.add(resourceLearingRecordVo); |
||||
}); |
||||
page1.setRecords(recordsVos); |
||||
return ResultUtils.success(page1); |
||||
} |
||||
|
||||
@Override |
||||
public BaseResponse<String> removeResourceRecord(List<Long> ids) { |
||||
removeByIds(ids); |
||||
return ResultUtils.success("删除成功!"); |
||||
} |
||||
|
||||
|
||||
} |
||||
//package com.teaching.backend.service.impl.records;
|
||||
//
|
||||
//
|
||||
//import cn.hutool.core.bean.BeanUtil;
|
||||
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
//import com.teaching.backend.common.BaseResponse;
|
||||
//import com.teaching.backend.common.ResultUtils;
|
||||
//import com.teaching.backend.mapper.records.ResourceLearningRecordMapper;
|
||||
//import com.teaching.backend.model.entity.records.KnowledgeLearningRecord;
|
||||
//import com.teaching.backend.model.entity.records.ResourceLearningRecord;
|
||||
//import com.teaching.backend.model.entity.resource.ResourceLearningNumber;
|
||||
//import com.teaching.backend.model.vo.records.KnowledgeLearningRecordVo;
|
||||
//import com.teaching.backend.model.vo.records.ResourceLearingRecordVo;
|
||||
//import com.teaching.backend.service.impl.resource.ResourceLearningNumberServiceImpl;
|
||||
//import com.teaching.backend.service.records.IResourceLearningRecordService;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
//import javax.annotation.Resource;
|
||||
//import java.text.SimpleDateFormat;
|
||||
//import java.time.LocalDateTime;
|
||||
//import java.time.ZoneId;
|
||||
//import java.util.ArrayList;
|
||||
//import java.util.Date;
|
||||
//import java.util.List;
|
||||
//
|
||||
///**
|
||||
// * <p>
|
||||
// * 服务实现类
|
||||
// * </p>
|
||||
// *
|
||||
// * @author author
|
||||
// * @since 2024-07-24
|
||||
// */
|
||||
//@Service
|
||||
//public class ResourceLearningRecordServiceImpl extends ServiceImpl<ResourceLearningRecordMapper, ResourceLearningRecord> implements IResourceLearningRecordService {
|
||||
//
|
||||
// @Resource
|
||||
// private ResourceLearningNumberServiceImpl resourceLearningNumberService;
|
||||
//
|
||||
// @Override
|
||||
// public BaseResponse<String> saveCoursesRecords(ResourceLearningRecord resourceLearningRecord) {
|
||||
// //课程id
|
||||
// String courseId = resourceLearningRecord.getCoursesId();
|
||||
// String knowledgeId = resourceLearningRecord.getKnowledgeId();
|
||||
// String resourceId = resourceLearningRecord.getResourceId();
|
||||
// String userId = resourceLearningRecord.getUserId();
|
||||
// //1.生成学习时间
|
||||
// resourceLearningRecord.setTimes(LocalDateTime.now());
|
||||
// //2.设置人数
|
||||
// //2.1查人数
|
||||
// Long count = resourceLearningNumberService.query()
|
||||
// .eq("course_id", courseId)
|
||||
// .eq("knowledge_id",knowledgeId)
|
||||
// .eq("resource_id",resourceId).count();
|
||||
// //2.2判断自己是否学习过
|
||||
// Long count1 = query()
|
||||
// .eq("user_id", userId)
|
||||
// .eq("courses_id", courseId)
|
||||
// .eq("knowledge_id",knowledgeId)
|
||||
// .eq("resource_id",resourceId).count();
|
||||
// if (count > 0){
|
||||
// //自己没学过,人数加1
|
||||
// if (count1 == 0){
|
||||
// resourceLearningNumberService.update().setSql("number = number + 1")
|
||||
// .eq("course_id",courseId)
|
||||
// .eq("knowledge_id",knowledgeId)
|
||||
// .eq("resource_id",resourceId).update();
|
||||
//// System.out.println("用户:"+userId+"第一次学这门课");
|
||||
// }
|
||||
// }else {
|
||||
// //该课程第一次被学,人数设置为1
|
||||
// ResourceLearningNumber resourceLearningNumber = new ResourceLearningNumber();
|
||||
// resourceLearningNumber.setNumber(1);
|
||||
// resourceLearningNumber.setCourseId(courseId);
|
||||
// resourceLearningNumber.setKnowledgeId(knowledgeId);
|
||||
// resourceLearningNumber.setResourceId(resourceId);
|
||||
// resourceLearningNumberService.save(resourceLearningNumber);
|
||||
// }
|
||||
// //设置人数
|
||||
// String numberId = resourceLearningNumberService.query()
|
||||
// .eq("course_id", courseId)
|
||||
// .eq("knowledge_id",knowledgeId)
|
||||
// .eq("resource_id",resourceId).one().getId();
|
||||
// resourceLearningRecord.setNumber(numberId);
|
||||
// //保存记录
|
||||
// save(resourceLearningRecord);
|
||||
// return ResultUtils.success("添加成功");
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public BaseResponse<Page> getPage(int pagenum, int pagesize, String userId, String knowledgeId, String courseId) {
|
||||
////格式化时间
|
||||
// String strDateFormat = "yyyy-MM-dd HH:mm:ss";
|
||||
// SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
|
||||
// //分页查询
|
||||
// Page<ResourceLearningRecord> page = query()
|
||||
// .orderByDesc("times")
|
||||
// .eq("user_id", userId)
|
||||
// .eq("knowledge_id",knowledgeId)
|
||||
// .eq("courses_id",courseId).page(new Page<>(pagenum, pagesize));
|
||||
// Page<ResourceLearingRecordVo> page1 = new Page<>();
|
||||
// List<ResourceLearningRecord> records = page.getRecords();
|
||||
// BeanUtil.copyProperties(page, page1);
|
||||
// List<ResourceLearingRecordVo> recordsVos = new ArrayList<>();
|
||||
// //copy集合
|
||||
// records.forEach(resourceLearningRecord -> {
|
||||
// ResourceLearingRecordVo resourceLearingRecordVo = new ResourceLearingRecordVo();
|
||||
// BeanUtil.copyProperties(resourceLearningRecord,resourceLearingRecordVo);
|
||||
// Date date = Date.from(resourceLearningRecord.getTimes().atZone(ZoneId.systemDefault()).toInstant());
|
||||
// resourceLearingRecordVo.setTime(sdf.format(date));
|
||||
//// //填充学习人数
|
||||
// resourceLearingRecordVo.setNumber(resourceLearningNumberService.getById(resourceLearningRecord.getNumber()).getNumber());
|
||||
// recordsVos.add(resourceLearingRecordVo);
|
||||
// });
|
||||
// page1.setRecords(recordsVos);
|
||||
// return ResultUtils.success(page1);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public BaseResponse<String> removeResourceRecord(List<Long> ids) {
|
||||
// removeByIds(ids);
|
||||
// return ResultUtils.success("删除成功!");
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
Loading…
Reference in new issue