Ver Fonte

sup 我的课程直播列表

he2802 há 3 anos atrás
pai
commit
2af4046fe4

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamSiteAddBo.java

@@ -39,4 +39,6 @@ public class ExamSiteAddBo {
     /** 1云学堂 2智慧考场 */
     @ApiModelProperty("1云学堂 2智慧考场")
     private Integer fromPlat;
+    /** 智慧考场ID */
+    private Long centerId;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamSiteEditBo.java

@@ -44,4 +44,7 @@ public class ExamSiteEditBo {
     /** 1云学堂 2智慧考场 */
     @ApiModelProperty("1云学堂 2智慧考场")
     private Integer fromPlat;
+
+    /** 智慧考场ID */
+    private Long centerId;
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamSiteQueryBo.java

@@ -52,5 +52,6 @@ public class ExamSiteQueryBo extends BaseEntity {
 	/** 1云学堂 2智慧考场 */
 	@ApiModelProperty("1云学堂 2智慧考场")
 	private Integer fromPlat;
-
+	/** 智慧考场ID */
+	private Long centerId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamSite.java

@@ -42,4 +42,6 @@ private static final long serialVersionUID=1L;
     private Long updateTime;
     /** 1云学堂 2智慧考场 */
     private Integer fromPlat;
+    /** 智慧考场ID */
+    private Long centerId;
 }

+ 10 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamSiteServiceImpl.java

@@ -2,9 +2,11 @@ package com.zhongzheng.modules.exam.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.modules.user.domain.UserVisitLog;
 import com.zhongzheng.modules.wisdom.vo.WisdomRoomVo;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -45,6 +47,7 @@ public class ExamSiteServiceImpl extends ServiceImpl<ExamSiteMapper, ExamSite> i
         lqw.eq(StrUtil.isNotBlank(bo.getCode()), ExamSite::getCode, bo.getCode());
         lqw.eq(StrUtil.isNotBlank(bo.getSiteAddress()), ExamSite::getSiteAddress, bo.getSiteAddress());
         lqw.eq(bo.getPeople() != null, ExamSite::getPeople, bo.getPeople());
+        lqw.eq(bo.getFromPlat() != null, ExamSite::getFromPlat, bo.getFromPlat());
         lqw.in(CollectionUtils.isNotEmpty(bo.getStatus()), ExamSite::getStatus, bo.getStatus());
         lqw.orderByDesc(ExamSite::getCreateTime);
         return entity2Vo(this.list(lqw));
@@ -92,18 +95,18 @@ public class ExamSiteServiceImpl extends ServiceImpl<ExamSiteMapper, ExamSite> i
     @Override
     public Boolean insertByWisdomAddBo(WisdomRoomVo bo) {
         ExamSite add = new ExamSite();
-        LambdaQueryWrapper<ExamSite> lqw = Wrappers.lambdaQuery();
-        lqw.eq(ExamSite::getSiteAddress, bo.getExamCenterAddress());
-        lqw.eq(ExamSite::getStatus, 1);
-        List<ExamSite> list = this.list(lqw);
-        if (CollectionUtils.isNotEmpty(list)){
-            throw new IllegalArgumentException("地址重复,请重新填写");
+        add.setCenterId(bo.getCenterId());
+        add.setSiteAddress(bo.getCenterName());
+        add.setPeople(bo.getSeatNum());
+        add.setFromPlat(2);
+        add.setStatus(1);
+        if(count(new QueryWrapper<ExamSite>().lambda().eq(ExamSite::getFromPlat,2).eq(ExamSite::getCenterId,bo.getCenterId()))>0){
+            return false;
         }
         validEntityBeforeSave(add);
         add.setCode(ServletUtils.getEncoded("DD"));
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
-        add.setFromPlat(2);
         return this.save(add);
     }
 

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamApplySiteVo.java

@@ -48,4 +48,8 @@ public class ExamApplySiteVo {
 
 	@ApiModelProperty("考试地点时间")
 	private List<ExamApplySiteTimeVo> examApplySiteTime;
+
+	/** 1云学堂 2智慧考场 */
+	@ApiModelProperty("1云学堂 2智慧考场")
+	private Integer fromPlat;
 }

+ 42 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -14,11 +14,14 @@ import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
+import com.zhongzheng.modules.course.mapper.CourseMapper;
 import com.zhongzheng.modules.course.service.ICourseChapterSectionService;
 import com.zhongzheng.modules.course.service.ICourseMenuService;
 import com.zhongzheng.modules.course.service.ICourseSectionService;
 import com.zhongzheng.modules.course.vo.CourseLiveVo;
 import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.exam.domain.ExamBefore;
+import com.zhongzheng.modules.exam.service.IExamBeforeService;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
 import com.zhongzheng.modules.goods.service.IGoodsCourseService;
 import com.zhongzheng.modules.goods.service.IGoodsService;
@@ -44,6 +47,7 @@ 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;
+import com.zhongzheng.modules.user.domain.UserSubscribe;
 import com.zhongzheng.modules.user.service.IUserExamGoodsService;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
@@ -117,6 +121,12 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
     @Autowired
     private IPolyvLiveService ployvLiveService;
 
+    @Autowired
+    private CourseMapper courseMapper;
+
+    @Autowired
+    private IExamBeforeService iExamBeforeService;
+
     @Override
     public OrderGoodsVo queryById(Long orderGoodsId) {
         OrderGoods db = this.baseMapper.selectById(orderGoodsId);
@@ -511,6 +521,38 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
             }
             goodsVo.setSecAllNum(secLong);
             goodsVo.setStuAllNum(studyLong);
+            if(goodsVo.getGoodsType()==1){
+                //视频商品
+                //获得当前所在班级
+                ClassGradeVo classGradeVo = courseMapper.gradeIdSelect(goodsVo.getUserId(),goodsVo.getGoodsId(),goodsVo.getGradeId());
+                if(Validator.isEmpty(classGradeVo)){
+                    continue;
+                }
+                goodsVo.setPeriodStatus(classGradeVo.getPeriodStatus());
+                goodsVo.setPeriodPlush(classGradeVo.getPeriodPlush());
+                goodsVo.setGradeStatus(classGradeVo.getStatus());
+
+                LambdaQueryWrapper<UserSubscribe> lq = Wrappers.lambdaQuery();
+                lq.eq(UserSubscribe::getOrderGoodsId, goodsVo.getOrderGoodsId());
+                lq.eq(UserSubscribe::getSubscribeStatus, 1);
+                lq.eq(UserSubscribe::getBeforeStatus, 1);
+                lq.last("limit 1");
+                UserSubscribe userSubscribe = iUserSubscribeService.getOne(lq);
+                if (userSubscribe != null) {
+                    LambdaQueryWrapper<ExamBefore> lqw1 = Wrappers.lambdaQuery();
+                    lqw1.eq(ExamBefore::getBeforeId, userSubscribe.getBeforeId());
+                    lqw1.eq(ExamBefore::getStatus, 1);
+                    ExamBefore examBefore = iExamBeforeService.getOne(lqw1);
+                    if (examBefore != null) {
+                        if ((System.currentTimeMillis()/1000) > examBefore.getBeforeStartTime().longValue() && (System.currentTimeMillis()/1000) < examBefore.getBeforeEndTime().longValue()) {
+                            goodsVo.setBeforeStatus(1L);
+                            goodsVo.setBeforeName(examBefore.getBeforeName());
+                            goodsVo.setBeforeStartTime(examBefore.getBeforeStartTime());
+                            goodsVo.setBeforeEndTime(examBefore.getBeforeEndTime());
+                        }
+                    }
+                }
+            }
         }
         return list;
     }

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

@@ -255,4 +255,53 @@ public class OrderGoodsVo {
 	/** 班主任ID */
 	@ApiModelProperty("班主任ID")
 	private Long sysUserId;
+	@ApiModelProperty("学时审批状态 0 未通过 1通过 2待审核 -1 不可审核")
+	private Integer periodStatus;
+	/** 学习进度 */
+	@ApiModelProperty("商品关联考试安排状态")
+	private Long applyStatus;
+	/** 学习进度 */
+	@ApiModelProperty("商品关联前培状态")
+	private Long beforeStatus;
+	/** 是否学时推送 0未推送 1推送 */
+	@Excel(name = "是否学时推送 0未推送 1推送")
+	@ApiModelProperty("是否学时推送 0未推送 1推送")
+	private Integer periodPlush;
+	@ApiModelProperty("预约ID")
+	private Integer subscribeId;
+	/** 0 待登记 1正常 2缺考 3作弊 4替考 */
+	@Excel(name = "0 待登记 1正常 2缺考 3作弊 4替考")
+	@ApiModelProperty("0 待登记 1正常 2缺考 3作弊 4替考")
+	private Integer subExamStatus;
+	/** 考试开始时间段 */
+	@Excel(name = "考试开始时间段")
+	@ApiModelProperty("考试开始时间段")
+	private String subApplySiteStartTime;
+	/** 1通过 0不通过 */
+	@Excel(name = "1通过 0不通过")
+	@ApiModelProperty("1通过 0不通过")
+	private Integer subResult;
+	@ApiModelProperty("前培名字")
+	private String beforeName;
+	/** 开始时间 */
+	private Long beforeStartTime;
+	/** 结束时间 */
+	private Long beforeEndTime;
+	/** 考试结束时间段 */
+	@Excel(name = "考试结束时间段")
+	@ApiModelProperty("考试结束时间段")
+	private String subApplySiteEndTime;
+	/** 考试日期 */
+	@Excel(name = "考试日期")
+	@ApiModelProperty("考试日期")
+	private Long subApplySiteExamTime;
+	/** 成绩 */
+	@Excel(name = "成绩")
+	@ApiModelProperty("成绩")
+	private Long subPerformance;
+	/** 1有效 0无效 */
+	@Excel(name = "1有效 0无效")
+	@ApiModelProperty("1有效 0无效")
+	private Integer gradeStatus;
+
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/wisdom/vo/WisdomRoomVo.java

@@ -6,7 +6,7 @@ import lombok.Data;
 public class WisdomRoomVo {
     private static final long serialVersionUID = 1L;
 
-    private String centerId;
+    private Long centerId;
 
     private String centerName;
 
@@ -20,7 +20,7 @@ public class WisdomRoomVo {
 
     private String roomAddress;
 
-    private Integer seatNum;
+    private Long seatNum;
 
     private Integer useSeatNumber;
 

+ 3 - 1
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamApplyMapper.xml

@@ -63,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status" column="status"/>
         <result property="siteAddress" column="site_address"/>
         <result property="people" column="people"/>
+        <result property="fromPlat" column="from_plat"/>
     </resultMap>
     <resultMap type="com.zhongzheng.modules.exam.vo.ExamUserApplySiteVo" id="ExamUserApplySiteVo">
         <result property="id" column="id"/>
@@ -169,7 +170,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
             *,
             es.site_address,
-            es.people
+            es.people,
+            es.from_plat
         FROM
             exam_apply_site eas
                 LEFT JOIN exam_site es on eas.site_id = es.site_id

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamSiteMapper.xml

@@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
         <result property="fromPlat" column="from_plat"/>
+        <result property="centerId" column="center_id"/>
     </resultMap>
 
 

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

@@ -90,6 +90,14 @@
         <result property="examNum" column="exam_num"/>
         <result property="recordNum" column="record_num"/>
         <result property="sysUserId" column="sys_user_id"/>
+        <result property="applyStatus" column="apply_status"/>
+        <result property="subExamStatus" column="sub_exam_status"/>
+        <result property="subPerformance" column="sub_performance"/>
+        <result property="subResult" column="sub_result"/>
+        <result property="subApplySiteStartTime" column="sub_apply_site_start_time"/>
+        <result property="subApplySiteEndTime" column="sub_apply_site_end_time"/>
+        <result property="subApplySiteExamTime" column="sub_apply_site_exam_time"/>
+        <result property="subscribeId" column="subscribe_id"/>
     </resultMap>
 
     <select id="selectList" parameterType="com.zhongzheng.modules.order.bo.OrderGoodsQueryBo"
@@ -453,7 +461,15 @@
         (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
+        o.user_id and ubr.current_status = 1) as record_num,
+        (case WHEN (SELECT COUNT(1) FROM exam_apply_goods eag LEFT JOIN exam_apply ea on eag.apply_id = ea.apply_id LEFT JOIN exam_apply_user eau on eau.apply_id = ea.apply_id where   eag.goods_id = g.goods_id and ea.`status` = 1 and unix_timestamp(now()) BETWEEN ea.apply_start_time and ea.apply_end_time) >0 then 1 ELSE 0 end) as apply_status,
+        us.exam_status  as sub_exam_status,
+        us.performance  as sub_performance,
+        us.`result` as sub_result,
+        us.subscribe_id,
+        us.apply_site_start_time as sub_apply_site_start_time,
+        us.apply_site_end_time as sub_apply_site_end_time,
+        us.apply_site_exam_time as sub_apply_site_exam_time
         FROM
         order_goods og
         LEFT JOIN goods g on g.goods_id =og.goods_id
@@ -461,6 +477,7 @@
         LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
         LEFT JOIN course_business cb ON g.business_id = cb.id
         LEFT JOIN `order` o on o.order_sn = og.order_sn
+        LEFT JOIN (SELECT * from  user_subscribe where subscribe_id in (SELECT MAX(subscribe_id) from user_subscribe where user_id = #{userId} and  subscribe_status = 1 GROUP BY order_goods_id)) us on us.order_goods_id = og.order_goods_id
         WHERE
         1 = 1
         AND g.goods_type in (1,6)