From cdafef1d4d589e5ad4fe18da047d0c0773ad0971 Mon Sep 17 00:00:00 2001 From: haotianmingyue <2421912570@qq.com> Date: Thu, 12 Dec 2024 10:21:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=AE=A1=E6=A0=B8=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E5=AE=8C=E6=88=90---=E6=B6=88=E6=81=AF=E6=8F=90?= =?UTF-8?q?=E9=86=92=E5=BE=85=E5=AE=8C=E5=96=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backstage/SysWorkReviewController.java | 201 +++++++++++++++++- .../com/ruoyi/system/domain/WorkReview.java | 2 +- 2 files changed, 195 insertions(+), 8 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/SysWorkReviewController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/SysWorkReviewController.java index c75683ba..fb97843e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/SysWorkReviewController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/backstage/SysWorkReviewController.java @@ -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 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 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 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("作品审核完成"); + + + + + //-----------------------------修改作品状态结束------------------------------------- + + + + } - // 审核 // 查看作品详情 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkReview.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkReview.java index f7bff114..dc0ef124 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkReview.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/WorkReview.java @@ -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)