瀏覽代碼

评分统计

lvmax 9 月之前
父節點
當前提交
e1c65e9a7f

+ 10 - 0
yudao-module-work/yudao-module-work-biz/src/main/java/cn/iocoder/yudao/module/work/controller/admin/score/ScoreController.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.work.controller.admin.score;
 
+import cn.iocoder.yudao.module.work.dal.dataobject.score.ScoreStatusDO;
 import org.springframework.web.bind.annotation.*;
 import jakarta.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -70,6 +71,15 @@ public class ScoreController {
         return success(BeanUtils.toBean(score, ScoreRespVO.class));
     }
 
+    @GetMapping("/getStatus")
+    @Operation(summary = "获得作品状态")
+    @PreAuthorize("@ss.hasPermission('work:score:query')")
+    public CommonResult<ScoreStatusDO> getStatus() {
+        ScoreStatusDO scoreStatus = scoreService.getScoreStatus();
+        System.out.println(scoreStatus+"============================");
+        return success(BeanUtils.toBean(scoreStatus, ScoreStatusDO.class));
+    }
+
     @PutMapping("/status")
     @Operation(summary = "提交评分")
     @PreAuthorize("@ss.hasPermission('work:score:status')")

+ 1 - 1
yudao-module-work/yudao-module-work-biz/src/main/java/cn/iocoder/yudao/module/work/controller/admin/type/TypeController.java

@@ -91,7 +91,7 @@ public class TypeController {
     @Operation(summary = "获得作品分类列表")
     @PreAuthorize("@ss.hasPermission('work:type:scoreTreeQuery')")
     public CommonResult<List<TypeRespVO>> getScoreTreeList(@Valid TypeListReqVO listReqVO) {
-        List<TypeDO> list = typeService.getScoreTreeList(listReqVO);
+        List<TypeDO> list = typeService.getScoreTreeList();
         return success(BeanUtils.toBean(list, TypeRespVO.class));
     }
 

+ 33 - 0
yudao-module-work/yudao-module-work-biz/src/main/java/cn/iocoder/yudao/module/work/dal/dataobject/score/ScoreStatusDO.java

@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.work.dal.dataobject.score;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 作品评分 三种状态
+ *
+ * @author 管理员
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ScoreStatusDO {
+    /**
+     * 全部作品数量
+     */
+    private String All;
+
+    /**
+     * 完成作品数量
+     */
+    private String finish;
+
+    /**
+     * 剩余作品数量
+     */
+    private String remain;
+}

+ 5 - 0
yudao-module-work/yudao-module-work-biz/src/main/java/cn/iocoder/yudao/module/work/service/score/ScoreService.java

@@ -1,6 +1,9 @@
 package cn.iocoder.yudao.module.work.service.score;
 
 import java.util.*;
+
+
+import cn.iocoder.yudao.module.work.dal.dataobject.score.ScoreStatusDO;
 import jakarta.validation.*;
 import cn.iocoder.yudao.module.work.controller.admin.score.vo.*;
 import cn.iocoder.yudao.module.work.dal.dataobject.score.ScoreDO;
@@ -58,4 +61,6 @@ public interface ScoreService {
      */
     PageResult<ScoreDO> getScorePage(ScorePageReqVO pageReqVO);
 
+    ScoreStatusDO getScoreStatus();
+
 }

+ 50 - 12
yudao-module-work/yudao-module-work-biz/src/main/java/cn/iocoder/yudao/module/work/service/score/ScoreServiceImpl.java

@@ -1,24 +1,31 @@
 package cn.iocoder.yudao.module.work.service.score;
 
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
-import org.springframework.stereotype.Service;
+import cn.iocoder.yudao.module.work.controller.admin.score.vo.ScorePageReqVO;
+import cn.iocoder.yudao.module.work.controller.admin.score.vo.ScoreSaveReqVO;
+import cn.iocoder.yudao.module.work.controller.admin.work.vo.workPageReqVO;
+import cn.iocoder.yudao.module.work.dal.dataobject.score.ScoreDO;
+import cn.iocoder.yudao.module.work.dal.dataobject.score.ScoreStatusDO;
+import cn.iocoder.yudao.module.work.dal.dataobject.type.TypeDO;
+import cn.iocoder.yudao.module.work.dal.dataobject.work.workDO;
+import cn.iocoder.yudao.module.work.dal.mysql.score.ScoreMapper;
+import cn.iocoder.yudao.module.work.dal.mysql.type.TypeMapper;
+import cn.iocoder.yudao.module.work.dal.mysql.work.WorkMapper;
+import cn.iocoder.yudao.module.work.service.type.TypeService;
+import cn.iocoder.yudao.module.work.service.work.workService;
 import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.*;
 
-import cn.iocoder.yudao.module.work.controller.admin.score.vo.*;
-import cn.iocoder.yudao.module.work.dal.dataobject.score.ScoreDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-
-import cn.iocoder.yudao.module.work.dal.mysql.score.ScoreMapper;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.work.enums.ErrorCodeConstants.*;
+import static cn.iocoder.yudao.module.work.enums.ErrorCodeConstants.SCORE_NOT_EXISTS;
 
 /**
  * 作品评分 Service 实现类
@@ -31,6 +38,10 @@ public class ScoreServiceImpl implements ScoreService {
 
     @Resource
     private ScoreMapper scoreMapper;
+    @Resource
+    private TypeService typeService;
+    @Resource
+    private workService workService;
 
     @Override
     public Integer createScore(ScoreSaveReqVO createReqVO) {
@@ -87,5 +98,32 @@ public class ScoreServiceImpl implements ScoreService {
     public PageResult<ScoreDO> getScorePage(ScorePageReqVO pageReqVO) {
         return scoreMapper.selectPage(pageReqVO);
     }
+    @Override
+    public ScoreStatusDO getScoreStatus() {
+        //所有
+        int all=0;
+        //完成
+        int finish=0;
+        //剩余
+        int remain=0;
+        List<TypeDO> scoreTreeList = typeService.getScoreTreeList();
+        for (TypeDO typeDO:scoreTreeList){
+            workPageReqVO pageReqVO = new workPageReqVO();
+            pageReqVO.setStatus("1");
+            pageReqVO.setCategoryId(String.valueOf(typeDO.getId()));
+            List<workDO> list = workService.getworkList(pageReqVO);
+            all+=list.size();
+            for (workDO workDO:list){
+                if (workDO.getScoreDO().getScore()==null){
+                    remain++;
+                }else {
+                    finish++;
+                }
+            }
+        }
+
+
+        return new ScoreStatusDO(String.valueOf(all),String.valueOf(finish),String.valueOf(remain));
+    }
 
 }

+ 1 - 1
yudao-module-work/yudao-module-work-biz/src/main/java/cn/iocoder/yudao/module/work/service/type/TypeService.java

@@ -64,6 +64,6 @@ public interface TypeService {
      * @param listReqVO 查询条件
      * @return 作品评分树分类列表
      */
-    List<TypeDO> getScoreTreeList(TypeListReqVO listReqVO);
+    List<TypeDO> getScoreTreeList();
 
 }

+ 3 - 2
yudao-module-work/yudao-module-work-biz/src/main/java/cn/iocoder/yudao/module/work/service/type/TypeServiceImpl.java

@@ -167,9 +167,9 @@ public class TypeServiceImpl implements TypeService {
     }
 
     @Override
-    public List<TypeDO> getScoreTreeList(TypeListReqVO listReqVO) {
+    public List<TypeDO> getScoreTreeList() {
         List<TypeDO> typeDOS = new ArrayList<>();
-        List<TypeDO> typeDOS1 = typeMapper.selectList(listReqVO);
+        List<TypeDO> typeDOS1 = typeMapper.selectList();
         for (TypeDO typeDO : typeDOS1) {
             if (security(typeDO, SecurityFrameworkUtils.getLoginUserId())) {
                 typeDOS.add(typeDO);
@@ -243,6 +243,7 @@ public class TypeServiceImpl implements TypeService {
             for (Long l : userIds) {
                 if (l.equals(loginUserId)) {
                     b = true;
+                    break;
                 }
             }
             List<TypeDO> typeDOS = typeMapper.selectList(new LambdaQueryWrapperX<TypeDO>()