yangdamao 1 年之前
父節點
當前提交
25fb9ca6af

+ 8 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassGradeController.java

@@ -327,6 +327,14 @@ public class ClassGradeController extends BaseController {
         return getDataTable(list);
         return getDataTable(list);
     }
     }
 
 
+    @ApiOperation("查询学员视频学习记录列表")
+    @GetMapping("/listUserVideoRecord/new")
+    public TableDataInfo<ClassPeriodStudentVo> listUserVideoRecordNew(ClassGradeUserQueryBo bo) {
+        startPage();
+        List<ClassPeriodStudentVo> list = iClassGradeUserService.listUserVideoRecordNew(bo);
+        return getDataTable(list);
+    }
+
     /**
     /**
      * 查询学时学员记录列表
      * 查询学时学员记录列表
      */
      */

+ 2 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java

@@ -161,8 +161,10 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 .antMatchers("/grade/grade/listPeriod").anonymous()
                 .antMatchers("/grade/grade/listPeriod").anonymous()
                 .antMatchers("/course/business/queryFullId").anonymous()
                 .antMatchers("/course/business/queryFullId").anonymous()
                 .antMatchers("/grade/grade/listUserPeriod").anonymous()
                 .antMatchers("/grade/grade/listUserPeriod").anonymous()
+                .antMatchers("/grade/grade/listUserPeriod/new").anonymous()
                 .antMatchers("/grade/grade/listPeriodAudit").anonymous()
                 .antMatchers("/grade/grade/listPeriodAudit").anonymous()
                 .antMatchers("/grade/grade/listUserVideoRecord").anonymous()
                 .antMatchers("/grade/grade/listUserVideoRecord").anonymous()
+                .antMatchers("/grade/grade/listUserVideoRecord/new").anonymous()
                 .antMatchers("/swagger-ui.html").anonymous()
                 .antMatchers("/swagger-ui.html").anonymous()
                 .antMatchers("/swagger-resources/**").anonymous()
                 .antMatchers("/swagger-resources/**").anonymous()
                 .antMatchers("/webjars/**").anonymous()
                 .antMatchers("/webjars/**").anonymous()

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

@@ -317,4 +317,8 @@ public class ClassGradeUserQueryBo extends BaseEntity {
 
 
 	private List<Long> tenantIds;
 	private List<Long> tenantIds;
 
 
+	private List<Long> educationTypeIds;
+
+	private List<Long> projectIds;
+
 }
 }

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

@@ -43,6 +43,9 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
 
 
     List<ClassPeriodStudentVo> listUserVideoRecord(ClassGradeUserQueryBo bo);
     List<ClassPeriodStudentVo> listUserVideoRecord(ClassGradeUserQueryBo bo);
 
 
+    @InterceptorIgnore(tenantLine = "true")
+    List<ClassPeriodStudentVo> listUserVideoRecordNew(ClassGradeUserQueryBo bo);
+
     List<ClassPeriodStudentVo> listUserPeriodExport(ClassGradeUserQueryBo bo);
     List<ClassPeriodStudentVo> listUserPeriodExport(ClassGradeUserQueryBo bo);
 
 
     List<ClassPeriodUserVo> listPeriod(ClassGradeUserQueryBo bo);
     List<ClassPeriodUserVo> listPeriod(ClassGradeUserQueryBo bo);
@@ -132,6 +135,12 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
 
 
     OrderGoods getOrderGoods(@Param("userId") Long userId, @Param("goodsId")Long goodsId);
     OrderGoods getOrderGoods(@Param("userId") Long userId, @Param("goodsId")Long goodsId);
 
 
-//    @InterceptorIgnore(tenantLine = "true")
-//    List<ClassPeriodStudentNewVo> listUserPeriodNew(ClassGradeUserQueryBo bo);
+    @InterceptorIgnore(tenantLine = "true")
+    List<ClassPeriodStudentNewVo> listUserPeriodNew(ClassGradeUserQueryBo bo);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Long getEduIdByTenant(@Param("tenantId") Long tenantId,@Param("eduName") String eduName);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Long getProIdByTenant(@Param("tenantId") Long tenantId,@Param("proName") String proName,@Param("eduId") Long eduId);
 }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeUserService.java

@@ -166,4 +166,6 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
 	List<ClassPeriodStudentVo> listUserPeriodRecordNew(ClassGradeUserQueryBo bo);
 	List<ClassPeriodStudentVo> listUserPeriodRecordNew(ClassGradeUserQueryBo bo);
 
 
     List<ClassPeriodStudentNewVo> listUserPeriodNew(ClassGradeUserQueryBo bo);
     List<ClassPeriodStudentNewVo> listUserPeriodNew(ClassGradeUserQueryBo bo);
+
+    List<ClassPeriodStudentVo> listUserVideoRecordNew(ClassGradeUserQueryBo bo);
 }
 }

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

@@ -67,8 +67,10 @@ import com.zhongzheng.modules.order.service.IOrderInputService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.system.domain.SysOldOrg;
 import com.zhongzheng.modules.system.domain.SysOldOrg;
+import com.zhongzheng.modules.system.domain.SysTenant;
 import com.zhongzheng.modules.system.service.ISysConfigService;
 import com.zhongzheng.modules.system.service.ISysConfigService;
 import com.zhongzheng.modules.system.service.ISysOldOrgService;
 import com.zhongzheng.modules.system.service.ISysOldOrgService;
+import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.service.ISysUserService;
 import com.zhongzheng.modules.system.service.ISysUserService;
 import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.domain.User;
@@ -130,6 +132,9 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
     @Autowired
     @Autowired
     private ISysUserService iSysUserService;
     private ISysUserService iSysUserService;
 
 
+    @Autowired
+    private ISysTenantService iSysTenantService;
+
     @Autowired
     @Autowired
     private IOrderService iOrderService;
     private IOrderService iOrderService;
 
 
@@ -981,39 +986,93 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
 
 
     @Override
     @Override
     public List<ClassPeriodStudentNewVo> listUserPeriodNew(ClassGradeUserQueryBo bo) {
     public List<ClassPeriodStudentNewVo> listUserPeriodNew(ClassGradeUserQueryBo bo) {
+        //查询机构
+        String tenantId = ServletUtils.getRequest().getHeader("TenantId");
+        SysTenant sysTenant = iSysTenantService.getById(tenantId);
+        if (ObjectUtils.isNotNull(sysTenant) && sysTenant.getSevenClass() == 1){
+            //七大员继教共享祥粤
+            List<SysTenant> sysTenants = iSysTenantService.list(new LambdaQueryWrapper<SysTenant>()
+                    .eq(SysTenant::getSevenClass, 1)
+                    .eq(SysTenant::getStatus, 1));
+            if (!CollectionUtils.isEmpty(sysTenants)){
+                List<Long> tenantIds = new ArrayList<>();
+                List<Long> educationTypeIds = new ArrayList<>();
+                List<Long> projectIds = new ArrayList<>();
+                for (SysTenant tenant : sysTenants) {
+                    tenantIds.add(tenant.getTenantId());
+                    Long eduId = baseMapper.getEduIdByTenant(tenant.getTenantId(),"继续教育");
+                    if (ObjectUtils.isNotNull(eduId)){
+                        educationTypeIds.add(eduId);
+                        Long proId = baseMapper.getProIdByTenant(tenant.getTenantId(),"继续教育",eduId);
+                        if (ObjectUtils.isNotNull(proId)){
+                            projectIds.add(proId);
+                        }
+                    }
+                }
+                bo.setTenantIds(tenantIds);
+                bo.setEducationTypeIds(educationTypeIds);
+                bo.setProjectIds(projectIds);
+            }
+        }
+        //查询班级学员信息
+        List<ClassPeriodStudentNewVo> classPeriodStudentVos = baseMapper.listUserPeriodNew(bo);
+        //查找学员学习记录
+        for (ClassPeriodStudentNewVo classPeriodStudentVo : classPeriodStudentVos) {
+            classPeriodStudentVo.setIdCard(EncryptHandler.decrypt(classPeriodStudentVo.getIdCard()));
+            classPeriodStudentVo.setTelPhone(EncryptHandler.decrypt(classPeriodStudentVo.getTelPhone()));
+            List<Long> timeList = baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId());
+            if (!CollectionUtils.isEmpty(timeList)) {
+                //查找开始学习时间
+                classPeriodStudentVo.setStartTime(timeList.get(0));
+            }else{
+                classPeriodStudentVo.setStartTime(baseMapper.selectStartNoPhoto(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId())
+                );
+            }
+        }
+        return classPeriodStudentVos;
+    }
 
 
-//        //查询班级学员信息
-//        List<ClassPeriodStudentNewVo> classPeriodStudentVos = baseMapper.listUserPeriodNew(bo);
-//        //查找学员学习记录
-//        for (ClassPeriodStudentVo classPeriodStudentVo : classPeriodStudentVos) {
-//
-//            //总的审核状态按照策划规则
-//            ClassGradeUserQueryBo classGradeUserQueryBo = new ClassGradeUserQueryBo();
-//            classGradeUserQueryBo.setGradeId(classPeriodStudentVo.getGradeId());
-//            classGradeUserQueryBo.setUserId(classPeriodStudentVo.getUserId());
-//            classGradeUserQueryBo.setGoodsId(classPeriodStudentVo.getGoodsId());
-//            List<ClassPeriodUserVo> classPeriodUserVos1 = baseMapper.listPeriod(classGradeUserQueryBo);
-//            ClassPeriodUserVo classPeriodUserVos = classPeriodUserVos1.get(0);
-//            classPeriodUserVos.setPending(classPeriodStudentVo.getSecAllNum() - classPeriodUserVos.getPass() - classPeriodUserVos.getCheat());
-//            classPeriodUserVos.setExamPending(classPeriodUserVos.getExamNum() - classPeriodUserVos.getExamPass() - classPeriodUserVos.getExamCheat());
-//            //當前班級學員審核狀態 -1不可审核 0待審  1未通过 2通过
-//            Integer gradePeriodStatus = 0; //班级里的审核状态字段,保持一致 0 未通过 1通过 2待审核 -1 不可审核
-//
-//            classPeriodStudentVo.setAllStatus(changePeriodStatus(classPeriodStudentVo.getPeriodStatus()));
-//
-//            classPeriodStudentVo.setWaitRebuildNum(classPeriodUserVos.getCheat() + classPeriodUserVos.getExamCheat());
-//            List<Long> timeList = baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId());
-//            if (!CollectionUtils.isEmpty(timeList)) {
-//                //查找开始学习时间
-//                classPeriodStudentVo.setStartTime(timeList.get(0));
-//            }else{
-//                classPeriodStudentVo.setStartTime(baseMapper.selectStartNoPhoto(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId())
-//                );
-//            }
-//
-//        }
-//        return classPeriodStudentVos;
-        return  null;
+    @Override
+    public List<ClassPeriodStudentVo> listUserVideoRecordNew(ClassGradeUserQueryBo bo) {
+        //查询机构
+        String tenantId = ServletUtils.getRequest().getHeader("TenantId");
+        SysTenant sysTenant = iSysTenantService.getById(tenantId);
+        if (ObjectUtils.isNotNull(sysTenant) && sysTenant.getSevenClass() == 1){
+            //七大员继教共享祥粤
+            List<SysTenant> sysTenants = iSysTenantService.list(new LambdaQueryWrapper<SysTenant>()
+                    .eq(SysTenant::getSevenClass, 1)
+                    .eq(SysTenant::getStatus, 1));
+            if (!CollectionUtils.isEmpty(sysTenants)){
+                List<Long> tenantIds = new ArrayList<>();
+                List<Long> educationTypeIds = new ArrayList<>();
+                List<Long> projectIds = new ArrayList<>();
+                for (SysTenant tenant : sysTenants) {
+                    tenantIds.add(tenant.getTenantId());
+                    Long eduId = baseMapper.getEduIdByTenant(tenant.getTenantId(),"继续教育");
+                    if (ObjectUtils.isNotNull(eduId)){
+                        educationTypeIds.add(eduId);
+                        Long proId = baseMapper.getProIdByTenant(tenant.getTenantId(),"继续教育",eduId);
+                        if (ObjectUtils.isNotNull(proId)){
+                            projectIds.add(proId);
+                        }
+                    }
+                }
+                bo.setTenantIds(tenantIds);
+                bo.setEducationTypeIds(educationTypeIds);
+                bo.setProjectIds(projectIds);
+            }
+        }
+        //查询班级学员信息
+        List<ClassPeriodStudentVo> classPeriodStudentVos = baseMapper.listUserVideoRecordNew(bo);
+        //查找学员学习记录
+        for (ClassPeriodStudentVo classPeriodStudentVo : classPeriodStudentVos) {
+            //取学时所有拍照最新的一张
+            String recentPhoto = userStudyRecordPhotoMapper.selectGradeRecentOnePhotoNew(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId());
+            if (Validator.isNotEmpty(recentPhoto)) {
+                classPeriodStudentVo.setIdCardImg1(recentPhoto);
+            }
+        }
+        return classPeriodStudentVos;
     }
     }
 
 
     @Override
     @Override

+ 4 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassPeriodStudentNewVo.java

@@ -1,13 +1,9 @@
 package com.zhongzheng.modules.grade.vo;
 package com.zhongzheng.modules.grade.vo;
 
 
-import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
-import java.math.BigDecimal;
-import java.util.List;
-
 
 
 /**
 /**
  * 学员记录视图对象 mall_package
  * 学员记录视图对象 mall_package
@@ -75,5 +71,9 @@ public class ClassPeriodStudentNewVo {
 	@ApiModelProperty("学习年份")
 	@ApiModelProperty("学习年份")
 	private String sevenYear;
 	private String sevenYear;
 
 
+	@ApiModelProperty("业务名称")
+	private String fullName;
+
+	private String tenantId;
 
 
 }
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyRecordPhotoMapper.java

@@ -18,6 +18,9 @@ public interface UserStudyRecordPhotoMapper extends BaseMapper<UserStudyRecordPh
 
 
     String selectGradeRecentOnePhoto(@Param("userId") Long userId,@Param("gradeId") Long gradeId,@Param("orderGoodsId") Long orderGoodsId);
     String selectGradeRecentOnePhoto(@Param("userId") Long userId,@Param("gradeId") Long gradeId,@Param("orderGoodsId") Long orderGoodsId);
 
 
+    @InterceptorIgnore(tenantLine = "true")
+    String selectGradeRecentOnePhotoNew(@Param("userId") Long userId,@Param("gradeId") Long gradeId,@Param("orderGoodsId") Long orderGoodsId);
+
     List<String> selectGradePhotoWeek(@Param("userId") Long userId,@Param("gradeId") Long gradeId,@Param("searchWeekStartTime") Long searchWeekStartTime,@Param("searchWeekEndTime") Long searchWeekEndTime,@Param("orderGoodsId") Long orderGoodsId);
     List<String> selectGradePhotoWeek(@Param("userId") Long userId,@Param("gradeId") Long gradeId,@Param("searchWeekStartTime") Long searchWeekStartTime,@Param("searchWeekEndTime") Long searchWeekEndTime,@Param("orderGoodsId") Long orderGoodsId);
 
 
     @InterceptorIgnore(tenantLine = "true")
     @InterceptorIgnore(tenantLine = "true")

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

@@ -422,6 +422,55 @@
         order by up.create_time desc
         order by up.create_time desc
     </select>
     </select>
 
 
+    <select id="listUserVideoRecordNew" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
+            resultMap="ClassPeriodStudentVo">
+        SELECT
+        up.* ,cg.class_name,cs.duration_time,u.id_card,u.realname,u.one_inch_photos,u.company_name,cs.`name` as section_name,ups.record_start_time,ups.record_end_time,ups.update_time as on_line_time
+        FROM
+        user_period up
+        LEFT JOIN user_period_status ups ON up.id = ups.period_id
+        LEFT JOIN class_grade cg on up.grade_id = cg.grade_id
+        LEFT JOIN  goods g ON up.goods_id = g.goods_id
+        LEFT JOIN course_section cs ON up.section_id = cs.section_id
+        LEFT JOIN `user` u ON up.user_id = u.user_id
+        WHERE
+        up.grade_id > 0  and up.type = 1
+        <if test="businessId != null and businessId != ''">
+            AND g.business_id = #{businessId}
+        </if>
+        <if test="projectIds != null and projectIds.size()!=0 ">
+            AND g.project_id in
+            <foreach collection="projectIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="educationTypeIds != null and educationTypeIds.size()!=0 ">
+            AND g.education_type_id in
+            <foreach collection="educationTypeIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="realname != null and realname != ''">
+            AND u.realname like concat('%', #{realname}, '%')
+        </if>
+        <if test="telphone != null and telphone != ''">
+            AND u.telphone = #{telphone`,typeHandler=com.zhongzheng.common.type.EncryptHandler`}
+        </if>
+        <if test="idCard != null and idCard != ''">
+            AND u.id_card = #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
+        </if>
+        <if test="companyName != null and companyName != ''">
+            AND u.company_name like concat('%', #{companyName}, '%')
+        </if>
+        <if test="tenantIds != null and tenantIds.size()!=0 ">
+            AND up.tenant_id in
+            <foreach collection="tenantIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        order by up.create_time desc
+    </select>
+
 
 
     <select id="listUserPeriod" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
     <select id="listUserPeriod" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
             resultMap="ClassPeriodStudentVo">
             resultMap="ClassPeriodStudentVo">
@@ -576,6 +625,75 @@
         </if>
         </if>
     </select>
     </select>
 
 
+
+    <select id="listUserPeriodNew" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
+            resultType="com.zhongzheng.modules.grade.vo.ClassPeriodStudentNewVo">
+        SELECT
+        u.user_id,
+        u.realname,
+        og.goods_id,
+        u.id_card,
+        cgu.grade_id,
+        u.telphone,
+        up.`status` as profile_status,
+        g.goods_name,
+        cg.class_name,
+        cgu.order_goods_id,
+        (SELECT og.seven_year FROM order_goods og  where og.order_goods_id = cgu.order_goods_id ) as seven_year,
+        cgu.period_wait_time as end_time,
+        cgu.tenant_id,
+        CONCAT(cet.education_name,cpt.project_name,cb.business_name) AS fullName
+        FROM
+        class_grade_user cgu
+        LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
+        LEFT JOIN order_goods og ON cgu.order_goods_id = og.order_goods_id
+        LEFT JOIN `user` u ON u.user_id = cgu.user_id
+        LEFT JOIN user_profile up on u.user_id =up.user_id and up.goods_id = og.goods_id and cgu.order_goods_id = up.order_goods_id and up.type_status=1 and up.current_status = 1
+        LEFT JOIN goods g on og.goods_id = g.goods_id
+        LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+        LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+        LEFT JOIN course_business cb ON g.business_id = cb.id
+        where 1=1
+        and cgu.`status` =1
+        and cb.`period_check_sign` = 1
+        <if test="projectIds != null and projectIds.size()!=0 ">
+            AND g.project_id in
+            <foreach collection="projectIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="educationTypeIds != null and educationTypeIds.size()!=0 ">
+            AND g.education_type_id in
+            <foreach collection="educationTypeIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="periodStatus != null ">
+            and cgu.period_status = #{periodStatus}
+        </if>
+        <if test="searchKey != null and searchKey != '' ">
+            and u.realname like concat('%', #{searchKey}, '%')
+        </if>
+        <if test="idCard != null and idCard !='' ">
+            AND u.id_card = #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
+        </if>
+        <if test="tenantIds != null and tenantIds.size()!=0 ">
+            AND cgu.tenant_id in
+            <foreach collection="tenantIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        order by cgu.update_time desc
+    </select>
+
+    <select id="getEduIdByTenant" parameterType="map" resultType="java.lang.Long">
+        SELECT id FROM course_education_type WHERE tenant_id = #{tenantId} AND education_name = #{eduName} AND `status` = 1 LIMIT 1
+    </select>
+
+    <select id="getProIdByTenant" parameterType="map" resultType="java.lang.Long">
+        SELECT id FROM course_project_type WHERE tenant_id = #{tenantId} AND project_name = #{proName}  AND education_id = #{eduId} AND `status` = 1 LIMIT 1
+    </select>
+
     <select id="exportUserPeriod" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
     <select id="exportUserPeriod" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
             resultMap="ClassPeriodStudentVo">
             resultMap="ClassPeriodStudentVo">
         SELECT
         SELECT

+ 17 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordPhotoMapper.xml

@@ -68,6 +68,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             LIMIT 1
             LIMIT 1
     </select>
     </select>
 
 
+    <select id="selectGradeRecentOnePhotoNew" parameterType="map" resultType="string">
+        SELECT
+            rp.photo
+        FROM
+            user_period up
+                LEFT JOIN user_period_status ups ON up.id = ups.period_id
+                LEFT JOIN user_study_record_photo rp ON ups.id = rp.period_id
+        WHERE
+            up.grade_id = #{gradeId}
+          AND up.user_id = #{userId}
+          AND (up.order_goods_id = #{orderGoodsId} or up.order_goods_id is null)
+          AND rp.photo IS NOT NULL
+        ORDER BY
+            rp.id DESC
+            LIMIT 1
+    </select>
+
     <select id="listByPhoto" parameterType="java.lang.String" resultType="com.zhongzheng.modules.user.domain.UserStudyRecordPhoto">
     <select id="listByPhoto" parameterType="java.lang.String" resultType="com.zhongzheng.modules.user.domain.UserStudyRecordPhoto">
         SELECT * FROM `user_study_record_photo` WHERE photo = #{imageUrl}
         SELECT * FROM `user_study_record_photo` WHERE photo = #{imageUrl}
     </select>
     </select>