he2802 2 năm trước cách đây
mục cha
commit
0017b4db82

+ 18 - 3
zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseController.java

@@ -1,8 +1,6 @@
 package com.zhongzheng.controller.course;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Arrays;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import cn.hutool.core.bean.BeanUtil;
@@ -216,4 +214,21 @@ public class CourseController extends BaseController {
         return getDataTable(list);
     }
 
+    @ApiOperation("批量查询用户拥有的商品进度")
+    @GetMapping("/goodsBatchList")
+    public AjaxResult<Map<String,Object>> goodsBatchList(CourseQueryBo bo) {
+        Map<String,Object> map = new HashMap<>();
+        for(String tel : bo.getTelphoneList()){
+            User user = iUserService.getOne(new LambdaQueryWrapper<User>()
+                    .eq(User::getTelphone, tel).last("limit 1"));
+            if(Validator.isEmpty(user)){
+                throw new CustomException("该用户不存在");
+            }
+            bo.setUserId(user.getUserId());
+            List<GoodsUserVo> list = iCourseService.goodsProgressList(bo);
+            map.put(tel,list);
+        }
+        return AjaxResult.success(map);
+    }
+
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java

@@ -111,4 +111,7 @@ public class CourseQueryBo extends BaseEntity {
 
 	@ApiModelProperty("手机号码")
 	private String telphone;
+
+	@ApiModelProperty("手机号码")
+	private List<String> telphoneList;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseService.java

@@ -83,4 +83,6 @@ public interface ICourseService extends IService<Course> {
     boolean batchDelCourse(GoodsBatchDelBo bo);
 
 	List<ClassGradeVo> gradeIdUserSelect(Long goodsId, Long gradeId);
+
+	List<GoodsUserVo> goodsProgressList(CourseQueryBo bo);
 }

+ 29 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -172,6 +172,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         return baseMapper.gradeIdUserSelect(goodsId,gradeId);
     }
 
+
     @Override
     public List<CourseVo> queryList(CourseQueryBo bo) {
         LambdaQueryWrapper<Course> lqw = Wrappers.lambdaQuery();
@@ -521,6 +522,34 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         return goodsUserVos;
     }
 
+
+    @Override
+    public List<GoodsUserVo> goodsProgressList(CourseQueryBo bo) {
+        List<GoodsUserVo> goodsUserVos = baseMapper.goodsList(bo);
+        //用户课程得详细信息
+        for (GoodsUserVo goodsUserVo : goodsUserVos) {
+            //获得当前所在班级
+            ClassGradeVo classGradeVo = baseMapper.gradeIdSelect(goodsUserVo.getUserId(),goodsUserVo.getGoodsId(),goodsUserVo.getGradeId());
+            if(Validator.isEmpty(classGradeVo)){
+                continue;
+            }
+            Long secLong = 0L;
+            Long studyLong = 0L;
+            SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
+            subjectStudyRecordQueryBo.setGoodsId(goodsUserVo.getGoodsId());
+            subjectStudyRecordQueryBo.setUserId(bo.getUserId());
+            subjectStudyRecordQueryBo.setGradeId(goodsUserVo.getGradeId());
+            List<SubjectStudyRecordVo> subjectStudyRecordVos = iUserStudyRecordService.listSubject(subjectStudyRecordQueryBo);
+            for (SubjectStudyRecordVo subjectStudyRecordVo : subjectStudyRecordVos) {
+                secLong = new BigDecimal(secLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getSectionNum().toString())).longValue();
+                studyLong = new BigDecimal(studyLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getRecordNum().toString())).longValue();
+            }
+            goodsUserVo.setSecAllNum(secLong);
+            goodsUserVo.setStuAllNum(studyLong);
+        }
+        return goodsUserVos;
+    }
+
     @Override
     public List<CourseUserVo> courseList(CourseQueryBo bo) {
         List<CourseUserVo> courseUserVos = baseMapper.courseList(bo);