Forráskód Böngészése

fix 试卷列表状态

he2802 3 éve
szülő
commit
67c77c43c8
16 módosított fájl, 176 hozzáadás és 12 törlés
  1. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/inform/InformClassifyController.java
  2. 39 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java
  3. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/mapper/InformCourseMapper.java
  4. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/mapper/InformExamMapper.java
  5. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformCourseService.java
  6. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformExamService.java
  7. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformCourseServiceImpl.java
  8. 7 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformExamServiceImpl.java
  9. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformServiceImpl.java
  10. 20 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformCourseVo.java
  11. 20 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformExamVo.java
  12. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformVo.java
  13. 8 8
      zhongzheng-system/src/main/resources/mapper/modules/grade/UserPeriodStatusMapper.xml
  14. 29 0
      zhongzheng-system/src/main/resources/mapper/modules/inform/InformCourseMapper.xml
  15. 30 0
      zhongzheng-system/src/main/resources/mapper/modules/inform/InformExamMapper.xml
  16. 2 0
      zhongzheng-system/src/main/resources/mapper/modules/inform/InformMapper.xml

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/inform/InformClassifyController.java

@@ -34,7 +34,7 @@ import io.swagger.annotations.ApiOperation;
  * @author ruoyi
  * @date 2021-11-23
  */
-@Api(value = "【通知分类】控制器", tags = {"【请填写功能名称】管理"})
+@Api(value = "【通知分类】控制器", tags = {"【通知分类】管理"})
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
 @RequestMapping("/system/classify")

+ 39 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -194,6 +194,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                         userPeriodQueryBo.setExamId(classPeriodChapterVo.getId());
                         userPeriodQueryBo.setCourseId(classPeriodChapterVo.getCourseId());
                         userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                        userPeriodQueryBo.setUserId(classPeriodChapterVo.getUserId());
                         classPeriodChapterVo.setUserPeriodStatusVos(userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo));
                     }
                     if (classPeriodChapterVo.getType() == 2) {
@@ -203,6 +204,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                             userPeriodQueryBo.setSectionId(classPeriodSectionVo.getId());
                             userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
                             userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                            userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
                             userPeriodQueryBo.setChapterId(classPeriodChapterVo.getId());
                             userPeriodQueryBo.setModuleId(classPeriodVo.getId());
                             classPeriodSectionVo.setUserPeriodStatusVos(userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo));
@@ -214,10 +216,45 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             }
             if (classPeriodVo.getType() == 2){
                 List<ClassPeriodSectionVo> classPeriodSectionVos = baseMapper.listPeriodSection(classPeriodVo.getId(), bo.getGoodsId(), classPeriodVo.getCourseId(), bo.getUserId());
-                classPeriodSectionVos.addAll(baseMapper.listPeriodSectionExam(classPeriodVo.getId(), bo.getGoodsId(), classPeriodVo.getCourseId(), bo.getUserId()));
-
+                for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos) {
+                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                    userPeriodQueryBo.setSectionId(classPeriodSectionVo.getId());
+                    userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
+                    userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                    userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
+                    userPeriodQueryBo.setChapterId(classPeriodVo.getId());
+                    classPeriodSectionVo.setUserPeriodStatusVos(userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo));
+                }
+                List<ClassPeriodSectionVo> classPeriodSectionVos1 = baseMapper.listPeriodSectionExam(classPeriodVo.getId(), bo.getGoodsId(), classPeriodVo.getCourseId(), bo.getUserId());
+                for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos1) {
+                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                    userPeriodQueryBo.setExamId(classPeriodSectionVo.getId());
+                    userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
+                    userPeriodQueryBo.setUserId(bo.getUserId());
+                    userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                    userPeriodQueryBo.setChapterId(classPeriodVo.getId());
+                    classPeriodSectionVo.setUserPeriodStatusVos(userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo));
+                }
+                classPeriodSectionVos.addAll(classPeriodSectionVos1);
                 classPeriodVo.setClassPeriodSectionList(classPeriodSectionVos);
             }
+            if (classPeriodVo.getType() == 3){
+                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                    userPeriodQueryBo.setCourseId(classPeriodVo.getCourseId());
+                    userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                    userPeriodQueryBo.setUserId(classPeriodVo.getUserId());
+                    userPeriodQueryBo.setSectionId(classPeriodVo.getId());
+                    classPeriodVo.setUserPeriodStatusVos(userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo));
+            }
+
+            if (classPeriodVo.getType() == 4){
+                UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                userPeriodQueryBo.setExamId(classPeriodVo.getId());
+                userPeriodQueryBo.setCourseId(classPeriodVo.getCourseId());
+                userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                userPeriodQueryBo.setUserId(classPeriodVo.getUserId());
+                classPeriodVo.setUserPeriodStatusVos(userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo));
+            }
         }
         return classPeriodVos;
     }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/mapper/InformCourseMapper.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.inform.mapper;
 
 import com.zhongzheng.modules.inform.domain.InformCourse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.inform.vo.InformCourseVo;
 
 /**
  * 【请填写功能名称】Mapper接口
@@ -11,4 +12,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface InformCourseMapper extends BaseMapper<InformCourse> {
 
+    InformCourseVo queryCourse(Long informId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/mapper/InformExamMapper.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.inform.mapper;
 
 import com.zhongzheng.modules.inform.domain.InformExam;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.inform.vo.InformExamVo;
 
 /**
  * 【请填写功能名称】Mapper接口
@@ -11,4 +12,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface InformExamMapper extends BaseMapper<InformExam> {
 
+    InformExamVo queryExam(Long informId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformCourseService.java

@@ -49,4 +49,6 @@ public interface IInformCourseService extends IService<InformCourse> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    InformCourseVo queryCourse(Long informId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/IInformExamService.java

@@ -49,4 +49,6 @@ public interface IInformExamService extends IService<InformExam> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    InformExamVo queryExam(Long informId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformCourseServiceImpl.java

@@ -100,4 +100,9 @@ public class InformCourseServiceImpl extends ServiceImpl<InformCourseMapper, Inf
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public InformCourseVo queryCourse(Long informId) {
+        return baseMapper.queryCourse(informId);
+    }
 }

+ 7 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformExamServiceImpl.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.inform.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.zhongzheng.common.utils.DateUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -100,4 +101,10 @@ public class InformExamServiceImpl extends ServiceImpl<InformExamMapper, InformE
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public InformExamVo queryExam(Long informId) {
+        InformExamVo informExamVo = baseMapper.queryExam(informId);
+        return informExamVo;
+    }
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/service/impl/InformServiceImpl.java

@@ -140,7 +140,8 @@ public class InformServiceImpl extends ServiceImpl<InformMapper, Inform> impleme
     public List<InformVo> listInform(InformQueryBo bo) {
         List<InformVo> informVos = baseMapper.listInform(bo);
         for (InformVo informVo : informVos) {
-
+            informVo.setInformExamVo(iInformExamService.queryExam(informVo.getInformId()));
+            informVo.setInformCourseVo(iInformCourseService.queryCourse(informVo.getInformId()));
         }
         return informVos;
     }

+ 20 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformCourseVo.java

@@ -49,4 +49,24 @@ public class InformCourseVo {
 	@Excel(name = "题目位置")
 	@ApiModelProperty("题目位置")
 	private Long topicNum;
+
+	@Excel(name = "商品名")
+	@ApiModelProperty("商品名")
+	private String goodsName;
+
+	@Excel(name = "科目名")
+	@ApiModelProperty("科目名")
+	private String subjectName;
+
+	@Excel(name = "章")
+	@ApiModelProperty("章")
+	private String chapterName;
+
+	@Excel(name = "模块")
+	@ApiModelProperty("模块")
+	private String moduleName;
+
+	@Excel(name = "节")
+	@ApiModelProperty("节")
+	private String sectionName;
 }

+ 20 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformExamVo.java

@@ -52,4 +52,24 @@ public class InformExamVo {
 	@Excel(name = "商品ID")
 	@ApiModelProperty("商品ID")
 	private Long goodsId;
+
+	@Excel(name = "商品名")
+	@ApiModelProperty("商品名")
+	private String goodsName;
+
+	@Excel(name = "商品名")
+	@ApiModelProperty("商品名")
+	private String subjectName;
+
+	@Excel(name = "章")
+	@ApiModelProperty("章")
+	private String chapterName;
+
+	@Excel(name = "模块")
+	@ApiModelProperty("模块")
+	private String moduleName;
+
+	@Excel(name = "试卷")
+	@ApiModelProperty("试卷")
+	private String examName;
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/inform/vo/InformVo.java

@@ -42,6 +42,11 @@ public class InformVo {
 	@Excel(name = "分类id")
 	@ApiModelProperty("分类id")
 	private Long classifyId;
+
+	/** 分类id */
+	@Excel(name = "分类id")
+	@ApiModelProperty("分类id")
+	private String classifyName;
 	/** 发布状态 1立即发布 2定时发布 */
 	@Excel(name = "发布状态 1立即发布 2定时发布")
 	@ApiModelProperty("发布状态 1立即发布 2定时发布")

+ 8 - 8
zhongzheng-system/src/main/resources/mapper/modules/grade/UserPeriodStatusMapper.xml

@@ -21,28 +21,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         FROM
             user_period_status ups
                 LEFT JOIN user_period up ON up.id = ups.period_id
-        WHERE
+        WHERE 1=1
         <if test="goodsId != null and goodsId != ''">
-            up.goods_id = #{goods_id}
+            and up.goods_id = #{goodsId}
         </if>
         <if test="userId != null and userId != ''">
-            up.user_id = #{userId}
+            and up.user_id = #{userId}
         </if>
         <if test="sectionId != null and sectionId != ''">
-            up.section_id = #{sectionId}
+            and up.section_id = #{sectionId}
         </if>
         <if test="moduleId != null and moduleId != ''">
-            up.module_id = #{moduleId}
+            and up.module_id = #{moduleId}
         </if>
 
         <if test="chapterId != null and chapterId != ''">
-            up.chapter_id = #{chapterId}
+            and up.chapter_id = #{chapterId}
         </if>
         <if test="courseId != null and courseId != ''">
-            up.course_id = #{courseId}
+            and up.course_id = #{courseId}
         </if>
         <if test="examId != null and examId != ''">
-            up.exam_id = #{examId}
+            and up.exam_id = #{examId}
         </if>
         ORDER BY
             ups.create_time asc

+ 29 - 0
zhongzheng-system/src/main/resources/mapper/modules/inform/InformCourseMapper.xml

@@ -15,5 +15,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="chapterId" column="chapter_id"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.inform.vo.InformCourseVo" id="InformCourseVo">
+        <result property="id" column="id"/>
+        <result property="informId" column="inform_id"/>
+        <result property="courseId" column="course_id"/>
+        <result property="sectionId" column="section_id"/>
+        <result property="moduleId" column="module_id"/>
+        <result property="chapterId" column="chapter_id"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="subjectName" column="subject_name"/>
+        <result property="chapterName" column="chapter_name"/>
+        <result property="moduleName" column="module_name"/>
+        <result property="sectionName" column="section_name"/>
+    </resultMap>
 
+    <select id="queryCourse" parameterType="long" resultMap="InformCourseVo">
+        SELECT
+        ie.*,
+        (SELECT g.goods_name FROM goods g where g.goods_id = ie.goods_id) as goods_name,
+        (SELECT cs.subject_name FROM course c LEFT JOIN course_subject cs on c.subject_id=cs.id where c.course_id = ie.course_id) as subject_name,
+        (SELECT qc.`name` FROM question_chapter qc where qc.chapter_exam_id = ie.chapter_id) as chapter_name,
+        (SELECT qm.module_name FROM question_module qm where qm.module_exam_id = ie.module_id) as module_name,
+        (SELECT e.exam_name FROM exam e where e.exam_id = ie.exam_id) as exam_name
+        FROM
+        inform_exam ie
+        WHERE
+        1=1
+        <if test="informId != null and informId != ''">
+            ie.inform_id =  #{informId}
+        </if>
+    </select>
 </mapper>

+ 30 - 0
zhongzheng-system/src/main/resources/mapper/modules/inform/InformExamMapper.xml

@@ -15,5 +15,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="chapterId" column="chapter_id"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.inform.vo.InformExamVo" id="InformExamVo">
+        <result property="id" column="id"/>
+        <result property="informId" column="inform_id"/>
+        <result property="courseId" column="course_id"/>
+        <result property="examId" column="exam_id"/>
+        <result property="moduleId" column="module_id"/>
+        <result property="chapterId" column="chapter_id"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="subjectName" column="subject_name"/>
+        <result property="chapterName" column="chapter_name"/>
+        <result property="moduleName" column="module_name"/>
+        <result property="examName" column="exam_name"/>
+    </resultMap>
+
+    <select id="queryExam" parameterType="long" resultMap="InformExamVo">
+        SELECT
+        ie.*,
+        (SELECT g.goods_name FROM goods g where g.goods_id = ie.goods_id) as goods_name,
+        (SELECT cs.subject_name FROM course c LEFT JOIN course_subject cs on c.subject_id=cs.id where c.course_id = ie.course_id) as subject_name,
+        (SELECT qc.`name` FROM question_chapter qc where qc.chapter_exam_id = ie.chapter_id) as chapter_name,
+        (SELECT qm.module_name FROM question_module qm where qm.module_exam_id = ie.module_id) as module_name,
+        (SELECT e.exam_name FROM exam e where e.exam_id = ie.exam_id) as exam_name
+        FROM
+        inform_exam ie
+        WHERE
+        1=1
+        <if test="informId != null and informId != ''">
+            ie.inform_id =  #{informId}
+        </if>
+    </select>
 
 </mapper>

+ 2 - 0
zhongzheng-system/src/main/resources/mapper/modules/inform/InformMapper.xml

@@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="informName" column="inform_name"/>
         <result property="informWay" column="inform_way"/>
         <result property="classifyId" column="classify_id"/>
+        <result property="classifyName" column="classify_name"/>
         <result property="issueStatus" column="issue_status"/>
         <result property="issueTime" column="issue_time"/>
         <result property="receiptStatus" column="receipt_status"/>
@@ -41,6 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         i.create_by,
         i.inform_type,
         (SELECT COUNT(iu.id) FROM inform_user iu where i.inform_id=iu.inform_id) as user_num,
+        (SELECT ic.classify_name FROM inform_classify ic where i.classify_id=ic.classify_id) as classify_name,
         (SELECT iu.send_time FROM inform_user iu where i.inform_id=iu.inform_id ORDER BY iu.send_time ASC limit 1) as send_time,
         i.`status`,
         IF((SELECT COUNT(iu.inform_id) FROM inform_user iu where i.inform_id=iu.inform_id and iu.send_status=1)=0,2,