Ver Fonte

fix 业务层次

he2802 há 4 anos atrás
pai
commit
fd19f3d93f

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassGradeUserQueryBo.java

@@ -105,6 +105,6 @@ public class ClassGradeUserQueryBo extends BaseEntity {
 	/** 班级有效期结束时间 */
 	@ApiModelProperty("班级有效期结束时间")
 	private Long classEndTime;
-	@ApiModelProperty("剩余学习次数大于0")
+	@ApiModelProperty("0剩余0 ,1 非商品下大于0 2商品下大于0")
 	private Integer studyCountMore;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserBankRecordAddBo.java

@@ -63,5 +63,8 @@ public class UserBankRecordAddBo {
     /** grade_id */
     @ApiModelProperty("班级ID")
     private Long gradeId;
+    /** 当前状态 1 当前状态 0过往状态 */
+    @ApiModelProperty("当前状态 1 当前状态 0过往状态")
+    private Integer currentStatus;
 
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserBankRecordEditBo.java

@@ -64,5 +64,8 @@ public class UserBankRecordEditBo {
     /** grade_id */
     @ApiModelProperty("班级ID")
     private Long gradeId;
+    /** 当前状态 1 当前状态 0过往状态 */
+    @ApiModelProperty("当前状态 1 当前状态 0过往状态")
+    private Integer currentStatus;
 
 }

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

@@ -144,7 +144,7 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
         lqw.eq(bo.getGoodsId() != null, UserStudyRecord::getGoodsId, bo.getGoodsId());
         lqw.eq(bo.getModuleId() != null, UserStudyRecord::getModuleId, bo.getModuleId());
         lqw.eq(bo.getGradeId() != null, UserStudyRecord::getGradeId, bo.getGradeId());
-        lqw.eq(bo.getCurrentStatus() != null, UserStudyRecord::getCurrentStatus, 1);
+        lqw.eq( UserStudyRecord::getCurrentStatus, 1);
         lqw.orderByDesc(UserStudyRecord::getRecordId);
         UserStudyRecord last = this.getOne(lqw.last("limit 1"));
         if(Validator.isNotEmpty(last)&&Validator.isNotEmpty(last.getStatus())&&last.getStatus()==1){

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -372,7 +372,7 @@
             (case WHEN (SELECT COUNT(1) FROM user_period up LEFT JOIN user_period_status ups on up.id = ups.period_id where up.goods_id = g.goods_id AND ups.period_status =1 and ups.`status` =0) >0 then 0 ELSE 1 end) as rebuild_status,
             cgu.grade_id,
             (SELECT COUNT(m.id) FROM course_menu_exam m LEFT JOIN goods_course c on m.course_id=c.course_id LEFT JOIN class_grade_goods cgg on cgg.goods_id = c.goods_id where cg.grade_id=cgg.grade_id and m.type = 1 ) as exam_num,
-            (SELECT COUNT(DISTINCT 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.user_id =cgu.user_id and ubr.grade_id = cg.grade_id) as record_num,
+            (SELECT COUNT(DISTINCT 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.user_id =cgu.user_id and ubr.grade_id = cg.grade_id and ubr.current_status = 1) as record_num,
             (SELECT COUNT(up.id) FROM user_period up LEFT JOIN user_period_status ups on up.id = ups.period_id where
                 ups.`status` =1 and ups.period_status = 1 and up.goods_id=g.goods_id and up.user_id = cgu.user_id and up.type = 1) as pass,
             (SELECT COUNT(up.id) FROM user_period up LEFT JOIN user_period_status ups on up.id = ups.period_id where

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsAttachedMapper.xml

@@ -90,7 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				WHEN ga.type = 2 THEN
 				-1
 				WHEN ga.type = 3 THEN
-				ifnull( (select `status` from user_exam_record uer where uer.exam_id = ga.major_id and uer.user_id = #{userId} ORDER BY uer.record_id desc limit 1),-1)
+				ifnull( (select `status` from user_exam_record uer where uer.exam_id = ga.major_id and uer.user_id = #{userId} and ga.goods_id =uer.goods_id  ORDER BY uer.record_id desc limit 1),-1)
 				END record_status
 				,
 				CASE
@@ -99,7 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				WHEN ga.type = 2 THEN
 				-1
 				WHEN ga.type = 3 THEN
-				ifnull( (select record_id from user_exam_record uer where uer.exam_id = ga.major_id and uer.user_id = #{userId} ORDER BY uer.record_id desc limit 1),-1)
+				ifnull( (select record_id from user_exam_record uer where uer.exam_id = ga.major_id and uer.user_id = #{userId} and ga.goods_id =uer.goods_id ORDER BY uer.record_id desc limit 1),-1)
 				END record_id
 			</if>
 		FROM

+ 5 - 2
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -304,7 +304,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         cgu.official_status,
         cgu.learn_status,
         (SELECT COUNT(m.id) FROM course_menu_exam m LEFT JOIN goods_course c on m.course_id=c.course_id LEFT JOIN class_grade_goods cgg on cgg.goods_id = c.goods_id where cg.grade_id=cgg.grade_id and m.type = 1 ) as exam_num,
-        (SELECT COUNT(DISTINCT 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.user_id = u.user_id and ubr.grade_id = cgu.grade_id and ubr.report_status=1) as record_num,
+        (SELECT COUNT(DISTINCT 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.user_id = u.user_id and ubr.grade_id = cgu.grade_id and ubr.report_status=1 and ubr.current_status = 1) as record_num,
         (og.study_count) as study_count,
         og.order_goods_id,
         og.rebuy
@@ -329,8 +329,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             and cge.`status`=1 and cgur.`status` =1)> 0
             AND (SELECT COUNT(cgde.grade_id) FROM class_grade cgde where cgde.grade_id = cg.grade_id and (unix_timestamp(now()) &lt; cgde.class_end_time or cgde.class_start_time is null)) =0
         </if>
+        <if test="studyCountMore != null and studyCountMore == 2 ">
+            AND og.study_count > 0 AND cgu.change_grade = 0
+        </if>
         <if test="studyCountMore != null and studyCountMore == 1 ">
-            AND og.study_count > 0
+            AND og.study_count > 0 AND cgu.change_grade = 1
         </if>
         <if test="studyCountMore != null and studyCountMore == 0 ">
             AND og.study_count = 0

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -232,7 +232,7 @@
         (SELECT COUNT(m.id) FROM course_menu_exam m LEFT JOIN goods_course c on m.course_id=c.course_id LEFT JOIN
         class_grade_goods cgg on cgg.goods_id = c.goods_id where cg.grade_id=cgg.grade_id and m.type = 1 ) as exam_num,
         (SELECT COUNT(DISTINCT 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 = cg.grade_id and ubr.user_id = cgu.user_id) as record_num,
+        = ubr.goods_id where ubr.`status`=1 and ubr.report_status=1 and ubr.grade_id = cg.grade_id and ubr.user_id = cgu.user_id and ubr.current_status = 1) as record_num,
         cgu.period_time as end_time,
       (select COUNT(up.id) from user_period up LEFT JOIN user_period_status ups on up.id=ups.period_id where up.goods_id = (SELECT cgg.goods_id FROM class_grade_goods cgg where cg.grade_id=cgg.grade_id) and up.grade_id = #{gradeId} and up.user_id = u.user_id
         and ups.period_status=0 and ups.`status`=0 and (SELECT COUNT(upss.id) from user_period_status upss where upss.id = ups.id and upss.period_status = 1 and upss.`status` = 2) > 0 ) as rebuild_num