企业风采审核功能开发

This commit is contained in:
冯辉
2026-07-07 19:48:06 +08:00
parent 4204ad12a5
commit c94d20942a
8 changed files with 224 additions and 1 deletions

View File

@@ -0,0 +1,66 @@
package com.ruoyi.cms.controller.cms;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.File;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.cms.service.IFileService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
/**
* 后台:风采文件审核管理
*
* @author admin
* @date 2026-07-07
*/
@RestController
@RequestMapping("/cms/file")
@Api(tags = "后台:风采审核管理")
public class CmsFileController extends BaseController {
@Autowired
private IFileService fileService;
@ApiOperation("风采审核列表")
@PreAuthorize("@ss.hasPermi('cms:showcase:review:list')")
@GetMapping("/review/list")
public TableDataInfo reviewList(File file) {
startPage();
List<File> list = fileService.selectFileListForReview(file);
return getDataTable(list);
}
@ApiOperation("风采审核(通过/驳回)")
@PreAuthorize("@ss.hasPermi('cms:showcase:review')")
@PutMapping("/review/{id}")
public AjaxResult review(@PathVariable Long id, @RequestBody Map<String, String> body) {
String reviewStatus = body.get("reviewStatus");
validateReviewStatus(reviewStatus);
String reviewRemark = body.get("reviewRemark");
validateRejectRemark(reviewStatus, reviewRemark);
String reviewBy = getUsername();
return toAjax(fileService.reviewFile(id, reviewStatus, reviewRemark, reviewBy));
}
private void validateReviewStatus(String reviewStatus) {
if (!"1".equals(reviewStatus) && !"2".equals(reviewStatus)) {
throw new ServiceException("审核状态不正确,只能为 1(通过) 或 2(驳回)");
}
}
private void validateRejectRemark(String reviewStatus, String reviewRemark) {
if ("2".equals(reviewStatus) && (reviewRemark == null || reviewRemark.trim().isEmpty())) {
throw new ServiceException("驳回时请填写原因");
}
}
}

View File

@@ -26,4 +26,9 @@ public interface FileMapper extends BaseMapper<File>
public List<File> selectFileListByBussinessIds(@Param("longs") List<Long> longs);
public int updateIds(@Param("longs") List<Long> longs,@Param("newBussinessid") Long bussinessid);
/**
* 查询风采审核列表(后台管理用)
*/
public List<File> selectFileListForReview(File file);
}

View File

@@ -58,4 +58,20 @@ public interface IFileService
AjaxResult upload(MultipartFile file, Long bussinessid);
AjaxResult uploadFile(MultipartFile file, Long bussinessid, HttpServletRequest request);
/**
* 查询风采审核列表(后台管理用)
*/
public List<File> selectFileListForReview(File file);
/**
* 审核风采文件
*
* @param id 文件ID
* @param reviewStatus 审核状态 1=通过 2=驳回
* @param reviewRemark 审核备注(驳回时必填)
* @param reviewBy 审核人
* @return 结果
*/
public int reviewFile(Long id, String reviewStatus, String reviewRemark, String reviewBy);
}

View File

@@ -12,6 +12,7 @@ import com.ruoyi.common.core.domain.entity.File;
import com.ruoyi.cms.mapper.FileMapper;
import com.ruoyi.cms.service.IFileService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.uuid.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -171,4 +172,25 @@ public class FileServiceImpl extends ServiceImpl<FileMapper, File> implements IF
this.save(file);
return file;
}
@Override
public List<File> selectFileListForReview(File file) {
return fileMapper.selectFileListForReview(file);
}
@Override
public int reviewFile(Long id, String reviewStatus, String reviewRemark, String reviewBy) {
File existing = fileMapper.selectById(id);
if (existing == null) {
throw new ServiceException("文件不存在");
}
if (existing.getReviewStatus() != null && !"0".equals(existing.getReviewStatus())) {
throw new ServiceException("该记录已审核,请勿重复操作");
}
existing.setReviewStatus(reviewStatus);
existing.setReviewRemark(reviewRemark);
existing.setReviewBy(reviewBy);
existing.setReviewTime(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date()));
return fileMapper.updateById(existing);
}
}