tanzh 3 år sedan
förälder
incheckning
bb4bb676a8

+ 9 - 4
zhongzheng-api/src/main/java/com/zhongzheng/controller/mock/MockApplyController.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.controller.mock;
 
+import cn.hutool.core.lang.Validator;
 import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
@@ -11,8 +12,10 @@ import com.zhongzheng.framework.web.service.WxTokenService;
 import com.zhongzheng.modules.mock.bo.MockApplyAddBo;
 import com.zhongzheng.modules.mock.bo.MockApplyEditBo;
 import com.zhongzheng.modules.mock.bo.MockApplyQueryBo;
+import com.zhongzheng.modules.mock.domain.MockMajorSubject;
 import com.zhongzheng.modules.mock.service.IMockApplyService;
 import com.zhongzheng.modules.mock.vo.MockApplyVo;
+import com.zhongzheng.modules.mock.vo.MockMajorSubjectVo;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -141,10 +144,12 @@ public class MockApplyController extends BaseController {
     @ApiOperation("查询模考讲解直播列表")
     @PreAuthorize("@ss.hasPermi('system:apply:list')")
     @GetMapping("/listMockLive")
-    public TableDataInfo<MockApplyVo> listMockLive(MockApplyQueryBo bo) {
-        startPage();
-        List<MockApplyVo> list = iMockApplyService.listMockLive(bo);
-        return getDataTable(list);
+    public TableDataInfo<MockMajorSubjectVo> listMockLive(MockApplyQueryBo bo) {
+        List<MockMajorSubjectVo> list = iMockApplyService.listMockLive(bo);
+        if (Validator.isEmpty(bo.getPageNum()) || Validator.isEmpty(bo.getPageSize())) {
+            return getDataTable(list);
+        }
+        return getDataTable(getPageInfo(bo.getPageNum(), bo.getPageSize(), list).getList());
     }
 
     /**

+ 3 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/ConsoleServiceImpl.java

@@ -148,10 +148,9 @@ public class ConsoleServiceImpl implements IConsoleService {
         map.put("ytdRebuyNum",ytdRebuyNum);
         map.put("sevenRebuyNum",sevenRebuyNum);
 
-        map.put("offVideoNum", offVideoNum);
-        map.put("alloffBankNum", alloffBankNum);
-        map.put("todoffBankNum", alloffBankNum);
-        map.put("todoffVideoNum", todoffVideoNum);
+        map.put("allOffVideoNum", offVideoNum);
+        map.put("allOffBankNum", alloffBankNum);
+        map.put("todOffVideoNum", todoffVideoNum);
         map.put("todOffBankNum", todOffBankNum);
         map.put("ytdOffVideoNum", ytdOffVideoNum);
         map.put("ytdOffBankNum", ytdOffBankNum);

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/mapper/MockMajorSubjectMapper.java

@@ -1,7 +1,11 @@
 package com.zhongzheng.modules.mock.mapper;
 
+import com.zhongzheng.modules.mock.bo.MockApplyQueryBo;
 import com.zhongzheng.modules.mock.domain.MockMajorSubject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.mock.vo.MockMajorSubjectVo;
+
+import java.util.List;
 
 /**
  * 模考专业绑定科目Mapper接口
@@ -11,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface MockMajorSubjectMapper extends BaseMapper<MockMajorSubject> {
 
+    List<MockMajorSubjectVo> listMockLive(MockApplyQueryBo bo);
 }

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/IMockApplyService.java

@@ -2,11 +2,13 @@ package com.zhongzheng.modules.mock.service;
 
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.modules.mock.domain.MockApply;
+import com.zhongzheng.modules.mock.domain.MockMajorSubject;
 import com.zhongzheng.modules.mock.vo.MockApplyVo;
 import com.zhongzheng.modules.mock.bo.MockApplyQueryBo;
 import com.zhongzheng.modules.mock.bo.MockApplyAddBo;
 import com.zhongzheng.modules.mock.bo.MockApplyEditBo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.mock.vo.MockMajorSubjectVo;
 
 import java.text.ParseException;
 import java.util.Collection;
@@ -62,7 +64,7 @@ public interface IMockApplyService extends IService<MockApply> {
 
 	List<MockApplyVo> listApplyBusiness(MockApplyQueryBo bo);
 
-    List<MockApplyVo> listMockLive(MockApplyQueryBo bo);
+    List<MockMajorSubjectVo> listMockLive(MockApplyQueryBo bo);
 
     List<MockApplyVo> listSubjects();
 

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/IMockMajorSubjectService.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.mock.service;
 
+import com.zhongzheng.modules.mock.bo.MockApplyQueryBo;
 import com.zhongzheng.modules.mock.domain.MockMajorSubject;
 import com.zhongzheng.modules.mock.vo.MockMajorSubjectVo;
 import com.zhongzheng.modules.mock.bo.MockMajorSubjectQueryBo;
@@ -49,4 +50,6 @@ public interface IMockMajorSubjectService extends IService<MockMajorSubject> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    List<MockMajorSubjectVo> listMockLive(MockApplyQueryBo bo);
 }

+ 7 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/impl/MockApplyServiceImpl.java

@@ -481,12 +481,12 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
     }
 
     @Override
-    public List<MockApplyVo> listMockLive(MockApplyQueryBo bo) {
-        List<MockApplyVo> list = baseMapper.listMockLive(bo);
-        ArrayList<MockApplyVo> ingList = new ArrayList<>();
-        ArrayList<MockApplyVo> offList = new ArrayList<>();
-        ArrayList<MockApplyVo> playBackList = new ArrayList<>();
-        ArrayList<MockApplyVo> overList = new ArrayList<>();
+    public List<MockMajorSubjectVo> listMockLive(MockApplyQueryBo bo) {
+        List<MockMajorSubjectVo> list = iMockMajorSubjectService.listMockLive(bo);
+        ArrayList<MockMajorSubjectVo> ingList = new ArrayList<>();
+        ArrayList<MockMajorSubjectVo> offList = new ArrayList<>();
+        ArrayList<MockMajorSubjectVo> playBackList = new ArrayList<>();
+        ArrayList<MockMajorSubjectVo> overList = new ArrayList<>();
         if (list != null && list.size() > 0) {
             list.forEach(mockApplyVo -> {
                 if (Validator.isNotEmpty(mockApplyVo.getLiveStartTime()) && Validator.isNotEmpty(mockApplyVo.getLiveEndTime())) {
@@ -509,7 +509,7 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
                 }
             });
         }
-        ArrayList<MockApplyVo> resultList = new ArrayList<>();
+        ArrayList<MockMajorSubjectVo> resultList = new ArrayList<>();
         resultList.addAll(ingList);
         resultList.addAll(offList);
         resultList.addAll(playBackList);

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/impl/MockMajorSubjectServiceImpl.java

@@ -3,6 +3,7 @@ package com.zhongzheng.modules.mock.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.mock.bo.MockApplyQueryBo;
 import com.zhongzheng.modules.mock.service.IMockMajorSubjectService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -98,4 +99,9 @@ public class MockMajorSubjectServiceImpl extends ServiceImpl<MockMajorSubjectMap
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public List<MockMajorSubjectVo> listMockLive(MockApplyQueryBo bo) {
+        return baseMapper.listMockLive(bo);
+    }
 }

+ 36 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/vo/MockMajorSubjectVo.java

@@ -53,6 +53,42 @@ public class MockMajorSubjectVo {
 	@ApiModelProperty("讲解名称")
 	private String sectionName;
 
+	/** 模考名字 */
+	@Excel(name = "模考名字")
+	@ApiModelProperty("模考名字")
+	private String applyName;
+
+	/** 节类型 1录播 2直播 3回放 */
+	@Excel(name = "节类型 1录播 2直播 3回放")
+	@ApiModelProperty("节类型 1录播 2直播 3回放")
+	private Integer sectionType;
+	/** 直播流地址 */
+	@Excel(name = "直播流地址")
+	@ApiModelProperty("直播流地址")
+	private String liveUrl;
+	/** 直播开始时间 */
+	@Excel(name = "直播开始时间")
+	@ApiModelProperty("直播开始时间")
+	private Long liveStartTime;
+	/** 直播结束时间 */
+	@Excel(name = "直播结束时间")
+	@ApiModelProperty("直播结束时间")
+	private Long liveEndTime;
+	/** 录播和回放的url地址 */
+	@Excel(name = "录播和回放的url地址")
+	@ApiModelProperty("录播和回放的url地址")
+	private String recordingUrl;
+
+	/** 直播状态 0直播中 1未开播 2回放中 3已结束 */
+	@Excel(name = "直播状态 0直播中 1未开播 2回放中 3已结束")
+	@ApiModelProperty("直播状态 0直播中 1未开播 2回放中 3已结束")
+	private Integer liveStatus;
+
+	/** 封面地址 */
+	@Excel(name = "封面地址")
+	@ApiModelProperty("封面地址")
+	private String coverUrl;
+
 	/** 模考专业科目绑定时间集合 */
 	@Excel(name = "模考专业科目绑定时间集合")
 	@ApiModelProperty("模考专业科目绑定时间集合")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserMockSubscribeServiceImpl.java

@@ -244,7 +244,7 @@ public class UserMockSubscribeServiceImpl extends ServiceImpl<UserMockSubscribeM
             if (Validator.isNotEmpty(bo.getMockStatus()) && bo.getMockStatus() == 0) {
                 userMockSubscribeVoList.stream().forEach(userMockSubscribeVo -> {
                     try {
-                        if (System.currentTimeMillis()/1000 < formatTime(userMockSubscribeVo.getApplySiteExamTime(), userMockSubscribeVo.getApplySiteStartTime())+Integer.parseInt(userMockSubscribeVo.getTimeLimit()) * 60000L) {
+                        if (System.currentTimeMillis()/1000 < formatTime(userMockSubscribeVo.getApplySiteExamTime(), userMockSubscribeVo.getApplySiteStartTime())+Integer.parseInt(userMockSubscribeVo.getTimeLimit()) * 60L) {
                             userMockSubscribeVos.add(userMockSubscribeVo);
                         }
                     } catch (ParseException e) {

+ 47 - 0
zhongzheng-system/src/main/resources/mapper/modules/mock/MockMajorSubjectMapper.xml

@@ -14,5 +14,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.mock.vo.MockMajorSubjectVo" id="MockMajorSubjectVoResult">
+        <result property="mockMajorSubjectId" column="mock_major_subject_id"/>
+        <result property="mockMajorId" column="mock_major_id"/>
+        <result property="subjectId" column="subject_id"/>
+        <result property="examId" column="exam_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="sectionType" column="section_type"/>
+        <result property="liveUrl" column="live_url"/>
+        <result property="liveStartTime" column="live_start_time"/>
+        <result property="liveEndTime" column="live_end_time"/>
+        <result property="recordingUrl" column="recording_url"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="applyName" column="apply_name"/>
+    </resultMap>
+
+    <select id="listMockLive" parameterType="com.zhongzheng.modules.mock.bo.MockApplyQueryBo" resultMap="MockMajorSubjectVoResult">
+        SELECT
+        a.*
+        FROM
+        (SELECT
+        mms.*,
+        cs.section_type,
+        cs.live_url,
+        cs.live_start_time,
+        cs.live_end_time,
+        cs.recording_url,
+        cs.cover_url,
+        (SELECT ma.apply_name FROM mock_apply ma LEFT JOIN mock_major mm ON ma.apply_id = mm.apply_id LEFT JOIN mock_major_subject mms1 ON mm.mock_major_id = mms1.mock_major_id WHERE mms1.mock_major_subject_id = mms.mock_major_subject_id LIMIT 1) apply_name
+        FROM
+        mock_major_subject mms
+        LEFT JOIN course_section cs ON mms.section_id = cs.section_id ) a
+        WHERE 1=1
+        <if test="startTime != null and startTime != ''">
+            AND a..live_start_time &gt; #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND a..live_end_time &lt; #{endTime}
+        </if>
+        <if test="applyName != null and applyName != ''">
+            AND a.apply_name = #{applyName}
+        </if>
+    </select>
+
 
 </mapper>