浏览代码

用户注销修改

liweifan 2 年之前
父节点
当前提交
9bf69ec865

+ 2 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/dal/dao/SysUserDao.java

@@ -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);
 }

+ 6 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -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)) {

+ 6 - 0
cooleshow-auth/auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -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>