yangdamao 2 éve
szülő
commit
58807f8b2d
19 módosított fájl, 246 hozzáadás és 9 törlés
  1. 4 4
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  2. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamApply.java
  3. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamApplySiteServiceImpl.java
  4. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java
  5. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeUserService.java
  6. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java
  7. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/schedule/service/impl/ScheduleServiceImpl.java
  8. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java
  9. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyLogMapper.java
  10. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserVisitLogMapper.java
  11. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyLogService.java
  12. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserVisitLogService.java
  13. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyLogServiceImpl.java
  14. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserVisitLogServiceImpl.java
  15. 0 1
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityRecommendMapper.xml
  16. 36 0
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml
  17. 159 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml
  18. 4 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyLogMapper.xml
  19. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserVisitLogMapper.xml

+ 4 - 4
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -198,7 +198,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Override
     public List<UserVo> selectList(UserQueryBo bo) {
         bo.setGetOrderNum(1L);
-        List<UserVo> list = entity2UserVo(userMapper.selectList(bo));
+        List<UserVo> list = entity2UserVo(userMapper.selectListNoTenant(bo));
         for (UserVo userVo : list) {
             userVo.setStudentCode(userVo.getUserAccount());
             ClassGradeUserQueryBo classGradeUserQueryBo = new ClassGradeUserQueryBo();
@@ -206,17 +206,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
             List<Integer> status = new ArrayList<>();
             status.add(1);
             classGradeUserQueryBo.setStatus(status);
-            List<ClassGradeUserGoodsVo> classGradeUserGoodsVos = iClassGradeUserService.listUser(classGradeUserQueryBo);
+            List<ClassGradeUserGoodsVo> classGradeUserGoodsVos = iClassGradeUserService.listUserNoTenant(classGradeUserQueryBo);
             userVo.setClassGradeUserGoodsVoList(classGradeUserGoodsVos);
             userVo.setOrderNum(userVo.getGoodsCourseNum());
 
-            UserVisitLog userVisitLog = iUserVisitLogService.getOne(new LambdaQueryWrapper<UserVisitLog>().eq(UserVisitLog::getUserId, userVo.getUserId()).orderByDesc(UserVisitLog::getId).last("limit 1"));
+            UserVisitLog userVisitLog = iUserVisitLogService.getOneNoTenant(userVo.getUserId());
             if(Validator.isNotEmpty(userVisitLog)){
                 userVo.setLastVisitTime(userVisitLog.getCreateTime());
                 userVo.setVisitFromPlat(Integer.parseInt(userVisitLog.getFromPlat()));
             }
 
-            UserStudyLog userStudyLog = iUserStudyLogService.getOne(new LambdaQueryWrapper<UserStudyLog>().eq(UserStudyLog::getUserId, userVo.getUserId()).orderByDesc(UserStudyLog::getId).last("limit 1"));
+            UserStudyLog userStudyLog = iUserStudyLogService.getOneNoTenant( userVo.getUserId());
             if(Validator.isNotEmpty(userStudyLog)){
                 userVo.setLastStudyTime(userStudyLog.getCreateTime());
                 userVo.setStudyFromPlat(Integer.parseInt(userStudyLog.getFromPlat()));

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamApply.java

@@ -64,5 +64,5 @@ private static final long serialVersionUID=1L;
     /** 专场学员资料地址 */
     private String natureUrl;
 
-    private Long tenantId;
+    private String tenantId;
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamApplySiteServiceImpl.java

@@ -158,7 +158,7 @@ public class ExamApplySiteServiceImpl extends ServiceImpl<ExamApplySiteMapper, E
                 CdExamRoomUpdateBo roomBo = new CdExamRoomUpdateBo();
                 roomBo.setSignId(apply.getApplyId());
                 roomBo.setDataFrom(1);
-                roomBo.setTenantId(apply.getTenantId());
+//                roomBo.setTenantId(apply.getTenantId());
                 roomBo.setExamType(apply.getApplyNature());
                 roomBo.setExamTime(timeAddBo.getExamTime());
                 ExamApplySiteTimeTwoAddBo twoAddBo = timeAddBo.getExamApplySiteTimeTwo().stream().findFirst().orElse(null);
@@ -178,7 +178,7 @@ public class ExamApplySiteServiceImpl extends ServiceImpl<ExamApplySiteMapper, E
                 CdExamRoomBo roomBo = new CdExamRoomBo();
                 roomBo.setSignId(apply.getApplyId());
                 roomBo.setDataFrom(1);
-                roomBo.setTenantId(apply.getTenantId());
+//                roomBo.setTenantId(apply.getTenantId());
                 roomBo.setType(1);//七大员预约
                 roomBo.setExamType(apply.getApplyNature());
                 roomBo.setExamTime(timeAddBo.getExamTime());

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

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.grade.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.zhongzheng.modules.course.vo.CourseChapterVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
@@ -26,6 +27,9 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
 
     List<ClassGradeUserGoodsVo> listUser(ClassGradeUserQueryBo bo);
 
+    @InterceptorIgnore(tenantLine = "true")
+    List<ClassGradeUserGoodsVo> listUserNoTenant(ClassGradeUserQueryBo bo);
+
     List<ClassPeriodStudentVo> listUserPeriod(ClassGradeUserQueryBo bo);
 
     List<ClassPeriodStudentVo> listUserWeekPeriod(ClassGradeUserQueryBo bo);

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

@@ -85,6 +85,8 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
 
     List<ClassGradeUserGoodsVo> listUser(ClassGradeUserQueryBo bo);
 
+	List<ClassGradeUserGoodsVo> listUserNoTenant(ClassGradeUserQueryBo bo);
+
 	List<ClassPeriodStudentVo> listUserPeriod(ClassGradeUserQueryBo bo);
 
 	List<ClassPeriodStudentVo> listUserPeriodRecord(ClassGradeUserQueryBo bo);

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

@@ -1718,6 +1718,11 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return baseMapper.listUser(bo);
     }
 
+    @Override
+    public List<ClassGradeUserGoodsVo> listUserNoTenant(ClassGradeUserQueryBo bo) {
+        return baseMapper.listUserNoTenant(bo);
+    }
+
     @Override
     @DataScope(businessAlias = "cb")
     public List<ClassPeriodStudentVo> listUserPeriod(ClassGradeUserQueryBo bo) {

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/schedule/service/impl/ScheduleServiceImpl.java

@@ -1775,7 +1775,7 @@ public class ScheduleServiceImpl extends ServiceImpl<PolyvVideoMapper, PolyvVide
                 CdExamRoomBo roomBo = new CdExamRoomBo();
                 roomBo.setSignId(apply.getApplyId());
                 roomBo.setDataFrom(1);
-                roomBo.setTenantId(apply.getTenantId());
+//                roomBo.setTenantId(apply.getTenantId());
                 roomBo.setType(1);//七大员预约
                 roomBo.setExamType(apply.getApplyNature());
                 roomBo.setExamTime(millisecond);

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

@@ -32,6 +32,9 @@ public interface UserMapper extends BaseMapper<User> {
 
     List<User> selectList(UserQueryBo bo);
 
+    @InterceptorIgnore(tenantLine = "true")
+    List<User> selectListNoTenant(UserQueryBo bo);
+
     List<UserStudyRecordVo> selectStudyRecordList(UserStudyRecordQueryBo bo);
 
     Integer selectByRankOneByTime(@Param("hourse") Integer toInt,@Param("startTime") long startTime,@Param("endTime") long endTime);

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyLogMapper.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.user.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.user.bo.UserStudyLogQueryBo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
@@ -17,4 +18,7 @@ import java.util.List;
  */
 public interface UserStudyLogMapper extends BaseMapper<UserStudyLog> {
     List<UserStudyLogVo> getList(UserStudyLogQueryBo bo);
+
+    @InterceptorIgnore(tenantLine = "true")
+    UserStudyLog getOneNoTenant(Long userId);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserVisitLogMapper.java

@@ -1,7 +1,9 @@
 package com.zhongzheng.modules.user.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.user.domain.UserVisitLog;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 用户访问日志Mapper接口
@@ -11,4 +13,6 @@ import com.zhongzheng.modules.user.domain.UserVisitLog;
  */
 public interface UserVisitLogMapper extends BaseMapper<UserVisitLog> {
 
+    @InterceptorIgnore(tenantLine = "true")
+    UserVisitLog getOneNoTenant(@Param("userId") Long userId);
 }

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

@@ -51,4 +51,6 @@ public interface IUserStudyLogService extends IService<UserStudyLog> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    UserStudyLog getOneNoTenant(Long userId);
 }

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

@@ -49,4 +49,6 @@ public interface IUserVisitLogService extends IService<UserVisitLog> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    UserVisitLog getOneNoTenant(Long userId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyLogServiceImpl.java

@@ -120,4 +120,9 @@ public class UserStudyLogServiceImpl extends ServiceImpl<UserStudyLogMapper, Use
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public UserStudyLog getOneNoTenant(Long userId) {
+        return baseMapper.getOneNoTenant(userId);
+    }
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserVisitLogServiceImpl.java

@@ -117,4 +117,9 @@ public class UserVisitLogServiceImpl extends ServiceImpl<UserVisitLogMapper, Use
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public UserVisitLog getOneNoTenant(Long userId) {
+        return baseMapper.getOneNoTenant(userId);
+    }
 }

+ 0 - 1
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityRecommendMapper.xml

@@ -58,7 +58,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             g.spec_template_id,
             g.cover_url,
             g.goods_type
-        FROM
         FROM
             activity_recommend_goods rg
                 LEFT JOIN goods g ON rg.goods_id = g.goods_id

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

@@ -342,6 +342,42 @@
         order by u.create_time desc
     </select>
 
+    <select id="listUserNoTenant" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
+            resultMap="ClassGradeUserGoodsVoResult">
+        SELECT
+        * ,
+        (select `code` FROM goods g LEFT JOIN class_grade_goods c on g.goods_id = c.goods_id where c.grade_id =
+        u.grade_id) as goods_code,
+        (select `year` FROM goods g LEFT JOIN class_grade_goods c on g.goods_id = c.goods_id where c.grade_id =
+        u.grade_id) as year,
+        (select goods_name FROM goods g LEFT JOIN class_grade_goods c on g.goods_id = c.goods_id where c.grade_id =
+        u.grade_id) as goods_name,
+        (select b.business_name FROM course_business b LEFT JOIN goods g on b.id = g.business_id LEFT JOIN
+        class_grade_goods c on g.goods_id = c.goods_id where c.grade_id = u.grade_id) as business_name,
+        (select b.project_name FROM course_project_type b LEFT JOIN goods g on b.id = g.project_id LEFT JOIN
+        class_grade_goods c on g.goods_id = c.goods_id where c.grade_id = u.grade_id) as project_name,
+        (select b.school_name FROM school b LEFT JOIN goods g on b.id = g.school_id LEFT JOIN class_grade_goods c on
+        g.goods_id = c.goods_id where c.grade_id = u.grade_id) as school_name,
+        (select b.education_name FROM course_education_type b LEFT JOIN goods g on b.id = g.education_type_id LEFT JOIN
+        class_grade_goods c on g.goods_id = c.goods_id where c.grade_id = u.grade_id) as education_name,
+        (SELECT g.grade_code FROM class_grade g where u.grade_id = g.grade_id) as grade_code,
+        (SELECT g.class_name FROM class_grade g where u.grade_id = g.grade_id) as grade_name,
+        (SELECT g.status FROM class_grade g where u.grade_id = g.grade_id) as grade_status
+        FROM
+        class_grade_user u
+        where 1=1
+        <if test="status != null and status.size()!=0 ">
+            AND u.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="userId != null and userId != ''">
+            and u.user_id= #{userId}
+        </if>
+        order by u.create_time desc
+    </select>
+
     <select id="listUserVideoRecord" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
             resultMap="ClassPeriodStudentVo">
         SELECT

+ 159 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -305,6 +305,165 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY u.user_id DESC
     </select>
 
+    <select id="selectListNoTenant" parameterType="com.zhongzheng.modules.user.bo.UserQueryBo" resultMap="UserResult">
+        SELECT DISTINCT
+        u.*,
+        (case WHEN u.union_id is null then 0 ELSE 1 end) as user_bind_wx
+        <if test="getOrderNum != null and getOrderNum == 1" >
+            ,ou.goods_course_num,ou.goods_bank_num,ou.goods_live_num
+        </if>
+        FROM
+        `user` u
+
+        <if test="getOrderNum != null and getOrderNum == 1" >
+            LEFT JOIN (
+            SELECT
+            sum( CASE WHEN g.goods_type = 1 THEN 1 ELSE 0 END ) AS goods_course_num,
+            sum( CASE WHEN g.goods_type = 2 THEN 1 ELSE 0 END ) AS goods_bank_num,
+            sum( CASE WHEN g.goods_type = 6 THEN 1 ELSE 0 END ) AS goods_live_num,
+            o.user_id
+            FROM
+            `order` o
+            LEFT JOIN order_goods og ON o.order_sn = og.order_sn
+            LEFT JOIN goods g ON og.goods_id = g.goods_id
+            WHERE o.`status` = 1
+            AND og.refund_status in (0,1,3)
+            AND og.pay_status in (2,3,4)
+            GROUP BY
+            o.user_id
+            ) ou ON u.user_id = ou.user_id
+        </if>
+        <if test="businessId != null and businessId != ''">
+            LEFT JOIN `order` o ON u.user_id = o.user_id and o.`status` = 1
+            LEFT JOIN order_goods og ON o.order_sn = og.order_sn and og.`status` = 1
+            LEFT JOIN goods g ON og.goods_id = g.goods_id
+        </if>
+        WHERE
+        1 = 1
+        <if test="status != null and status.size()!=0 ">
+            AND u.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="businessId != null and businessId != ''">
+            and og.`status` = 1
+            and og.refund_status in (0,1,3)
+            and og.pay_status in (2,3,4)
+            AND g.business_id = #{businessId}
+        </if>
+        <if test="startTime != null and startTime != ''">
+            AND u.create_time &gt; #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            AND u.create_time &lt; #{endTime}
+        </if>
+        <if test="userKerWord != null and userKerWord != ''" >
+            AND (u.realname like concat('%', #{userKerWord}, '%') OR u.telphone like concat('%', #{userKerWord,typeHandler=com.zhongzheng.common.type.EncryptHandler}, '%') OR u.id_card like concat('%', #{userKerWord,typeHandler=com.zhongzheng.common.type.EncryptHandler}, '%'))
+        </if>
+        <if test="nickname != null and nickname != ''" >
+            AND u.nickname like concat('%', #{nickname}, '%')
+        </if>
+        <if test="telphone != null and telphone != ''" >
+            AND u.telphone like concat('%', #{telphone,typeHandler=com.zhongzheng.common.type.EncryptHandler}, '%')
+        </if>
+        <if test="idCard != null and idCard != ''" >
+            AND u.id_card like concat('%', #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}, '%')
+        </if>
+        <if test="realname != null and realname != ''" >
+            AND u.realname like concat('%', #{realname}, '%')
+        </if>
+        <if test="companyName != null and companyName != ''" >
+            AND u.company_name like concat('%', #{companyName}, '%')
+        </if>
+        <if test="userId != null and userId != ''" >
+            AND u.user_id = #{userId}
+        </if>
+        <if test="empty != null and empty != ''" >
+            and u.realname is NOT NULL
+        </if>
+        <if test="goodsSearchKey != null and goodsSearchKey != ''" >
+            and ( SELECT
+            count(og.*)
+            FROM
+            `order` o
+            LEFT JOIN order_goods og on o.order_sn = og.order_sn
+            where 1=1
+            and og.`status` = 1
+            and og.refund_status in (0,1,3)
+            and og.pay_status in (2,3,4))
+            and (g.goods_name like concat('%', #{goodsSearchKey}, '%') or g.code like concat('%', #{goodsSearchKey}, '%'))
+            and o.user_id = u.user_id)>0
+        </if>
+        <if test="goodsSearchKey != null and goodsSearchKey != ''" >
+            and ( SELECT
+            count(*)
+            FROM
+            `order` o
+            LEFT JOIN order_goods og on o.order_sn = og.order_sn
+            LEFT JOIN goods g on og.goods_id = g.goods_id
+            where 1=1
+            and og.`status` = 1
+            and og.refund_status in (0,1,3)
+            and og.pay_status in (2,3,4)
+            and (g.goods_name like concat('%', #{goodsSearchKey}, '%') or g.code like concat('%', #{goodsSearchKey}, '%'))
+            and o.user_id = u.user_id)>0
+        </if>
+        <if test="gradePoint != null and gradePoint == 1" >
+            AND (SELECT COUNT(u.user_id) FROM class_grade_user cgu where 1=1 AND u.status in (1) and cgu.user_id= u.user_id) > 0
+        </if>
+        <if test="gradePoint != null and gradePoint == 2" >
+            AND (SELECT COUNT(u.user_id) FROM class_grade_user cgu where 1=1 AND u.status in (1) and cgu.user_id= u.user_id) = 0
+        </if>
+        <if test="searchKey != null and searchKey != '' and searchType == 0 ">
+            and (u.realname like concat('%', #{searchKey}, '%') or u.id_card like concat('%', #{searchKey,typeHandler=com.zhongzheng.common.type.EncryptHandler}, '%'))
+        </if>
+        <if test="idCards != null and idCards.size()!=0 and searchType == 0" >
+            AND u.id_card in
+            <foreach collection="idCards" item="item" index="index" open="(" close=")" separator=",">
+                #{item,typeHandler=com.zhongzheng.common.type.EncryptHandler}
+            </foreach>
+        </if>
+        <if test="searchType == 1" >
+            and (u.realname like concat('%', #{searchKey}, '%') or u.id_card like concat('%', #{searchKey,typeHandler=com.zhongzheng.common.type.EncryptHandler}, '%') or
+            u.id_card in
+            <foreach collection="idCards" item="item" index="index" open="(" close=")" separator=",">
+                #{item,typeHandler=com.zhongzheng.common.type.EncryptHandler}
+            </foreach>)
+        </if>
+        <if test="hasBindWx != null and hasBindWx == 1 ">
+            AND u.union_id is not null
+        </if>
+        <if test="hasBindWx != null and hasBindWx == 0 ">
+            AND u.union_id is null
+        </if>
+        <if test="visitStartTime != null and visitStartTime !=''">
+            and (SELECT
+            count(*)
+            FROM user_visit_log where user_id = u.user_id and create_time>= #{visitStartTime}  and #{visitEndTime} >= create_time)>0
+        </if>
+        <if test="studyStartTime != null and studyStartTime !=''">
+            and (SELECT
+            count(*)
+            FROM user_study_log where user_id = u.user_id and create_time>= #{studyStartTime}  and #{studyEndTime} >= create_time)>0
+        </if>
+        <if test="gradeName != null and gradeName != ''">
+            and ( SELECT
+            count(*)
+            FROM
+            `order` o
+            LEFT JOIN order_goods og on o.order_sn = og.order_sn
+            LEFT JOIN class_grade cg on cg.grade_id = og.grade_id
+            where 1=1
+            and og.`status` = 1
+            and og.refund_status in (0,1,3)
+            and og.pay_status in (2,3,4)
+            and (cg.class_name like concat('%', #{gradeName}, '%'))
+            and o.user_id = u.user_id)>0
+        </if>
+        ORDER BY u.user_id DESC
+    </select>
+
 
     <select id="selectStudyRecordList" resultMap="StudyRecordResult">
         SELECT

+ 4 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyLogMapper.xml

@@ -58,4 +58,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         usl.id desc
     </select>
 
+    <select id="getOneNoTenant" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.user.domain.UserStudyLog">
+        SELECT * FROM user_study_log WHERE user_id = #{userId} ORDER BY id DESC limit 1
+    </select>
+
 </mapper>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserVisitLogMapper.xml

@@ -14,5 +14,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="dateTime" column="date_time"/>
     </resultMap>
 
+    <select id="getOneNoTenant" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.user.domain.UserVisitLog">
+        SELECT * FROM user_visit_log WHERE user_id = #{userId} ORDER BY id DESC limit 1
+    </select>
 
 </mapper>