浏览代码

Merge remote-tracking branch 'origin/master'

liweifan 3 年之前
父节点
当前提交
2c27703637

+ 8 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -89,6 +89,9 @@ public class MusicSheetController extends BaseController {
             return failed("曲目声部不能为空");
         }
 
+        if (musicSheetDto.getNotation() == null) {
+            musicSheetDto.setNotation(YesOrNoEnum.NO);
+        }
         String musicTag = musicSheetDto.getMusicTag();
         List<Long> musicTagList = StringUtil.toLongList(musicTag);
 
@@ -143,7 +146,12 @@ public class MusicSheetController extends BaseController {
             return failed("启用状态不许修改");
         }
 
+        if (musicSheet.getNotation() == null) {
+            musicSheet.setNotation(YesOrNoEnum.NO);
+        }
+
         musicSheet.setUpdateBy(sysUser.getId());
+        musicSheet.setAuditStatus(AuthStatusEnum.PASS);
         musicSheet.setUpdateTime(new Date());
         if ( musicSheetService.saveMusicSheet(musicSheet,sysUser.getId())){
             return succeed("修改成功");

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -37,6 +37,9 @@ public class MusicSheet implements Serializable {
     @ApiModelProperty(value = "曲谱来源(平台用户ID或者是老师ID)")
     private Long userId;  //曲谱来源(平台用户ID或者是老师ID)
 
+	@TableField("notation_")
+	@ApiModelProperty("是否可以转简谱(0:否,1:是)")
+	private YesOrNoEnum notation;
 
 	@TableField("source_type_")
 	@ApiModelProperty(value = "曲目来源类型 TEACHER 老师 PLATFORM 平台")
@@ -170,6 +173,14 @@ public class MusicSheet implements Serializable {
 	@ApiModelProperty(value = "假删除标识 0:未删除 1:已删除")
 	private Boolean delFlag;
 
+	public YesOrNoEnum getNotation() {
+		return notation;
+	}
+
+	public void setNotation(YesOrNoEnum notation) {
+		this.notation = notation;
+	}
+
 	public String getMidiUrl() {
 		return midiUrl;
 	}

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java

@@ -9,6 +9,8 @@ import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.vo.*;
 
+import java.util.List;
+
 /**
  * VideoLessonGroupService服务类
  *
@@ -19,6 +21,8 @@ import com.yonge.cooleshow.biz.dal.vo.*;
 public interface VideoLessonGroupService extends IService<VideoLessonGroup> {
     IPage<VideoLessonGroupVo> selectPage(IPage<VideoLessonGroupVo> page, VideoLessonGroupSearch query);
 
+    List<VideoLessonGroupVo> selectPage(VideoLessonGroupSearch query);
+
     VideoLessonGroup selectGroup(Long groupId);
 
     void updateGroup(VideoLessonGroupUpVo lessonGroupUpVo);

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

@@ -112,7 +112,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         musicSheet.setState(YesOrNoEnum.NO);
         this.saveOrUpdate(musicSheet);
 
-        if (AuthStatusEnum.DOING.getCode().equals(musicSheet.getAuditStatus().getCode())) {
+        if (musicSheet.getAuditStatus() == null || AuthStatusEnum.DOING.getCode().equals(musicSheet.getAuditStatus().getCode())) {
             musicSheetAuthRecordService.setAuditDoing(musicSheet.getId());
         }
 
@@ -403,7 +403,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
             musicSheet.setUpdateBy(userId);
             musicSheet.setState(YesOrNoEnum.NO);
             this.saveOrUpdate(musicSheet);
-            if (AuthStatusEnum.DOING.getCode().equals(musicSheet.getAuditStatus().getCode())) {
+            if (musicSheet.getAuditStatus() == null || AuthStatusEnum.DOING.getCode().equals(musicSheet.getAuditStatus().getCode())) {
                 musicSheetAuthRecordService.setAuditDoing(musicSheet.getId());
             }
 

+ 14 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java

@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -73,6 +74,12 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         return page.setRecords(baseMapper.selectPage(page, query));
     }
 
+    public List<VideoLessonGroupVo> selectPage(VideoLessonGroupSearch query) {
+        List<VideoLessonGroupVo> list = baseMapper.selectPage(null, query);
+        List<VideoLessonGroupVo> collect = list.stream().sorted(Comparator.comparing(VideoLessonGroupVo::getCountStudent, Comparator.reverseOrder())).limit(2).collect(Collectors.toList());
+        return collect;
+    }
+
     /**
      * @Description: 根据组id查详情
      * @Author: cy
@@ -121,15 +128,15 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
         //推送
         VideoLessonGroup lessonGroup = baseMapper.selectById(examineVo.getId());
         String status = examineVo.getAuditStatus();
-        Map<Long,String> receivers = new HashMap<>();
+        Map<Long, String> receivers = new HashMap<>();
         SysUser teacher = sysUserFeignService.queryUserById(lessonGroup.getTeacherId());
         receivers.put(lessonGroup.getTeacherId(), teacher.getPhone());
         if (status.equals("PASS")) {
             try {
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_SHEET_AUTH_PASS,
-                        receivers, null, 0, null, ClientEnum.TEACHER.getCode(),lessonGroup.getLessonName());
-            }catch (Exception e){
-                log.warn("视频课审核失败,{}",e.getMessage());
+                        receivers, null, 0, null, ClientEnum.TEACHER.getCode(), lessonGroup.getLessonName());
+            } catch (Exception e) {
+                log.warn("视频课审核失败,{}", e.getMessage());
             }
         } else {
             try {
@@ -138,9 +145,9 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
                     remark = examineVo.getRemarks();
                 }
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_SHEET_AUTH_UNPASS,
-                        receivers, null, 0, null, ClientEnum.TEACHER.getCode(),lessonGroup.getLessonName(),remark);
-            }catch (Exception e){
-                log.warn("视频课审核失败,{}",e.getMessage());
+                        receivers, null, 0, null, ClientEnum.TEACHER.getCode(), lessonGroup.getLessonName(), remark);
+            } catch (Exception e) {
+                log.warn("视频课审核失败,{}", e.getMessage());
             }
         }
 

+ 11 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/WrapperUtil.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.yonge.toolset.base.exception.BizException;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.ss.formula.functions.T;
 
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
@@ -42,6 +41,13 @@ public class WrapperUtil {
                 .orElse(0);
     }
 
+    public static <S, O> Long toLong(Map<S, O> map, S str) {
+        return Optional.ofNullable(map.get(str))
+                .map(String::valueOf)
+                .map(Long::parseLong)
+                .orElse(null);
+    }
+
     public static <S, O> Long toLong(Map<S, O> map, S str, String exMsg) {
         return Optional.ofNullable(map.get(str))
                 .map(String::valueOf)
@@ -274,12 +280,13 @@ public class WrapperUtil {
 
     /**
      * 字符串转公式
-     * @param formula 公式字符串
+     *
+     * @param formula  公式字符串
      * @param variable 变量
-     * @param param 参数
+     * @param param    参数
      * @return
      */
-    public static Object strToFormula(String formula, String variable, String param){
+    public static Object strToFormula(String formula, String variable, String param) {
         ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
         try {
             return jse.eval(formula.replace(variable, param));

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

@@ -222,7 +222,7 @@
         cssp.id_ as paymentId,
         su.id_ as studentId,
         su.username_ as studentName,
-        cssp.actual_price_ as price,
+        sum(cssp.actual_price_) as price,
         cssp.order_no_ as orderNo,
         su.phone_ as phone,
         cssp.created_time_ as payTime
@@ -250,6 +250,7 @@
                 and #{param.endTime} &gt;= cssp.created_time_
             </if>
         </where>
+        group by cssp.actual_price_
         order by  cssp.id_ desc
     </select>
 

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

@@ -27,6 +27,7 @@
         <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
         <result column="update_by_" jdbcType="BIGINT" property="updateBy"/>
         <result column="remark_" jdbcType="VARCHAR" property="remark"/>
+        <result column="notation_" jdbcType="VARCHAR" property="notation"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -59,7 +60,8 @@
         t.audit_version_ as auditVersion,
         t.source_type_ as sourceType,
         t.submit_audit_time_ as submitAuditTime,
-        t.remark_ as remark
+        t.remark_ as remark,
+        t.notation_ as notation
     </sql>
 
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
@@ -226,6 +228,7 @@
         <result column="userName" jdbcType="VARCHAR" property="userName"/>
         <result column="auditVersion" jdbcType="VARCHAR" property="auditVersion"/>
         <result column="code" jdbcType="VARCHAR" property="code"/>
+        <result column="notation" jdbcType="VARCHAR" property="notation"/>
         <collection property="background" ofType="com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment">
             <id column="accompanimentId" jdbcType="BIGINT" property="id"/>
             <result column="accompanimentMusicSheetId" jdbcType="BIGINT" property="musicSheetId"/>

+ 6 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

@@ -66,6 +66,9 @@ public class MusicSheetController extends BaseController {
                 && musicSheetDto.getMusicPrice()==null){
             return failed("此曲谱为收费曲谱,需要提供价格");
         }
+        if (musicSheetDto.getNotation() == null) {
+            musicSheetDto.setNotation(YesOrNoEnum.NO);
+        }
 
         musicSheetDto.setUserId(sysUser.getId());
         musicSheetDto.setAuditStatus(AuthStatusEnum.DOING);
@@ -89,6 +92,9 @@ public class MusicSheetController extends BaseController {
         if (musicSheet.getId()==null){
             return failed("缺少ID");
         }
+        if (musicSheet.getNotation() == null) {
+            musicSheet.setNotation(YesOrNoEnum.NO);
+        }
 
         musicSheet.setUpdateBy(sysUser.getId());
         musicSheet.setUpdateTime(new Date());

+ 15 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherCourseGroupController.java

@@ -1,21 +1,27 @@
 package com.yonge.cooleshow.teacher.controller;
 
 
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.CheckCourseTimeDto;
 import com.yonge.cooleshow.biz.dal.dto.LiveCourseGroupDto;
 import com.yonge.cooleshow.biz.dal.entity.CourseTimeEntity;
 import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
+import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.CourseGroupVo;
 import com.yonge.cooleshow.biz.dal.vo.LiveCourseInfoVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 /**
  * 课程组表(CourseGroup)表控制层
@@ -32,6 +38,8 @@ public class TeacherCourseGroupController extends BaseController {
      */
     @Resource
     private CourseGroupService courseGroupService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation("直播课详情")
     @GetMapping("/queryLiveCourseInfo")
@@ -49,6 +57,9 @@ public class TeacherCourseGroupController extends BaseController {
     @ApiOperation("分页查询直播课课程组列表")
     @PostMapping("/queryPageCourseGroup")
     public HttpResponseResult<PageInfo<CourseGroupVo>> queryPageLiveCourseGroup(@RequestBody Map<String, Object> param) {
+        Long teacherId = WrapperUtil.toLong(param, "teacherId");
+        teacherId = Optional.ofNullable(teacherId).orElseGet(() -> getSysUser().getId());
+        param.put("teacherId", teacherId);
         return succeed(courseGroupService.queryPageLiveCourseGroup(param));
     }
 
@@ -85,5 +96,9 @@ public class TeacherCourseGroupController extends BaseController {
         return succeed(courseGroupService.getLiveLockTimeCache(teacherId).get(teacherId));
     }
 
+    private SysUser getSysUser() {
+        return Optional.ofNullable(sysUserFeignService.queryUserInfo())
+                .orElseThrow(() -> new BizException("用户不存在"));
+    }
 }
 

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

@@ -219,7 +219,7 @@ public class TeacherCourseScheduleController extends BaseController {
             @ApiImplicitParam(name = "month", dataType = "String", value = "月份,yyyy-mm"),
             @ApiImplicitParam(name = "status", dataType = "String", value = "课程状态"),
     })
-    @ApiOperation("课程列表")
+    @ApiOperation("琴房课程列表")
     @PostMapping("/selectCourseList")
     public HttpResponseResult<PageInfo<CourseScheduleRecordVo>> selectCourseList(@RequestBody Map<String, Object> param) {
         SysUser user = sysUserFeignService.queryUserInfo();

+ 21 - 2
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenVideoGroupController.java

@@ -4,8 +4,10 @@ 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.search.VideoLessonGroupSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonSearch;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.toolset.mybatis.support.PageUtil;
@@ -26,6 +28,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.constraints.NotNull;
+import java.util.List;
 
 /**
  * 视频课基本信息表 web 控制层
@@ -43,6 +46,8 @@ public class OpenVideoGroupController extends BaseController {
     private TeacherService teacherService;
     @Autowired
     private VideoLessonGroupService videoLessonGroupService;
+    @Autowired
+    private VideoLessonGroupDetailService videoLessonGroupDetailService;
 
     /**
     * @Description: 查询视频课组
@@ -56,7 +61,6 @@ public class OpenVideoGroupController extends BaseController {
         return succeed(PageUtil.pageInfo(pages));
     }
 
-
     /**
      * @Description: 根据组id查询视频课&视频课组
      * @Author: cy
@@ -68,6 +72,21 @@ public class OpenVideoGroupController extends BaseController {
         return succeed(videoLessonGroupService.selectVideoLesson(groupId));
     }
 
+    /**
+     * @Description: 根据视频课组id查详情
+     * @Author: cy
+     * @Date: 2022/6/27
+     */
+    @ApiOperation(value = "查询视频课", httpMethod = "POST", consumes = "application/json", produces = "application/json")
+    @PostMapping(value = "/info/page", consumes = "application/json", produces = "application/json")
+    public HttpResponseResult<PageInfo<VideoLessonGroupDetailVo>> page(@RequestBody VideoLessonSearch query) {
+        IPage<VideoLessonGroupDetailVo> pages = videoLessonGroupDetailService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
 
-
+    @ApiOperation(value = "其他课程")
+    @PostMapping("/otherLesson")
+    public HttpResponseResult<List<VideoLessonGroupVo>> otherLesson(@RequestBody VideoLessonGroupSearch query) {
+        return succeed(videoLessonGroupService.selectPage(query));
+    }
 }