浏览代码

Merge branch 'zx_online_cbs' of http://git.dayaedu.com/yonge/cooleshow into test

zouxuan 1 年之前
父节点
当前提交
0a3a0dd5aa
共有 19 个文件被更改,包括 159 次插入116 次删除
  1. 12 5
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/StudentController.java
  2. 1 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/SubjectController.java
  3. 2 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java
  4. 1 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/SubjectController.java
  5. 6 2
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java
  6. 2 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/MusicSheetController.java
  7. 6 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/StudentController.java
  8. 23 60
      cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/TeacherController.java
  9. 1 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/open/OpenSubjectController.java
  10. 1 1
      cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/open/SubjectController.java
  11. 4 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetAuthRecord.java
  12. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SubjectService.java
  13. 40 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityEvaluationServiceImpl.java
  14. 15 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAuthRecordServiceImpl.java
  15. 35 31
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SubjectServiceImpl.java
  16. 1 3
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityEvaluationMapper.xml
  17. 3 3
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetAuthRecordMapper.xml
  18. 3 3
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  19. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetPracticeRecordMapper.xml

+ 12 - 5
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/StudentController.java

@@ -10,6 +10,7 @@ import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.service.SmsCodeService;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
 import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.vo.MyFollow;
 import com.yonge.cooleshow.biz.dal.vo.StudentHomeVo;
@@ -37,6 +38,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.List;
 
@@ -44,17 +46,20 @@ import java.util.List;
 @RequestMapping("${app-config.url.student:}/student")
 @Api(value = "学生表", tags = "学生表")
 public class StudentController extends BaseController {
-    @Autowired
+    @Resource
     private StudentService studentService;
-    @Autowired
+    @Resource
     private SysUserFeignService sysUserFeignService;
 
-    @Autowired
+    @Resource
     private SysUserService sysUserService;
 
-    @Autowired
+    @Resource
     private SmsCodeService smsCodeService;
 
+    @Resource
+    private SubjectService subjectService;
+
 
     @ApiOperation(value = "查询指定学员信息")
     @GetMapping("/queryUserById")
@@ -119,7 +124,9 @@ public class StudentController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(studentService.querySubjectItem(user.getId(), type));
+        List<Subject> subjects = studentService.querySubjectItem(user.getId(), type);
+        subjectService.convertSubject(subjects);
+        return succeed(subjects);
     }
 
     @ApiOperation(value = "我的关注")

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/SubjectController.java

@@ -53,7 +53,7 @@ public class SubjectController extends BaseController {
         	}
         }
         List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
-        subjectService.convertSubject(subjectSelect);
+        subjectService.convertSubSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 

+ 2 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -120,6 +120,7 @@ public class MusicSheetController extends BaseController {
     public HttpResponseResult<PageInfo<MusicSheetVo>> list(@RequestBody StudentMusicSheetSearch query) {
         SysUser sysUser = sysUserService.getUser();
         // 老师课查看所有曲目
+        AuthStatusEnum auditStatus = query.getAuditStatus();
         if (query.getMyself() == null || query.getMyself()) {
             // 设置只查老师用户 状态为启用
             query.setCreateBy(sysUser.getId());
@@ -155,7 +156,7 @@ public class MusicSheetController extends BaseController {
         }
 
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectStudentPage(PageUtil.getPage(query), query, ClientEnum.TEACHER);
-        if(query.getAuditStatus() != null && !AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())){
+        if(auditStatus != null && !auditStatus.getCode().equals(query.getAuditStatus().getCode())){
             return succeed(PageUtil.pageInfo(musicSheetAuthRecordService.convertMusicDetail(musicSheetVoIPage,query.getAuditStatus())));
         }
         return succeed(PageUtil.pageInfo(musicSheetVoIPage));

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/SubjectController.java

@@ -63,7 +63,7 @@ public class SubjectController extends BaseController {
         }
         
         List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
-		subjectService.convertSubject(subjectSelect);
+		subjectService.convertSubSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 }

+ 6 - 2
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java

@@ -100,7 +100,9 @@ public class TeacherController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(teacherService.querySubject(user.getId()));
+        List<Subject> subjects = teacherService.querySubject(user.getId());
+        subjectService.convertSubject(subjects);
+        return succeed(subjects);
     }
 
     @ApiOperation(value = "设置声部")
@@ -129,7 +131,9 @@ public class TeacherController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(teacherService.querySubjectItem(user.getId(), type));
+        List<Subject> subjects = teacherService.querySubjectItem(user.getId(), type);
+        subjectService.convertSubject(subjects);
+        return succeed(subjects);
     }
 
     @ApiOperation(value = "我的-个人风采")

+ 2 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/MusicSheetController.java

@@ -136,6 +136,7 @@ public class MusicSheetController extends BaseController {
         }
         // 设置只查老师用户 状态为启用
         query.setCreateBy(sysUser.getId());
+        AuthStatusEnum auditStatus = query.getAuditStatus();
         if (query.getAuditStatus() != null && AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())) {
             query.setState(YesOrNoEnum.YES);
         } else if (query.getAuditStatus() != null && AuthStatusEnum.OUT_SALE.getCode().equals(query.getAuditStatus().getCode())) {
@@ -155,7 +156,7 @@ public class MusicSheetController extends BaseController {
         }
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectPage(PageUtil.getPage(query), query);
         teacherAuditMusicSheetVo.setList(PageUtil.pageInfo(musicSheetVoIPage));
-        if(query.getAuditStatus() != null && !AuthStatusEnum.PASS.getCode().equals(query.getAuditStatus().getCode())){
+        if(auditStatus != null && !auditStatus.getCode().equals(query.getAuditStatus().getCode())){
             teacherAuditMusicSheetVo.setList(PageUtil.pageInfo(musicSheetAuthRecordService.convertMusicDetail(musicSheetVoIPage, query.getAuditStatus())));
         }
         return succeed(teacherAuditMusicSheetVo);

+ 6 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/StudentController.java

@@ -8,6 +8,7 @@ import com.yonge.cooleshow.biz.dal.entity.Student;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.service.StudentStarService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
 import com.yonge.cooleshow.biz.dal.vo.MyFollow;
 import com.yonge.cooleshow.biz.dal.vo.StudentHomeVo;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -40,6 +41,8 @@ public class StudentController extends BaseController {
     private StudentStarService studentStarService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private SubjectService subjectService;
 
     @ApiOperation(value = "查询学员")
     @GetMapping("/queryUser")
@@ -83,7 +86,9 @@ public class StudentController extends BaseController {
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(studentService.querySubjectItem(user.getId(),type));
+        List<Subject> subjects = studentService.querySubjectItem(user.getId(), type);
+        subjectService.convertSubject(subjects);
+        return succeed(subjects);
     }
 
     @ApiOperation(value = "我的关注")

+ 23 - 60
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/TeacherController.java

@@ -1,11 +1,11 @@
 package com.yonge.cooleshow.website.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
 import com.yonge.cooleshow.biz.dal.service.StudentStarService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.vo.MyFens;
 import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
@@ -20,56 +20,42 @@ import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 @RestController
 @RequestMapping("${app-config.url.website:}/teacher")
 @Api(value = "教师表", tags = "教师表")
 public class TeacherController extends BaseController {
-    @Autowired
+    @Resource
     private TeacherService teacherService;
-    @Autowired
+    @Resource
     private StudentStarService studentStarService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
+    @Resource
+    private SubjectService subjectService;
+    @Resource
+    private SysUserService sysUserService;
 
     @ApiOperation(value = "我的-查询教师基本信息")
     @GetMapping("/queryUserInfo")
     public HttpResponseResult<TeacherHomeVo> queryUserInfo() {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return teacherService.queryUserInfo(user.getId());
+        return teacherService.queryUserInfo(sysUserService.getUserId());
     }
 
     @ApiOperation(value = "开通直播")
     @GetMapping("/openLive")
     public HttpResponseResult<Boolean> openLive() {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return teacherService.openLive(user.getId());
+        return teacherService.openLive(sysUserService.getUserId());
     }
 
     @ApiOperation(value = "获取老师可授课声部列表")
     @PostMapping("/querySubject")
     public HttpResponseResult<List<Subject>> querySubject() {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return succeed(teacherService.querySubject(user.getId()));
+        List<Subject> subjects = teacherService.querySubject(sysUserService.getUserId());
+        subjectService.convertSubject(subjects);
+        return succeed(subjects);
     }
 
     @ApiOperation(value = "设置声部")
@@ -78,57 +64,38 @@ public class TeacherController extends BaseController {
         if (StringUtil.isEmpty(subjectIds)) {
             return failed("参数不能为空");
         }
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return status(teacherService.setSubject(user.getId(), subjectIds) > 0);
+        return status(teacherService.setSubject(sysUserService.getUserId(), subjectIds) > 0);
     }
 
     @ApiOperation(value = "获取声部搜索下拉框")
     @PostMapping("/querySubjectItem")
     public HttpResponseResult<List<Subject>> querySubjectItem(
             @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PIANO_ROOM 琴房 MUSIC 曲目 ") String type) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return succeed(teacherService.querySubjectItem(user.getId(), type));
+        List<Subject> subjects = teacherService.querySubjectItem(sysUserService.getUserId(), type);
+        subjectService.convertSubject(subjects);
+        return succeed(subjects);
     }
 
     @ApiOperation(value = "我的-个人风采")
     @GetMapping("/queryTeacherStyle")
     public HttpResponseResult<TeacherVo> queryTeacherStyle() {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return HttpResponseResult.succeed(teacherService.detail(user.getId()));
+        return HttpResponseResult.succeed(teacherService.detail(sysUserService.getUserId()));
     }
 
     @ApiOperation(value = "我的-个人风采保存")
     @PostMapping("/saveTeacherStyle")
     public HttpResponseResult<TeacherVo> saveTeacherStyle(@RequestBody TeacherDto teacherDto) {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
         if (StringUtil.isEmpty(teacherDto.getSubjectId())) {
             return failed("参数异常");
         }
-        teacherDto.setUserId(user.getId());
+        teacherDto.setUserId(sysUserService.getUserId());
         return teacherService.saveTeacherStyle(teacherDto);
     }
 
     @ApiOperation(value = "我的粉丝")
     @PostMapping(value = "/queryMyFans")
     public HttpResponseResult<PageInfo<MyFens>> queryMyFans(@RequestBody QueryInfo query) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null || sysUser.getId() == null) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-
-        IPage<MyFens> pages = teacherService.queryMyFans(PageUtil.getPage(query), sysUser.getId());
+        IPage<MyFens> pages = teacherService.queryMyFans(PageUtil.getPage(query),sysUserService.getUserId());
         return succeed(PageUtil.pageInfo(pages));
     }
 
@@ -143,11 +110,7 @@ public class TeacherController extends BaseController {
         if (null == starStatusEnum) {
             return failed("缺少关注状态");
         }
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return studentStarService.starOrUnStar(user.getId(), userId, starStatusEnum);
+        return studentStarService.starOrUnStar(sysUserService.getUserId(), userId, starStatusEnum);
     }
 
 }

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/open/OpenSubjectController.java

@@ -37,7 +37,7 @@ public class OpenSubjectController extends BaseController {
     public HttpResponseResult<List<Subject>> subjectSelect(
             @ApiParam(value = "类型 PRACTICE 陪练课 LIVE 直播课 VIDEO 视频课 PIANO_ROOM 琴房 MUSIC 曲目 ") String type) {
         List<Subject> subjectSelect = subjectService.subjectSelect(type, null);
-        subjectService.convertSubject(subjectSelect);
+        subjectService.convertSubSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 

+ 1 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/open/SubjectController.java

@@ -69,7 +69,7 @@ public class SubjectController extends BaseController {
         }
         
 		List<Subject> subjectSelect = subjectService.subjectSelect(type, userExtSubjectIds);
-		subjectService.convertSubject(subjectSelect);
+		subjectService.convertSubSubject(subjectSelect);
         return succeed(subjectSelect);
     }
 }

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetAuthRecord.java

@@ -42,6 +42,10 @@ public class MusicSheetAuthRecord implements Serializable {
 	@TableField(value = "audit_state_")
     private AuthStatusEnum auditState;
 
+    @ApiModelProperty("最后一次审核状态")
+	@TableField(value = "last_audit_state_")
+    private AuthStatusEnum lastAuditState;
+
     @ApiModelProperty("审核人 ")
 	@TableField(value = "verify_user_id_")
     private Long verifyUserId;

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SubjectService.java

@@ -73,4 +73,6 @@ public interface SubjectService extends BaseService<Long, Subject> {
 
 	//数据转换
 	void convertSubject(List<Subject> subjectSelect);
+
+	void convertSubSubject(List<Subject> subjectSelect);
 }

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

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayaedu.cbs.openfeign.service.CbsSubjectService;
+import com.dayaedu.cbs.openfeign.wrapper.music.CbsSubjectApiWrapper;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
@@ -37,6 +39,7 @@ import com.yonge.toolset.base.exception.BizException;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -65,6 +68,11 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
     @Autowired
     private ActivityPlanRewardService activityPlanRewardService;
 
+    @Autowired
+    private CbsSubjectService cbsSubjectService;
+    @Value("${openfeign-client.app-id:1745637981387108354}")
+    public Long applicationId;
+
     @Override
     public ActivityEvaluationVo detail(Long id) {
         return baseMapper.detail(id);
@@ -263,7 +271,38 @@ public class ActivityEvaluationServiceImpl extends ServiceImpl<ActivityEvaluatio
 
     @Override
     public IPage<MusicSheetVo> musicPage(IPage<MusicSheetVo> page, MusicSheetSearch query) {
-        return page.setRecords(baseMapper.musicPage(page, query));
+        List<MusicSheetVo> musicSheetVos = baseMapper.musicPage(page, query);
+        if(CollectionUtils.isNotEmpty(musicSheetVos)){
+            //获取内容平台声部信息
+            String subjectIds = musicSheetVos.stream().map(e -> e.getMusicSubject()).filter(Objects::nonNull).collect(Collectors.joining(","));
+            if(StringUtils.isNotEmpty(subjectIds)){
+                List<Subject> subjectList = subjectService.findBySubjectByIdList(subjectIds);
+                if(CollectionUtils.isNotEmpty(subjectList)){
+                    List<Long> cbsSubjectIds = subjectList.stream().map(Subject::getCbsSubjectId).collect(Collectors.toList());
+                    if (CollectionUtils.isNotEmpty(cbsSubjectIds)) {
+                        CbsSubjectApiWrapper.SubjectQuery cbsQuery = new CbsSubjectApiWrapper.SubjectQuery();
+                        cbsQuery.setCbsSubjectIds(cbsSubjectIds);
+                        cbsQuery.setApplicationId(applicationId);
+                        List<CbsSubjectApiWrapper.Subject> list = cbsSubjectService.list(cbsQuery);
+                        if(CollectionUtils.isNotEmpty(list)){
+                            Map<Long, CbsSubjectApiWrapper.Subject> subjectMap = list.stream().collect(Collectors.toMap(CbsSubjectApiWrapper.Subject::getSubjectId, x -> x));
+                            musicSheetVos.forEach(e -> {
+                                if (StringUtils.isNotEmpty(e.getMusicSubject())) {
+                                    List<String> subjectNameList = Arrays.stream(e.getMusicSubject().split(","))
+                                            .map(Long::parseLong)
+                                            .map(subjectMap::get)
+                                            .filter(Objects::nonNull)
+                                            .map(CbsSubjectApiWrapper.Subject::getSubjectName)
+                                            .collect(Collectors.toList());
+                                    e.setSubjectNames(String.join(",", subjectNameList));
+                                }
+                            });
+                        }
+                    }
+                }
+            }
+        }
+        return page.setRecords(musicSheetVos);
     }
 
     /**

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

@@ -87,6 +87,7 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
         musicSheetAuthRecord.setReason(param.getRemark());
         musicSheetAuthRecord.setVerifyUserId(userId);
         musicSheetAuthRecord.setAuditState(param.getAuthStatus());
+        musicSheetAuthRecord.setLastAuditState(param.getAuthStatus());
         String musicSheetJson = musicSheetAuthRecord.getMusicSheetJson();
         CbsMusicSheetWrapper.AddMusicSheet addMusicSheet = JSON.parseObject(musicSheetJson, CbsMusicSheetWrapper.AddMusicSheet.class);
         addMusicSheet.setIsEvaluated(param.getCanEvaluate()==YesOrNoEnum.YES);
@@ -151,6 +152,10 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
             musicSheet.setUpdateBy(userId);
             musicSheetService.updateById(musicSheet);
         }
+        //批量更新同一个批次的审核状态
+        this.lambdaUpdate().eq(MusicSheetAuthRecord::getBatchNo, musicSheetAuthRecord.getBatchNo())
+                .set(MusicSheetAuthRecord::getLastAuditState, param.getAuthStatus())
+                .update();
         this.updateById(musicSheetAuthRecord);
         // 发送审核通知
         Map<Long, String> receivers = new HashMap<>();
@@ -248,6 +253,11 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
         musicSheetAuthRecord.setAuditState(AuthStatusEnum.DOING);
         musicSheetAuthRecord.setMusicSheetId(musicSheet.getId());
         musicSheetAuthRecord.setMusicSheetJson(JSON.toJSONString(addMusicSheet));
+        musicSheetAuthRecord.setLastAuditState(AuthStatusEnum.DOING);
+        //批量更新同一个批次的审核状态
+        this.lambdaUpdate().eq(MusicSheetAuthRecord::getBatchNo, musicSheetAuthRecord.getBatchNo())
+                .set(MusicSheetAuthRecord::getLastAuditState,AuthStatusEnum.DOING)
+                .update();
         return baseMapper.insert(musicSheetAuthRecord);
     }
 
@@ -275,7 +285,12 @@ public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthR
         musicSheetAuthRecord.setMusicSheetId(musicSheet1.getId());
         musicSheetAuthRecord.setBatchNo(record.getBatchNo());
         musicSheetAuthRecord.setAuditState(AuthStatusEnum.DOING);
+        musicSheetAuthRecord.setLastAuditState(AuthStatusEnum.DOING);
         musicSheetAuthRecord.setMusicSheetJson(JSON.toJSONString(addMusicSheet));
+        //批量更新同一个批次的审核状态
+        this.lambdaUpdate().eq(MusicSheetAuthRecord::getBatchNo, musicSheetAuthRecord.getBatchNo())
+                .set(MusicSheetAuthRecord::getLastAuditState,AuthStatusEnum.DOING)
+                .update();
         baseMapper.insert(musicSheetAuthRecord);
     }
 

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

@@ -25,6 +25,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
 import javax.annotation.Resource;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
@@ -393,40 +394,43 @@ public class SubjectServiceImpl extends BaseServiceImpl<Long, Subject> implement
 
     @Override
     public void convertSubject(List<Subject> subjectSelect) {
-        if(CollectionUtils.isNotEmpty(subjectSelect)){
-            for (Subject entity : subjectSelect) {
-                List<Subject> subjects = entity.getSubjects();
-                if(CollectionUtils.isNotEmpty(subjects)){
-                    // 转map
-                    Map<Long, Subject> subjectMap = subjects.stream().collect(Collectors.toMap(Subject::getCbsSubjectId, Function.identity(),(o1, o2)->o1));
-                    // cbs声部ID集合
-                    List<Long> cbsSubjectIds = subjects.stream().map(Subject::getCbsSubjectId).collect(Collectors.toList());
-                    subjects = new ArrayList<>();
-                    CbsSubjectWrapper.SubjectQuery subjectQuery = new CbsSubjectWrapper.SubjectQuery();
-                    subjectQuery.setIds(cbsSubjectIds);
-                    subjectQuery.setPage(1);
-                    subjectQuery.setRows(cbsSubjectIds.size());
-                    try {
-                        com.microsvc.toolkit.common.response.paging.PageInfo<CbsSubjectWrapper.Subject> subjectPageInfo = musicFeignClientService.subjectPage(subjectQuery).feignData();
-                        List<CbsSubjectWrapper.Subject> rows = subjectPageInfo.getRows();
-                        if (org.apache.commons.collections.CollectionUtils.isNotEmpty(rows)) {
-                            for (CbsSubjectWrapper.Subject row : rows) {
-                                Subject subject = subjectMap.get(row.getId());
-                                if (subject == null) {
-                                    log.warn("未查询到声部信息,id:{}", row.getId());
-                                    continue;
-                                }
-                                subject.setCbsSubjectName(row.getName());
-                                subject.setName(row.getName());
-                                subject.setCode(row.getCode());
-                                subjects.add(subject);
-                            }
+        convert(subjectSelect);
+    }
+
+    private void convert(List<Subject> subjects){
+        if(CollectionUtils.isNotEmpty(subjects)){
+            // cbs声部ID集合
+            List<Long> cbsSubjectIds = subjects.stream().map(Subject::getCbsSubjectId).collect(Collectors.toList());
+            CbsSubjectWrapper.SubjectQuery subjectQuery = new CbsSubjectWrapper.SubjectQuery();
+            subjectQuery.setIds(cbsSubjectIds);
+            subjectQuery.setPage(1);
+            subjectQuery.setRows(cbsSubjectIds.size());
+            try {
+                com.microsvc.toolkit.common.response.paging.PageInfo<CbsSubjectWrapper.Subject> subjectPageInfo = musicFeignClientService.subjectPage(subjectQuery).feignData();
+                List<CbsSubjectWrapper.Subject> rows = subjectPageInfo.getRows();
+                if (CollectionUtils.isNotEmpty(rows)) {
+                    Map<Long,CbsSubjectWrapper.Subject> cbsMap = rows.stream().collect(Collectors.toMap(CbsSubjectWrapper.Subject::getId, Function.identity(),(o1, o2)->o1));
+                    for (Subject row : subjects) {
+                        CbsSubjectWrapper.Subject subject = cbsMap.get(row.getCbsSubjectId());
+                        if (subject == null) {
+                            log.warn("未查询到声部信息,id:{}", row.getId());
+                            continue;
                         }
-                    } catch (Exception e) {
-                        log.error("调用音乐服务查询曲目详情失败", e);
+                        row.setName(subject.getName());
+                        row.setCode(subject.getCode());
                     }
-                    entity.setSubjects(subjects);
                 }
+            } catch (Exception e) {
+                log.error("调用音乐服务查询曲目详情失败", e);
+            }
+        }
+    }
+
+    @Override
+    public void convertSubSubject(List<Subject> subjectSelect) {
+        if(CollectionUtils.isNotEmpty(subjectSelect)){
+            for (Subject entity : subjectSelect) {
+                convert(entity.getSubjects());
             }
         }
     }

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

@@ -124,9 +124,7 @@
             su.username_ as addName,
             su.avatar_ as addUserAvatar,
             (select group_concat(mt.name_) from music_tag mt
-                where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames,
-            (select group_concat(s.name_) from subject s
-                where find_in_set(s.id_,t.music_subject_) and s.del_flag_ = 0 ) as subjectNames
+                where find_in_set(mt.id_,t.music_tag_) and mt.del_flag_ = 0  and mt.state_ = 1) as musicTagNames
         from music_sheet t
         left join sys_user su on t.create_by_ = su.id_
         <if test="param.auditStatus != null">

+ 3 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetAuthRecordMapper.xml

@@ -59,14 +59,14 @@
                 AND ((su.id_ like concat('%',#{param.idAndName} ,'%')
                 or su.username_ like concat('%',#{param.idAndName},'%')
                 or su.phone_ like concat('%',#{param.idAndName},'%')) OR
-                (ms.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.audit_state_ = 'PASS') OR
-                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.audit_state_ != 'PASS'))
+                (ms.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.last_audit_state_ = 'PASS') OR
+                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.last_audit_state_ != 'PASS'))
             </if>
             <if test="param.auditName != null and param.auditName != ''">
                 and su2.username_ like concat('%',#{param.auditName},'%')
             </if>
             <if test="param.authStatus != null">
-                and msar.audit_state_ = #{param.authStatus}
+                and msar.last_audit_state_ = #{param.authStatus}
                 <if test="param.authStatus == 'PASS'">
                     AND ms.state_ = 1
                 </if>

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

@@ -172,8 +172,8 @@
                 AND ((su.id_ like concat('%',#{param.idAndName} ,'%')
                 or su.username_ like concat('%',#{param.idAndName},'%')
                 or su.phone_ like concat('%',#{param.idAndName},'%')) OR
-                (t.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.audit_state_ = 'PASS') OR
-                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.audit_state_ != 'PASS'))
+                (t.music_sheet_name_ like concat('%',#{param.idAndName},'%') AND msar.last_audit_state_ = 'PASS') OR
+                (JSON_UNQUOTE(JSON_EXTRACT(music_sheet_json_, '$.name')) LIKE CONCAT('%',#{param.idAndName},'%') AND msar.last_audit_state_ != 'PASS'))
             </if>
             <if test="param.auditStatus == null">
                 AND (su.id_ like concat('%',#{param.idAndName} ,'%')
@@ -218,7 +218,7 @@
             and t.state_ = #{param.state}
         </if>
         <if test="param.auditStatus != null">
-            and msar.audit_state_ = #{param.auditStatus}
+            and msar.last_audit_state_ = #{param.auditStatus}
         </if>
         <if test="param.createBy != null">
             and t.create_by_ = #{param.createBy}

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

@@ -26,7 +26,7 @@
         </if>
         <where>
             <if test="param.auditStatus != null">
-                and msar.audit_state_ = #{param.auditStatus}
+                and msar.last_audit_state_ = #{param.auditStatus}
             </if>
             <if test="param.state != null">
                 and ms.state_ = #{param.state}