浏览代码

Merge branch 'feature/0529-live' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 年之前
父节点
当前提交
a20062a0e9

+ 5 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -4514,7 +4514,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 //关闭课程组
                 vipGroupDao.batchUpdate(noStudentGroup);
             }
-            Date now = new Date();
             if(!CollectionUtils.isEmpty(hasStudentGroup)){
                 //排课
                 for (VipGroup vipGroup : hasStudentGroup) {
@@ -4522,7 +4521,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                     vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
                     Integer tenantId = vipGroup.getTenantId();
                     for (String s : vipGroup.getStudentIdList().split(",")) {
-                        Integer userId = Integer.parseInt(s);
                         classGroup.setDelFlag(0);
                         VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroupCategory(vipGroup.getVipGroupCategoryId(),
                                 vipGroup.getOrganId(), vipGroup.getGroupType());
@@ -4607,15 +4605,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                         imGroupService.create(classGroup.getId().toString(), null, classGroup.getName(), classGroup.getName(),
                                 vipGroup.getName(), null, null, vipGroup.getGroupType(), ImGroup.GroupTypeEnum.valueOf(vipGroup.getGroupType()));
                         imGroupMemberService.join(classGroup.getId().toString(), userRoleMap);
-                        imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
-                        //更新所属分部列表
-                        List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(classGroup.getId().longValue());
-                        organIds.add(vipGroup.getOrganId());
-                        HashSet<Integer> hashSet = new HashSet<>(organIds);
-                        String organIdsString = StringUtils.join(hashSet, ",");
-                        vipGroup.setOrganIdList(organIdsString);
-                        vipGroupDao.update(vipGroup);
                     }
+                    imUserFriendService.refreshGroupImUserFriend(classGroup.getMusicGroupId(), classGroup.getGroupType());
+                    vipGroupDao.update(vipGroup);
                 }
             }
         }
@@ -4843,7 +4835,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             return livedStudentList;
         }
         // 学生ID集合
-        List<Integer> studentIds = records.stream().map(e->e.getStudentId()).collect(Collectors.toList());
+        List<Integer> studentIds = records.stream().map(LiveGroupWrapper.LiveGroupStudentList::getStudentId).collect(Collectors.toList());
 
         // 学生信息
         Map<Integer, Student> studentMap = studentService.getMapByIds(studentIds);
@@ -4851,7 +4843,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             return livedStudentList;
         }
         // 手机号
-        List<SimpleUserDto> usersSimpleInfo = teacherDao.getUsersSimpleInfo(studentIds.stream().collect(Collectors.toList()));
+        List<SimpleUserDto> usersSimpleInfo = teacherDao.getUsersSimpleInfo(studentIds);
 
         Set<Integer> coopIds = new HashSet<>();
         Set<Integer> organIds;
@@ -4874,7 +4866,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
 
         for (LiveGroupWrapper.LiveGroupStudentList record : records) {
-            Student student = studentMap.get(record.getStudentId().longValue());
+            Student student = studentMap.get(record.getStudentId());
             if (Objects.nonNull(student)) {
                 record.setStudentName(student.getUsername());
                 record.setOrganName(organizationMap.getOrDefault(student.getOrganId(), new Organization()).getName());

+ 11 - 0
mec-im/src/main/java/com/ym/common/BaseResponse.java

@@ -36,12 +36,23 @@ public class BaseResponse<T> {
         setData(data);
     }
 
+    public BaseResponse(Integer err, String errDetail, T data) {
+        setErr(err, errDetail, errDetail);
+        setData(data);
+    }
+
     public void setErr(ErrorEnum error, String errDetail) {
         this.errCode = error.getErrCode();
         this.errMsg = error.getErrMsg();
         this.errDetail = errDetail;
     }
 
+    public void setErr(Integer error, String errMsg, String errDetail) {
+        this.errCode = error;
+        this.errMsg = errMsg;
+        this.errDetail = errDetail;
+    }
+
     class BaseResponseResult<R> {
         private @Setter @Getter R result;
 

+ 2 - 0
mec-im/src/main/java/com/ym/common/ErrorEnum.java

@@ -8,6 +8,8 @@ import lombok.Getter;
 public enum ErrorEnum {
     ERR_SUCCESS(0x0000, "OK"),
     ERR_OTHER(0x00FF, "Error"),
+    ERR_BIZ_EX(500, "业务异常"),
+
     ERR_REQUEST_PARA_ERR(1, "Missing or invalid parameter"),
     ERR_INVALID_AUTH(2, "Invalid or expired authorization"),
     ERR_ACCESS_DENIED(3, "Access denied"),

+ 8 - 0
mec-im/src/main/java/com/ym/filter/GlobalExceptionHandlerAdvice.java

@@ -7,6 +7,7 @@ package com.ym.filter;
 import com.ym.common.ApiException;
 import com.ym.common.BaseResponse;
 import com.ym.common.ErrorEnum;
+import com.ym.mec.common.exception.BizException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.ConversionNotSupportedException;
 import org.springframework.beans.TypeMismatchException;
@@ -88,6 +89,13 @@ public class GlobalExceptionHandlerAdvice {
         return getResponseData(ex);
     }
 
+    @ResponseStatus(value = HttpStatus.OK)
+    @ExceptionHandler(BizException.class)
+    public BaseResponse<Object> handleBizException(BizException ex) {
+        logException(ex);
+        return new BaseResponse<>(ex.getCode(), ex.getMessage(), "");
+    }
+
     private void logException(Exception ex) {
         log.error("caught exception:", ex);
     }

+ 10 - 2
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -54,6 +54,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
+import org.joda.time.format.DateTimeFormat;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -61,6 +62,7 @@ import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.MessageFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
@@ -303,6 +305,7 @@ public class RoomServiceImpl implements RoomService {
 
                     ImLiveBroadcastRoom updateInfo = new ImLiveBroadcastRoom();
                     updateInfo.setId(liveRoom.getId());
+                    updateInfo.setVideoRecord("");
                     updateInfo.setLiveStartTime(DateTime.now().toDate());
 
                     // 更新直播间状态
@@ -336,7 +339,7 @@ public class RoomServiceImpl implements RoomService {
             genRtcRoomMemberInfoConfig(roomId, joinRoom, sysUser, userId, teacher, courseSchedule, curTime, roomResult, courseId);
         }
 
-        log.info("join room: roomId = {}, userId = {}, userName={}, role = {}", roomId, userId);
+        log.info("join room: roomId = {}, userId = {}", roomId, userId);
         return new BaseResponse(roomResult);
     }
 
@@ -366,7 +369,12 @@ public class RoomServiceImpl implements RoomService {
             liveRoom.setServiceProvider(liveClient);
         }
 
-        String roomUid = "LIVE-" + roomId + "-" + courseSchedule.getCreateTime().getTime();
+        String liveStartTime = MessageFormat.format("{0} {1}", DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN),
+                DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT));
+
+        DateTime time = DateTime.parse(liveStartTime, DateTimeFormat.forPattern(DateUtil.DEFAULT_PATTERN + " " + DateUtil.EXPANDED_TIME_FORMAT));
+
+        String roomUid = "LIVE-" + roomId + "-" + time.toDate().getTime();
         liveRoom.setTenantId(TenantContextHolder.getTenantId());
         liveRoom.setRoomUid(roomUid);
         //liveRoom.setRoomConfig(liveRoom.getRoomConfig());