package com.sandu.ximon.admin.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.github.pagehelper.PageHelper;
|
import com.sandu.common.domain.ResponseVO;
|
import com.sandu.common.execption.BusinessException;
|
import com.sandu.common.object.BaseConditionVO;
|
import com.sandu.common.util.ResponseUtil;
|
import com.sandu.ximon.admin.param.IpVolumeFileParam;
|
import com.sandu.ximon.admin.security.PermissionConfig;
|
import com.sandu.ximon.admin.service.BroadcastV2TaskFileService;
|
import com.sandu.ximon.admin.service.IpVolumeFileService;
|
import com.sandu.ximon.dao.domain.BroadcastV2TaskFile;
|
import com.sandu.ximon.dao.domain.IpVolumeFile;
|
import com.sandu.ximon.dao.enums.MenuEnum;
|
import lombok.AllArgsConstructor;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.List;
|
|
/**
|
* @Author liuhaonan
|
* @Date 2021/12/16 10:51
|
* @Version 1.0 ip音柱相关
|
*/
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/v1/IpVolumeFile")
|
public class IpVolumeFileController {
|
|
private final IpVolumeFileService ipVolumeFileService;
|
private final BroadcastV2TaskFileService v2TaskFileService;
|
private PermissionConfig permissionConfig;
|
|
@PostMapping("/add")
|
public ResponseVO<Object> addFile(@RequestBody @Validated IpVolumeFileParam fileParam) {
|
if (!permissionConfig.check(MenuEnum.IP_BROADCAST_FILE_ADD.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
return ResponseUtil.success(ipVolumeFileService.addFile(fileParam));
|
}
|
|
@PostMapping("/delete/{fileId}")
|
public ResponseVO<Object> deleteFile(@PathVariable Long fileId) {
|
if (!permissionConfig.check(MenuEnum.IP_BROADCAST_FILE_DELETE.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
List<BroadcastV2TaskFile> list = v2TaskFileService.list(Wrappers.lambdaQuery(BroadcastV2TaskFile.class).eq(BroadcastV2TaskFile::getFileId, fileId));
|
if (list.size() != 0) {
|
throw new BusinessException("此文件正在被其他任务占用");
|
}
|
return ResponseUtil.success(ipVolumeFileService.deleteFile(fileId));
|
}
|
|
@GetMapping("/list")
|
public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
|
if (!permissionConfig.check(MenuEnum.IP_BROADCAST_FILE_LIST.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
LambdaQueryWrapper<IpVolumeFile> wrapper = ipVolumeFileService.listFile(baseConditionVO, keyword);
|
|
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
|
/* if (null != keyword) {
|
wrapper.like(IpVolumeFile::getFileName, keyword);
|
}*/
|
|
return ResponseUtil.success(ipVolumeFileService.list(wrapper));
|
}
|
|
@PostMapping("/IpVolumeFileUploading")
|
public ResponseVO<Object> uploadingFile(@RequestParam("file") MultipartFile file) {
|
if (!permissionConfig.check(MenuEnum.IP_BROADCAST_FILE_UPLOADING.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
return ResponseUtil.success(ipVolumeFileService.upload(file));
|
}
|
}
|