liujunchi 2 년 전
부모
커밋
1b6f05492e

+ 2 - 2
cooleshow-common/src/main/java/com/yonge/cooleshow/common/controller/BaseController.java

@@ -149,13 +149,13 @@ public class BaseController {
 
     public String dingTalkRobotsSecurityParam() throws Exception {
         Long timestamp = System.currentTimeMillis();
-        String secret = "SEC36b17ac2f4e201f962042fb05f4b6b827719bcf9b6bb7b672e61f99c752eb693";
+        String secret = "SEC5af33b7c3febfa4613ef67202bec4e07c37ccc54c51d058594f199c23af48e3e";
         String stringToSign = timestamp + "\n" + secret;
         Mac mac = Mac.getInstance("HmacSHA256");
         mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));
         byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));
         String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8");
-        StringBuffer sb = new StringBuffer("https://api.dingtalk.com/robot/send?access_token=22d7b3b54ea7f1633c640dfdf17083d0731c3757719a84bd333740a8b18eb035&timestamp=");
+        StringBuffer sb = new StringBuffer("https://oapi.dingtalk.com/robot/send?access_token=74faf5f6229b648396edfb3918eeb262916dc2f194cf866f1f6764a8906cff60");
         sb.append(timestamp).append("&sign=").append(sign);
         return sb.toString();
     }

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

@@ -139,6 +139,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         result.setSalesEndDate(group.getSalesEndDate());
         result.setMixStudentNum(group.getMixStudentNum());
         result.setImGroupId(group.getImGroupId());
+        result.setAuditVersion(group.getAuditVersion());
         SysUser teacher = getSysUser(group.getTeacherId());
         if (teacher == null) {
             throw new BizException("用户不存在");

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

@@ -105,19 +105,22 @@ public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGr
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public ImGroupMember getUserDetail(Long userId, String groupId) {
         ImGroupMember imGroupMember = baseMapper.findByUserIdAndGroupId(userId,groupId);
+        BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         if(Objects.isNull(imGroupMember)){
-            throw new BizException("当前用户不在此群组");
+            imGroupMember = new ImGroupMember();
+            imGroupMember.setGroupId(groupId);
+            imGroupMember.setUserId(userId);
         }
-        BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
         //更新当前用户关联的该用户的详情信息
         imGroupMember.setNickname(basicUserInfo.getUsername());
         imGroupMember.setAvatar(basicUserInfo.getAvatar());
-        imGroupMember.setUpdateTime(new Date());
-        this.startTransactional(()->{
+        if(imGroupMember.getId() != null){
+            imGroupMember.setUpdateTime(new Date());
             baseMapper.updateById(imGroupMember);
-        });
+        }
         return imGroupMember;
     }
 

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

@@ -436,6 +436,31 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     @Transactional(rollbackFor = Exception.class)
     public boolean saveMusicSheet(MusicSheetDto musicSheetDto, Long userId) {
 
+        MusicSheet oldMusicSheet = null;
+        if (musicSheetDto.getId() != null) {
+            oldMusicSheet = getById(musicSheetDto.getId());
+        }
+        // 保存审核拒绝的数据
+        if (musicSheetDto.getId() != null && AuthStatusEnum.DOING.getCode().equals(musicSheetDto.getAuditStatus().getCode())) {
+            // 保存删除的曲目
+            if (oldMusicSheet.getAuditStatus().equals(AuthStatusEnum.UNPASS)) {
+                oldMusicSheet.setId(null);
+                oldMusicSheet.setDelFlag(true);
+                this.save(oldMusicSheet);
+                // 删除的曲目的伴奏
+                musicSheetAccompanimentService.lambdaUpdate()
+                                              .eq(MusicSheetAccompaniment::getMusicSheetId,musicSheetDto.getId())
+                                              .set(MusicSheetAccompaniment::getMusicSheetId,oldMusicSheet.getId())
+                                              .update();
+                // 审核拒绝的原因
+                musicSheetAuthRecordService.lambdaUpdate()
+                                           .eq(MusicSheetAuthRecord::getMusicSheetId,musicSheetDto.getId())
+                                           .set(MusicSheetAuthRecord::getMusicSheetId,oldMusicSheet.getId())
+                                           .update();
+            }
+
+        }
+
         if (musicSheetDto.getId() != null) {
             musicSheetAccompanimentService.delByMusicSheetId(musicSheetDto.getId());
         }
@@ -445,7 +470,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         }
 
         // 删除曲目专辑关联
-        // delAlbumSheetRef(musicSheetDto.getId(), musicSheetDto.getMusicSubject());
+        if (oldMusicSheet != null && !oldMusicSheet.getMusicSubject().equals(musicSheetDto.getMusicSubject())) {
+            delAlbumSheetRef(musicSheetDto.getId(), musicSheetDto.getMusicSubject());
+        }
 
         List<MusicSheetAccompaniment> list;
         if (!AudioTypeEnum.MIDI.getCode().equals(musicSheetDto.getAudioType().getCode())) {

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

@@ -115,6 +115,9 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
 
             List<Long> parentIds = subjects.stream().map(Subject::getParentSubjectId).collect(Collectors.toList());
 
+            if(CollectionUtils.isEmpty(parentIds)){
+                return subjectSelect(null);
+            }
             parents = findBySubjectByIdList(parentIds);
         }
 

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/LiveCourseInfoVo.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.entity.CourseTimeEntity;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -25,6 +26,17 @@ public class LiveCourseInfoVo extends CourseGroupVo implements Serializable {
     @ApiModelProperty(value = "true 自己的课,false 其他老师的课程")
     private Boolean myself;
 
+    @ApiModelProperty(value = "是否审核时可见 (0:否  1:是)")
+    private YesOrNoEnum auditVersion = YesOrNoEnum.NO;
+
+    public YesOrNoEnum getAuditVersion() {
+        return auditVersion;
+    }
+
+    public void setAuditVersion(YesOrNoEnum auditVersion) {
+        this.auditVersion = auditVersion;
+    }
+
     public Boolean getMyself() {
         return myself;
     }

+ 33 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherLiveCourseInfoVo.java

@@ -49,6 +49,39 @@ public class TeacherLiveCourseInfoVo implements Serializable {
     @ApiModelProperty(value = "直播课成课后生成的im群id")
     private String imGroupId;
 
+    @ApiModelProperty("用户名")
+    private String username;
+
+    @ApiModelProperty("头像")
+    private String avatar;
+
+    @ApiModelProperty("用户id")
+    private Long userId;
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
     public Long getCourseGroupId() {
         return courseGroupId;
     }

+ 6 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -151,11 +151,15 @@
         a.status_ as `status`,
         b.pre_student_num_ as studentCount,
         b.background_pic_ as backgroundPic,
-        b.im_group_id_  as imGroupId
+        b.im_group_id_  as imGroupId,
+        su.username_ as username,
+        su.id_ as userId,
+        su.avatar_ as avatar
         from course_schedule as a
         left join course_group as b on a.course_group_id_ = b.id_
         left join subject as s on b.subject_id_ = s.id_
-        left join sys_user su on a.teacher_id_ = su.id_
+        left join sys_user su on su.id_ = a.teacher_id_
+
         where b.teacher_id_ = #{param.teacherId}
         AND a.lock_ = 0
         AND a.type_ = #{param.type}

+ 4 - 8
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -494,17 +494,16 @@
         where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         ,ms.play_speed_ as playSpeed
         ,ms.music_price_ as musicPrice
-        ,ms.create_time_ as createTime
+        ,ms.update_time_ as createTime
         ,if(msar.audit_state_ is null,ms.audit_status_,msar.audit_state_) as auditStatus
         ,su2.username_ as auditName
-        from music_sheet ms
+        from music_sheet_auth_record  msar
+        left join  music_sheet ms on ms.id_ = msar.music_sheet_id_
         left join sys_user su on su.id_ = ms.create_by_
-        left join music_sheet_auth_record msar on ms.id_ = msar.music_sheet_id_
         left join sys_user su2 on msar.verify_user_id_ = su2.id_
         <where>
             su.del_flag_ = 0 and
-            ms.source_type_  = 'TEACHER' and
-            msar.id_ is not null
+            ms.source_type_  = 'TEACHER'
             <if test="param.idAndName != null and param.idAndName != ''">
                 and (su.id_ like concat('%',#{param.idAndName} ,'%')
                 or su.username_ like concat('%',#{param.idAndName},'%')
@@ -522,9 +521,6 @@
             <if test="param.endTime != null">
                 and ms.create_time_ &lt; #{param.endTime}
             </if>
-            <if test="param.delFlag != null">
-                and ms.del_flag_ = #{param.delFlag}
-            </if>
             <if test="param.chargeType != null">
                 and ms.charge_type_ = #{param.chargeType}
             </if>

+ 4 - 4
cooleshow-user/user-biz/src/main/resources/config/mybatis/SubjectMapper.xml

@@ -56,10 +56,10 @@
                     (select a.subject_id_ as subject_id_ from course_group a
                     where a.type_ = 'PRACTICE' and a.status_ in ('ING','COMPLETE','APPLY')
                     GROUP BY a.subject_id_)
-                </if>
-                <if test="type == null or type =='LIVE'">
-                    union all
-                    (select a.subject_id_ as subject_id_ from course_group a
+            </if>
+            <if test="type == null or type =='LIVE'">
+                union all
+                (select a.subject_id_ as subject_id_ from course_group a
                     where a.type_ = 'LIVE' and a.status_ in ('APPLY')
                     GROUP BY a.subject_id_)
                 </if>