Explorar o código

fix单体服务布署

Eric hai 1 ano
pai
achega
2543aca955

+ 67 - 7
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/TenantAlbumController.java

@@ -6,12 +6,15 @@ import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.yonge.cooleshow.admin.io.request.TenantAlbumVo;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.entity.TenantAlbum;
 import com.yonge.cooleshow.biz.dal.entity.TenantAlbumMusic;
 import com.yonge.cooleshow.biz.dal.entity.TenantAlbumRef;
 import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
 import com.yonge.cooleshow.biz.dal.enums.SubjectTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.service.MusicTagService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
 import com.yonge.cooleshow.biz.dal.service.TenantAlbumMusicService;
 import com.yonge.cooleshow.biz.dal.service.TenantAlbumRefService;
 import com.yonge.cooleshow.biz.dal.service.TenantAlbumService;
@@ -24,6 +27,7 @@ import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -34,6 +38,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -65,6 +70,12 @@ public class TenantAlbumController {
     @Autowired
     private MusicSheetService musicSheetService;
 
+    @Autowired
+    private SubjectService subjectService;
+
+    @Autowired
+    private MusicTagService musicTagService;
+
     /**
      * 查询分页
      *
@@ -100,7 +111,7 @@ public class TenantAlbumController {
         //查关联表
         TenantAlbumRef one = tenantAlbumRefService.lambdaQuery().eq(TenantAlbumRef::getTenantAlbumId, id)
                 .last("limit 1").one();
-        vo.setTenantId(one.getTenantId());
+        vo.setTenantId(one.getTenantId().toString());
         //查询曲目表
 
         TenantInfo tenantInfo = tenantInfoService.getById(one.getTenantId());
@@ -138,8 +149,32 @@ public class TenantAlbumController {
                 tenantAlbumSheet.setMusicSheetName(musicSheet.getMusicSheetName());
                 tenantAlbumSheet.setMusicTag(musicSheet.getMusicTag());
                 tenantAlbumSheet.setComposer(musicSheet.getComposer());
+                tenantAlbumSheet.setMusicSubject(musicSheet.getMusicSubject());
                 return tenantAlbumSheet;
             }).collect(Collectors.toList());
+            tenantAlbumSheets.stream().forEach(t->{
+                String musicSubject = t.getMusicSubject();
+
+                if (StringUtils.isNotBlank(musicSubject)){
+                    //设置对应声部名称
+                    List<Subject> subject = subjectService.findBySubjectByIdList(musicSubject);
+                    t.setMusicSubjectName(subject.get(0).getName());
+                }
+
+
+                //设置对应标签名称
+                String musicTag = t.getMusicTag();
+                if (StringUtils.isNotBlank(musicTag)){
+                    String[] split = musicTag.split(",");
+                    for (String s : split) {
+                        List<Long> list = new ArrayList<>();
+                        list.add(Long.parseLong(s));
+                        String tagName = musicTagService.getMusicTagNames(list);
+                        t.setMusicTagName(tagName);
+                    }
+                }
+
+            });
 
 
             sheetData.setTenantAlbumSheetList(tenantAlbumSheets);
@@ -161,9 +196,22 @@ public class TenantAlbumController {
         TenantAlbum tenantAlbum = JSON.parseObject(album.jsonString(), TenantAlbum.class);
         List<TenantAlbumVo.MusicSheetData> musicSheetData = album.getMusicSheetData();
 
-        List<TenantAlbumWrapper.MusicSheetData> musicSheetDataList = musicSheetData.stream().map(next ->
-                        JSON.parseObject(JSON.toJSONString(next), TenantAlbumWrapper.MusicSheetData.class))
-                .collect(Collectors.toList());
+        List<TenantAlbumWrapper.MusicSheetData> musicSheetDataList = musicSheetData.stream().map(next ->{
+                    //TenantAlbumWrapper.MusicSheetData sheetData =new TenantAlbumWrapper.MusicSheetData();
+                    TenantAlbumWrapper.MusicSheetData sheetData =new TenantAlbumWrapper.MusicSheetData();
+
+                    List<TenantAlbumVo.MusicObject> musicSheetList = next.getMusicSheetList();
+                    sheetData.getTenantAlbumSheetList().addAll( musicSheetList.stream().map(m->{
+                        TenantAlbumWrapper.TenantAlbumSheet tenantAlbumSheet = new TenantAlbumWrapper.TenantAlbumSheet();
+                        tenantAlbumSheet.setLevel(m.getLevel());
+                        tenantAlbumSheet.setType(m.getType());
+                        tenantAlbumSheet.setId(m.getId().toString());
+                        return tenantAlbumSheet;
+                    }).collect(Collectors.toList()));
+                    sheetData.setSubjectType(next.getSubjectType());
+                    return sheetData;
+                }
+        ).collect(Collectors.toList());
         tenantAlbumService.insertTenantAlbum(album.getTenantId(), tenantAlbum, musicSheetDataList);
         return HttpResponseResult.succeed();
     }
@@ -175,9 +223,21 @@ public class TenantAlbumController {
         TenantAlbum tenantAlbum = JSON.parseObject(album.jsonString(), TenantAlbum.class);
         List<TenantAlbumVo.MusicSheetData> musicSheetData = album.getMusicSheetData();
 
-        List<TenantAlbumWrapper.MusicSheetData> musicSheetDataList = musicSheetData.stream().map(next ->
-                        JSON.parseObject(JSON.toJSONString(next), TenantAlbumWrapper.MusicSheetData.class))
-                .collect(Collectors.toList());
+        List<TenantAlbumWrapper.MusicSheetData> musicSheetDataList = musicSheetData.stream().map(next ->{
+            //TenantAlbumWrapper.MusicSheetData sheetData =new TenantAlbumWrapper.MusicSheetData();
+            TenantAlbumWrapper.MusicSheetData sheetData =new TenantAlbumWrapper.MusicSheetData();
+
+            List<TenantAlbumVo.MusicObject> musicSheetList = next.getMusicSheetList();
+            sheetData.getTenantAlbumSheetList().addAll( musicSheetList.stream().map(m->{
+                TenantAlbumWrapper.TenantAlbumSheet tenantAlbumSheet = new TenantAlbumWrapper.TenantAlbumSheet();
+                tenantAlbumSheet.setLevel(m.getLevel());
+                tenantAlbumSheet.setType(m.getType());
+                tenantAlbumSheet.setId(m.getId().toString());
+                return tenantAlbumSheet;
+            }).collect(Collectors.toList()));
+            sheetData.setSubjectType(next.getSubjectType());
+            return sheetData;
+        }).collect(Collectors.toList());
         tenantAlbumService.updateAlbum(album.getTenantId(), tenantAlbum, musicSheetDataList);
         return HttpResponseResult.succeed();
     }

+ 14 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/io/request/TenantAlbumVo.java

@@ -80,8 +80,17 @@ public class TenantAlbumVo {
         @NotNull
         private SubjectTypeEnum subjectType;
 
-        @ApiModelProperty("声部id列表")
-        private List<Long> musicSheetIdList = new ArrayList<>();
+        @ApiModelProperty("曲目列表")
+        private List<MusicObject> musicSheetList = new ArrayList<>();
+
+    }
+
+    @ApiModel("曲目对象")
+    @Data
+    public static class MusicObject {
+
+        @ApiModelProperty("曲目id")
+        private Long id;
 
         @ApiModelProperty("类型")
         private String type;
@@ -92,6 +101,9 @@ public class TenantAlbumVo {
 
     }
 
+
+
+
     @Data
     public static class tenantAlbumMusics {
         private Long id;

+ 5 - 10
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/StudentLiveRoomController.java

@@ -2,11 +2,9 @@ package com.yonge.cooleshow.student.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
 import com.yonge.cooleshow.biz.dal.entity.RoomInfoCache;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
-import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.vo.TeacherLivingInfoVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -40,12 +38,7 @@ public class StudentLiveRoomController extends BaseController {
      */
     @Autowired
     private LiveRoomService liveRoomService;
-    
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-    
-    @Autowired
-    private StudentService studentService;
+
 
     /**
      * 校验房间信息,及个人信息
@@ -59,8 +52,9 @@ public class StudentLiveRoomController extends BaseController {
 
     @ApiOperation("观看者-进入房间")
     @GetMapping(value = "/joinRoom")
-    public HttpResponseResult<RoomInfoCache> joinRoom(String roomUid, Long userId) {
-        return succeed(liveRoomService.joinRoom(roomUid, userId));
+    public HttpResponseResult<Object> joinRoom(String roomUid, Long userId) {
+        liveRoomService.joinRoom(roomUid, userId);
+        return succeed();
     }
 
     /**
@@ -71,6 +65,7 @@ public class StudentLiveRoomController extends BaseController {
     @PostMapping(value = "/syncUserStatus")
     public void statusImUser(@RequestBody List<ImUserStateSync> userState) {
         log.info("opsRoom >>>>> : {}", JSONObject.toJSONString(userState));
+
         liveRoomService.opsRoom(userState);
     }
 

+ 34 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java

@@ -1,13 +1,18 @@
 package com.yonge.cooleshow.teacher.controller;
 
 
+import com.alibaba.fastjson.JSON;
 import com.yonge.cooleshow.biz.dal.dto.ImGroupResultDto;
 import com.yonge.cooleshow.biz.dal.dto.ImGroupSearchDto;
 import com.yonge.cooleshow.biz.dal.entity.ImGroup;
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
+import com.yonge.cooleshow.biz.dal.enums.MK;
 import com.yonge.cooleshow.biz.dal.service.ImGroupService;
+import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.vo.im.ImUserFriendVO;
 import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupWrapper;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -19,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -27,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 即时通讯群组(ImGroup)表控制层
@@ -46,6 +53,9 @@ public class ImGroupController extends BaseController {
     @Autowired
     private SysUserService sysUserService;
 
+    @Autowired
+    private ImUserFriendService imUserFriendService;
+
     @ApiOperation("创建群聊")
     @PostMapping(value = "/create")
     public HttpResponseResult create(@Valid @RequestBody ImGroupWrapper.ImGroup imGroup, BindingResult bindingResult) throws Exception {
@@ -59,7 +69,7 @@ public class ImGroupController extends BaseController {
     @PostMapping(value = "/addGroupMember")
     public HttpResponseResult addGroupMember(@Valid @RequestBody ImGroupWrapper.ImGroup imGroup,
                                              BindingResult bindingResult) throws Exception {
-        imGroupService.addGroupMember(imGroup.getId(), imGroup.getStudentIdList());
+        imGroupService.addGroupMember(imGroup.getGroupId(), imGroup.getStudentIdList());
         return succeed();
     }
 
@@ -73,7 +83,7 @@ public class ImGroupController extends BaseController {
     @ApiOperation("退出群聊")
     @PostMapping(value = "/quit/{groupId}")
     public HttpResponseResult quit(@ApiParam(value = "群编号", required = true) @PathVariable("groupId") String groupId) throws Exception {
-        imGroupService.quit(groupId,sysUserService.getUserId(), ClientEnum.TEACHER);
+        imGroupService.quit(groupId, sysUserService.getUserId(), ClientEnum.TEACHER);
         return succeed();
     }
 
@@ -90,7 +100,7 @@ public class ImGroupController extends BaseController {
     @ApiOperation("群列表")
     @PostMapping(value = "/queryAll")
     public HttpResponseResult<List<ImGroup>> queryAll(@Valid @RequestBody ImGroupSearchDto imGroupSearchDto, BindingResult bindingResult) throws Exception {
-        ValidationKit.ignoreFields(bindingResult,"createUserId");
+        ValidationKit.ignoreFields(bindingResult, "createUserId");
         imGroupSearchDto.setUserId(sysUserService.getUserId());
         // 设置群组成员身份
         imGroupSearchDto.setRoleType(ImGroupMemberRoleType.TEACHER);
@@ -112,5 +122,26 @@ public class ImGroupController extends BaseController {
         }
         return succeed(imGroupService.queryTeacherFun(imGroupSearchDto));
     }
+
+    @ApiOperation("查询好友详情")
+    @GetMapping(value = "/queryFriendDetail")
+    public HttpResponseResult<ImUserFriendVO.ImUserFriend> queryFriendDetail(String userId) {
+
+        String ret = imGroupService.analysisImUserId(userId);
+        if (!ret.matches(MK.EXP_INT)) {
+            return failed("无效的用户ID");
+        }
+
+        ImUserFriend userFriend = imUserFriendService.getDetail(userId, ClientEnum.TEACHER);
+        if (Objects.isNull(userFriend)) {
+            return failed("当前好友不存在");
+        }
+
+        if (Objects.isNull(userFriend.getFriendType())) {
+            userFriend.setFriendType(ClientEnum.STUDENT);
+        }
+
+        return succeed(ImUserFriendVO.ImUserFriend.from(JSON.toJSONString(userFriend)));
+    }
 }
 

+ 21 - 17
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherLiveRoomController.java

@@ -1,9 +1,9 @@
 package com.yonge.cooleshow.teacher.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.yonge.cooleshow.biz.dal.dto.LiveRoomStatus;
 import com.yonge.cooleshow.biz.dal.entity.ImUserStateSync;
 import com.yonge.cooleshow.biz.dal.entity.LiveRoom;
-import com.yonge.cooleshow.biz.dal.entity.RoomInfoCache;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
 import java.util.List;
 import java.util.Map;
 
@@ -55,15 +56,15 @@ public class TeacherLiveRoomController extends BaseController {
         return succeed(liveRoomService.queryPageRoom(param));
     }
 
-    /**
-     * 根据房间uid查询房间信息
-     *
-     * @param roomUid 房间uid
-     */
-    @GetMapping("/speakerCheckRoomInfo")
-    public HttpResponseResult<RoomInfoCache> speakerCheckRoomInfo(@RequestParam("roomUid") String roomUid) {
-        return succeed(liveRoomService.speakerCheckRoomInfo(roomUid));
-    }
+//    /**
+//     * 根据房间uid查询房间信息
+//     *
+//     * @param roomUid 房间uid
+//     */
+//    @GetMapping("/speakerCheckRoomInfo")
+//    public HttpResponseResult<RoomInfoCache> speakerCheckRoomInfo(@RequestParam("roomUid") String roomUid) {
+//        return succeed(liveRoomService.speakerCheckRoomInfo(roomUid));
+//    }
 
     @ApiImplicitParams({
             @ApiImplicitParam(name = "roomTitle", dataType = "String", value = "房间标题"),
@@ -85,17 +86,11 @@ public class TeacherLiveRoomController extends BaseController {
         return succeed();
     }
 
-    @ApiOperation("主讲人-进入房间")
-    @GetMapping(value = "/speakerJoinRoom")
-    public HttpResponseResult<RoomInfoCache> speakerJoinRoom(String roomUid) {
-        return succeed(liveRoomService.speakerJoinRoom(roomUid));
-    }
-
 
     @ApiOperation("设置是否允许连麦")
     @GetMapping("/whetherMic")
     public HttpResponseResult<Object> whetherMic(@ApiParam(value = "房间uid", required = true) String roomUid,
-                                                      @ApiParam(value = "是否连麦 0:是 1否", required = true) Integer whetherMic) {
+                                                 @ApiParam(value = "是否连麦 0:是 1否", required = true) Integer whetherMic) {
         liveRoomService.whetherMic(roomUid,whetherMic);
         return succeed();
     }
@@ -118,6 +113,15 @@ public class TeacherLiveRoomController extends BaseController {
         liveRoomService.opsRoom(userState);
     }
 
+
+
+    @ApiOperation("更新直播间状态")
+    @PostMapping("/updateRoomStatus")
+    public HttpResponseResult<Boolean> updateRoomStatus(@RequestBody @Valid LiveRoomStatus status ) {
+        return succeed(liveRoomService.updateRoomStatus(status));
+    }
+
+
     @ApiOperation("方便测试观察房间数据的方法")
     @GetMapping("/test")
     public Object destroyExpiredLiveRoom(@RequestParam("roomUid") String roomUid) {

+ 1 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/ImGroupController.java

@@ -24,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;