内容审核基本完成---消息提醒待完善。

This commit is contained in:
haotianmingyue 2024-12-12 10:21:08 +08:00
parent 786a0589de
commit cdafef1d4d
2 changed files with 195 additions and 8 deletions

View File

@ -2,23 +2,27 @@ package com.ruoyi.web.controller.backstage;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.UserWork;
import com.ruoyi.system.domain.WorkReview;
import com.ruoyi.system.domain.dto.ReviewWorkDto;
import com.ruoyi.system.domain.dto.SeOnlineTimeDto;
import com.ruoyi.system.domain.dto.SeUserWorkCountDto;
import com.ruoyi.system.domain.dto.UserWorkReviewDto;
import com.ruoyi.system.service.IDailySysService;
import com.ruoyi.system.service.ISysUserStService;
import com.ruoyi.system.service.IUserWorkService;
import com.ruoyi.system.service.IWorkReviewService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
import java.util.ArrayList;
@ -41,6 +45,10 @@ public class SysWorkReviewController extends BaseController {
@Autowired
private IDailySysService dailySysService;
// 作品审核相关
@Autowired
private IWorkReviewService workReviewService;
/*
* 获取过审总数--workStatus=3
@ -96,6 +104,7 @@ public class SysWorkReviewController extends BaseController {
//获取指定天数的用户作品总量
@Log(title = "内容审核--获取指定天数的用户作品总量", businessType = BusinessType.GET)
@GetMapping("/getDayWorkCount/{day}")
public AjaxResult getDayWorkCount(@PathVariable int day){
LocalDate now = LocalDate.now();
@ -129,10 +138,10 @@ public class SysWorkReviewController extends BaseController {
//获取所有作品列表-----作品图片 名称 内容 创建时间 作者 资源位 审核状态 审核记录
// 后续要加搜索功能------没添加搜索功能
@Log(title = "内容审核--获取作品列表", businessType = BusinessType.GET)
@GetMapping("/getAllUserWork")
public TableDataInfo getAllUserWork(UserWork userWork){
startPage();
List<UserWorkReviewDto> userWorkList = userWorkService.getAllUserWork(userWork);
for(UserWorkReviewDto userWorkReviewDto:userWorkList){
@ -143,13 +152,191 @@ public class SysWorkReviewController extends BaseController {
}
// 根据作品id获取作品详情
@Log(title = "内容审核--查看审核详情", businessType = BusinessType.GET)
@GetMapping("/getUserWork/{workId}")
public AjaxResult getUserWork(@PathVariable Long workId){
UserWork userWork = userWorkService.selectUserWorkByWorkId(workId);
return success(userWork);
// 返回具体的评审意见
WorkReview workReview = new WorkReview();
workReview.setWorkId(workId);
List<WorkReview> workReviewList = workReviewService.selectWorkReviewList(workReview);
AjaxResult ajax = AjaxResult.success();
ajax.put("workReviewList", workReviewList);
ajax.put("userWork", userWork);
return ajax;
}
// 审核作品
// 待更新退款相关逻辑!!
// 默认没有第4个人审核---------如果有的话需要修改相关逻辑
@Log(title = "内容审核--审核作品", businessType = BusinessType.UPDATE)
@Transactional
@PostMapping("/reviewWork")
public AjaxResult reviewWork(@RequestBody ReviewWorkDto reviewWorkDto){
// 作品id
Long workId = reviewWorkDto.getWorkId();
// 作品状态
String workStatus = reviewWorkDto.getWorkStatus();
// 审核意见
String auditOpinion = reviewWorkDto.getAuditOpinion();
System.out.println("作品id: "+ workId + " 审核状态: "+ workStatus + " 审核意见: "+ auditOpinion);
// 用户id 也就是审核人id
Long userId = getUserId();
// 用户昵称
SysUser user = getLoginUser().getUser();
//
String nickName = user.getNickName();
//-----------------------------新建审核意见, 插入审核意见----------------------------------------------
WorkReview workReview = new WorkReview();
workReview.setWorkId(workId);
workReview.setReviewerId(userId);
workReview.setWorkStatus(workStatus);
workReview.setDetail(auditOpinion);
workReview.setReviewerName(nickName);
// workReview.setWorkStatus(workStatus);
int back = workReviewService.insertWorkReview(workReview);
if(back==0){
return error("插入审核意见失败");
}
//------------------------------新建审核意见结束------------------------------------
//----------------------------------作品---------------
// 这里默认一定能查到, 不然怎么审核这个作品
UserWork userWork = userWorkService.selectUserWorkByWorkId(workId);
//-----------------------------修改作品状态-----------------------------------------
// 要判断这是第几个审核人了, 若是第三个人就要参考作品状态来决定是否通过
// 查看当前作品审核人总数
List<WorkReview> workReviewList = workReviewService.selectWorkReviewList(workReview);
if (workReviewList.size()==3){
// 如果size=3,则以第三个人的判断为准
// 第三个人审核通过
if (workStatus.equals("3")){
// 设置作品状态为审核通过
userWork.setWorkStatus("3");
// 设置评审意见
userWork.setAuditOpinion(userWork.getAuditOpinion()+auditOpinion);
// 更新作品数据库
int backUpdate = userWorkService.updateUserWork(userWork);
if(backUpdate==0){
return error("更新作品状态失败");
}
return success("作品审核完成");
}else if (workStatus.equals("4")){ // 第三个人审核不通过---可能触发退款
// 设置作品状态为审核不通过
userWork.setWorkStatus("4");
// 设置评审意见
userWork.setAuditOpinion(userWork.getAuditOpinion()+auditOpinion);
//-------------------------退款检测-----------------------------------------
//-------------------------退款检测-----------------------------------------
// 更新作品数据库
int backUpdate = userWorkService.updateUserWork(userWork);
if(backUpdate==0){
return error("更新作品状态失败");
}
return success("作品审核完成");
}
}
// 两个人的判断一致时,修改状态.
else if(workReviewList.size()==2){
if (workReviewList.get(0).getWorkStatus().equals(workReviewList.get(1).getWorkStatus())){
// 两个人判断一致
// 审核不通过
if(workReviewList.get(0).getWorkStatus().equals("4")){
userWork.setWorkStatus("5");
// 退款逻辑
}
else{
// 设置作品状态为两人相同的状态, 两人都通过
userWork.setWorkStatus("3");
}
// 设置评审意见
userWork.setAuditOpinion(userWork.getAuditOpinion()+","+nickName+"审核: "+auditOpinion);
// 更新作品数据库
int backUpdate = userWorkService.updateUserWork(userWork);
if(backUpdate==0){
return error("更新作品状态失败");
}
return success("作品审核完成");
}
// 两人意见不同, 就不更新待审核状态, 只保存意见
else{
// 设置评审意见--------只更新评审意见就行
userWork.setAuditOpinion(userWork.getAuditOpinion()+nickName+"审核: "+auditOpinion);
// 更新作品数据库
int backUpdate = userWorkService.updateUserWork(userWork);
if(backUpdate==0){
return error("更新作品状态失败");
}
return success("作品审核完成");
}
}
else{ // 第一个人评论
// 设置评审意见--------只更新评审意见就行
userWork.setAuditOpinion(userWork.getAuditOpinion()+nickName+"审核: "+auditOpinion);
// 更新作品数据库
int backUpdate = userWorkService.updateUserWork(userWork);
if(backUpdate==0){
return error("更新作品状态失败");
}
return success("作品审核完成");
}
return success("作品审核完成");
//-----------------------------修改作品状态结束-------------------------------------
}
// 审核
// 查看作品详情

View File

@ -39,7 +39,7 @@ public class WorkReview extends BaseEntity
private String detail;
/** a.0 */
@Excel(name = "a.0")
@Excel(name = "0")
private String deleteFlag;
public void setReviewId(Long reviewId)