diff --git a/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java b/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java index 66364bc..0d49cd9 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java +++ b/src/main/java/com/sztzjy/resource_center/controller/api/ResourceApi.java @@ -4,7 +4,6 @@ import cn.hutool.core.util.IdUtil; import com.sztzjy.resource_center.annotation.AnonymousAccess; import com.sztzjy.resource_center.entity.*; import com.sztzjy.resource_center.entity.dto.SysResourceDto; -import com.sztzjy.resource_center.mapper.SysCaseQuestionMapper; import com.sztzjy.resource_center.mapper.SysOneCatalogMapper; import com.sztzjy.resource_center.mapper.SysResourceAndCourseMapper; import com.sztzjy.resource_center.mapper.SysResourceMapper; @@ -135,7 +134,6 @@ public class ResourceApi { } - /** * 根据章节查看资源文件列表 * 方法名:selectResourceByChapterId @@ -153,7 +151,6 @@ public class ResourceApi { } - /** * 获取资源类型数量 * 方法名:getResourceTypeCount @@ -217,8 +214,6 @@ public class ResourceApi { } - - @GetMapping("/getResource") @ApiOperation("预览/获取视频或课件") @AnonymousAccess @@ -286,9 +281,9 @@ public class ResourceApi { @ApiOperation("学习资源/删除") //同步过来的不做删除 @PostMapping("deleteResource") public ResultEntity deleteResource(@RequestParam String id, - @Param ("学校ID")@RequestParam String source) { + @Param("学校ID") @RequestParam String source) { SysResource sysResource = sysResourceMapper.selectByPrimaryKey(id); - if (!sysResource.getSource().equals(source)){ + if (!sysResource.getSource().equals(source)) { return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败!"); } sysResourceMapper.deleteByPrimaryKey(id); @@ -296,12 +291,18 @@ public class ResourceApi { } - - /** * 获取最受欢迎的资源名称 * 方法名:getMostPopularName * 参数:schoolId systemOwner * return: String */ + @AnonymousAccess + @ApiOperation("获取最受欢迎的资源名称") + @PostMapping("getMostPopularName") + public String getMostPopularName(@RequestParam String systemOwner, + @Param("学校ID") @RequestParam String schoolId) { + return sysResourceMapper.getMostPopularName(); + } + } diff --git a/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java b/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java index 7bed8d9..d465fa3 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java +++ b/src/main/java/com/sztzjy/resource_center/controller/new_module/admin/AdminDataController.java @@ -6,7 +6,6 @@ import com.github.pagehelper.PageInfo; import com.nimbusds.jose.shaded.gson.Gson; import com.nimbusds.jose.shaded.gson.JsonSyntaxException; import com.sztzjy.resource_center.annotation.AnonymousAccess; -import com.sztzjy.resource_center.entity.FileData; import com.sztzjy.resource_center.entity.admin.*; import com.sztzjy.resource_center.mapper.admin.AdminDataLabelMapper; import com.sztzjy.resource_center.mapper.admin.AdminDataMapper; @@ -29,7 +28,6 @@ import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; /** * @Author xcj @@ -176,8 +174,7 @@ public class AdminDataController { @AnonymousAccess @Transactional ResultEntity updateAdminData(@RequestParam String adminDataDtoJSON, - @RequestParam(required = false) MultipartFile pictureFile, - @RequestParam(required = false) List dataFileList) { + @RequestParam(required = false) MultipartFile pictureFile) { Gson gson = new Gson(); AdminDataDto adminDataDto = null; try { @@ -205,7 +202,7 @@ public class AdminDataController { // 更新标签,批量更新操作 if (adminDataDto.getAdminLabelList() != null && !adminDataDto.getAdminLabelList().isEmpty()) { List adminLabelList = adminDataDto.getAdminLabelList(); - AdminDataLabelExample example =new AdminDataLabelExample(); + AdminDataLabelExample example = new AdminDataLabelExample(); example.createCriteria().andDataCaseIdEqualTo(adminDataDto.getDataId()); adminDataLabelMapper.deleteByExample(example); @@ -225,48 +222,6 @@ public class AdminDataController { adminDataLabelMapper.insertBatch(list); } } - - List fileDataList = new ArrayList<>(); - if (adminDataDto.getIdList() != null && !adminDataDto.getIdList().isEmpty() - && dataFileList != null && !dataFileList.isEmpty()) { - - List idList = adminDataDto.getIdList(); - - //两个长度一样才新增 - if (idList.size() == dataFileList.size()) { - 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 list = new ArrayList<>(); - - //原来的删了再新增 - AdminFileExample example =new AdminFileExample(); - List 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); } catch (Exception e) { @@ -276,4 +231,42 @@ public class AdminDataController { return new ResultEntity<>(HttpStatus.OK, "编辑成功!"); } + + @PostMapping("addFile") + @ApiOperation("编辑/文件单独新增") + @AnonymousAccess + private ResultEntity addFile(@RequestParam String dataId, + @RequestParam MultipartFile dataFile) { + try { + AdminFile adminFile = new AdminFile(); + String url = fileUtil.upload(dataFile); + adminFile.setFileId(IdUtil.randomUUID()); + adminFile.setDataCaseId(dataId); + adminFile.setName(dataFile.getOriginalFilename()); + adminFile.setSource("管理员"); + adminFile.setFileUrl(url); + adminFileMapper.insert(adminFile); + } catch (Exception e) { + e.printStackTrace(); + return new ResultEntity<>(HttpStatus.BAD_REQUEST, "上传失败,请联系管理员!"); + } + return new ResultEntity(HttpStatus.OK, "上传成功!"); + } + + + @PostMapping("deleteFile") + @ApiOperation("编辑/单个数据文件删除") + @AnonymousAccess + private ResultEntity deleteFile(@RequestParam String fileId) { + try { + AdminFile adminFile = adminFileMapper.selectByPrimaryKey(fileId); + if (adminFile != null) { + adminFileMapper.deleteByPrimaryKey(adminFile.getFileId()); + } + } catch (Exception e) { + e.printStackTrace(); + return new ResultEntity<>(HttpStatus.BAD_REQUEST, "删除失败,请联系管理员!"); + } + return new ResultEntity(HttpStatus.OK, "删除成功!"); + } } diff --git a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminCaseReturnDto.java b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminCaseReturnDto.java index dcc4d48..9be0976 100644 --- a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminCaseReturnDto.java +++ b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminCaseReturnDto.java @@ -1,5 +1,6 @@ package com.sztzjy.resource_center.entity.admin; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -32,6 +33,10 @@ public class AdminCaseReturnDto { @ApiModelProperty("目录") private String catalog; + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + @ApiModelProperty("标签集") private List adminDataLabels; diff --git a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminData.java b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminData.java index 99b8363..a47a153 100644 --- a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminData.java +++ b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminData.java @@ -2,6 +2,7 @@ package com.sztzjy.resource_center.entity.admin; import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; /** * diff --git a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataReturnDto.java b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataReturnDto.java index 2a21166..1d08bf0 100644 --- a/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataReturnDto.java +++ b/src/main/java/com/sztzjy/resource_center/entity/admin/AdminDataReturnDto.java @@ -1,5 +1,6 @@ package com.sztzjy.resource_center.entity.admin; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -36,6 +37,10 @@ public class AdminDataReturnDto { @ApiModelProperty("字段描述") private String fieldDescription; + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + @ApiModelProperty("标签集") private List adminDataLabels; diff --git a/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java b/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java index 47afd95..65f3d3f 100644 --- a/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java +++ b/src/main/java/com/sztzjy/resource_center/mapper/SysResourceMapper.java @@ -8,6 +8,8 @@ import java.util.Map; import com.sztzjy.resource_center.entity.dto.SysResourceDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + @Mapper public interface SysResourceMapper { long countByExample(SysResourceExample example); @@ -44,4 +46,7 @@ public interface SysResourceMapper { @Param("resourceName") String resourceName); Map getCountByType(@Param("list") List ids, @Param("schoolId") String schoolId); + + @Select("SELECT resource_name FROM `sys_resource` ORDER BY count desc") + String getMostPopularName(); } \ No newline at end of file diff --git a/src/main/resources/mapper/AdminCaseMapper.xml b/src/main/resources/mapper/AdminCaseMapper.xml index e750be3..d6a1667 100644 --- a/src/main/resources/mapper/AdminCaseMapper.xml +++ b/src/main/resources/mapper/AdminCaseMapper.xml @@ -348,7 +348,7 @@ - SELECT a.id,a.name,a.content,a.catalog,a.picture_url,a.`status`,a.source, + SELECT a.id,a.name,a.content,a.catalog,a.picture_url,a.`status`,a.source,a.create_time, 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 FROM admin_case a diff --git a/src/main/resources/mapper/AdminDataMapper.xml b/src/main/resources/mapper/AdminDataMapper.xml index 092f42d..bd5b258 100644 --- a/src/main/resources/mapper/AdminDataMapper.xml +++ b/src/main/resources/mapper/AdminDataMapper.xml @@ -336,7 +336,7 @@ - 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,a.create_time, 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, acc.id