he2802 преди 3 години
родител
ревизия
51d0d5bb01
променени са 15 файла, в които са добавени 119 реда и са изтрити 18 реда
  1. 53 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java
  2. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java
  3. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java
  4. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserStudyRecordAddBo.java
  5. 3 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserStudyRecordEditBo.java
  6. 3 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserStudyRecordQueryBo.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserBankRecord.java
  8. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserStudyRecord.java
  9. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java
  10. 34 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java
  11. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserBankRecordVo.java
  12. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserStudyRecordVo.java
  13. 3 13
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml
  14. 1 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserBankRecordMapper.xml
  15. 1 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

+ 53 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -3,6 +3,7 @@ package com.zhongzheng.modules.course.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
@@ -14,8 +15,11 @@ import com.zhongzheng.modules.course.bo.CourseEditBo;
 import com.zhongzheng.modules.course.bo.CourseMenuQueryBo;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.domain.Course;
+import com.zhongzheng.modules.course.domain.CourseBusiness;
+import com.zhongzheng.modules.course.domain.CoursePhotoLog;
 import com.zhongzheng.modules.course.mapper.CourseMapper;
 import com.zhongzheng.modules.course.mapper.CourseSectionMapper;
+import com.zhongzheng.modules.course.service.ICoursePhotoLogService;
 import com.zhongzheng.modules.course.service.ICourseSectionBusinessService;
 import com.zhongzheng.modules.course.service.ICourseService;
 import com.zhongzheng.modules.course.vo.CourseUserVo;
@@ -29,11 +33,16 @@ import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.bo.UserPeriodStatusAddBo;
 import com.zhongzheng.modules.grade.domain.UserPeriodStatus;
+import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.service.IUserPeriodStatusService;
 import com.zhongzheng.modules.grade.vo.ClassGradeVo;
+import com.zhongzheng.modules.grade.vo.UserPeriodVo;
 import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
 import com.zhongzheng.modules.user.bo.UserPlanQueryBo;
+import com.zhongzheng.modules.user.domain.UserBankRecord;
+import com.zhongzheng.modules.user.domain.UserStudyRecord;
 import com.zhongzheng.modules.user.domain.UserStudyRecordPhoto;
+import com.zhongzheng.modules.user.service.IUserBankRecordService;
 import com.zhongzheng.modules.user.service.IUserStudyRecordPhotoService;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
 import com.zhongzheng.modules.user.vo.SubjectStudyRecordVo;
@@ -76,6 +85,17 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
     @Autowired
     private IGoodsCourseService iGoodsCourseService;
 
+    @Autowired
+    private IUserPeriodService iUserPeriodService;
+
+    @Autowired
+    private ICoursePhotoLogService iCoursePhotoLogService;
+
+    @Autowired
+    private IUserBankRecordService iUserBankRecordService;
+
+
+
     @Override
     public CourseVo queryById(Long courseId){
         Course db = this.baseMapper.selectById(courseId);
@@ -271,6 +291,39 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
             userPeriodStatusAddBo.setUpdateTime(DateUtils.getNowTime());
             userPeriodStatusAddBo.setStatus(3);
             userPeriodStatusService.insertByAddBo(userPeriodStatusAddBo);
+            UserPeriodVo vo = iUserPeriodService.queryById(goodsPeriodStatusVo.getPeriodId());
+            LambdaUpdateWrapper<CoursePhotoLog> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper.eq(CoursePhotoLog::getUserId, bo.getUserId());
+            objectLambdaUpdateWrapper.eq(CoursePhotoLog::getGoodsId, vo.getGoodsId());
+            objectLambdaUpdateWrapper.eq(CoursePhotoLog::getSectionId,vo.getSectionId());
+            objectLambdaUpdateWrapper.eq(CoursePhotoLog::getGradeId,vo.getGradeId());
+            objectLambdaUpdateWrapper.eq(vo.getModuleId()>0,CoursePhotoLog::getModuleId,vo.getModuleId());
+            objectLambdaUpdateWrapper.eq(vo.getChapterId()>0,CoursePhotoLog::getChapterId,vo.getChapterId());
+
+            objectLambdaUpdateWrapper.set(CoursePhotoLog::getCurrentStatus,0); //拍照记录改为历史状态
+            iCoursePhotoLogService.update(null, objectLambdaUpdateWrapper);
+
+            LambdaUpdateWrapper<UserStudyRecord> objectLambdaUpdateWrapper1 = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper1.eq(UserStudyRecord::getUserId, bo.getUserId());
+            objectLambdaUpdateWrapper1.eq(UserStudyRecord::getGoodsId, vo.getGoodsId());
+            objectLambdaUpdateWrapper1.eq(UserStudyRecord::getSectionId,vo.getSectionId());
+            objectLambdaUpdateWrapper1.eq(UserStudyRecord::getGradeId,vo.getGradeId());
+            objectLambdaUpdateWrapper1.eq(vo.getModuleId()>0,UserStudyRecord::getModuleId,vo.getModuleId());
+            objectLambdaUpdateWrapper1.eq(vo.getChapterId()>0,UserStudyRecord::getChapterId,vo.getChapterId());
+
+            objectLambdaUpdateWrapper1.set(UserStudyRecord::getCurrentStatus,0); //学习记录改为历史状态
+            iUserStudyRecordService.update(null, objectLambdaUpdateWrapper1);
+
+            LambdaUpdateWrapper<UserBankRecord> objectLambdaUpdateWrapper2 = Wrappers.lambdaUpdate();
+            objectLambdaUpdateWrapper2.eq(UserBankRecord::getUserId, bo.getUserId());
+            objectLambdaUpdateWrapper2.eq(UserBankRecord::getGoodsId, vo.getGoodsId());
+            objectLambdaUpdateWrapper2.eq(UserBankRecord::getSectionId,vo.getSectionId());
+            objectLambdaUpdateWrapper2.eq(UserBankRecord::getGradeId,vo.getGradeId());
+            objectLambdaUpdateWrapper2.eq(vo.getModuleId()>0,UserBankRecord::getModuleId,vo.getModuleId());
+            objectLambdaUpdateWrapper2.eq(vo.getChapterId()>0,UserBankRecord::getChapterId,vo.getChapterId());
+
+            objectLambdaUpdateWrapper2.set(UserBankRecord::getCurrentStatus,0); //做卷记录改为历史状态
+            iUserBankRecordService.update(null, objectLambdaUpdateWrapper2);
         }
         return true;
     }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java

@@ -235,7 +235,7 @@ public class GoodsVo {
 	@ApiModelProperty("前培和补考商品关联编码")
 	private String makeGoodsCode;
 
-	@ApiModelProperty("科目数量")
-	private Long subjectNum;
+	@ApiModelProperty("课程数量")
+	private Long courseNum;
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -226,6 +226,8 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
                 classGradeUser.setStatus(0);
                 iClassGradeUserService.updateById(classGradeUser);
             }
+            //清除课程所有历史
+            iUserStudyRecordService.delUserCourseHistory(userId,goodsId);
         }
         if(goodsType==2){
             //删除题库历史

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

@@ -68,4 +68,7 @@ public class UserStudyRecordAddBo {
     /** 用户初次学习开始时间 */
     @ApiModelProperty("用户初次学习开始时间")
     private Long firstStartTime;
+    /** 当前状态 1 当前状态 0过往状态 */
+    @ApiModelProperty("当前状态 1 当前状态 0过往状态")
+    private Integer currentStatus;
 }

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserStudyRecordEditBo.java

@@ -77,5 +77,7 @@ public class UserStudyRecordEditBo {
     /** 用户初次学习开始时间 */
     @ApiModelProperty("用户初次学习开始时间")
     private Long firstStartTime;
-
+    /** 当前状态 1 当前状态 0过往状态 */
+    @ApiModelProperty("当前状态 1 当前状态 0过往状态")
+    private Integer currentStatus;
 }

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserStudyRecordQueryBo.java

@@ -88,6 +88,8 @@ public class UserStudyRecordQueryBo extends BaseEntity {
 	/** 结束时间2 */
 	@ApiModelProperty("结束时间2")
 	private String endTime2;
-
+	/** 当前状态 1 当前状态 0过往状态 */
+	@ApiModelProperty("当前状态 1 当前状态 0过往状态")
+	private Integer currentStatus;
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserBankRecord.java

@@ -58,4 +58,6 @@ private static final long serialVersionUID=1L;
     private Long performance;
     /** grade_id */
     private Long gradeId;
+    /** 当前状态 1 当前状态 0过往状态 */
+    private Integer currentStatus;
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserStudyRecord.java

@@ -61,6 +61,7 @@ private static final long serialVersionUID=1L;
     private Long videoCurrentTime;
     /** 用户初次学习开始时间 */
     private Long firstStartTime;
-
+    /** 当前状态 1 当前状态 0过往状态 */
+    private Integer currentStatus;
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java

@@ -27,6 +27,8 @@ public interface IUserStudyRecordService extends IService<UserStudyRecord> {
 
 	UserStudyRecordVo queryLast(UserStudyRecordQueryBo bo);
 
+	Boolean delUserCourseHistory(Long userId,Long goodsId);
+
 	/**
 	 * 查询列表
 	 */

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

@@ -12,6 +12,8 @@ import com.microsoft.schemas.office.visio.x2012.main.SectionType;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.bank.domain.Exam;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
+import com.zhongzheng.modules.course.domain.CoursePhotoLog;
+import com.zhongzheng.modules.course.service.ICoursePhotoLogService;
 import com.zhongzheng.modules.course.service.ICourseSectionService;
 import com.zhongzheng.modules.course.vo.CourseSectionVo;
 import com.zhongzheng.modules.face.service.IFaceService;
@@ -34,6 +36,8 @@ import com.zhongzheng.modules.inform.service.IInformUserService;
 import com.zhongzheng.modules.inform.vo.InformRemindBusinessVo;
 import com.zhongzheng.modules.inform.vo.InformRemindVo;
 import com.zhongzheng.modules.user.bo.*;
+import com.zhongzheng.modules.user.domain.UserBankRecord;
+import com.zhongzheng.modules.user.domain.UserExamRecord;
 import com.zhongzheng.modules.user.domain.UserPlan;
 import com.zhongzheng.modules.user.domain.UserStudyRecord;
 import com.zhongzheng.modules.user.mapper.UserStudyRecordMapper;
@@ -103,6 +107,10 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
 
     @Autowired
     private ICourseSectionService iCourseSectionService;
+    @Autowired
+    private ICoursePhotoLogService iCoursePhotoLogService;
+    @Autowired
+    private IUserBankRecordService iUserBankRecordService;
 
     @Override
     public UserStudyRecordVo queryById(Long recordId) {
@@ -136,6 +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.orderByDesc(UserStudyRecord::getRecordId);
         UserStudyRecord last = this.getOne(lqw.last("limit 1"));
         if(Validator.isNotEmpty(last)&&Validator.isNotEmpty(last.getStatus())&&last.getStatus()==1){
@@ -144,6 +153,31 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
         return BeanUtil.toBean(last, UserStudyRecordVo.class);
     }
 
+    @Override
+    public Boolean delUserCourseHistory(Long userId, Long goodsId) {
+        //删除看视频历史历史
+        LambdaQueryWrapper<UserStudyRecord> lqw = Wrappers.lambdaQuery();
+        lqw.eq(UserStudyRecord::getGoodsId, goodsId);
+        lqw.eq( UserStudyRecord::getUserId, userId);
+        remove(lqw);
+        //清除拍照历史
+        LambdaQueryWrapper<CoursePhotoLog> lqw1 = Wrappers.lambdaQuery();
+        lqw1.eq(CoursePhotoLog::getGoodsId, goodsId);
+        lqw1.eq( CoursePhotoLog::getUserId, userId);
+        iCoursePhotoLogService.remove(lqw1);
+        //清除章卷历史
+        LambdaQueryWrapper<UserBankRecord> lqw2 = Wrappers.lambdaQuery();
+        lqw2.eq(UserBankRecord::getGoodsId, goodsId);
+        lqw2.eq( UserBankRecord::getUserId, userId);
+        iUserBankRecordService.remove(lqw2);
+        //清除学时历史
+        LambdaQueryWrapper<UserPeriod> lqw3 = Wrappers.lambdaQuery();
+        lqw3.eq(UserPeriod::getGoodsId, goodsId);
+        lqw3.eq( UserPeriod::getUserId, userId);
+        iUserPeriodService.remove(lqw3);
+        return null;
+    }
+
     @Override
     public List<UserStudyRecordVo> queryList(UserStudyRecordQueryBo bo) {
         LambdaQueryWrapper<UserStudyRecord> lqw = Wrappers.lambdaQuery();

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserBankRecordVo.java

@@ -79,4 +79,8 @@ public class UserBankRecordVo {
 	private Long createTime;
 	/** 更新时间 */
 	private Long updateTime;
+	/** 当前状态 1 当前状态 0过往状态 */
+	@Excel(name = "当前状态 1 当前状态 0过往状态")
+	@ApiModelProperty("当前状态 1 当前状态 0过往状态")
+	private Integer currentStatus;
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserStudyRecordVo.java

@@ -86,4 +86,8 @@ public class UserStudyRecordVo {
 	@Excel(name = "用户初次学习开始时间")
 	@ApiModelProperty("用户初次学习开始时间")
 	private Long firstStartTime;
+	/** 当前状态 1 当前状态 0过往状态 */
+	@Excel(name = "当前状态 1 当前状态 0过往状态")
+	@ApiModelProperty("当前状态 1 当前状态 0过往状态")
+	private Integer currentStatus;
 }

+ 3 - 13
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -95,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="studyCount" column="study_count"/>
         <result property="makeGoodsName" column="make_goods_name"/>
         <result property="makeGoodsCode" column="make_goods_code"/>
-        <result property="subjectNum" column="subject_num"/>
+        <result property="courseNum" column="course_num"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo" id="ExamNumberGoodsVoResult">
@@ -121,7 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         (SELECT gs.goods_name FROM goods gs where 1=1 and g.make_goods_id = gs.goods_id) as make_goods_name,
         (SELECT gs.code FROM goods gs where 1=1 and g.make_goods_id = gs.goods_id) as make_goods_code
         <if test="goodsType ==1">
-        , IFNULL(gs.subject_num,0) as subject_num
+        , (SELECT count(*) FROM goods_course where goods_id =g.goods_id ) as course_num
         </if>
         FROM
         goods g
@@ -132,17 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN school s ON s.id = g.school_id
         LEFT JOIN major m ON g.major_id = m.id
         LEFT JOIN order_input_template ot ON cb.template_status = ot.id
-        <if test="goodsType ==1">
-        LEFT JOIN (SELECT
-            IFNULL(count(DISTINCT c.subject_id ),0) subject_num,
-            gc.goods_id
-            FROM
-            goods g
-            LEFT JOIN goods_course gc ON g.goods_id = gc.course_id
-            LEFT JOIN course c ON gc.course_id = c.course_id
-            GROUP BY
-            gc.goods_id) gs  on g.goods_id = gs.goods_id
-        </if>
+
 
 
         WHERE

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserBankRecordMapper.xml

@@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="chapterId" column="chapter_id"/>
         <result property="performance" column="performance"/>
         <result property="gradeId" column="grade_id"/>
+        <result property="currentStatus" column="current_status"/>
     </resultMap>
 
     <select id="getUserExamDoNum" parameterType="com.zhongzheng.modules.user.bo.UserBankRecordQueryBo" resultType="Long">

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

@@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="courseName" column="course_name"/>
         <result property="videoCurrentTime" column="video_current_time"/>
         <result property="firstStartTime" column="first_start_time"/>
+        <result property="currentStatus" column="current_status"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.user.vo.GoodsStudyRecordVo" id="GoodsStudyRecordVoResult">