修改BUG

master
xiaoCJ 8 months ago
parent 873fd0d3b5
commit e026b994be

@ -1,6 +1,7 @@
package com.sztzjy.resource_center.controller; package com.sztzjy.resource_center.controller;
import com.sztzjy.resource_center.annotation.AnonymousAccess; import com.sztzjy.resource_center.annotation.AnonymousAccess;
import com.sztzjy.resource_center.entity.SysResource;
import com.sztzjy.resource_center.entity.SysResourceData; import com.sztzjy.resource_center.entity.SysResourceData;
import com.sztzjy.resource_center.entity.SysResourceDataExample; import com.sztzjy.resource_center.entity.SysResourceDataExample;
import com.sztzjy.resource_center.mapper.SysCaseQuestionMapper; import com.sztzjy.resource_center.mapper.SysCaseQuestionMapper;
@ -45,12 +46,13 @@ public class ResourceDataController {
@PostMapping("uploadResourceData") //todo 管理员可以上传任意来源的案例题数据集 @PostMapping("uploadResourceData") //todo 管理员可以上传任意来源的案例题数据集
private ResultEntity<String> uploadResourceData(@RequestParam MultipartFile file, private ResultEntity<String> uploadResourceData(@RequestParam MultipartFile file,
@RequestParam String schoolId, @RequestParam String schoolId,
@RequestParam String fileName,
@RequestParam String caseId) { @RequestParam String caseId) {
try { try {
String uploadUrl = fileUtil.upload(file); String uploadUrl = fileUtil.upload(file);
SysResourceData resourceData = new SysResourceData(); SysResourceData resourceData = new SysResourceData();
resourceData.setResourceDataId(String.valueOf(UUID.randomUUID())); resourceData.setResourceDataId(String.valueOf(UUID.randomUUID()));
resourceData.setResourceName(file.getOriginalFilename()); resourceData.setResourceName(fileName);
resourceData.setSize((double) file.getSize()); resourceData.setSize((double) file.getSize());
resourceData.setSource(schoolId); resourceData.setSource(schoolId);
resourceData.setCaseId(caseId); resourceData.setCaseId(caseId);

@ -8,13 +8,16 @@ import com.sztzjy.resource_center.mapper.SysCaseQuestionMapper;
import com.sztzjy.resource_center.mapper.SysOneCatalogMapper; import com.sztzjy.resource_center.mapper.SysOneCatalogMapper;
import com.sztzjy.resource_center.mapper.SysResourceAndCourseMapper; import com.sztzjy.resource_center.mapper.SysResourceAndCourseMapper;
import com.sztzjy.resource_center.mapper.SysResourceMapper; import com.sztzjy.resource_center.mapper.SysResourceMapper;
import com.sztzjy.resource_center.util.ResultEntity;
import com.sztzjy.resource_center.util.file.IFileUtil; import com.sztzjy.resource_center.util.file.IFileUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -74,7 +77,6 @@ public class ResourceApi {
//取到文件后缀名 //取到文件后缀名
int lastIndex = fileName.lastIndexOf("."); int lastIndex = fileName.lastIndexOf(".");
String extension = fileName.substring(lastIndex); String extension = fileName.substring(lastIndex);
SysResource sysResource = new SysResource(); SysResource sysResource = new SysResource();
//判断文件type //todo 格式可能不够全 //判断文件type //todo 格式可能不够全
if (extension.equals(".pdf") || extension.equals(".ppt") || extension.equals(".pptx") if (extension.equals(".pdf") || extension.equals(".ppt") || extension.equals(".pptx")
@ -132,6 +134,8 @@ public class ResourceApi {
return sysResourceMapper.selectResource(sysOneCatalogs.getOneId(), twoId, null, schoolId); return sysResourceMapper.selectResource(sysOneCatalogs.getOneId(), twoId, null, schoolId);
} }
/** /**
* *
* selectResourceByChapterId * selectResourceByChapterId
@ -148,6 +152,8 @@ public class ResourceApi {
return sysResourceMapper.selectResource(sysOneCatalogs.getOneId(), null, threeId, source); return sysResourceMapper.selectResource(sysOneCatalogs.getOneId(), null, threeId, source);
} }
/** /**
* *
* getResourceTypeCount * getResourceTypeCount
@ -276,6 +282,18 @@ public class ResourceApi {
return ResponseEntity.notFound().build(); return ResponseEntity.notFound().build();
} }
@AnonymousAccess
@ApiOperation("学习资源/删除") //同步过来的不做删除
@PostMapping("deleteResource")
public ResultEntity<String> deleteResource(@RequestParam String id,
@Param ("学校ID")@RequestParam String source) {
SysResource sysResource = sysResourceMapper.selectByPrimaryKey(id);
if (!sysResource.getSource().equals(source)){
return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!");
}
sysResourceMapper.deleteByPrimaryKey(id);
return new ResultEntity<>(HttpStatus.OK, "删除成功!");
}

@ -53,6 +53,7 @@ public class ResourceDataApi {
@PostMapping("uploadResourceData") @PostMapping("uploadResourceData")
private Boolean uploadResourceData(@RequestParam MultipartFile file, private Boolean uploadResourceData(@RequestParam MultipartFile file,
@RequestParam String schoolId, @RequestParam String schoolId,
@RequestParam String fileName,
@RequestParam String caseId) { @RequestParam String caseId) {
SysCaseQuestion sysCaseQuestion = caseQuestionMapper.selectByPrimaryKey(caseId); SysCaseQuestion sysCaseQuestion = caseQuestionMapper.selectByPrimaryKey(caseId);
if (!schoolId.equals(sysCaseQuestion.getSource())) { if (!schoolId.equals(sysCaseQuestion.getSource())) {
@ -62,7 +63,7 @@ public class ResourceDataApi {
String uploadUrl = fileUtil.upload(file); String uploadUrl = fileUtil.upload(file);
SysResourceData resourceData = new SysResourceData(); SysResourceData resourceData = new SysResourceData();
resourceData.setResourceDataId(String.valueOf(UUID.randomUUID())); resourceData.setResourceDataId(String.valueOf(UUID.randomUUID()));
resourceData.setResourceName(file.getOriginalFilename()); resourceData.setResourceName(fileName);
resourceData.setSize((double) file.getSize()); resourceData.setSize((double) file.getSize());
resourceData.setSource(schoolId); resourceData.setSource(schoolId);
resourceData.setCaseId(caseId); resourceData.setCaseId(caseId);

@ -20,7 +20,10 @@ import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList; import java.util.ArrayList;
@ -101,10 +104,10 @@ public class AdminDataController {
for (MultipartFile file : dataFile) { for (MultipartFile file : dataFile) {
AdminFile adminFile = new AdminFile(); AdminFile adminFile = new AdminFile();
adminFile.setFileId(IdUtil.randomUUID()); adminFile.setFileId(IdUtil.randomUUID());
String pictureUrl = fileUtil.upload(file); String dataUrl = fileUtil.upload(file);
String name = file.getName(); String fullFileName = file.getOriginalFilename();
adminFile.setFileUrl(pictureUrl); adminFile.setFileUrl(dataUrl);
adminFile.setName(name); adminFile.setName(fullFileName);
adminFile.setSource("数据表"); adminFile.setSource("数据表");
adminFile.setDataCaseId(dataId); adminFile.setDataCaseId(dataId);
list.add(adminFile); list.add(adminFile);
@ -168,58 +171,13 @@ public class AdminDataController {
} }
// @PostMapping("updateAdminData")
// @ApiOperation("编辑")
// @AnonymousAccess
// @Transactional
// ResultEntity<String> updateAdminData(@ModelAttribute AdminDataDto adminDataDto) {
// //新增
// try {
// AdminDataWithBLOBs adminDataWithBLOBs = adminDataMapper.selectByPrimaryKey(adminDataDto.getDataId());
// if (adminDataDto.getPictureUrl() != null) {
// String pictureUrl = fileUtil.upload(adminDataDto.getPictureFile());
// adminDataWithBLOBs.setPictureUrl(pictureUrl);
// }
//
// //更新标签
// if (adminDataDto.getAdminLabelList() != null && !adminDataDto.getAdminLabelList().isEmpty()) {
// List<AdminLabel> adminLabelList = adminDataDto.getAdminLabelList();
// List<String> ids = adminLabelList.stream().map(AdminLabel::getLabelId).collect(Collectors.toList());
// AdminDataLabelExample example = new AdminDataLabelExample();
// example.createCriteria().andLabelIdIn(ids);
// List<AdminDataLabel> list = adminDataLabelMapper.selectByExample(example);
// for (AdminDataLabel adminDataLabel : list) {
// adminDataLabelMapper.updateByPrimaryKey(adminDataLabel);
// }
// }
// if (adminDataDto.getFileDataList() != null && !adminDataDto.getFileDataList().isEmpty()) {
// List<FileData> fileDataList = adminDataDto.getFileDataList();
// for (FileData fileData : fileDataList) {
// if (fileData.getFile() != null && fileData.getFileId() != null) {
// AdminFile adminFile = adminFileMapper.selectByPrimaryKey(fileData.getFileId());
// String url = fileUtil.upload(fileData.getFile());
// adminFile.setFileUrl(url);
// adminFileMapper.updateByPrimaryKey(adminFile);
// }
// }
// }
// //更新对象
// adminDataMapper.updateByPrimaryKeyWithBLOBs(adminDataWithBLOBs);
// } catch (Exception e) {
// e.printStackTrace();
// return new ResultEntity<>(HttpStatus.INTERNAL_SERVER_ERROR,"编辑失败请联系管理员!");
// }
// return new ResultEntity<>(HttpStatus.OK,"编辑成功!");
// }
@PostMapping("updateAdminData") @PostMapping("updateAdminData")
@ApiOperation("编辑") @ApiOperation("编辑")
@AnonymousAccess @AnonymousAccess
@Transactional @Transactional
ResultEntity<String> updateAdminData(@RequestParam String adminDataDtoJSON, ResultEntity<String> updateAdminData(@RequestParam String adminDataDtoJSON,
@RequestParam(required = false) MultipartFile pictureFile, @RequestParam(required = false) MultipartFile pictureFile,
@RequestPart List<FileData> fileDataList) { @RequestParam(required = false) List<MultipartFile> dataFileList) {
Gson gson = new Gson(); Gson gson = new Gson();
AdminDataDto adminDataDto = null; AdminDataDto adminDataDto = null;
try { try {
@ -230,40 +188,84 @@ public class AdminDataController {
} }
//新增 //新增
try { try {
AdminDataWithBLOBs adminDataWithBLOBs = adminDataMapper.selectByPrimaryKey(adminDataDto.getDataId()); AdminDataWithBLOBs adminDataWithBLOBs = new AdminDataWithBLOBs();
adminDataWithBLOBs.setDataId(adminDataDto.getDataId());
adminDataWithBLOBs.setName(adminDataDto.getName());
adminDataWithBLOBs.setDataScenarios(adminDataDto.getDataScenarios());
adminDataWithBLOBs.setFieldDescription(adminDataDto.getFieldDescription());
adminDataWithBLOBs.setStatus(adminDataDto.getStatus()); //默认下架,发布后上架
adminDataWithBLOBs.setCreateTime(adminDataDto.getCreateTime());
// 文件上传并行处理 // 文件上传并行处理
if (pictureFile != null) { if (pictureFile != null) {
String pictureUrl = fileUtil.upload(pictureFile); String pictureUrl = fileUtil.upload(pictureFile);
adminDataWithBLOBs.setPictureUrl(pictureUrl); adminDataWithBLOBs.setPictureUrl(pictureUrl);
} }
// 更新标签,批量更新操作 // 更新标签,批量更新操作
if (adminDataDto.getAdminLabelList() != null && !adminDataDto.getAdminLabelList().isEmpty()) { if (adminDataDto.getAdminLabelList() != null && !adminDataDto.getAdminLabelList().isEmpty()) {
List<AdminLabel> adminLabelList = adminDataDto.getAdminLabelList(); List<AdminLabel> adminLabelList = adminDataDto.getAdminLabelList();
List<String> ids = adminLabelList.stream().map(AdminLabel::getLabelId).collect(Collectors.toList()); AdminDataLabelExample example =new AdminDataLabelExample();
AdminDataLabelExample example = new AdminDataLabelExample(); example.createCriteria().andDataCaseIdEqualTo(adminDataDto.getDataId());
example.createCriteria().andLabelIdIn(ids); adminDataLabelMapper.deleteByExample(example);
List<AdminDataLabel> list = adminDataLabelMapper.selectByExample(example);
//批量新增标签
List<AdminDataLabel> list = new ArrayList<>();
for (AdminLabel adminLabel : adminLabelList) {
AdminDataLabel label = new AdminDataLabel();
label.setId(IdUtil.randomUUID());
label.setLabelId(adminLabel.getLabelId());
label.setName(adminLabel.getName());
label.setDataCaseId(adminDataDto.getDataId());
label.setType(adminLabel.getType());
list.add(label);
}
// 使用批量更新操作 // 使用批量更新操作
if (!list.isEmpty()) { if (!list.isEmpty()) {
adminDataLabelMapper.updateBatch(list); adminDataLabelMapper.insertBatch(list);
} }
} }
// 文件数据并行处理 List<FileData> fileDataList = new ArrayList<>();
if (fileDataList != null && !fileDataList.isEmpty()) { if (adminDataDto.getIdList() != null && !adminDataDto.getIdList().isEmpty()
// 并行上传文件 && dataFileList != null && !dataFileList.isEmpty()) {
fileDataList.parallelStream().forEach(fileData -> {
if (fileData.getFile() != null && fileData.getFileId() != null) { List<String> idList = adminDataDto.getIdList();
AdminFile adminFile = adminFileMapper.selectByPrimaryKey(fileData.getFileId());
String url = fileUtil.upload(fileData.getFile()); //两个长度一样才新增
adminFile.setFileUrl(url); if (idList.size() == dataFileList.size()) {
adminFileMapper.updateByPrimaryKey(adminFile); //todo 速度慢就改成批量更新 for (int i = 0; i < idList.size(); i++) {
FileData fileData = new FileData();
fileData.setFileId(idList.get(i));
fileData.setFile(dataFileList.get(i));
fileDataList.add(fileData);
} }
}); }
} }
//设置数据文件
if (!fileDataList.isEmpty()) {
List<AdminFile> list = new ArrayList<>();
//原来的删了再新增
AdminFileExample example =new AdminFileExample();
List<String> ids = fileDataList.stream().map(FileData::getFileId).collect(Collectors.toList());
example.createCriteria().andFileIdIn(ids);
adminFileMapper.deleteByExample(example);
for (FileData file : fileDataList) {
AdminFile adminFile = new AdminFile();
adminFile.setFileId(IdUtil.randomUUID());
String fileUrl = fileUtil.upload(file.getFile());
String fullFileName = file.getFile().getOriginalFilename();
adminFile.setFileUrl(fileUrl);
adminFile.setName(fullFileName);
adminFile.setSource("数据表");
adminFile.setDataCaseId(adminDataDto.getDataId());
list.add(adminFile);
}
//批量新增数据文件
adminFileMapper.insertBatch(list);
}
// 更新对象 // 更新对象
adminDataMapper.updateByPrimaryKeyWithBLOBs(adminDataWithBLOBs); adminDataMapper.updateByPrimaryKeyWithBLOBs(adminDataWithBLOBs);

@ -1,6 +1,8 @@
package com.sztzjy.resource_center.controller.new_module.stu; package com.sztzjy.resource_center.controller.new_module.stu;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sztzjy.resource_center.annotation.AnonymousAccess; import com.sztzjy.resource_center.annotation.AnonymousAccess;
import com.sztzjy.resource_center.entity.admin.AdminCaseReturnDto; import com.sztzjy.resource_center.entity.admin.AdminCaseReturnDto;
import com.sztzjy.resource_center.entity.admin.AdminCollectCase; import com.sztzjy.resource_center.entity.admin.AdminCollectCase;
@ -8,12 +10,14 @@ import com.sztzjy.resource_center.mapper.admin.AdminCaseMapper;
import com.sztzjy.resource_center.mapper.admin.AdminCollectCaseMapper; import com.sztzjy.resource_center.mapper.admin.AdminCollectCaseMapper;
import com.sztzjy.resource_center.mapper.admin.AdminFileMapper; import com.sztzjy.resource_center.mapper.admin.AdminFileMapper;
import com.sztzjy.resource_center.util.CompressUtil; import com.sztzjy.resource_center.util.CompressUtil;
import com.sztzjy.resource_center.util.ResultEntity;
import com.sztzjy.resource_center.util.file.IFileUtil; import com.sztzjy.resource_center.util.file.IFileUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -44,8 +48,8 @@ public class StuCaseController {
@PostMapping("/addCollectCase") @PostMapping("/addCollectCase")
@ApiOperation("收藏案例") @ApiOperation("收藏案例")
@AnonymousAccess @AnonymousAccess
public Boolean download(@RequestParam String caseId, public ResultEntity<HttpStatus> download(@RequestParam String caseId,
@RequestParam String userId) { @RequestParam String userId) {
try { try {
AdminCollectCase adminCollectCase = new AdminCollectCase(); AdminCollectCase adminCollectCase = new AdminCollectCase();
adminCollectCase.setId(IdUtil.randomUUID()); adminCollectCase.setId(IdUtil.randomUUID());
@ -54,20 +58,26 @@ public class StuCaseController {
adminCollectCaseMapper.insert(adminCollectCase); adminCollectCaseMapper.insert(adminCollectCase);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return false; return new ResultEntity<HttpStatus>(HttpStatus.INTERNAL_SERVER_ERROR, "系统发生错误,请联系管理员!");
} }
return true; return new ResultEntity<HttpStatus>(HttpStatus.OK, "收藏成功!");
} }
@PostMapping("get") @PostMapping("get")
@ApiOperation("展示") @ApiOperation("展示")
@AnonymousAccess @AnonymousAccess
private List<AdminCaseReturnDto> get(@RequestParam(required = false) String keyWord, private ResultEntity<PageInfo<AdminCaseReturnDto>> get(@RequestParam Integer index,
@Param("精品案例不传院校案例传学校ID") @RequestParam(required = false) String source, @RequestParam Integer size,
@Param("收藏案例页面传") @RequestParam(required = false) String userId, @RequestParam(required = false) String keyWord,
@RequestParam(required = false) String labelName) { @Param("精品案例不传院校案例传学校ID") @RequestParam(required = false) String source,
return adminCaseMapper.selectByConditionsByStu(keyWord, source, userId,labelName); @Param("收藏案例页面传") @RequestParam(required = false) String userId,
@RequestParam(required = false) String labelName) {
PageHelper.startPage(index, size);
List<AdminCaseReturnDto> adminCaseReturnDtos = adminCaseMapper.selectByConditionsByStu(keyWord, source, userId, labelName);
PageInfo pageInfo = new PageInfo(adminCaseReturnDtos);
return new ResultEntity<>(pageInfo);
} }
/** /**

@ -1,16 +1,20 @@
package com.sztzjy.resource_center.controller.new_module.stu; package com.sztzjy.resource_center.controller.new_module.stu;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sztzjy.resource_center.annotation.AnonymousAccess; import com.sztzjy.resource_center.annotation.AnonymousAccess;
import com.sztzjy.resource_center.entity.admin.*; import com.sztzjy.resource_center.entity.admin.*;
import com.sztzjy.resource_center.mapper.admin.AdminCollectDataMapper; import com.sztzjy.resource_center.mapper.admin.AdminCollectDataMapper;
import com.sztzjy.resource_center.mapper.admin.AdminDataMapper; import com.sztzjy.resource_center.mapper.admin.AdminDataMapper;
import com.sztzjy.resource_center.mapper.admin.AdminFileMapper; import com.sztzjy.resource_center.mapper.admin.AdminFileMapper;
import com.sztzjy.resource_center.util.ResultEntity;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -36,8 +40,8 @@ public class StuDataController {
@PostMapping("/addCollectData") @PostMapping("/addCollectData")
@ApiOperation("添加收藏案例") @ApiOperation("添加收藏案例")
@AnonymousAccess @AnonymousAccess
public Boolean download(@RequestParam String dataId, public ResultEntity<String> download(@RequestParam String dataId,
@RequestParam String userId) { @RequestParam String userId) {
try { try {
AdminCollectData adminCollectData = new AdminCollectData(); AdminCollectData adminCollectData = new AdminCollectData();
adminCollectData.setId(IdUtil.randomUUID()); adminCollectData.setId(IdUtil.randomUUID());
@ -46,16 +50,16 @@ public class StuDataController {
adminCollectDataMapper.insert(adminCollectData); adminCollectDataMapper.insert(adminCollectData);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return false; return new ResultEntity<>(HttpStatus.INTERNAL_SERVER_ERROR, "系统发生错误,请联系管理员");
} }
return true; return new ResultEntity<>(HttpStatus.OK, "收藏成功!");
} }
@PostMapping("getById") @PostMapping("getById")
@ApiOperation("展示单个详情") @ApiOperation("展示单个详情")
@AnonymousAccess @AnonymousAccess
private AdminDataReturnDto getById(@RequestParam String id) { private ResultEntity<AdminDataReturnDto> getById(@RequestParam String id) {
AdminDataWithBLOBs adminDataWithBLOBs = adminDataMapper.selectByPrimaryKey(id); AdminDataWithBLOBs adminDataWithBLOBs = adminDataMapper.selectByPrimaryKey(id);
AdminDataReturnDto adminDataReturnDto = new AdminDataReturnDto(); AdminDataReturnDto adminDataReturnDto = new AdminDataReturnDto();
BeanUtils.copyProperties(adminDataWithBLOBs, adminDataReturnDto); BeanUtils.copyProperties(adminDataWithBLOBs, adminDataReturnDto);
@ -63,16 +67,21 @@ public class StuDataController {
example.createCriteria().andDataCaseIdEqualTo(id); example.createCriteria().andDataCaseIdEqualTo(id);
List<AdminFile> adminFiles = adminFileMapper.selectByExample(example); List<AdminFile> adminFiles = adminFileMapper.selectByExample(example);
adminDataReturnDto.setAdminFiles(adminFiles); adminDataReturnDto.setAdminFiles(adminFiles);
return adminDataReturnDto; return new ResultEntity<AdminDataReturnDto>(adminDataReturnDto);
} }
@PostMapping("selectByConditions") @PostMapping("selectByConditions")
@ApiOperation("数据仓库展示") @ApiOperation("数据仓库展示")
@AnonymousAccess @AnonymousAccess
private List<AdminDataReturnDto> selectByConditions(@RequestParam(required = false) String keyWord, private ResultEntity<PageInfo<AdminDataReturnDto>> selectByConditions(@RequestParam Integer index,
@Param("为空展示所有数据院校数据传学校ID") @RequestParam(required = false) String source, @RequestParam Integer size,
@Param("收藏案例页面传") @RequestParam(required = false) String userId, @RequestParam(required = false) String keyWord,
@RequestParam(required = false) String labelName) { @Param("为空展示所有数据院校数据传学校ID") @RequestParam(required = false) String source,
return adminDataMapper.selectByConditionsBySchoolId(keyWord, source, userId, labelName); @Param("收藏案例页面传") @RequestParam(required = false) String userId,
@RequestParam(required = false) String labelName) {
PageHelper.startPage(index, size);
List<AdminDataReturnDto> adminDataReturnDtos = adminDataMapper.selectByConditionsBySchoolId(keyWord, source, userId, labelName);
PageInfo pageInfo = new PageInfo(adminDataReturnDtos);
return new ResultEntity<PageInfo<AdminDataReturnDto>>(pageInfo);
} }
} }

@ -3,6 +3,7 @@ package com.sztzjy.resource_center.entity.admin;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**

@ -16,4 +16,7 @@ import java.util.Map;
public class AdminDataDto extends AdminDataWithBLOBs { public class AdminDataDto extends AdminDataWithBLOBs {
@ApiModelProperty("标签集合") @ApiModelProperty("标签集合")
private List<AdminLabel> adminLabelList; private List<AdminLabel> adminLabelList;
@ApiModelProperty("编辑使用/文件ID集合")
private List<String> idList;
} }

@ -3,6 +3,7 @@ package com.sztzjy.resource_center.entity.admin;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -29,6 +30,9 @@ public class AdminDataReturnDto {
@ApiModelProperty("数据应用场景") @ApiModelProperty("数据应用场景")
private String dataScenarios; private String dataScenarios;
@ApiModelProperty("收藏ID")
private String collectId;
@ApiModelProperty("字段描述") @ApiModelProperty("字段描述")
private String fieldDescription; private String fieldDescription;

@ -82,8 +82,8 @@ public class LocalFileUtil implements IFileUtil{
} }
InputStream fis = null; InputStream fis = null;
try { try {
response.setContentType("application/octet-stream"); response.setContentType("application/octet-stream"); //todo 数据库存了后缀名,这里下载不拼接了
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode((fileName + "." + sp), CharsetUtil.UTF_8)); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode((fileName /*+ "." + sp*/), CharsetUtil.UTF_8));
fis = new BufferedInputStream(Files.newInputStream(file.toPath())); fis = new BufferedInputStream(Files.newInputStream(file.toPath()));
response.addHeader("Content-Length", String.valueOf(fis.available())); response.addHeader("Content-Length", String.valueOf(fis.available()));
byte[] buff = new byte[4096]; byte[] buff = new byte[4096];

@ -363,7 +363,7 @@
and ad.name = #{labelName} and ad.name = #{labelName}
</if> </if>
<if test="source !=null and source !=''"> <if test="source !=null and source !=''">
and a.source is not ('管理员') and a.source !='管理员'
</if> </if>
</where> </where>
order by a.create_time desc order by a.create_time desc
@ -387,7 +387,7 @@
and ad.name = #{labelName} and ad.name = #{labelName}
</if> </if>
<if test="source !=null and source !=''"> <if test="source !=null and source !=''">
and a.source is not ('管理员') and a.source !='管理员'
</if> </if>
<if test="userId !=null and userId !=''"> <if test="userId !=null and userId !=''">
and acc.user_id = #{userId} and acc.user_id = #{userId}

@ -319,6 +319,7 @@
<result column="field_description" jdbcType="LONGVARCHAR" property="fieldDescription"/> <result column="field_description" jdbcType="LONGVARCHAR" property="fieldDescription"/>
<result column="source" jdbcType="VARCHAR" property="source"/> <result column="source" jdbcType="VARCHAR" property="source"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="id" jdbcType="VARCHAR" property="collectId"/>
<collection property="adminDataLabels" ofType="com.sztzjy.resource_center.entity.admin.AdminDataLabel"> <collection property="adminDataLabels" ofType="com.sztzjy.resource_center.entity.admin.AdminDataLabel">
<id column="label_id" jdbcType="VARCHAR" property="labelId"/> <id column="label_id" jdbcType="VARCHAR" property="labelId"/>
<result column="label_name" jdbcType="VARCHAR" property="name"/> <result column="label_name" jdbcType="VARCHAR" property="name"/>
@ -350,7 +351,7 @@
and ad.name = #{labelName} and ad.name = #{labelName}
</if> </if>
<if test="type !=null and type !=''"> <if test="type !=null and type !=''">
and a.source is not '管理员' and a.source != '管理员'
</if> </if>
</where> </where>
order by a.create_time desc order by a.create_time desc
@ -360,7 +361,8 @@
<select id="selectByConditionsBySchoolId" resultMap="dtoMap"> <select id="selectByConditionsBySchoolId" resultMap="dtoMap">
SELECT a.data_id,a.name,a.picture_url,a.data_scenarios,a.field_description,a.`status`,a.source, SELECT a.data_id,a.name,a.picture_url,a.data_scenarios,a.field_description,a.`status`,a.source,
ad.`name`as label_name,ad.label_id,ad.type,ad.data_case_id, ad.`name`as label_name,ad.label_id,ad.type,ad.data_case_id,
af.file_url,af.`name` as file_name,af.source,af.file_id,af.data_case_id af.file_url,af.`name` as file_name,af.source,af.file_id,af.data_case_id,
acc.id
FROM admin_data a FROM admin_data a
LEFT join admin_data_label ad ON a.data_id = ad.data_case_id LEFT join admin_data_label ad ON a.data_id = ad.data_case_id
LEFT JOIN admin_file af on a.data_id = af.data_case_id LEFT JOIN admin_file af on a.data_id = af.data_case_id

Loading…
Cancel
Save