he2802 3 жил өмнө
parent
commit
da8bff7308

+ 23 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -43,6 +43,7 @@ import com.zhongzheng.modules.order.vo.OrderListVo;
 import com.zhongzheng.modules.order.vo.OrderUserGoodsVo;
 import com.zhongzheng.modules.polyv.bo.PolyvLiveQueryBo;
 import com.zhongzheng.modules.polyv.service.IPolyvLiveService;
+import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
 import com.zhongzheng.modules.user.bo.UserExamGoodsQueryBo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
 import com.zhongzheng.modules.user.domain.User;
@@ -50,6 +51,7 @@ import com.zhongzheng.modules.user.service.IUserExamGoodsService;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
 import com.zhongzheng.modules.user.service.IUserSubscribeService;
+import com.zhongzheng.modules.user.vo.SubjectStudyRecordVo;
 import net.polyv.common.v1.util.StringUtils;
 import net.polyv.live.v1.entity.channel.operate.LiveChannelBasicInfoResponse;
 import org.springframework.beans.BeanUtils;
@@ -61,6 +63,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -559,10 +562,29 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         return info;
     }
 
+    /**
+     * 查询用户拥有视频+直播商品
+     * @param bo
+     * @return
+     */
     @Override
     public List<OrderGoodsVo> listUserVideoLive(GoodsQueryBo bo) {
         List<OrderGoodsVo> list = this.baseMapper.listUserVideoLive(bo);
-
+        for(OrderGoodsVo goodsVo : list){
+            Long secLong = 0L;
+            Long studyLong = 0L;
+            SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
+            subjectStudyRecordQueryBo.setGoodsId(goodsVo.getGoodsId());
+            subjectStudyRecordQueryBo.setUserId(bo.getUserId());
+            subjectStudyRecordQueryBo.setOrderGoodsId(goodsVo.getOrderGoodsId());
+            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();
+            }
+            goodsVo.setSecAllNum(secLong);
+            goodsVo.setStuAllNum(studyLong);
+        }
         return list;
     }
 

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsVo.java

@@ -240,4 +240,16 @@ public class OrderGoodsVo {
 
 	@ApiModelProperty("业务层次ID")
 	private Long businessId;
+	/** 节数 */
+	@ApiModelProperty("试卷数")
+	private Long examNum;
+	/** 已做试卷 */
+	@ApiModelProperty("已做试卷")
+	private Long recordNum;
+	/** 学习进度 */
+	@ApiModelProperty("已学节数")
+	private Long stuAllNum;
+	/** 学习进度 */
+	@ApiModelProperty("总节数")
+	private Long secAllNum;
 }

+ 12 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -87,6 +87,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="categoryName" column="category_name"/>
         <result property="subjectIds" column="subject_ids"/>
         <result property="businessId" column="business_id"/>
+        <result property="examNum" column="exam_num"/>
+        <result property="recordNum" column="record_num"/>
     </resultMap>
 
     <select id="selectList" parameterType="com.zhongzheng.modules.order.bo.OrderGoodsQueryBo" resultMap="OrderGoodsResultVo">
@@ -429,7 +431,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         og.service_start_time,
         og.service_end_time,
         og.order_goods_id,
-        og.grade_id
+        og.grade_id,
+        (SELECT
+        COUNT( m.id )
+        FROM
+        goods_course c  LEFT JOIN  course_menu_exam m ON m.course_id = c.course_id
+        where
+        m.type = 1
+        and c.goods_id = g.goods_id) as exam_num,
+        (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr LEFT JOIN class_grade_goods cgg on cgg.goods_id
+        = ubr.goods_id where ubr.`status`=1 and ubr.report_status=1 and ubr.grade_id = og.grade_id and ubr.user_id = o.user_id and ubr.current_status = 1) as record_num
         FROM
         order_goods og
         LEFT JOIN goods g on g.goods_id =og.goods_id