Browse Source

测试死锁

liujc 2 years ago
parent
commit
52a922b203

+ 23 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -5220,25 +5220,32 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             throw new BizException("课程不存在");
         }
 
+        // 购买用户可以直接进入
+        CourseScheduleStudentPayment payment = courseScheduleStudentPaymentDao.getByUserIdAndCourseId(studentId, courseScheduleId.longValue());
+        if (!Objects.isNull(payment) && JoinCourseType.PURCHASE.equals(payment.getJoinCourseType())) {
 
-        // 分享类型  是否能进入
-        if (ShareModeEnum.NO_SHARE.equals(courseSchedule.getShareMode())) {
-            throw new BizException("课程不允许分享");
-        }
-        if (ShareModeEnum.PRIVATE.equals(courseSchedule.getShareMode())) {
-            // 查询
-            CourseShare courseShare = courseShareService.getByUserIdAndCourseId(studentId, courseScheduleId);
-            if (Objects.isNull(courseShare)) {
-                throw new BizException("非分享用户,不可进入");
+        } else {
+
+
+            // 分享类型  是否能进入
+            if (ShareModeEnum.NO_SHARE.equals(courseSchedule.getShareMode())) {
+                throw new BizException("课程不允许分享");
+            }
+            if (ShareModeEnum.PRIVATE.equals(courseSchedule.getShareMode())) {
+                // 查询
+                CourseShare courseShare = courseShareService.getByUserIdAndCourseId(studentId, courseScheduleId);
+                if (Objects.isNull(courseShare)) {
+                    throw new BizException("非分享用户,不可进入");
+                }
             }
-        }
 
-        SysUser sysUser = sysUserService.queryUserById(studentId);
-        if (Objects.isNull(sysUser)) {
-            throw new BizException("用户不存在");
-        }
-        if(!courseSchedule.getTenantId().equals(sysUser.getTenantId())) {
-            throw new BizException("用户不属于此机构");
+            SysUser sysUser = sysUserService.queryUserById(studentId);
+            if (Objects.isNull(sysUser)) {
+                throw new BizException("用户不存在");
+            }
+            if (!courseSchedule.getTenantId().equals(sysUser.getTenantId())) {
+                throw new BizException("用户不属于此机构");
+            }
         }
 
         Integer studentRemindTime = Integer.parseInt(sysConfigService.findByParamName(SysConfigService.LIVE_CLASS_START_REMIND_TIME).getParanValue());

+ 3 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/service/impl/BaseServiceImpl.java

@@ -159,6 +159,9 @@ public abstract class BaseServiceImpl<PK extends Serializable, T> implements Bas
 				}
 				result.put(key, value);
 			}
+            if (true) {
+                throw new RuntimeException("test");
+            }
 			if(resultSet!=null){
 				resultSet.close();
 			}