Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
86eba99c91
28 changed files with 260 additions and 64 deletions
  1. 18 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/AuthTaskFeignService.java
  2. 1 1
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java
  3. 20 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/AuthTaskFeignServiceFallback.java
  4. 1 1
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/enums/UserLockFlag.java
  5. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/AuthenticationFailureListener.java
  6. 2 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/service/DefaultUserDetailsService.java
  7. 14 3
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java
  8. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserLoginDao.java
  9. 14 8
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserLoginService.java
  10. 51 5
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserLoginServiceImpl.java
  11. 9 5
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/TaskController.java
  12. 4 0
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  13. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  14. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  15. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  16. 18 12
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  17. 1 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  18. 8 0
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  19. 1 1
      mec-im/src/main/java/com/ym/config/ResourceServerConfig.java
  20. 5 0
      mec-task/pom.xml
  21. 1 1
      mec-task/src/main/java/com/ym/mec/task/jobs/PushNoSignOutMessageTask.java
  22. 18 0
      mec-task/src/main/java/com/ym/mec/task/jobs/UserAutoUnlockedTask.java
  23. 1 1
      mec-task/src/main/java/com/ym/mec/task/jobs/VipGroupTeacherSalarySettlementTask.java
  24. 5 3
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java
  25. 5 3
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  26. 5 3
      mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java
  27. 5 3
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java
  28. 39 8
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

+ 18 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/AuthTaskFeignService.java

@@ -0,0 +1,18 @@
+package com.ym.mec.auth.api.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import com.ym.mec.auth.api.client.fallback.AuthTaskFeignServiceFallback;
+import com.ym.mec.common.config.FeignConfiguration;
+
+@FeignClient(contextId = "authTaskFeignService", name = "auth-server", configuration = { FeignConfiguration.class }, fallback = AuthTaskFeignServiceFallback.class)
+public interface AuthTaskFeignService {
+
+	/**
+	 * 用户自动解锁
+	 * @return
+	 */
+	@GetMapping(value = "task/autoUnlock")
+	public boolean autoUnlock();
+}

+ 1 - 1
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java

@@ -13,7 +13,7 @@ import com.ym.mec.auth.api.client.fallback.SysUserFeignServiceFallback;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.config.FeignConfiguration;
 
-@FeignClient(name = "auth-server", configuration = { FeignConfiguration.class }, fallback = SysUserFeignServiceFallback.class)
+@FeignClient(contextId = "sysUserFeignService", name = "auth-server", configuration = { FeignConfiguration.class }, fallback = SysUserFeignServiceFallback.class)
 public interface SysUserFeignService {
 
 	@GetMapping(value = "user/queryUserById/{userId}")

+ 20 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/AuthTaskFeignServiceFallback.java

@@ -0,0 +1,20 @@
+package com.ym.mec.auth.api.client.fallback;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import com.ym.mec.auth.api.client.AuthTaskFeignService;
+
+@Component
+public class AuthTaskFeignServiceFallback implements AuthTaskFeignService {
+
+	private final static Logger logger = LoggerFactory.getLogger(AuthTaskFeignServiceFallback.class);
+
+	@Override
+	public boolean autoUnlock() {
+		logger.warn("用户自动解锁服务调用失败");
+		return false;
+	}
+
+}

+ 1 - 1
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/enums/UserLockFlag.java

@@ -9,7 +9,7 @@ import com.ym.mec.common.enums.BaseEnum;
  */
 public enum UserLockFlag implements BaseEnum<Integer, UserLockFlag> {
 
-	NOACTIVATED(0, "正常"), CANCELLED(1, "冻结"), NORMAL(9, "锁定");
+	NORMAL(0, "正常"), CANCELLED(1, "冻结"), LOCKED(9, "锁定");
 
 	private int code;
 

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/AuthenticationFailureListener.java

@@ -61,7 +61,7 @@ public class AuthenticationFailureListener implements ApplicationListener<Authen
                 if(userLogin.getFailCount() >= 5){
                     userLogin.setLockTime(30);
                     userLogin.setLockDate(date);
-                    sysUser.setLockFlag(UserLockFlag.NORMAL);
+                    sysUser.setLockFlag(UserLockFlag.LOCKED);
                     sysUser.setUpdateTime(date);
                     sysUserService.update(sysUser);
                 }

+ 2 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/provider/service/DefaultUserDetailsService.java

@@ -51,7 +51,7 @@ public class DefaultUserDetailsService implements UserDetailsService {
 		}
 		if (userInfo == null) {
 			throw new UsernameNotFoundException("账户不存在");
-		} else if (userInfo.getSysUser().getLockFlag() == UserLockFlag.NORMAL) {
+		} else if (userInfo.getSysUser().getLockFlag() == UserLockFlag.LOCKED) {
 			throw new LockedException("账户被锁定");
 		}
 
@@ -68,7 +68,7 @@ public class DefaultUserDetailsService implements UserDetailsService {
 
 		SysUser sysUser = userInfo.getSysUser();
 
-		return new AuthUser(sysUser.getId(), sysUser.getOrganId(), username, BCRYPT + sysUser.getPassword(), sysUser.getLockFlag() == UserLockFlag.NOACTIVATED,
+		return new AuthUser(sysUser.getId(), sysUser.getOrganId(), username, BCRYPT + sysUser.getPassword(), sysUser.getLockFlag() == UserLockFlag.NORMAL,
 				true, true, true, authorities);
 	}
 

+ 14 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -1,9 +1,13 @@
 package com.ym.mec.auth.dal.dao;
 
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.UserLockFlag;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImUserModel;
-import org.apache.ibatis.annotations.Param;
 
 public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 
@@ -13,7 +17,7 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @return
 	 */
 	SysUser queryByUsername(String username);
-	
+
 	/**
 	 * 根据手机号查询对象
 	 * @param phone
@@ -33,5 +37,12 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 * @param userId
 	 * @return
 	 */
-    ImUserModel getBasic(Integer userId);
+	ImUserModel getBasic(Integer userId);
+
+	/**
+	 * 根据状态查询
+	 * @param status
+	 * @return
+	 */
+	List<SysUser> queryByStatus(UserLockFlag status);
 }

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserLoginDao.java

@@ -3,7 +3,7 @@ package com.ym.mec.auth.dal.dao;
 import com.ym.mec.auth.api.entity.SysUserLogin;
 import com.ym.mec.common.dal.BaseDAO;
 
-public interface SysUserLoginDao extends BaseDAO<Long, SysUserLogin> {
+public interface SysUserLoginDao extends BaseDAO<Integer, SysUserLogin> {
 
     /**
      * 根据用户查询登录信息

+ 14 - 8
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserLoginService.java

@@ -3,12 +3,18 @@ package com.ym.mec.auth.service;
 import com.ym.mec.auth.api.entity.SysUserLogin;
 import com.ym.mec.common.service.BaseService;
 
-public interface SysUserLoginService extends BaseService<Long, SysUserLogin> {
-
-    /**
-     * 根据用户查询登录信息
-     * @param userId
-     * @return
-     */
-    SysUserLogin findLoginByUserId(Integer userId);
+public interface SysUserLoginService extends BaseService<Integer, SysUserLogin> {
+
+	/**
+	 * 根据用户查询登录信息
+	 * @param userId
+	 * @return
+	 */
+	SysUserLogin findLoginByUserId(Integer userId);
+
+	/**
+	 * 自动解锁
+	 * @return
+	 */
+	public boolean autoUnlock();
 }

+ 51 - 5
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserLoginServiceImpl.java

@@ -1,21 +1,34 @@
 package com.ym.mec.auth.service.impl;
 
+import java.util.Date;
+import java.util.List;
+
+import org.apache.commons.lang.time.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserLogin;
+import com.ym.mec.auth.api.enums.UserLockFlag;
+import com.ym.mec.auth.dal.dao.SysUserDao;
 import com.ym.mec.auth.dal.dao.SysUserLoginDao;
 import com.ym.mec.auth.service.SysUserLoginService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
 @Service
-public class SysUserLoginServiceImpl extends BaseServiceImpl<Long, SysUserLogin> implements SysUserLoginService {
-	
+public class SysUserLoginServiceImpl extends BaseServiceImpl<Integer, SysUserLogin> implements SysUserLoginService {
+
 	@Autowired
 	private SysUserLoginDao sysUserLoginDao;
 
+	@Autowired
+	private SysUserDao sysUserDao;
+
 	@Override
-	public BaseDAO<Long, SysUserLogin> getDAO() {
+	public BaseDAO<Integer, SysUserLogin> getDAO() {
 		return sysUserLoginDao;
 	}
 
@@ -23,4 +36,37 @@ public class SysUserLoginServiceImpl extends BaseServiceImpl<Long, SysUserLogin>
 	public SysUserLogin findLoginByUserId(Integer userId) {
 		return sysUserLoginDao.findLoginByUserId(userId);
 	}
+
+	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean autoUnlock() {
+		List<SysUser> users = sysUserDao.queryByStatus(UserLockFlag.LOCKED);
+		if (users != null) {
+			SysUserLogin userLogin = null;
+			Date targetDate = null;
+			Date currentDate = new Date();
+			Integer lockTime = null;
+			for (SysUser user : users) {
+				userLogin = get(user.getId());
+				if (userLogin != null) {
+					lockTime = userLogin.getLockTime();
+					if (lockTime == null || lockTime == 0) {
+						continue;
+					}
+					targetDate = DateUtils.addMinutes(userLogin.getLockDate(), lockTime);
+					if (targetDate.getTime() < currentDate.getTime()) {
+						userLogin.setFailCount(0);
+						userLogin.setLockDate(null);
+						userLogin.setLockTime(0);
+						update(userLogin);
+
+						user.setLockFlag(UserLockFlag.NORMAL);
+						user.setUpdateTime(currentDate);
+						sysUserDao.update(user);
+					}
+				}
+			}
+		}
+		return false;
+	}
 }

+ 9 - 5
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/TaskController.java

@@ -1,19 +1,23 @@
 package com.ym.mec.auth.web.controller;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.ym.mec.auth.service.SysUserLoginService;
 import com.ym.mec.common.controller.BaseController;
 
-@RestController()
+@RestController
 @RequestMapping("task")
 public class TaskController extends BaseController {
 
-	@GetMapping("/test")
-	public Object test() {
-		System.out.println("测试第一个定时任务");
-		return succeed();
+	@Autowired
+	private SysUserLoginService sysUserLoginService;
+
+	@GetMapping("/autoUnlock")
+	public void autoUnlock() {
+		sysUserLoginService.autoUnlock();
 	}
 
 }

+ 4 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -179,4 +179,8 @@
     <select id="getBasic" resultMap="ImUserModel">
         select * from sys_user where id_ = #{userId}
     </select>
+    
+    <select id="queryByStatus" resultMap="SysUser">
+        select * from sys_user where lock_flag_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+    </select>
 </mapper>

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -233,9 +233,17 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 乐团开启缴费
+     *
      * @param musicGroupId
      * @param paymentStatus
      * @return
      */
     int musicGroupOpenPay(@Param("musicGroupId") String musicGroupId, @Param("paymentStatus") PaymentStatusEnum paymentStatus);
+
+    /**
+     * 删除班级学生
+     * @param classGroupId
+     * @return
+     */
+    int deleteClassGroup(@Param("classGroupId") Integer classGroupId);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -648,6 +648,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public void delSingle(Integer classGroupId) {
         //删除学员班级关联关系
         classGroupStudentMapperDao.deleteByClassId(classGroupId);
+        studentRegistrationDao.deleteClassGroup(classGroupId);
         //删除班级
         classGroupDao.delete(classGroupId);
     }
@@ -655,6 +656,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void delMix(Integer classGroupId) {
+        //删除学员班级关联关系
+        classGroupStudentMapperDao.deleteByClassId(classGroupId);
         //删除班级关系
         classGroupRelationDao.deleteByClassId(classGroupId);
         //删除合奏班

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -169,7 +169,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             sysUser.setPhone(studentRegistration.getParentsPhone());
             sysUser.setCreateTime(date);
             sysUser.setUpdateTime(date);
-            sysUser.setLockFlag(UserLockFlag.NOACTIVATED);
+            sysUser.setLockFlag(UserLockFlag.NORMAL);
             sysUser.setDelFlag(com.ym.mec.auth.api.enums.YesOrNoEnum.NO);
             sysUser.setUserType(SysUserType.STUDENT);
             sysUser.setGender(studentRegistration.getGender());

+ 18 - 12
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -258,7 +258,7 @@
         FROM class_group cg
         LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
-        WHERE FIND_IN_SET(cg.music_group_id_,#{vipIds}) AND cg.type_ = 'VIP'
+        WHERE FIND_IN_SET(cg.music_group_id_,#{vipIds}) AND cg.type_ = 'VIP' AND cg.del_flag_ = 0
         GROUP BY cg.music_group_id_
     </select>
     <select id="findGroupUsers" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">
@@ -276,6 +276,7 @@
         FROM student_payment_order spo
         LEFT JOIN class_group cg ON cg.id_ = spo.class_group_id_
         <where>
+                cg.del_flag_ = 0
             <if test="search != null and search != ''">
                 AND cg.name_ LIKE CONCAT('%',#{search},'%')
             </if>
@@ -301,7 +302,7 @@
         FROM student_payment_order spo
         LEFT JOIN class_group cg ON cg.id_ = spo.class_group_id_
         <where>
-                spo.status_ = 'SUCCESS'
+                spo.status_ = 'SUCCESS' AND cg.del_flag_ = 0
             <if test="search != null and search != ''">
                 AND cg.name_ LIKE CONCAT('%',#{search},'%')
             </if>
@@ -364,7 +365,7 @@
         FROM
             vip_group_class_group_mapper vcgm
             LEFT JOIN class_group cg ON vcgm.class_group_id_ = cg.id_
-            WHERE vcgm.vip_group_id_=#{vipGroupId}
+            WHERE vcgm.vip_group_id_=#{vipGroupId} AND cg.del_flag_ = 0
     </select>
 
     <select id="lockClassGroup" resultMap="ClassGroup">
@@ -426,6 +427,7 @@
             AND cs.type_ != 'VIP'
             AND cs.type_ != 'DEMO'
             AND csts.expect_salary_!=0
+            AND cg.del_flag_ = 0
         GROUP BY cg.id_
     </select>
     <select id="findTeacherVipClassGroup" resultMap="TeacherClassGroupDto">
@@ -457,6 +459,7 @@
             cs.actual_teacher_id_ = #{teacherId}
             AND cs.status_ != 'OVER'
             AND cs.type_ = 'VIP'
+            AND cg.del_flag_ = 0
         GROUP BY
             vg.id_,cg.id_
     </select>
@@ -481,7 +484,7 @@
         SELECT cgr.class_group_id_ 'key',GROUP_CONCAT(cg.name_) 'value'
         FROM class_group_relation cgr
         LEFT JOIN class_group cg ON cgr.sub_class_group_id_ = cg.id_
-        WHERE FIND_IN_SET(cgr.class_group_id_,#{classGroupIds})
+        WHERE FIND_IN_SET(cgr.class_group_id_,#{classGroupIds}) AND cg.del_flag_ = 0
         GROUP BY cgr.class_group_id_
     </select>
 
@@ -495,14 +498,14 @@
         SELECT cg.name_ class_group_name_,cg.type_ class_group_type_,
         cg.current_class_times_,cg.id_ class_group_id_
         FROM class_group cg
-        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX')
+        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
         <include refid="global.limit"/>
     </select>
 
     <select id="countMusicGroupClassGroup" resultType="java.lang.Integer">
         SELECT COUNT(cg.id_)
         FROM class_group cg
-        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX')
+        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
     </select>
 
     <select id="countStudentNum" resultType="java.util.Map">
@@ -526,6 +529,7 @@
 
     <sql id="queryMusicGroupCourseScheduleSql">
         <where>
+                cg.del_flag_ = 0
             <if test="classScheduleType != null and classScheduleType != ''">
                 AND cs.type_ = #{classScheduleType}
             </if>
@@ -584,7 +588,7 @@
 
     <select id="findNameById" resultType="java.util.Map">
         SELECT cg.id_ 'key',cg.name_ 'value'
-        FROM class_group cg WHERE FIND_IN_SET(cg.id_,#{classGroupIds})
+        FROM class_group cg WHERE FIND_IN_SET(cg.id_,#{classGroupIds}) AND cg.del_flag_ = 0
     </select>
 
     <resultMap id="ConditionDto" type="com.ym.mec.biz.dal.dto.ConditionDto">
@@ -622,7 +626,7 @@
         FROM vip_group vg
         LEFT JOIN class_group cg ON cg.music_group_id_ = vg.id_
         LEFT JOIN sys_user su ON vg.user_id_ = su.id_
-        WHERE cg.type_ = 'VIP' AND FIND_IN_SET(vg.id_,#{musicGroupIds})
+        WHERE cg.type_ = 'VIP' AND FIND_IN_SET(vg.id_,#{musicGroupIds}) AND cg.del_flag_ = 0
     </select>
     <select id="queryStudentMusicGroupCourses" resultMap="CourseListDto">
         SELECT mg.id_ music_group_id_,mg.name_ music_group_name_,mgsf.payment_status_,
@@ -631,13 +635,14 @@
         FROM music_group mg
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX')
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
         GROUP BY mg.id_,mgsf.id_
     </select>
 
     <!-- 增加实际学生人数 -->
     <update id="addStudentNum" parameterType="com.ym.mec.biz.dal.entity.ClassGroup">
-        UPDATE class_group SET student_num_ = student_num_+1,update_time_=#{classGroup.updateTime} WHERE id_ = #{classGroup.id} AND
+        UPDATE class_group SET student_num_ = student_num_+1,update_time_=#{classGroup.updateTime}
+        WHERE id_ = #{classGroup.id} AND
         student_num_=#{classGroup.studentNum}
     </update>
 
@@ -672,6 +677,7 @@
             <foreach collection="classGroups" open="(" close=")" item="classGroupId" separator=",">
                 #{classGroupId}
             </foreach>
+        AND del_flag_ = 0
     </select>
     <select id="findByCourseSchedule" resultMap="ClassGroup">
         SELECT
@@ -679,7 +685,7 @@
         FROM
             course_schedule cs
             LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
-        WHERE cs.id_=#{courseScheduleId}
+        WHERE cs.id_=#{courseScheduleId} AND cg.del_flag_ = 0
     </select>
     <select id="findClassGroupsByMixClassGroup" resultMap="ClassGroup">
         SELECT
@@ -687,6 +693,6 @@
         FROM
             class_group_relation cgr
         LEFT JOIN class_group cg ON cgr.sub_class_group_id_=cg.id_
-        WHERE cgr.class_group_id_=#{maxCourseScheduleId}
+        WHERE cgr.class_group_id_=#{maxCourseScheduleId} AND cg.del_flag_ = 0
     </select>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -54,7 +54,7 @@
 		DELETE FROM class_group_student_mapper WHERE id_ = #{id} 
 	</delete>
     <delete id="deleteByClassId">
-        DELETE FROM class_group_student_mapper WHERE class_group_id_ = #{classGroupId}
+        UPDATE class_group_student_mapper SET status_='QUIT' WHERE class_group_id_ = #{classGroupId} AND status_='NORMAL'
     </delete>
 
     <!-- 分页查询 -->

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -475,4 +475,12 @@
         WHERE sr.music_group_id_ = #{musicGroupId} AND sr.payment_status_ != 2
         GROUP BY sr.user_id_
     </select>
+
+    <!-- 删除学生的班级 -->
+    <update id="deleteClassGroup">
+        UPDATE student_registration
+        SET class_group_id_ = 0,
+        update_time_ = now()
+        WHERE class_group_id_ = #{classGroupId}
+    </update>
 </mapper>

+ 1 - 1
mec-im/src/main/java/com/ym/config/ResourceServerConfig.java

@@ -10,6 +10,6 @@ import org.springframework.security.oauth2.config.annotation.web.configuration.R
 public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
     @Override
     public void configure(HttpSecurity http) throws Exception {
-        http.authorizeRequests().antMatchers("/v2/api-docs","/user/register").permitAll().anyRequest().authenticated().and().csrf().disable();
+        http.authorizeRequests().antMatchers("/v2/api-docs","/user/register","/room/join").permitAll().anyRequest().authenticated().and().csrf().disable();
     }
 }

+ 5 - 0
mec-task/pom.xml

@@ -64,6 +64,11 @@
         	<groupId>com.ym</groupId>
         	<artifactId>mec-client-api</artifactId>
         </dependency>
+        
+        <dependency>
+        	<groupId>com.ym</groupId>
+        	<artifactId>mec-auth-api</artifactId>
+        </dependency>
 		
 	</dependencies>
 	

+ 1 - 1
mec-task/src/main/java/com/ym/mec/task/jobs/PushNoSignOutMessage.java → mec-task/src/main/java/com/ym/mec/task/jobs/PushNoSignOutMessageTask.java

@@ -6,7 +6,7 @@ import com.ym.mec.task.TaskRemoteService;
 import com.ym.mec.task.core.BaseTask;
 import com.ym.mec.task.core.TaskException;
 
-public class PushNoSignOutMessage extends BaseTask {
+public class PushNoSignOutMessageTask extends BaseTask {
 
 	@Autowired
 	private TaskRemoteService taskRemoteService;

+ 18 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/UserAutoUnlockedTask.java

@@ -0,0 +1,18 @@
+package com.ym.mec.task.jobs;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.ym.mec.auth.api.client.AuthTaskFeignService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+
+public class UserAutoUnlockedTask extends BaseTask {
+
+	@Autowired
+	private AuthTaskFeignService authTaskFeignService;
+
+	@Override
+	public void execute() throws TaskException {
+		authTaskFeignService.autoUnlock();
+	}
+}

+ 1 - 1
mec-task/src/main/java/com/ym/mec/task/jobs/VipGroupTeacherSalarySettlement.java → mec-task/src/main/java/com/ym/mec/task/jobs/VipGroupTeacherSalarySettlementTask.java

@@ -6,7 +6,7 @@ import com.ym.mec.task.TaskRemoteService;
 import com.ym.mec.task.core.BaseTask;
 import com.ym.mec.task.core.TaskException;
 
-public class VipGroupTeacherSalarySettlement extends BaseTask {
+public class VipGroupTeacherSalarySettlementTask extends BaseTask {
 
 	@Autowired
 	private TaskRemoteService taskRemoteService;

+ 5 - 3
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -96,9 +96,11 @@ public class MusicGroupController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(StringUtils.isEmpty(queryInfo.getOrganId())){
-			Employee employee = employeeDao.get(sysUser.getId());
-			queryInfo.setOrganId(employee.getOrganIdList());
+		if(!sysUser.getIsSuperAdmin()){
+			if(StringUtils.isEmpty(queryInfo.getOrganId())){
+				Employee employee = employeeDao.get(sysUser.getId());
+				queryInfo.setOrganId(employee.getOrganIdList());
+			}
 		}
 		return succeed(musicGroupService.queryMusicGroupPage(queryInfo));
 	}

+ 5 - 3
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -36,9 +36,11 @@ public class StudentManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(StringUtils.isEmpty(queryInfo.getOrganId())){
-            Employee employee = employeeDao.get(sysUser.getId());
-            queryInfo.setOrganId(employee.getOrganIdList());
+        if(!sysUser.getIsSuperAdmin()){
+            if(StringUtils.isEmpty(queryInfo.getOrganId())){
+                Employee employee = employeeDao.get(sysUser.getId());
+                queryInfo.setOrganId(employee.getOrganIdList());
+            }
         }
         return succeed(studentManageService.findStudentsByOrganId(queryInfo));
     }

+ 5 - 3
mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java

@@ -41,9 +41,11 @@ public class StudentPaymentOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(StringUtils.isEmpty(queryInfo.getOrganId())){
-            Employee employee = employeeDao.get(sysUser.getId());
-            queryInfo.setOrganId(employee.getOrganIdList());
+        if(!sysUser.getIsSuperAdmin()){
+            if(StringUtils.isEmpty(queryInfo.getOrganId())){
+                Employee employee = employeeDao.get(sysUser.getId());
+                queryInfo.setOrganId(employee.getOrganIdList());
+            }
         }
         return succeed(studentPaymentOrderService.queryPage(queryInfo));
     }

+ 5 - 3
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -49,9 +49,11 @@ public class TeacherController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(StringUtils.isEmpty(queryInfo.getOrganId())){
-            Employee employee = employeeDao.get(sysUser.getId());
-            queryInfo.setOrganId(employee.getOrganIdList());
+        if(!sysUser.getIsSuperAdmin()){
+            if(StringUtils.isEmpty(queryInfo.getOrganId())){
+                Employee employee = employeeDao.get(sysUser.getId());
+                queryInfo.setOrganId(employee.getOrganIdList());
+            }
         }
         return succeed(teacherService.queryPageDetail(queryInfo));
     }

+ 39 - 8
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -28,6 +29,8 @@ import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.StudentApplyRefunds;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
@@ -35,6 +38,7 @@ import com.ym.mec.biz.dal.page.VipGroupSalaryQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupTeachingRecordQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.StudentApplyRefundsService;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
 
@@ -59,6 +63,9 @@ public class VipGroupManageController extends BaseController {
     @Autowired
     private StudentApplyRefundsService studentApplyRefundsService;
     
+    @Autowired
+    private StudentPaymentOrderService studentPaymentOrderService;
+    
     @ApiOperation(value = "vip课申请")
     @PostMapping("/vipGroupApply")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/vipGroupApply')")
@@ -80,9 +87,11 @@ public class VipGroupManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(StringUtils.isEmpty(queryInfo.getOrganId())){
-            Employee employee = employeeDao.get(sysUser.getId());
-            queryInfo.setOrganId(employee.getOrganIdList());
+        if(!sysUser.getIsSuperAdmin()){
+            if(StringUtils.isEmpty(queryInfo.getOrganId())){
+                Employee employee = employeeDao.get(sysUser.getId());
+                queryInfo.setOrganId(employee.getOrganIdList());
+            }
         }
         return succeed(vipGroupService.findVipGroups(queryInfo));
     }
@@ -128,11 +137,33 @@ public class VipGroupManageController extends BaseController {
     @GetMapping("/queryApplyRefundDetail")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/queryApplyRefundDetail')")
 	public Object queryApplyRefundDetail(Long id) {
-    	StudentApplyRefunds studentApplyRefunds = studentApplyRefundsService.get(id);
-    	if(studentApplyRefunds == null){
-    		return failed("");
-    	}
-		return succeed();
+		StudentApplyRefunds studentApplyRefunds = studentApplyRefundsService.get(id);
+		if (studentApplyRefunds == null) {
+			return failed("参数输入有误");
+		}
+
+		Long orderId = studentApplyRefunds.getOrigPaymentOrderId();
+
+		StudentPaymentOrder paymentOrder = studentPaymentOrderService.get(orderId);
+		if (paymentOrder == null) {
+			return failed("支付订单信息找不到");
+		}
+		String vipGroupId = paymentOrder.getMusicGroupId();
+		VipGroup vipGroup = vipGroupService.get(Long.parseLong(vipGroupId));
+		if (vipGroup == null) {
+			return failed("vip课信息找不到");
+		}
+
+		SysUser student = sysUserFeignService.queryUserById(studentApplyRefunds.getUserId());
+
+		SysUser teacher = sysUserFeignService.queryUserById(vipGroup.getUserId());
+
+		ModelMap model = new ModelMap();
+		model.put("student", student.getUsername());
+		model.put("teacher", teacher.getUsername());
+		model.put("className", vipGroup.getName());
+
+		return succeed(model);
 	}
 
     @ApiOperation(value = "获取VIP课教学记录")