Browse Source

小组课

zouxuan 1 month ago
parent
commit
5d9889be40

+ 5 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -1967,7 +1967,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         List<CourseSchedule> liveStart = baseMapper.selectList(Wrappers.<CourseSchedule>lambdaQuery()
                 .eq(CourseSchedule::getLock, 0)
                 .eq(CourseSchedule::getStatus, CourseScheduleEnum.NOT_START)
-                .eq(CourseSchedule::getType, CourseScheduleEnum.LIVE)
+                .in(CourseSchedule::getType, CourseScheduleEnum.LIVE, CourseScheduleEnum.GROUP)
                 .le(CourseSchedule::getStartTime, liveMinute)
                 .ge(CourseSchedule::getEndTime, LocalDateTime.now()));
         List<CourseSchedule> practiceStart = baseMapper.selectList(Wrappers.<CourseSchedule>lambdaQuery()
@@ -2068,7 +2068,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             }
 
             List<CourseScheduleStudentVo> courseList = userList.stream()
-                    .filter(s -> Lists.newArrayList(CourseScheduleEnum.PRACTICE.getCode(),CourseScheduleEnum.VIP.getCode(),CourseScheduleEnum.PIANO_ROOM_CLASS.getCode()).contains(s.getType()))
+                    .filter(s -> Lists.newArrayList(CourseScheduleEnum.PRACTICE.getCode(),
+                            CourseScheduleEnum.VIP.getCode(),
+                            CourseScheduleEnum.PIANO_ROOM_CLASS.getCode()).contains(s.getType()))
                     .collect(Collectors.toList());
 
             //清除缓存
@@ -2091,9 +2093,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         if (CollectionUtils.isNotEmpty(completeList)) {
             List<Long> ids = completeList.stream().filter(s -> {
                 return s.getCourseCount().equals(s.getCourseNum());
-            }).map(s -> {
-                return s.getId();
-            }).collect(Collectors.toList());
+            }).map(CourseGroup::getId).collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(ids)) {
                 //同步课程组状态
                 courseGroupService.getDao().updateBatch(ids);

+ 3 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java

@@ -408,9 +408,10 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
         //imUserFriendService.refreshCustomer(teacherId, ClientEnum.TEACHER, new ArrayList<>(studentIds), ClientEnum.STUDENT);
 
 
-        // 直播课、琴房课校验群成员人数限制
+        // 直播课、琴房课、小组课校验群成员人数限制
         if (CourseScheduleEnum.PIANO_ROOM_CLASS.getCode().equals(courseGroupType)
-            || CourseScheduleEnum.LIVE.getCode().equals(courseGroupType)) {
+            || CourseScheduleEnum.LIVE.getCode().equals(courseGroupType)
+            || CourseScheduleEnum.GROUP.getCode().equals(courseGroupType)) {
 
             // 增加群成员人数限制,若超过限制则不添加到群组
             SysConfig config = sysConfigService.findByParamName(SysConfigConstant.GROUP_MEMBER_LIMIT);

+ 34 - 63
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysUserServiceImpl.java

@@ -14,33 +14,22 @@ import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetAuthRecordDao;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
-import com.yonge.cooleshow.biz.dal.entity.CourseGroup;
-import com.yonge.cooleshow.biz.dal.entity.ImGroup;
-import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
-import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
-import com.yonge.cooleshow.biz.dal.entity.Student;
-import com.yonge.cooleshow.biz.dal.entity.Teacher;
-import com.yonge.cooleshow.biz.dal.entity.UserOrder;
-import com.yonge.cooleshow.biz.dal.entity.UserOrderRefund;
-import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
+import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.enums.im.EImGroupMemberRoleType;
 import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
 import com.yonge.cooleshow.biz.dal.service.*;
-import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
 import com.yonge.cooleshow.biz.dal.vo.UserAccountVo;
 import com.yonge.cooleshow.biz.dal.wrapper.UserInfoWrapper;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.ContractTemplateTypeEnum;
 import com.yonge.cooleshow.common.enums.SysUserType;
 import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.thirdparty.user.realname.RealnameAuthenticationPlugin;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import com.yonge.toolset.utils.idcard.IdcardValidator;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -66,44 +55,27 @@ public class SysUserServiceImpl implements SysUserService {
     @Resource
     private TeacherService teacherService;
     @Resource
-    private MessageSenderPluginContext messageSenderPluginContext;
-
-    @Autowired
     private UserOrderService userOrderService;
-
-    @Autowired
+    @Resource
     private UserOrderRefundService userOrderRefundService;
-
-    @Autowired
+    @Resource
     private ImGroupMemberService imGroupMemberService;
-
-    @Autowired
+    @Resource
     private ImGroupService imGroupService;
-
-    @Autowired
-    private ImGroupCoreService imGroupCoreService;
-
-    @Autowired
+    @Resource
     private CourseGroupService courseGroupService;
-
-    @Autowired
+    @Resource
     private VideoLessonGroupService videoLessonGroupService;
-
-    @Autowired
+    @Resource
     private UserAccountService userAccountService;
-
-    @Autowired
+    @Resource
     private MallPortalFeignService mallPortalFeignService;
-
-    @Autowired
+    @Resource
     private ImUserFriendService imUserFriendService;
-
-    @Autowired
+    @Resource
     private MusicSheetDao musicSheetDao;
-
-    @Autowired
+    @Resource
     private MusicSheetAuthRecordDao musicSheetAuthRecordDao;
-
     @Resource
     private MessageFeignClientService messageFeignClientService;
     @Override
@@ -278,29 +250,19 @@ public class SysUserServiceImpl implements SysUserService {
             // 趣纠课
             List<CourseGroup> list = courseGroupService.lambdaQuery()
                 .eq(CourseGroup::getTeacherId, userId)
-                .in(CourseGroup::getType, Arrays.asList("PRACTICE", "LIVE", "PIANO_ROOM_CLASS"))
+                .in(CourseGroup::getType, Arrays.asList("PRACTICE", "LIVE", "PIANO_ROOM_CLASS", "GROUP","VIP"))
                 .in(CourseGroup::getStatus, Arrays.asList("ING", "APPLY", "NOT_SALE"))
                 .list();
-            String courseMsg ="";
+            StringBuffer courseMsg = new StringBuffer();
             if (!CollectionUtils.isEmpty(list)) {
-                List<String> courseTypes = list.stream().map(o -> o.getType()).distinct().collect(Collectors.toList());
-                if (courseTypes.contains(CourseScheduleEnum.LIVE.name())) {
-                    courseMsg += "直播课";
-                }
-                if (courseTypes.contains(CourseScheduleEnum.PRACTICE.name())){
-                    if (courseMsg.length() > 0) {
-                        courseMsg+="/";
-                    }
-                    courseMsg += "趣纠课";
-                }
-                if (courseTypes.contains(CourseScheduleEnum.PIANO_ROOM_CLASS.name())){
-                    if (courseMsg.length() > 0) {
-                        courseMsg+="/";
-                    }
-                    courseMsg += "琴房课";
-                }
+                List<String> courseTypes = list.stream().map(CourseGroup::getType).distinct().collect(Collectors.toList());
+                this.appendErrMsg(courseMsg,courseTypes,CourseScheduleEnum.LIVE);
+                this.appendErrMsg(courseMsg,courseTypes,CourseScheduleEnum.PRACTICE);
+                this.appendErrMsg(courseMsg,courseTypes,CourseScheduleEnum.PIANO_ROOM_CLASS);
+                this.appendErrMsg(courseMsg,courseTypes,CourseScheduleEnum.VIP);
+                this.appendErrMsg(courseMsg,courseTypes,CourseScheduleEnum.GROUP);
                 if (courseMsg.length() > 0) {
-                    courseMsg="账号存在未开始/进行中的" + courseMsg;
+                    courseMsg.insert(0,"账号存在未开始/进行中的");
                 }
             }
             // 视频课
@@ -311,9 +273,9 @@ public class SysUserServiceImpl implements SysUserService {
 
             if (videoCourse > 0) {
                 if (courseMsg.length() > 0) {
-                    courseMsg+="和未下架的视频课";
+                    courseMsg.append("和未下架的视频课");
                 } else {
-                    courseMsg="账号存在未下架的视频课";
+                    courseMsg.append("账号存在未下架的视频课");
                 }
             } else {
                 // 判断审核中的视频课
@@ -324,15 +286,15 @@ public class SysUserServiceImpl implements SysUserService {
                     .count();
                 if (videoCourse > 0) {
                     if (courseMsg.length() > 0) {
-                        courseMsg+="和未下架的视频课";
+                        courseMsg.append("和未下架的视频课");
                     } else {
-                        courseMsg="账号存在未下架的视频课";
+                        courseMsg.append("账号存在未下架的视频课");
                     }
                 }
 
             }
             if (courseMsg.length() > 0) {
-                errMsg.add(courseMsg);
+                errMsg.add(courseMsg.toString());
             }
 
             // 存在未提现的金额
@@ -379,6 +341,15 @@ public class SysUserServiceImpl implements SysUserService {
         return logOffs;
     }
 
+    private void appendErrMsg(StringBuffer courseMsg,List<String> courseTypes,CourseScheduleEnum courseScheduleEnum) {
+        if (courseTypes.contains(courseScheduleEnum.name())) {
+            if (courseMsg.length() > 0) {
+                courseMsg.append("/");
+            }
+            courseMsg.append(courseScheduleEnum.getMsg());
+        }
+    }
+
     private Map<String, String> hasUnfinishedOrder(Long userId) {
         // 商城订单 0->待付款;1->待发货;2->已发货
         HttpResponseResult<Map<String, Set<CheckStatus>>> httpResponseResult = mallPortalFeignService.checkOrderStatus(userId);