change 3 жил өмнө
parent
commit
602c05880f

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/mapper/ExamNumberMapper.java

@@ -21,4 +21,6 @@ public interface ExamNumberMapper extends BaseMapper<ExamNumber> {
     Integer selectExam(@Param("goodsId") Long goodsId,@Param("examNumberId") Long examNumberId);
 
     Integer selectApply(Long goodsId);
+
+    Integer selectApplyBefore(Long goodsId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamNumberServiceImpl.java

@@ -148,6 +148,11 @@ public class ExamNumberServiceImpl extends ServiceImpl<ExamNumberMapper, ExamNum
                     if (apply > 0) {
                         throw new IllegalArgumentException("当前商品已启用考试安排,不可删除");
                     }
+
+                    Integer applyBefore = baseMapper.selectApplyBefore(examNumberGoods.getGoodsId());
+                    if (applyBefore > 0) {
+                        throw new IllegalArgumentException("当前商品已启用前培安排,不可删除");
+                    }
                 }
                 Integer integer = baseMapper.selectExam(examNumberGoods.getGoodsId(),update.getExamNumberId());
                 if (bo.getStatus() == 1 && integer > 0) {

+ 23 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -141,9 +141,32 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
         userPeriodSave(add, bo);
         //完成当天学习计划
         userPlanSave(add);
+        //判断有无学习结束
+        studyFinish(add);
         return 0;
     }
 
+    private void studyFinish(UserStudyRecord bo) {
+        //获得当前所在班级
+        if (bo.getStatus() != null && bo.getStatus().equals(1)){
+            Long secLong = 0L;
+            Long studyLong = 0L;
+            SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
+            subjectStudyRecordQueryBo.setGoodsId(bo.getGoodsId());
+            subjectStudyRecordQueryBo.setUserId(bo.getUserId());
+            subjectStudyRecordQueryBo.setGradeId(bo.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();
+            }
+            //发送课时完成
+            if (secLong.equals(studyLong)) {
+
+            }
+        }
+    }
+
     @Override
     public Boolean updateByEditBo(UserStudyRecordEditBo bo) {
         UserStudyRecord update = BeanUtil.toBean(bo, UserStudyRecord.class);

+ 10 - 0
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamNumberMapper.xml

@@ -76,4 +76,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           and eag.goods_id =#{goodsId}
           and ea.`status`=1
     </select>
+
+    <select id="selectApplyBefore" parameterType="map" resultType="integer">
+        SELECT
+            COUNT(1)
+        FROM
+            exam_before_goods ebg
+                LEFT JOIN exam_before eb on ebg.before_id = eb.before_id
+        where ebg.goods_id = #{goodsId}
+          and eb.`status` in (1,0)
+    </select>
 </mapper>