Browse Source

Merge branch 'master' of git.dayaedu.com:yonge/cooleshow

liweifan 3 years ago
parent
commit
a3c1892dbc
22 changed files with 84 additions and 649 deletions
  1. 0 3
      cooleshow-auth/auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  2. 0 7
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImBaseMessage.java
  3. 0 45
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImGroupMember.java
  4. 0 57
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImGroupMessage.java
  5. 0 163
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImGroupModel.java
  6. 0 81
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImMessageModel.java
  7. 0 38
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImNoticeMessage.java
  8. 0 38
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImPlayMidiMessage.java
  9. 0 113
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImPrivateMessage.java
  10. 0 57
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImSystemMessage.java
  11. 0 38
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImTxtMessage.java
  12. 1 4
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/SmsHomeRecommendSubjectController.java
  13. 4 0
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderReturnApplyServiceImpl.java
  14. 22 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/RoomInfoCache.java
  15. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomServiceImpl.java
  16. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java
  17. 4 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomVideoServiceImpl.java
  18. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  19. 12 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/StoragePlugin.java
  20. 18 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/StoragePluginContext.java
  21. 5 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/provider/AliyunOssStoragePlugin.java
  22. 14 0
      toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/provider/KS3StoragePlugin.java

+ 0 - 3
cooleshow-auth/auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -147,9 +147,6 @@
             <if test="realName != null and realName != ''">
                 real_name_ = #{realName},
             </if>
-            <if test="isSuperAdmin != null">
-                is_super_admin_ = #{isSuperAdmin},
-            </if>
             <if test="certificateType != null">
                 certificate_type_ = #{certificateType},
             </if>

+ 0 - 7
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImBaseMessage.java

@@ -1,7 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-public abstract class ImBaseMessage {
-    public abstract String getType();
-
-    public abstract String toString();
-}

+ 0 - 45
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImGroupMember.java

@@ -1,45 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-public class ImGroupMember {
-    public String id;
-    public String groupId;
-    public Integer munite;
-
-    public ImGroupMember() {
-    }
-
-    public ImGroupMember(String id) {
-        this.id = id;
-    }
-
-    public ImGroupMember(String id, String groupId, Integer munite) {
-        this.id = id;
-        this.groupId = groupId;
-        this.munite = munite;
-    }
-
-    public ImGroupMember setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public String getId() {
-        return this.id;
-    }
-
-    public String getGroupId() {
-        return this.groupId;
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    public Integer getMunite() {
-        return this.munite;
-    }
-
-    public void setMunite(Integer munite) {
-        this.munite = munite;
-    }
-}

+ 0 - 57
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImGroupMessage.java

@@ -1,57 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-public class ImGroupMessage extends ImMessageModel {
-    public Integer isIncludeSender;
-    public Integer isPersisted;
-    public Integer contentAvailable;
-    public String[] toUserId;
-    private String type;
-
-    public ImGroupMessage setContent(ImTxtMessage content) {
-        super.setContent(content);
-        return this;
-    }
-
-    public ImGroupMessage() {
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public Integer getIsIncludeSender() {
-        return isIncludeSender;
-    }
-
-    public void setIsIncludeSender(Integer isIncludeSender) {
-        this.isIncludeSender = isIncludeSender;
-    }
-
-    public Integer getIsPersisted() {
-        return isPersisted;
-    }
-
-    public void setIsPersisted(Integer isPersisted) {
-        this.isPersisted = isPersisted;
-    }
-
-    public Integer getContentAvailable() {
-        return contentAvailable;
-    }
-
-    public void setContentAvailable(Integer contentAvailable) {
-        this.contentAvailable = contentAvailable;
-    }
-
-    public String[] getToUserId() {
-        return toUserId;
-    }
-
-    public void setToUserId(String[] toUserId) {
-        this.toUserId = toUserId;
-    }
-}

+ 0 - 163
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImGroupModel.java

@@ -1,163 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
-
-public class ImGroupModel{
-    //群组编号
-    private String id;
-    //用户列表
-    private ImGroupMember[] members;
-    //用户列表
-    private List<ImGroupMember> memberList;
-    //群名称
-    private String name;
-    private String teacherIds;
-    private String img;
-    private String groupName;
-    private Integer minute;
-    private Integer count;
-    private Integer status;
-    private String userRole;
-
-    public ImGroupModel() {
-    }
-
-    public ImGroupModel(String id) {
-        this.id = id;
-    }
-
-    public ImGroupModel(String id, String name) {
-        this.id = id;
-        this.name = name;
-    }
-
-    public ImGroupModel(String id, ImGroupMember[] members, String name) {
-        this.id = id;
-        this.members = members;
-        this.name = name;
-    }
-
-    public String getUserRole() {
-        return userRole;
-    }
-
-    public void setUserRole(String userRole) {
-        this.userRole = userRole;
-    }
-
-    public List<ImGroupMember> getMemberList() {
-        return memberList;
-    }
-
-    public void setMemberList(List<ImGroupMember> memberList) {
-        this.memberList = memberList;
-    }
-
-    public String getGroupName() {
-        return groupName;
-    }
-
-    public void setGroupName(String groupName) {
-        this.groupName = groupName;
-    }
-
-    public String getTeacherIds() {
-        return teacherIds;
-    }
-
-    public void setTeacherIds(String teacherIds) {
-        this.teacherIds = teacherIds;
-    }
-
-    public Integer getCount() {
-        return count;
-    }
-
-    public void setCount(Integer count) {
-        this.count = count;
-    }
-
-    public ImGroupModel(String id, ImGroupMember[] members, String name, Integer minute) {
-        this.id = id;
-        this.members = members;
-        this.name = name;
-        this.minute = minute;
-    }
-
-    public ImGroupModel(String id, Integer status) {
-        this.id = id;
-        this.status = status;
-    }
-
-    public String getImg() {
-        return img;
-    }
-
-    public void setImg(String img) {
-        this.img = img;
-    }
-
-    public String getId() {
-        return this.id;
-    }
-
-    public ImGroupModel setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public ImGroupMember[] getMembers() {
-        return this.members;
-    }
-
-    public ImGroupModel setMembers(ImGroupMember[] members) {
-        if(members != null && members.length > 0){
-            this.members = members;
-        }
-        return this;
-    }
-
-    public String getName() {
-        return this.name;
-    }
-
-    public ImGroupModel setName(String name) {
-        this.name = name;
-        return this;
-    }
-
-    public Integer getMinute() {
-        return this.minute;
-    }
-
-    public ImGroupModel setMinute(Integer minute) {
-        this.minute = minute;
-        return this;
-    }
-
-    public Integer getStatus() {
-        return this.status;
-    }
-
-    public ImGroupModel setStatus(Integer status) {
-        this.status = status;
-        return this;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        ImGroupModel that = (ImGroupModel) o;
-        return id.equals(that.id) && Arrays.equals(members, that.members) && memberList.equals(that.memberList);
-    }
-
-    @Override
-    public int hashCode() {
-        int result = Objects.hash(id, memberList);
-        result = 31 * result + Arrays.hashCode(members);
-        return result;
-    }
-}

+ 0 - 81
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImMessageModel.java

@@ -1,81 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-public class ImMessageModel {
-    //	发送人 Id  必填
-    private String senderId;
-    //接收人 Id  必填
-    private String[] targetId;
-    //消息类型, 分为两类: 内置消息类型 、自定义消息类型  RC:TxtMsg,RC:ImgMsg,RC:VcMsg,RC:ImgTextMsg,RC:FileMsg,RC:LBSMsg  必填
-    private String objectName;
-    //消息内容  必填
-    private ImBaseMessage content;
-    //push 内容, 分为两类 内置消息 Push 、自定义消息 Push  RC:TxtMsg,RC:ImgMsg,RC:VcMsg,RC:ImgTextMsg,RC:FileMsg,RC:LBSMsg
-    private String pushContent;
-    private String pushData;
-
-    public ImMessageModel() {
-    }
-
-    public ImMessageModel(String senderId, String[] targetId, String objectName, ImBaseMessage content, String pushContent, String pushData) {
-        this.senderId = senderId;
-        this.targetId = targetId;
-        this.objectName = objectName;
-        this.content = content;
-        this.pushContent = pushContent;
-        this.pushData = pushData;
-    }
-
-    public String[] getTargetId() {
-        return this.targetId;
-    }
-
-    public ImMessageModel setTargetId(String[] targetId) {
-        this.targetId = targetId;
-        return this;
-    }
-
-    public String getObjectName() {
-        return this.objectName;
-    }
-
-    public ImMessageModel setObjectName(String objectName) {
-        this.objectName = objectName;
-        return this;
-    }
-
-    public ImBaseMessage getContent() {
-        return this.content;
-    }
-
-    public ImMessageModel setContent(ImBaseMessage content) {
-        this.content = content;
-        return this;
-    }
-
-    public String getPushContent() {
-        return this.pushContent;
-    }
-
-    public ImMessageModel setPushContent(String pushContent) {
-        this.pushContent = pushContent;
-        return this;
-    }
-
-    public String getPushData() {
-        return this.pushData;
-    }
-
-    public ImMessageModel setPushData(String pushData) {
-        this.pushData = pushData;
-        return this;
-    }
-
-    public String getSenderId() {
-        return this.senderId;
-    }
-
-    public ImMessageModel setSenderId(String senderId) {
-        this.senderId = senderId;
-        return this;
-    }
-}

+ 0 - 38
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImNoticeMessage.java

@@ -1,38 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-import com.alibaba.fastjson.JSONObject;
-
-public class ImNoticeMessage extends ImBaseMessage {
-    private String content = "";
-    private String extra = "";
-    private static final transient String TYPE = "DY:NoticeMsg";
-
-    public ImNoticeMessage(String content, String extra) {
-        this.content = content;
-        this.extra = extra;
-    }
-
-    public String getType() {
-        return TYPE;
-    }
-
-    public String getContent() {
-        return this.content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public String getExtra() {
-        return this.extra;
-    }
-
-    public void setExtra(String extra) {
-        this.extra = extra;
-    }
-
-    public String toString() {
-        return JSONObject.toJSONString(this);
-    }
-}

+ 0 - 38
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImPlayMidiMessage.java

@@ -1,38 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-import com.alibaba.fastjson.JSONObject;
-
-public class ImPlayMidiMessage extends ImBaseMessage {
-    private String content = "";
-    private String extra = "";
-    private static final transient String TYPE = "DY:PlayMidiMessage";
-
-    public ImPlayMidiMessage(String content, String extra) {
-        this.content = content;
-        this.extra = extra;
-    }
-
-    public String getType() {
-        return TYPE;
-    }
-
-    public String getContent() {
-        return this.content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public String getExtra() {
-        return this.extra;
-    }
-
-    public void setExtra(String extra) {
-        this.extra = extra;
-    }
-
-    public String toString() {
-        return JSONObject.toJSONString(this);
-    }
-}

+ 0 - 113
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImPrivateMessage.java

@@ -1,113 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-public class ImPrivateMessage extends ImMessageModel {
-    public String count;
-    public String type;
-    //是否在融云服务器存储, 0: 不存储, 1: 存储, 默认: 1
-    public Integer isPersisted;
-    public Integer isCounted;
-    //是否过滤接收用户黑名单列表, 0: 不过滤 、1: 过滤,默认: 0
-    public Integer verifyBlacklist;
-    //发送者自己是否接收此条消息, 0: 不接收, 1: 接收, 默认: 0
-    public Integer isIncludeSender;
-    public Integer contentAvailable;
-
-    public ImPrivateMessage() {
-    }
-
-    public ImPrivateMessage setSenderId(String senderId) {
-        super.setSenderId(senderId);
-        return this;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String[] getTargetId() {
-        return super.getTargetId();
-    }
-
-    public ImPrivateMessage setTargetId(String[] targetId) {
-        super.setTargetId(targetId);
-        return this;
-    }
-
-    public ImPrivateMessage setContent(ImTxtMessage content) {
-        super.setContent(content);
-        return this;
-    }
-
-    public ImPrivateMessage setPushContent(String pushContent) {
-        super.setPushContent(pushContent);
-        return this;
-    }
-
-    public ImPrivateMessage setPushData(String pushData) {
-        super.setPushData(pushData);
-        return this;
-    }
-
-    public String getCount() {
-        return this.count;
-    }
-
-    public ImPrivateMessage setCount(String count) {
-        this.count = count;
-        return this;
-    }
-
-    public Integer getVerifyBlacklist() {
-        return this.verifyBlacklist;
-    }
-
-    public ImPrivateMessage setVerifyBlacklist(Integer verifyBlacklist) {
-        this.verifyBlacklist = verifyBlacklist;
-        return this;
-    }
-
-    public Integer getIsPersisted() {
-        return this.isPersisted;
-    }
-
-    public ImPrivateMessage setIsPersisted(Integer isPersisted) {
-        this.isPersisted = isPersisted;
-        return this;
-    }
-
-    public Integer getIsCounted() {
-        return this.isCounted;
-    }
-
-    public ImPrivateMessage setIsCounted(Integer isCounted) {
-        this.isCounted = isCounted;
-        return this;
-    }
-
-    public Integer getIsIncludeSender() {
-        return this.isIncludeSender;
-    }
-
-    public ImPrivateMessage setIsIncludeSender(Integer isIncludeSender) {
-        this.isIncludeSender = isIncludeSender;
-        return this;
-    }
-
-    public ImPrivateMessage setObjectName(String objectName) {
-        super.setObjectName(objectName);
-        return this;
-    }
-
-    public Integer getContentAvailable() {
-        return this.contentAvailable;
-    }
-
-    public ImPrivateMessage setContentAvailable(Integer contentAvailable) {
-        this.contentAvailable = contentAvailable;
-        return this;
-    }
-}

+ 0 - 57
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImSystemMessage.java

@@ -1,57 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-public class ImSystemMessage extends ImMessageModel {
-    public Integer isIncludeSender;
-    public Integer isPersisted;
-    public Integer contentAvailable;
-    public String[] toUserId;
-    private String type;
-
-    public ImSystemMessage setContent(ImTxtMessage content) {
-        super.setContent(content);
-        return this;
-    }
-
-    public ImSystemMessage() {
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public Integer getIsIncludeSender() {
-        return isIncludeSender;
-    }
-
-    public void setIsIncludeSender(Integer isIncludeSender) {
-        this.isIncludeSender = isIncludeSender;
-    }
-
-    public Integer getIsPersisted() {
-        return isPersisted;
-    }
-
-    public void setIsPersisted(Integer isPersisted) {
-        this.isPersisted = isPersisted;
-    }
-
-    public Integer getContentAvailable() {
-        return contentAvailable;
-    }
-
-    public void setContentAvailable(Integer contentAvailable) {
-        this.contentAvailable = contentAvailable;
-    }
-
-    public String[] getToUserId() {
-        return toUserId;
-    }
-
-    public void setToUserId(String[] toUserId) {
-        this.toUserId = toUserId;
-    }
-}

+ 0 - 38
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/ImTxtMessage.java

@@ -1,38 +0,0 @@
-package com.yonge.cooleshow.common.entity;
-
-import com.alibaba.fastjson.JSONObject;
-
-public class ImTxtMessage extends ImBaseMessage {
-    private String content = "";
-    private String extra = "";
-    private static final transient String TYPE = "RC:TxtMsg";
-
-    public ImTxtMessage(String content, String extra) {
-        this.content = content;
-        this.extra = extra;
-    }
-
-    public String getType() {
-        return TYPE;
-    }
-
-    public String getContent() {
-        return this.content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public String getExtra() {
-        return this.extra;
-    }
-
-    public void setExtra(String extra) {
-        this.extra = extra;
-    }
-
-    public String toString() {
-        return JSONObject.toJSONString(this);
-    }
-}

+ 1 - 4
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/SmsHomeRecommendSubjectController.java

@@ -61,10 +61,7 @@ public class SmsHomeRecommendSubjectController {
     @ResponseBody
     public CommonResult updateRecommendStatus(@RequestParam("ids") List<Long> ids, @RequestParam Integer recommendStatus) {
         int count = recommendSubjectService.updateRecommendStatus(ids, recommendStatus);
-        if (count > 0) {
-            return CommonResult.success(count);
-        }
-        return CommonResult.failed();
+        return CommonResult.success(count);
     }
 
     @ApiOperation("分页查询推荐")

+ 4 - 0
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderReturnApplyServiceImpl.java

@@ -73,6 +73,10 @@ public class OmsOrderReturnApplyServiceImpl implements OmsOrderReturnApplyServic
     public int delete(List<Long> ids) {
         OmsOrderReturnApplyExample example = new OmsOrderReturnApplyExample();
         example.createCriteria().andIdIn(ids).andStatusEqualTo(3);
+        List<OmsOrderReturnApply> omsOrderReturnApplies = returnApplyMapper.selectByExample(example);
+        if (omsOrderReturnApplies.size() != ids.size()) {
+            throw new BizException("只能删除已拒绝的退货订单");
+        }
         return returnApplyMapper.deleteByExample(example);
     }
 

+ 22 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/RoomInfoCache.java

@@ -33,6 +33,12 @@ public class RoomInfoCache implements Serializable {
     @ApiModelProperty(value = "房间uid")
     private String roomUid;
 
+    @ApiModelProperty(value = "房间标题/最多12个字")
+    private String roomTitle;
+
+    @ApiModelProperty(value = "直播内容/最多200个字")
+    private String liveRemark;
+
     @ApiModelProperty(value = "直播开始时间")
     private Date liveStartTime;
 
@@ -190,4 +196,20 @@ public class RoomInfoCache implements Serializable {
     public void setSpeakerPic(String speakerPic) {
         this.speakerPic = speakerPic;
     }
+
+    public String getRoomTitle() {
+        return roomTitle;
+    }
+
+    public void setRoomTitle(String roomTitle) {
+        this.roomTitle = roomTitle;
+    }
+
+    public String getLiveRemark() {
+        return liveRemark;
+    }
+
+    public void setLiveRemark(String liveRemark) {
+        this.liveRemark = liveRemark;
+    }
 }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomServiceImpl.java

@@ -245,7 +245,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         Long roomId = customMessage.getRoomId();
         log.info("sendImPlayMidiMessage: roomId={}, userId={}", roomId, userId);
         ImNetworkMetronomeMessage displayMessage = new ImNetworkMetronomeMessage(customMessage);
-        imHelper.publishMessage(userId.toString(), roomId.toString(), displayMessage, 0);
+        imHelper.publishMessage(userId.toString(), roomId.toString(), displayMessage, 1);
         //记录节拍器信息
         courseScheduleStudentPaymentService.getDao().adjustPlayMidi(roomId,customMessage.getUserId(),customMessage.toString());
     }

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

@@ -337,6 +337,8 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
         roomCache.setSpeakerPic(sysUser.getAvatar());
         roomCache.setSpeakerState(1);
         roomCache.setRoomUid(room.getRoomUid());
+        roomCache.setRoomTitle(room.getRoomTitle());
+        roomCache.setLiveRemark(room.getLiveRemark());
         roomCache.setLiveStartTime(room.getLiveStartTime());
         roomCache.setLiveEndTime(room.getLiveEndTime());
         roomCache.setCreateRoomTime(new Date());
@@ -621,8 +623,6 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
 
     /**
      * 主讲人
-     *
-     * @return true 是主讲人 false 不是主讲人
      */
     private void opsSpeaker(RBucket<RoomInfoCache> roomInfoCache, ImUserStateSync user, Date now, String userIdStr) {
         RoomInfoCache roomInfo = roomInfoCache.get();

+ 4 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomVideoServiceImpl.java

@@ -9,6 +9,7 @@ import com.yonge.cooleshow.biz.dal.entity.LiveRoomVideo;
 import com.yonge.cooleshow.biz.dal.entity.RecordNotify;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomService;
 import com.yonge.cooleshow.biz.dal.service.LiveRoomVideoService;
+import com.yonge.toolset.thirdparty.storage.StoragePluginContext;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -32,6 +33,8 @@ public class LiveRoomVideoServiceImpl extends ServiceImpl<LiveRoomVideoDao, Live
 
     @Autowired
     private LiveRoomService liveRoomService;
+    @Autowired
+    private StoragePluginContext storagePluginContext;
 
     @Override
     public LiveRoomVideoDao getDao() {
@@ -59,7 +62,7 @@ public class LiveRoomVideoServiceImpl extends ServiceImpl<LiveRoomVideoDao, Live
         if (recordNotify.getCode().equals(200)) {
             if (Objects.nonNull(recordNotify.getType())) {
                 //云端录制文件地址
-                String fileUrl = recordNotify.getOutput().getFileUrl();
+                String fileUrl = storagePluginContext.getPublicUrl(recordNotify.getOutput().getFileUrl(),"live-rewind");
                 //房间uid
                 String roomUId = recordNotify.getRoomId();
                 //融云唯一id标识

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -104,8 +104,8 @@
         else 'REVIEWED' end ) as homeworkStatus
         from course_schedule cs
         left join course_homework ch on ch.course_schedule_id_ = cs.id_
-        left join student_course_homework sch on ch.id_ = sch.course_homework_id_
         left join course_schedule_student_payment cssp on cssp.course_id_ = cs.id_
+        left join student_course_homework sch  on sch.course_schedule_id_ = cssp.course_id_ and sch.student_id_ = cssp.user_id_
         left join (select cssp.course_id_,
                 count(cssp.id_) as studentNum,
                 sum(if(sch.attachments_ is null or sch.attachments_ = '',0,1)) as commitNum,

+ 12 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/StoragePlugin.java

@@ -46,4 +46,16 @@ public interface StoragePlugin {
      * @return
      */
     PostObjectFormFields getUploadSign(UploadSign uploadSign);
+
+    /**
+     * @describe 设置文件访问为私有或公开
+     * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
+     * @author zx
+     * @date 2022/7/13
+     * @time 11:35
+     * @param fileName:
+     * @param isPublic:
+     * @return void
+     */
+    void setFileAcl(String fileName,Boolean isPublic,String bucketName);
 }

+ 18 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/StoragePluginContext.java

@@ -7,6 +7,7 @@ import java.util.Map;
 
 import com.ksyun.ks3.dto.PostObjectFormFields;
 import com.yonge.toolset.thirdparty.entity.UploadSign;
+import com.yonge.toolset.thirdparty.storage.provider.KS3StoragePlugin;
 import org.springframework.stereotype.Component;
 
 import com.yonge.toolset.base.exception.ThirdpartyException;
@@ -38,6 +39,23 @@ public class StoragePluginContext {
         return StoragePlugin.getUploadSign(uploadSign);
     }
 
+    public void setFileAcl(String storagePluginName,String fileName,Boolean isPublic,String bucketName){
+        StoragePlugin storagePlugin = getStoragePlugin(storagePluginName);
+        storagePlugin.setFileAcl(fileName,isPublic,bucketName);
+    }
+
+    public String getPublicUrl(String fileName,String bucketName){
+        try {
+            String substring = fileName.substring(0, fileName.lastIndexOf("?"));
+            String substring1 = substring.substring(substring.lastIndexOf("/") + 1);
+            this.setFileAcl(KS3StoragePlugin.PLUGIN_NAME,substring1,true,bucketName);
+            return substring;
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+        return fileName;
+    }
+
     private StoragePlugin getStoragePlugin(String storagePluginName) {
         StoragePlugin storagePlugin = mapper.get(storagePluginName);
 

+ 5 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/provider/AliyunOssStoragePlugin.java

@@ -169,6 +169,11 @@ public class AliyunOssStoragePlugin implements StoragePlugin, InitializingBean,
     }
 
     @Override
+    public void setFileAcl(String fileName, Boolean isPublic,String bucketName) {
+        return;
+    }
+
+    @Override
     public void destroy() throws Exception {
         if (ossClient != null) {
             ossClient.shutdown();

+ 14 - 0
toolset/thirdparty-component/src/main/java/com/yonge/toolset/thirdparty/storage/provider/KS3StoragePlugin.java

@@ -7,6 +7,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.ksyun.ks3.dto.PostObjectFormFields;
+import com.ksyun.ks3.service.request.PutObjectACLRequest;
 import com.yonge.toolset.thirdparty.entity.UploadSign;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -192,6 +193,19 @@ public class KS3StoragePlugin implements StoragePlugin, InitializingBean, Dispos
     }
 
     @Override
+    public void setFileAcl(String fileName, Boolean isPublic,String bucketName) {
+        PutObjectACLRequest request = new PutObjectACLRequest(bucketName,fileName);
+        if (isPublic){
+            //设为公开读
+            request.setCannedAcl(CannedAccessControlList.PublicRead);
+        }else {
+            //设为私有
+            request.setCannedAcl(CannedAccessControlList.Private);
+        }
+        client.putObjectACL(request);
+    }
+
+    @Override
     public void destroy() throws Exception {
     }