Commit 48105093 authored by liqin's avatar liqin 💬

bug fixed

parent cef41355
package cn.wisenergy.chnmuseum.party.common.vo;
import lombok.*;
import lombok.experimental.Accessors;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class DatumVo {
private String fileName;
private String fileExtName;
private String fileType;
private Long fileSize;
private String fileUrl;
private String updateTime;
private String md5;
}
...@@ -140,4 +140,8 @@ public class ExhibitionBoard implements Serializable { ...@@ -140,4 +140,8 @@ public class ExhibitionBoard implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<String> materialUrlList; private List<String> materialUrlList;
@ApiModelProperty("所属学习内容ID")
@TableField(exist = false)
private String learningContentId;
} }
...@@ -7,6 +7,7 @@ import cn.wisenergy.chnmuseum.party.common.mvc.InterfaceException; ...@@ -7,6 +7,7 @@ import cn.wisenergy.chnmuseum.party.common.mvc.InterfaceException;
import cn.wisenergy.chnmuseum.party.common.util.TimeUtils; import cn.wisenergy.chnmuseum.party.common.util.TimeUtils;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Add; import cn.wisenergy.chnmuseum.party.common.validator.groups.Add;
import cn.wisenergy.chnmuseum.party.common.vo.AudioVo; import cn.wisenergy.chnmuseum.party.common.vo.AudioVo;
import cn.wisenergy.chnmuseum.party.common.vo.DatumVo;
import cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam; import cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam;
import cn.wisenergy.chnmuseum.party.common.vo.VideoVo; import cn.wisenergy.chnmuseum.party.common.vo.VideoVo;
import cn.wisenergy.chnmuseum.party.model.*; import cn.wisenergy.chnmuseum.party.model.*;
...@@ -132,7 +133,9 @@ public class ChinaMobileRestApiController extends BaseController { ...@@ -132,7 +133,9 @@ public class ChinaMobileRestApiController extends BaseController {
final String organId = tBoxOperation.getOrganId(); final String organId = tBoxOperation.getOrganId();
final TUser tUser = getcurUser(); final TUser tUser = getcurUser();
if (tUser != null && organId.equals(tUser.getOrgId())) { if (tUser != null && organId.equals(tUser.getOrgId())) {
return getResult(tBoxOperation.getPrivateKey()); JSONObject jsonObject = new JSONObject();
jsonObject.put("key", tBoxOperation.getPrivateKey());
return getResult(jsonObject);
} else { } else {
throw new InterfaceException("400", "您无权获取本单位机顶盒密钥"); throw new InterfaceException("400", "您无权获取本单位机顶盒密钥");
} }
...@@ -367,7 +370,7 @@ public class ChinaMobileRestApiController extends BaseController { ...@@ -367,7 +370,7 @@ public class ChinaMobileRestApiController extends BaseController {
@PostMapping("/exhibitionBoard/getPage") @PostMapping("/exhibitionBoard/getPage")
@RequiresPermissions("exhibition:board:page") @RequiresPermissions("exhibition:board:page")
@ApiOperation(value = "展板列表查询", notes = "展板列表查询") @ApiOperation(value = "展板列表查询", notes = "展板列表查询")
public Map<String, Object> getExhibitionBoardPageList(@RequestParam(value = "learningContentId", required = false) String learningContentId) { public Map<String, Object> getExhibitionBoardPageList(@RequestParam(value = "learningContentId") String learningContentId) {
final IPage<ExhibitionBoard> page = this.learningContentBoardService.getBoardPageByLearningContentId(getPage(), learningContentId, null); final IPage<ExhibitionBoard> page = this.learningContentBoardService.getBoardPageByLearningContentId(getPage(), learningContentId, null);
for (ExhibitionBoard exhibitionBoard : page.getRecords()) { for (ExhibitionBoard exhibitionBoard : page.getRecords()) {
if (exhibitionBoard.getAssetCopyrightOwnerId() != null) { if (exhibitionBoard.getAssetCopyrightOwnerId() != null) {
...@@ -381,9 +384,10 @@ public class ChinaMobileRestApiController extends BaseController { ...@@ -381,9 +384,10 @@ public class ChinaMobileRestApiController extends BaseController {
final String assetId = exhibitionBoard.getAssetId(); final String assetId = exhibitionBoard.getAssetId();
final Asset asset = this.assetService.getById(assetId); final Asset asset = this.assetService.getById(assetId);
final String videoUrl = asset.getVideoUrl(); final String videoUrl = asset.getVideoUrl();
final List<VideoVo> videoVoList = JSONObject.parseObject(videoUrl, new TypeReference<List<VideoVo>>() { final List<VideoVo> videoVoList = JSONObject.parseObject(videoUrl, new TypeReference<List<VideoVo>>() {}, Feature.OrderedField);
}, Feature.OrderedField);
exhibitionBoard.setVideoUrlList(videoVoList.stream().map(VideoVo::getFileUrl).collect(Collectors.toList())); exhibitionBoard.setVideoUrlList(videoVoList.stream().map(VideoVo::getFileUrl).collect(Collectors.toList()));
exhibitionBoard.setVideoUrl(videoUrl);
exhibitionBoard.setLearningContentId(learningContentId);
} }
return getResult(page); return getResult(page);
} }
...@@ -452,16 +456,19 @@ public class ChinaMobileRestApiController extends BaseController { ...@@ -452,16 +456,19 @@ public class ChinaMobileRestApiController extends BaseController {
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "nameOrCode", value = "名称或编码", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "learningProjectId", value = "学习项目ID", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startDate", value = "创建时间-开始", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "nameOrCode", value = "名称或编码", paramType = "query", dataType = "String")
@ApiImplicitParam(name = "endDate", value = "创建时间-结束", paramType = "query", dataType = "String")
}) })
@PostMapping("/learningContent/getPage") @PostMapping("/learningContent/getPage")
@RequiresPermissions("learning:content:page") @RequiresPermissions("learning:content:page")
@ApiOperation(value = "查询学习内容", notes = "查询学习内容") @ApiOperation(value = "查询学习内容", notes = "查询学习内容")
public Map<String, Object> getLearningContentPageList(GenericPageParam genericPageParam) { public Map<String, Object> getLearningContentPageList(GenericPageParam genericPageParam, @RequestParam(value = "learningProjectId", required = false) String learningProjectId) {
LambdaQueryWrapper<LearningContent> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LearningContent> queryWrapper = new LambdaQueryWrapper<>();
// 对名称或编码模糊查询 // 对名称或编码模糊查询
if (StringUtils.isNotBlank(learningProjectId)) {
queryWrapper.eq(LearningContent::getLearningProjectId, learningProjectId);
}
// 对名称或编码模糊查询
if (StringUtils.isNotBlank(genericPageParam.getNameOrCode())) { if (StringUtils.isNotBlank(genericPageParam.getNameOrCode())) {
queryWrapper.like(LearningContent::getName, genericPageParam.getNameOrCode()); queryWrapper.like(LearningContent::getName, genericPageParam.getNameOrCode());
} }
...@@ -532,19 +539,17 @@ public class ChinaMobileRestApiController extends BaseController { ...@@ -532,19 +539,17 @@ public class ChinaMobileRestApiController extends BaseController {
} }
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
@ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "boardId", value = "展板内容ID", paramType = "path", dataType = "String", required = true)
@ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "boardId", value = "名称或编码", paramType = "query", dataType = "String")
}) })
@PostMapping("/exhibitionBoard/getRefMaterial") @GetMapping("/exhibitionBoard/getRefMaterial/{boardId}")
@RequiresPermissions("learning:project:page") @RequiresPermissions("learning:project:page")
@ApiOperation(value = "展板参考资料查询", notes = "展板参考资料查询") @ApiOperation(value = "展板参考资料查询", notes = "展板参考资料查询")
public Map<String, Object> getBoardRefMaterial(@RequestParam(value = "boardId", required = false) String boardId) { public Map<String, Object> getBoardRefMaterial(@PathVariable(value = "boardId") String boardId) {
final ExhibitionBoard exhibitionBoard = this.exhibitionBoardService.getById(boardId); final ExhibitionBoard exhibitionBoard = this.exhibitionBoardService.getById(boardId);
final String refMaterialUrl = exhibitionBoard.getRefMaterialUrl(); final String refMaterialUrl = exhibitionBoard.getRefMaterialUrl();
final List<AudioVo> audioVoList = JSONObject.parseObject(refMaterialUrl, new TypeReference<List<AudioVo>>() { final List<DatumVo> datumVoList = JSONObject.parseObject(refMaterialUrl, new TypeReference<List<DatumVo>>() {}, Feature.OrderedField);
}, Feature.OrderedField); return getResult(datumVoList);
return getResult(audioVoList);
} }
@ApiImplicitParams(value = { @ApiImplicitParams(value = {
......
...@@ -8,6 +8,7 @@ import cn.wisenergy.chnmuseum.party.common.enums.FileTypeEnum; ...@@ -8,6 +8,7 @@ import cn.wisenergy.chnmuseum.party.common.enums.FileTypeEnum;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Add; import cn.wisenergy.chnmuseum.party.common.validator.groups.Add;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Update; import cn.wisenergy.chnmuseum.party.common.validator.groups.Update;
import cn.wisenergy.chnmuseum.party.common.vo.AudioVo; import cn.wisenergy.chnmuseum.party.common.vo.AudioVo;
import cn.wisenergy.chnmuseum.party.common.vo.DatumVo;
import cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam; import cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam;
import cn.wisenergy.chnmuseum.party.common.vo.VideoVo; import cn.wisenergy.chnmuseum.party.common.vo.VideoVo;
import cn.wisenergy.chnmuseum.party.model.Asset; import cn.wisenergy.chnmuseum.party.model.Asset;
...@@ -27,6 +28,7 @@ import io.swagger.annotations.ApiImplicitParam; ...@@ -27,6 +28,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -34,10 +36,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -34,10 +36,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -69,7 +68,7 @@ public class ExhibitionBoardController extends BaseController { ...@@ -69,7 +68,7 @@ public class ExhibitionBoardController extends BaseController {
@RequiresPermissions("exhibition:board:save") @RequiresPermissions("exhibition:board:save")
@ApiOperation(value = "添加展板", notes = "添加展板") @ApiOperation(value = "添加展板", notes = "添加展板")
public Map<String, Object> saveExhibitionBoard(@Validated(value = {Add.class}) ExhibitionBoard exhibitionBoard) { public Map<String, Object> saveExhibitionBoard(@Validated(value = {Add.class}) ExhibitionBoard exhibitionBoard) {
final List<AudioVo> filesMetadata = new ArrayList<>(exhibitionBoard.getAudioUrlList().size()); final List<AudioVo> audioFilesMetadata = new ArrayList<>(exhibitionBoard.getAudioUrlList().size());
final List<String> audioUrlList = exhibitionBoard.getAudioUrlList(); final List<String> audioUrlList = exhibitionBoard.getAudioUrlList();
for (String audioUrl : audioUrlList) { for (String audioUrl : audioUrlList) {
final Set<MetaData> metaData = FastDFSUtils.getFileMetaData(audioUrl); final Set<MetaData> metaData = FastDFSUtils.getFileMetaData(audioUrl);
...@@ -77,7 +76,7 @@ public class ExhibitionBoardController extends BaseController { ...@@ -77,7 +76,7 @@ public class ExhibitionBoardController extends BaseController {
Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get(); Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get();
String fileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String fileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst().get();
String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get();
filesMetadata.add(AudioVo.builder() audioFilesMetadata.add(AudioVo.builder()
.fileName(fileName) .fileName(fileName)
.fileType(FileTypeEnum.AUDIO.name()) .fileType(FileTypeEnum.AUDIO.name())
.fileExtName(fileExtName) .fileExtName(fileExtName)
...@@ -86,27 +85,34 @@ public class ExhibitionBoardController extends BaseController { ...@@ -86,27 +85,34 @@ public class ExhibitionBoardController extends BaseController {
.updateTime(updateTime) .updateTime(updateTime)
.build()); .build());
} }
exhibitionBoard.setGuideAudioUrl(JSONObject.toJSONString(filesMetadata)); exhibitionBoard.setGuideAudioUrl(JSONObject.toJSONString(audioFilesMetadata));
filesMetadata.clear(); final List<DatumVo> datumFilesMetadata = new ArrayList<>(exhibitionBoard.getMaterialUrlList().size());
final List<String> materialUrlList = exhibitionBoard.getMaterialUrlList(); final List<String> materialUrlList = exhibitionBoard.getMaterialUrlList();
for (String materialUrl : materialUrlList) { for (String materialUrl : materialUrlList) {
// 原始文件名 // 原始文件名
final Set<MetaData> metaData = FastDFSUtils.getFileMetaData(materialUrl); Set<MetaData> metaData = FastDFSUtils.getFileMetaData(materialUrl);
String fileName = metaData.stream().filter(x -> "fileName".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String fileName = metaData.stream().filter(x -> "fileName".equals(x.getName())).map(MetaData::getValue).findFirst().get();
Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get(); Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get();
String fileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst().get();
String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get();
filesMetadata.add(AudioVo.builder() Optional<String> optionalFileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst();
Optional<String> optionalMd5 = metaData.stream().filter(x -> "MD5".equals(x.getName())).map(MetaData::getValue).findFirst();
final DatumVo datumVo = DatumVo.builder()
.fileName(fileName) .fileName(fileName)
.fileType(FileTypeEnum.DATUM.name()) .fileType(FileTypeEnum.DATUM.name())
.fileExtName(fileExtName)
.fileSize(fileSize) .fileSize(fileSize)
.fileUrl(materialUrl) .fileUrl(materialUrl)
.updateTime(updateTime) .updateTime(updateTime)
.build()); .build();
if (optionalFileExtName.isPresent()) {
datumVo.setFileExtName(optionalFileExtName.get());
} else {
datumVo.setFileExtName(FilenameUtils.getExtension(fileName));
} }
exhibitionBoard.setRefMaterialUrl(JSONObject.toJSONString(filesMetadata)); optionalMd5.ifPresent(datumVo::setMd5);
datumFilesMetadata.add(datumVo);
}
exhibitionBoard.setRefMaterialUrl(JSONObject.toJSONString(datumFilesMetadata));
exhibitionBoard.setAuditStatus(AuditStatusEnum.TBC.name()); exhibitionBoard.setAuditStatus(AuditStatusEnum.TBC.name());
exhibitionBoard.setPublished(false); exhibitionBoard.setPublished(false);
// 保存业务节点信息 // 保存业务节点信息
...@@ -131,15 +137,16 @@ public class ExhibitionBoardController extends BaseController { ...@@ -131,15 +137,16 @@ public class ExhibitionBoardController extends BaseController {
@RequiresPermissions("exhibition:board:update") @RequiresPermissions("exhibition:board:update")
@ApiOperation(value = "修改展板信息", notes = "修改展板信息") @ApiOperation(value = "修改展板信息", notes = "修改展板信息")
public Map<String, Object> updateExhibitionBoard(@Validated(value = {Update.class}) ExhibitionBoard exhibitionBoard) { public Map<String, Object> updateExhibitionBoard(@Validated(value = {Update.class}) ExhibitionBoard exhibitionBoard) {
final List<AudioVo> filesMetadata = new ArrayList<>(exhibitionBoard.getAudioUrlList().size());
final List<String> audioUrlList = exhibitionBoard.getAudioUrlList(); final List<String> audioUrlList = exhibitionBoard.getAudioUrlList();
if (audioUrlList != null && !audioUrlList.isEmpty()) {
final List<AudioVo> audioFilesMetadata = new ArrayList<>(audioUrlList.size());
for (String audioUrl : audioUrlList) { for (String audioUrl : audioUrlList) {
final Set<MetaData> metaData = FastDFSUtils.getFileMetaData(audioUrl); final Set<MetaData> metaData = FastDFSUtils.getFileMetaData(audioUrl);
String fileName = metaData.stream().filter(x -> "fileName".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String fileName = metaData.stream().filter(x -> "fileName".equals(x.getName())).map(MetaData::getValue).findFirst().get();
Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get(); Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get();
String fileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String fileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst().get();
String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get();
filesMetadata.add(AudioVo.builder() audioFilesMetadata.add(AudioVo.builder()
.fileName(fileName) .fileName(fileName)
.fileType(FileTypeEnum.AUDIO.name()) .fileType(FileTypeEnum.AUDIO.name())
.fileExtName(fileExtName) .fileExtName(fileExtName)
...@@ -148,27 +155,37 @@ public class ExhibitionBoardController extends BaseController { ...@@ -148,27 +155,37 @@ public class ExhibitionBoardController extends BaseController {
.updateTime(updateTime) .updateTime(updateTime)
.build()); .build());
} }
exhibitionBoard.setGuideAudioUrl(JSONObject.toJSONString(filesMetadata)); exhibitionBoard.setGuideAudioUrl(JSONObject.toJSONString(audioFilesMetadata));
}
filesMetadata.clear();
final List<String> materialUrlList = exhibitionBoard.getMaterialUrlList(); final List<String> materialUrlList = exhibitionBoard.getMaterialUrlList();
if (materialUrlList != null && !materialUrlList.isEmpty()) {
final List<DatumVo> datumFilesMetadata = new ArrayList<>(materialUrlList.size());
for (String materialUrl : materialUrlList) { for (String materialUrl : materialUrlList) {
// 原始文件名 Set<MetaData> metaData = FastDFSUtils.getFileMetaData(materialUrl);
final Set<MetaData> metaData = FastDFSUtils.getFileMetaData(materialUrl);
String fileName = metaData.stream().filter(x -> "fileName".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String fileName = metaData.stream().filter(x -> "fileName".equals(x.getName())).map(MetaData::getValue).findFirst().get();
Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get(); Long fileSize = metaData.stream().filter(x -> "fileSize".equals(x.getName())).map(MetaData::getValue).map(Long::parseLong).findFirst().get();
String fileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst().get();
String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get(); String updateTime = metaData.stream().filter(x -> "updateTime".equals(x.getName())).map(MetaData::getValue).findFirst().get();
filesMetadata.add(AudioVo.builder() Optional<String> optionalFileExtName = metaData.stream().filter(x -> "fileExtName".equals(x.getName())).map(MetaData::getValue).findFirst();
Optional<String> optionalMd5 = metaData.stream().filter(x -> "MD5".equals(x.getName())).map(MetaData::getValue).findFirst();
final DatumVo datumVo = DatumVo.builder()
.fileName(fileName) .fileName(fileName)
.fileType(FileTypeEnum.DATUM.name()) .fileType(FileTypeEnum.DATUM.name())
.fileExtName(fileExtName)
.fileSize(fileSize) .fileSize(fileSize)
.fileUrl(materialUrl) .fileUrl(materialUrl)
.updateTime(updateTime) .updateTime(updateTime)
.build()); .build();
if (optionalFileExtName.isPresent()) {
datumVo.setFileExtName(optionalFileExtName.get());
} else {
datumVo.setFileExtName(FilenameUtils.getExtension(fileName));
}
optionalMd5.ifPresent(datumVo::setMd5);
datumFilesMetadata.add(datumVo);
} }
exhibitionBoard.setRefMaterialUrl(JSONObject.toJSONString(filesMetadata)); exhibitionBoard.setRefMaterialUrl(JSONObject.toJSONString(datumFilesMetadata));
}
exhibitionBoard.setAuditStatus(AuditStatusEnum.TBC.name()); exhibitionBoard.setAuditStatus(AuditStatusEnum.TBC.name());
exhibitionBoard.setPublished(false); exhibitionBoard.setPublished(false);
boolean flag = exhibitionBoardService.updateById(exhibitionBoard); boolean flag = exhibitionBoardService.updateById(exhibitionBoard);
...@@ -327,14 +344,12 @@ public class ExhibitionBoardController extends BaseController { ...@@ -327,14 +344,12 @@ public class ExhibitionBoardController extends BaseController {
} }
final String guideAudioUrl = exhibitionBoard.getGuideAudioUrl(); final String guideAudioUrl = exhibitionBoard.getGuideAudioUrl();
final List<AudioVo> audioVoList = JSONObject.parseObject(guideAudioUrl, new TypeReference<List<AudioVo>>() { final List<AudioVo> audioVoList = JSONObject.parseObject(guideAudioUrl, new TypeReference<List<AudioVo>>() {}, Feature.OrderedField);
}, Feature.OrderedField);
exhibitionBoard.setAudioUrlList(audioVoList.stream().map(AudioVo::getFileUrl).collect(Collectors.toList())); exhibitionBoard.setAudioUrlList(audioVoList.stream().map(AudioVo::getFileUrl).collect(Collectors.toList()));
final String refMaterialUrl = exhibitionBoard.getRefMaterialUrl(); final String refMaterialUrl = exhibitionBoard.getRefMaterialUrl();
final List<AudioVo> refMaterialVoList = JSONObject.parseObject(refMaterialUrl, new TypeReference<List<AudioVo>>() { final List<DatumVo> datumVoList = JSONObject.parseObject(refMaterialUrl, new TypeReference<List<DatumVo>>() {}, Feature.OrderedField);
}, Feature.OrderedField); exhibitionBoard.setMaterialUrlList(datumVoList.stream().map(DatumVo::getFileUrl).collect(Collectors.toList()));
exhibitionBoard.setMaterialUrlList(refMaterialVoList.stream().map(AudioVo::getFileUrl).collect(Collectors.toList()));
String assetId = exhibitionBoard.getAssetId(); String assetId = exhibitionBoard.getAssetId();
if (assetId != null) { if (assetId != null) {
......
...@@ -16,7 +16,6 @@ import lombok.extern.slf4j.Slf4j; ...@@ -16,7 +16,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
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.*;
...@@ -43,9 +42,9 @@ import java.util.Objects; ...@@ -43,9 +42,9 @@ import java.util.Objects;
public class FileUploadController { public class FileUploadController {
private static final String[] IMAGE_TYPE = new String[]{"JPG", "JPEG", "PNG", "BMP", "WBMP"}; private static final String[] IMAGE_TYPE = new String[]{"JPG", "JPEG", "PNG", "BMP", "WBMP"};
private static final String[] AUDIO_TYPE = new String[]{"MP3", "AAC", "WMA", "WAV", "FLAC", "RM", "OGG"}; private static final String[] AUDIO_TYPE = new String[]{"MP3", "AAC", "WMA", "FLAC", "RM", "OGG"};
private static final String[] VIDEO_TYPE = new String[]{"MP4", "FLV"}; private static final String[] VIDEO_TYPE = new String[]{"MP4", "FLV"};
private static final String[] DOC_TYPE = new String[]{"PDF", "DOC", "DOCX", "XLS", "XLSX", "PPT", "PPTX"}; private static final String[] DOC_TYPE = new String[]{"PDF", "DOC", "DOCX", "PPT", "PPTX", "XLS", "XLSX"};
private static final String[] DATUM_TYPE = ArrayUtil.addAll(DOC_TYPE, IMAGE_TYPE, VIDEO_TYPE); private static final String[] DATUM_TYPE = ArrayUtil.addAll(DOC_TYPE, IMAGE_TYPE, VIDEO_TYPE);
// @RequestMapping(value = "/upload", method = RequestMethod.POST) // @RequestMapping(value = "/upload", method = RequestMethod.POST)
...@@ -111,7 +110,7 @@ public class FileUploadController { ...@@ -111,7 +110,7 @@ public class FileUploadController {
int failureCount = 0; int failureCount = 0;
List<BatchUploadResVO.HandleResult> handleList = new ArrayList<>(); List<BatchUploadResVO.HandleResult> handleList = new ArrayList<>();
List<String> videoUrlList = new ArrayList<>(); List<String> datumUrlList = new ArrayList<>();
for (MultipartFile file : files) { for (MultipartFile file : files) {
// 当前维度表下线结果 // 当前维度表下线结果
BatchUploadResVO.HandleResult handleResult = new BatchUploadResVO.HandleResult(); BatchUploadResVO.HandleResult handleResult = new BatchUploadResVO.HandleResult();
...@@ -132,10 +131,16 @@ public class FileUploadController { ...@@ -132,10 +131,16 @@ public class FileUploadController {
handleResult.setHandleResult(HANDLE_STATUS_ENUM.SUCCESS.getName()); handleResult.setHandleResult(HANDLE_STATUS_ENUM.SUCCESS.getName());
boolean anyMatch = Arrays.stream(DATUM_TYPE).anyMatch(s -> Objects.equals(s, FilenameUtils.getExtension(originalFilename).toUpperCase())); boolean anyMatch = Arrays.stream(DATUM_TYPE).anyMatch(s -> Objects.equals(s, FilenameUtils.getExtension(originalFilename).toUpperCase()));
if (anyMatch) { if (anyMatch) {
String url = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename); String url;
boolean anyVideoMatch = Arrays.stream(VIDEO_TYPE).anyMatch(s -> Objects.equals(s, FilenameUtils.getExtension(originalFilename).toUpperCase()));
if (anyVideoMatch) {
url = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename);
} else {
url = FastDFSUtils.uploadFile(file.getInputStream(), file.getSize(), originalFilename);
}
handleResult.setFileUrl(url); handleResult.setFileUrl(url);
handleResult.setDescription("操作成功"); handleResult.setDescription("操作成功");
videoUrlList.add(url); datumUrlList.add(url);
successCount++; successCount++;
} else { } else {
handleResult.setFileUrl(""); handleResult.setFileUrl("");
...@@ -151,7 +156,7 @@ public class FileUploadController { ...@@ -151,7 +156,7 @@ public class FileUploadController {
batchUploadResVO.setSuccessCount(successCount); batchUploadResVO.setSuccessCount(successCount);
batchUploadResVO.setTotal(files.length); batchUploadResVO.setTotal(files.length);
batchUploadResVO.setHandleList(handleList); batchUploadResVO.setHandleList(handleList);
batchUploadResVO.setUrlList(videoUrlList); batchUploadResVO.setUrlList(datumUrlList);
return ResponseEntity.ok(batchUploadResVO); return ResponseEntity.ok(batchUploadResVO);
} }
......
...@@ -112,7 +112,7 @@ public class LearningContentController extends BaseController { ...@@ -112,7 +112,7 @@ public class LearningContentController extends BaseController {
QueryWrapper<LearningContentBoard> learningContentBoardQueryWrapper = new QueryWrapper<>(); QueryWrapper<LearningContentBoard> learningContentBoardQueryWrapper = new QueryWrapper<>();
queryWrapper.select("max(sortorder) as sortorder"); queryWrapper.select("max(sortorder) as sortorder");
LearningContentBoard one = this.learningContentBoardService.getOne(learningContentBoardQueryWrapper); LearningContentBoard one = this.learningContentBoardService.getOne(learningContentBoardQueryWrapper);
if (one != null) { if (one != null && one.getSortorder() != null) {
learningContentBoard.setSortorder(one.getSortorder() + 1); learningContentBoard.setSortorder(one.getSortorder() + 1);
} else { } else {
learningContentBoard.setSortorder(1); learningContentBoard.setSortorder(1);
......
...@@ -9,7 +9,6 @@ import com.alibaba.fastjson.JSONArray; ...@@ -9,7 +9,6 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter; import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.catalina.User;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -17,7 +16,7 @@ import org.slf4j.LoggerFactory; ...@@ -17,7 +16,7 @@ import org.slf4j.LoggerFactory;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -63,7 +62,7 @@ public class BaseController implements Serializable { ...@@ -63,7 +62,7 @@ public class BaseController implements Serializable {
* @return map * @return map
*/ */
protected Map<String, Object> getResult(Object obj) { protected Map<String, Object> getResult(Object obj) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getResultCode()); map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getResultCode());
map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getMessage()); map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getMessage());
map.put(RESULT_INFO_ENUM.RESULT_BODY.getKey(), obj); map.put(RESULT_INFO_ENUM.RESULT_BODY.getKey(), obj);
...@@ -76,7 +75,7 @@ public class BaseController implements Serializable { ...@@ -76,7 +75,7 @@ public class BaseController implements Serializable {
* @return map * @return map
*/ */
protected Map<String, Object> getSuccessResult() { protected Map<String, Object> getSuccessResult() {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getResultCode()); map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getResultCode());
map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getMessage()); map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), RESPONSE_CODE_ENUM.REQUEST_SUCCESS.getMessage());
map.put(RESULT_INFO_ENUM.RESULT_BODY.getKey(),""); map.put(RESULT_INFO_ENUM.RESULT_BODY.getKey(),"");
...@@ -91,7 +90,7 @@ public class BaseController implements Serializable { ...@@ -91,7 +90,7 @@ public class BaseController implements Serializable {
* @return map * @return map
*/ */
protected Map<String, Object> getFailResult(String code, String msg) { protected Map<String, Object> getFailResult(String code, String msg) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), code); map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), code);
map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), msg); map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), msg);
return map; return map;
...@@ -104,7 +103,7 @@ public class BaseController implements Serializable { ...@@ -104,7 +103,7 @@ public class BaseController implements Serializable {
* @return map * @return map
*/ */
protected Map<String, Object> getFailResult(RESPONSE_CODE_ENUM responseCodeEnum) { protected Map<String, Object> getFailResult(RESPONSE_CODE_ENUM responseCodeEnum) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), responseCodeEnum.getResultCode()); map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), responseCodeEnum.getResultCode());
map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), responseCodeEnum.getMessage()); map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), responseCodeEnum.getMessage());
return map; return map;
...@@ -116,7 +115,7 @@ public class BaseController implements Serializable { ...@@ -116,7 +115,7 @@ public class BaseController implements Serializable {
* @return map * @return map
*/ */
protected Map<String, Object> getFailResult() { protected Map<String, Object> getFailResult() {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.SERVER_ERROR.getResultCode()); map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.SERVER_ERROR.getResultCode());
map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), RESPONSE_CODE_ENUM.SERVER_ERROR.getMessage()); map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), RESPONSE_CODE_ENUM.SERVER_ERROR.getMessage());
return map; return map;
...@@ -128,7 +127,7 @@ public class BaseController implements Serializable { ...@@ -128,7 +127,7 @@ public class BaseController implements Serializable {
* @return map * @return map
*/ */
protected Map<String, Object> getFailResult(String msg) { protected Map<String, Object> getFailResult(String msg) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.SERVER_ERROR.getResultCode()); map.put(RESULT_INFO_ENUM.RESULT_CODE.getKey(), RESPONSE_CODE_ENUM.SERVER_ERROR.getResultCode());
map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), msg); map.put(RESULT_INFO_ENUM.RESULT_MSG.getKey(), msg);
return map; return map;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment