|
|
|
@ -4,11 +4,11 @@ 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.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;
|
|
|
|
|
import com.sztzjy.resource_center.mapper.admin.AdminFileMapper;
|
|
|
|
|
import com.sztzjy.resource_center.mapper.admin.AdminLabelMapper;
|
|
|
|
|
import com.sztzjy.resource_center.util.ResultEntity;
|
|
|
|
|
import com.sztzjy.resource_center.util.file.IFileUtil;
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
@ -23,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Author xcj
|
|
|
|
@ -67,7 +68,7 @@ public class AdminDataController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//新增
|
|
|
|
|
AdminDataWithBLOBs adminDataWithBLOBs =new AdminDataWithBLOBs();
|
|
|
|
|
AdminDataWithBLOBs adminDataWithBLOBs = new AdminDataWithBLOBs();
|
|
|
|
|
String dataId = IdUtil.randomUUID();
|
|
|
|
|
adminDataWithBLOBs.setDataId(dataId);
|
|
|
|
|
adminDataWithBLOBs.setName(adminDataDto.getName());
|
|
|
|
@ -99,9 +100,9 @@ public class AdminDataController {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//批量新增标签
|
|
|
|
|
List<AdminDataLabel>list =new ArrayList<>();
|
|
|
|
|
List<AdminDataLabel> list = new ArrayList<>();
|
|
|
|
|
for (AdminLabel adminLabel : adminLabelList) {
|
|
|
|
|
AdminDataLabel label =new AdminDataLabel();
|
|
|
|
|
AdminDataLabel label = new AdminDataLabel();
|
|
|
|
|
label.setId(IdUtil.randomUUID());
|
|
|
|
|
label.setLabelId(adminLabel.getLabelId());
|
|
|
|
|
label.setName(adminLabel.getName());
|
|
|
|
@ -111,20 +112,20 @@ public class AdminDataController {
|
|
|
|
|
adminDataLabelMapper.insertBatch(list);
|
|
|
|
|
//新增案例
|
|
|
|
|
adminDataMapper.insert(adminDataWithBLOBs);
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK,"新增成功!");
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "新增成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("updateStatus")
|
|
|
|
|
@ApiOperation("发布或禁用")
|
|
|
|
|
private ResultEntity<String> updateStatus(@RequestParam String id,
|
|
|
|
|
@Param("传0禁用,传1发布上架") @RequestParam int status) {
|
|
|
|
|
@Param("传0禁用,传1发布上架") @RequestParam int status) {
|
|
|
|
|
try {
|
|
|
|
|
AdminDataWithBLOBs adminDataWithBLOBs = adminDataMapper.selectByPrimaryKey(id);
|
|
|
|
|
AdminDataWithBLOBs adminDataWithBLOBs = adminDataMapper.selectByPrimaryKey(id);
|
|
|
|
|
adminDataWithBLOBs.setStatus(status);
|
|
|
|
|
adminDataMapper.updateByPrimaryKeyWithBLOBs(adminDataWithBLOBs);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return new ResultEntity<>(HttpStatus.INTERNAL_SERVER_ERROR,"发生错误,请联系管理员!");
|
|
|
|
|
return new ResultEntity<>(HttpStatus.INTERNAL_SERVER_ERROR, "发生错误,请联系管理员!");
|
|
|
|
|
}
|
|
|
|
|
if (status == 0) {
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "成功禁用!");
|
|
|
|
@ -150,4 +151,102 @@ public class AdminDataController {
|
|
|
|
|
return new ResultEntity<>(pageInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// @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")
|
|
|
|
|
@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);
|
|
|
|
|
|
|
|
|
|
// 使用批量更新操作
|
|
|
|
|
if (!list.isEmpty()) {
|
|
|
|
|
adminDataLabelMapper.updateBatch(list);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 文件数据并行处理
|
|
|
|
|
if (adminDataDto.getFileDataList() != null && !adminDataDto.getFileDataList().isEmpty()) {
|
|
|
|
|
List<FileData> fileDataList = adminDataDto.getFileDataList();
|
|
|
|
|
|
|
|
|
|
// 并行上传文件
|
|
|
|
|
fileDataList.parallelStream().forEach(fileData -> {
|
|
|
|
|
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); //todo 速度慢就改成批量更新
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 更新对象
|
|
|
|
|
adminDataMapper.updateByPrimaryKeyWithBLOBs(adminDataWithBLOBs);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return new ResultEntity<>(HttpStatus.INTERNAL_SERVER_ERROR, "编辑失败请联系管理员!");
|
|
|
|
|
}
|
|
|
|
|
return new ResultEntity<>(HttpStatus.OK, "编辑成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|