@@ -168,4 +168,6 @@ public interface SysUserDao extends BaseDAO<Long, SysUser> {
@Param("avatar") String avatar);
List<SysUser> queryHistoryUserById(@Param("id")Long id);
+
+ Integer getUnCompCourseNum(@Param("userId") Long userId);
}
@@ -253,6 +253,12 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
@Override
public void logoffById(Long id) {
+ //判断用户是否有未结束的课程
+ Integer num = sysUserDao.getUnCompCourseNum(id);
+ if(num>0){
+ throw new BizException("用户有未完成的课程");
+ }
List<SysUser> sysUsers = sysUserDao.queryHistoryUserById(id);
Integer maxVersion = 0;
if (!CollectionUtils.isEmpty(sysUsers)) {
@@ -291,4 +291,10 @@
where phone_ like CONCAT('%',(select phone_ from sys_user where id_ = #{id} and del_flag_ = 0),'%')
</select>
+ <select id="getUnCompCourseNum" resultType="java.lang.Integer">
+ select count(1) from course_schedule cs
+ where cs.teacher_id_ = #{userId}
+ and status_ in ('NOT_START','ING')
+ </select>
</mapper>