he2802 %!s(int64=2) %!d(string=hai) anos
pai
achega
ae8ffdfc2f

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/CourseQueryBo.java

@@ -137,6 +137,9 @@ public class CourseQueryBo extends BaseEntity {
 	@ApiModelProperty("真实姓名")
 	private String realname;
 
+	@ApiModelProperty("旧业务系统订单号")
+	private String oldOrderSn;
+
 	@ApiModelProperty("查询标识:1 PC学习列表")
 	private Integer querySign;
 

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

@@ -58,6 +58,7 @@ import com.zhongzheng.modules.grade.bo.UserPeriodQueryBo;
 import com.zhongzheng.modules.grade.bo.UserPeriodStatusAddBo;
 import com.zhongzheng.modules.grade.domain.UserPeriod;
 import com.zhongzheng.modules.grade.domain.UserPeriodStatus;
+import com.zhongzheng.modules.grade.mapper.ClassGradeUserMapper;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
 import com.zhongzheng.modules.grade.service.IUserPeriodService;
 import com.zhongzheng.modules.grade.service.IUserPeriodStatusService;
@@ -161,6 +162,8 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
     private RedisCache redisCache;
     @Value("${liveGotoURL}")
     private String URL_PREFIX;
+    @Autowired
+    private ClassGradeUserMapper classGradeUserMapper;
 
 
 
@@ -931,6 +934,10 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
             }
             goodsUserVo.setSecAllNum(secLong);
             goodsUserVo.setStuAllNum(studyLong);
+            List<Long> photoListTime = classGradeUserMapper.selectStart(goodsUserVo.getUserId(), goodsUserVo.getGoodsId(), goodsUserVo.getGradeId(),goodsUserVo.getOrderGoodsId());
+            if(Validator.isNotEmpty(photoListTime)&&photoListTime.size()>0){
+                goodsUserVo.setStartTime(photoListTime.get(0));
+            }
         }
         return goodsUserVos;
     }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserVo.java

@@ -430,4 +430,12 @@ public class GoodsUserVo {
 	private String sevenYear;
 	@ApiModelProperty("七大员继教订单商品年份")
 	private String orderYear;
+
+
+	@ApiModelProperty("学习开始时间")
+	private Long startTime;
+	/** 学习有效期结束 */
+
+	@ApiModelProperty("学习结束时间")
+	private Long endTime;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java

@@ -60,7 +60,7 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
 
     List<ClassPeriodSectionVo> listPeriodSectionExam(@Param("chapterId") Long id,@Param("goodsId") Long goodsId,@Param("courseId") Long courseId,@Param("userId") Long userId);
 
-    List<Long> selectStart(@Param("userId") Long userId,@Param("goodsId") Long goodsId,@Param("gradeId") Long gradeId);
+    List<Long> selectStart(@Param("userId") Long userId,@Param("goodsId") Long goodsId,@Param("gradeId") Long gradeId,@Param("orderGoodsId") Long orderGoodsId);
 
     List<Long> selectEnd(@Param("userId") Long userId,@Param("goodsId") Long goodsId,@Param("gradeId") Long gradeId);
 

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

@@ -1762,9 +1762,9 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             classPeriodStudentVo.setAllStatus(changePeriodStatus(classPeriodStudentVo.getPeriodStatus()));
 
             classPeriodStudentVo.setWaitRebuildNum(classPeriodUserVos.getCheat() + classPeriodUserVos.getExamCheat());
-            if (!CollectionUtils.isEmpty(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId()))) {
+            if (!CollectionUtils.isEmpty(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()))) {
                 //查找开始学习时间
-                classPeriodStudentVo.setStartTime(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId()).get(0));
+                classPeriodStudentVo.setStartTime(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()).get(0));
             }
             //当审核状态状态为通过是采取解析身份证和一寸照
             if ("1".equals(classPeriodStudentVo.getProfileStatus()) && Validator.isNotEmpty(bo.getUserPhoto()) && bo.getUserPhoto() == 1) {
@@ -1848,9 +1848,9 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             classPeriodStudentVo.setAllStatus(changePeriodStatus(classPeriodStudentVo.getPeriodStatus()));
 
             //    classPeriodStudentVo.setWaitRebuildNum(classPeriodUserVos.getCheat()+classPeriodUserVos.getExamCheat());
-            if (!CollectionUtils.isEmpty(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId()))) {
+            if (!CollectionUtils.isEmpty(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()))) {
                 //查找开始学习时间
-                classPeriodStudentVo.setStartTime(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId()).get(0));
+                classPeriodStudentVo.setStartTime(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()).get(0));
             }
             //取学时所有拍照最新的一张
             String recentPhoto = userStudyRecordPhotoMapper.selectGradeRecentOnePhoto(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId());

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

@@ -215,6 +215,10 @@
         <result property="subjectNames" column="subject_names"/>
         <result property="sectionNum" column="section_num"/>
         <result property="goodsLearningOrder" column="goods_learning_order"/>
+        <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
+        <result property="telPhone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.grade.vo.ClassGradeVo" id="ClassGradeVoResult">
@@ -594,7 +598,8 @@
         og.order_goods_id,
         og.grade_id,
         IFNULL(ge.exam_num,0) as exam_num,
-        (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr  where ubr.`status`=1 and ubr.`type` in (1,3) and ubr.report_status=1 and ubr.grade_id = og.grade_id and ubr.user_id = o.user_id and ubr.current_status = 1) as record_num
+        (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr  where ubr.`status`=1 and ubr.`type` in (1,3) and ubr.report_status=1 and ubr.grade_id = og.grade_id and ubr.user_id = o.user_id and ubr.current_status = 1) as record_num,
+        (SELECT cgu.period_wait_time FROM class_grade_user cgu  where cgu.`status`=1  and cgu.grade_id = og.grade_id and cgu.user_id = o.user_id and cgu.order_goods_id = og.order_goods_id) as end_time
         FROM
         `order` o
         LEFT JOIN `user` u ON u.user_id = o.user_id
@@ -652,6 +657,9 @@
         <if test="telphone != null and telphone !='' ">
             AND u.telphone = #{telphone,typeHandler=com.zhongzheng.common.type.EncryptHandler}
         </if>
+        <if test="oldOrderSn != null and oldOrderSn != ''">
+            AND (select count(*) from order_input oi where oi.old_order_sn = #{oldOrderSn} AND oi.input_order_sn = o.input_order_sn) >0
+        </if>
         order by og.create_time desc
     </select>
 

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

@@ -1400,22 +1400,21 @@
 
     <select id="selectStart" parameterType="map" resultType="long">
         SELECT
-            usr.create_time
+            rp.create_time
         FROM
-            user_study_record usr
-        WHERE
-            usr.goods_id = #{goodsId}
-          AND usr.grade_id = #{gradeId}
-          AND usr.user_id = #{userId} UNION
-        SELECT
-            ubr.create_time
-        FROM
-            user_bank_record ubr
+            user_study_record_photo rp
+                LEFT JOIN user_period_status ups ON rp.period_id = ups.id
+                LEFT JOIN user_period up ON up.id = ups.period_id
         WHERE
-            ubr.goods_id =#{goodsId}
-          AND ubr.grade_id = #{gradeId}
-          AND ubr.user_id = #{userId}
-        ORDER BY create_time ASC
+            1=1
+        <if test="orderGoodsId != null ">
+            AND (up.order_goods_id = #{orderGoodsId} or up.order_goods_id is null)
+        </if>
+          AND ups.period_status = 1
+          AND up.grade_id = #{gradeId}
+          AND up.user_id = #{userId}
+        ORDER BY
+            rp.create_time ASC
     </select>
 
     <select id="selectEnd" parameterType="map" resultType="long">