liujunchi пре 3 година
родитељ
комит
7d4dfdc75d
16 измењених фајлова са 909 додато и 22 уклоњено
  1. 36 2
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java
  2. 10 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetAuthRecordDao.java
  3. 35 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java
  4. 106 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/StudentMusicSheetOrderSearch.java
  5. 79 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherMusicSheetAuditSearch.java
  6. 65 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherMusicSheetSearch.java
  7. 102 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetAuthRecord.java
  8. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetAuthRecordService.java
  9. 29 6
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java
  10. 14 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAuthRecordServiceImpl.java
  11. 17 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  12. 104 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentMusicSheetOrderVo.java
  13. 161 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherMusicSheetVo.java
  14. 26 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetAuthRecordMapper.xml
  15. 111 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  16. 1 2
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/MusicSheetController.java

+ 36 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -6,6 +6,9 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.enums.SysUserType;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
 import com.yonge.cooleshow.biz.dal.enums.AudioTypeEnum;
@@ -13,9 +16,11 @@ import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
 import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.StateEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo;
+import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.page.PageInfo;
@@ -79,6 +84,7 @@ public class MusicSheetController extends BaseController {
         }
 
         musicSheetDto.setUserId(0L);
+        musicSheetDto.setAuditStatus(AuditEnum.OPEN);
         List<MusicSheetAccompaniment> list;
         if (!AudioTypeEnum.MIDI.getCode().equals(musicSheetDto.getAudioType().getCode())){
             list = musicSheetDto.getBackground();
@@ -89,7 +95,6 @@ public class MusicSheetController extends BaseController {
         } else {
             MusicSheet musicSheet = new MusicSheet();
             BeanUtils.copyProperties(musicSheetDto, musicSheet);
-            musicSheet.setAuditStatus(AuditEnum.AUDITING);
             musicSheet.setCreateBy(sysUser.getId());
             musicSheet.setCreateTime(new Date());
             musicSheet.setState(StateEnum.STOP);
@@ -161,4 +166,33 @@ public class MusicSheetController extends BaseController {
         }
         return status(musicSheetService.state(id));
     }
+
+    /**
+     * 学生详情-乐谱
+     */
+    @PostMapping("/student")
+    @ApiOperation(value = "学生详情-乐谱")
+    public HttpResponseResult<PageInfo<StudentMusicSheetOrderVo>> student(@RequestBody StudentMusicSheetOrderSearch query) {
+        return succeed(PageUtil.pageInfo(musicSheetService.selectStudentOrderPage(PageUtil.getPage(query),query)));
+    }
+
+
+    /**
+     * 老师详情-乐谱
+     */
+    @PostMapping("/teacher")
+    @ApiOperation(value = "老师详情-乐谱")
+    public HttpResponseResult<PageInfo<TeacherMusicSheetVo>> teacher(@RequestBody TeacherMusicSheetSearch query) {
+        return succeed(PageUtil.pageInfo(musicSheetService.selectTeacherPage(PageUtil.getPage(query),query)));
+    }
+
+    /**
+     * 审核中心-乐谱审核
+     */
+    @PostMapping("/audit")
+    @ApiOperation(value = "审核中心-乐谱审核")
+    public HttpResponseResult<PageInfo<TeacherMusicSheetVo>> audit(@RequestBody TeacherMusicSheetAuditSearch query) {
+        return succeed(PageUtil.pageInfo(musicSheetService.selectAuditPage(PageUtil.getPage(query),query)));
+    }
+
 }

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetAuthRecordDao.java

@@ -0,0 +1,10 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
+
+
+public interface MusicSheetAuthRecordDao extends BaseMapper<MusicSheetAuthRecord>{
+
+	
+}

+ 35 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -2,12 +2,12 @@ package com.yonge.cooleshow.biz.dal.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.*;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo;
+import com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -77,6 +77,36 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      * @param practiceMusicIdList 最近练习曲目id
      * @return list
      */
-    List<MusicSheetVo> selectPracticeMusicPage(@Param("param") StudentMusicSheetSearch query,
-                                               @Param("practiceMusicIdList") List<Long> practiceMusicIdList);
+    List<MusicSheetVo> selectPracticeMusicPage(@Param("param") StudentMusicSheetSearch query, @Param(
+            "practiceMusicIdList") List<Long> practiceMusicIdList);
+
+    /**
+     * 学生曲目购买信息
+     *
+     * @param page  分页
+     * @param query 查询条件
+     * @return list
+     */
+    List<StudentMusicSheetOrderVo> selectStudentOrderPage(@Param("page") IPage<StudentMusicSheetOrderVo> page, @Param(
+            "param") StudentMusicSheetOrderSearch query);
+
+    /**
+     * 老师曲目信息
+     *
+     * @param page  分页
+     * @param query 查询条件
+     * @return list
+     */
+    List<TeacherMusicSheetVo> selectTeacherPage(@Param("page") IPage<TeacherMusicSheetVo> page, @Param(
+            "param") TeacherMusicSheetSearch query);
+
+    /**
+     * 审核中心-乐谱审核
+     *
+     * @param page  分页
+     * @param query 查询条件
+     * @return list
+     */
+    List<TeacherMusicSheetVo> selectAuditPage(@Param("page") IPage<TeacherMusicSheetVo> page, @Param(
+            "param") TeacherMusicSheetAuditSearch query);
 }

+ 106 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/StudentMusicSheetOrderSearch.java

@@ -0,0 +1,106 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.biz.dal.support.Query;
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Description  平台 学生管理 学员详情 乐谱
+ *
+ * @author liujunchi
+ * @date 2022-04-02
+ */
+public class StudentMusicSheetOrderSearch extends Query {
+
+    @ApiModelProperty(value = "学生id",required = true)
+    @NotNull(message = "学生编号不能为空")
+    private Long studentId;
+
+    @ApiModelProperty("曲目编号/名称")
+    private String idAndName;
+
+    @ApiModelProperty("订单号")
+    private String orderNo;
+
+    @ApiModelProperty("曲目标签id,多个逗号隔开")
+    private String musicTagIds;
+
+    @ApiModelProperty(hidden = true)
+    private List<Long> musicTagList;
+
+    @ApiModelProperty(value = "购买开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @ApiModelProperty(value = "购买结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    public Long getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Long studentId) {
+        this.studentId = studentId;
+    }
+
+    public String getIdAndName() {
+        return idAndName;
+    }
+
+    public void setIdAndName(String idAndName) {
+        this.idAndName = idAndName;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getMusicTagIds() {
+        return musicTagIds;
+    }
+
+    public void setMusicTagIds(String musicTagIds) {
+        this.musicTagIds = musicTagIds;
+        if (StringUtils.isNotBlank(musicTagIds)) {
+            this.musicTagList = StringUtil.toLongList(musicTagIds);
+        }
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public List<Long> getMusicTagList() {
+        return musicTagList;
+    }
+
+    public void setMusicTagList(List<Long> musicTagList) {
+        this.musicTagList = musicTagList;
+    }
+}

+ 79 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherMusicSheetAuditSearch.java

@@ -0,0 +1,79 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.biz.dal.enums.StateEnum;
+import com.yonge.cooleshow.biz.dal.support.Query;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * Description 老师详情 乐谱
+ *
+ * @author liujunchi
+ * @date 2022-04-02
+ */
+public class TeacherMusicSheetAuditSearch extends Query {
+
+    @ApiModelProperty("老师编号/名称/电话")
+    private String idAndName;
+
+
+    @ApiModelProperty("审批人")
+    private String auditName;
+
+    @ApiModelProperty(value = "申请开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @ApiModelProperty(value = "申请结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+
+    @ApiModelProperty("审核状态(0:审核中,1:已通过,2:已拒绝)")
+    private StateEnum state;
+
+    public String getIdAndName() {
+        return idAndName;
+    }
+
+    public void setIdAndName(String idAndName) {
+        this.idAndName = idAndName;
+    }
+
+    public String getAuditName() {
+        return auditName;
+    }
+
+    public void setAuditName(String auditName) {
+        this.auditName = auditName;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public StateEnum getState() {
+        return state;
+    }
+
+    public void setState(StateEnum state) {
+        this.state = state;
+    }
+}

+ 65 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/TeacherMusicSheetSearch.java

@@ -0,0 +1,65 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.biz.dal.support.Query;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * Description 老师详情 乐谱
+ *
+ * @author liujunchi
+ * @date 2022-04-02
+ */
+public class TeacherMusicSheetSearch extends Query {
+
+    @ApiModelProperty(value = "老师编号",required = true)
+    private Long teacherId;
+
+    @ApiModelProperty("乐谱编号/名称/作曲人")
+    private String idAndName;
+
+    @ApiModelProperty(value = "上传开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    @ApiModelProperty(value = "上传结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    public Long getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Long teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getIdAndName() {
+        return idAndName;
+    }
+
+    public void setIdAndName(String idAndName) {
+        this.idAndName = idAndName;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+}

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

@@ -0,0 +1,102 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 曲目审核表
+ */
+@TableName("music_sheet_auth_record")
+@ApiModel(value = "MusicSheetAuthRecord对象", description = "曲目审核表")
+public class MusicSheetAuthRecord implements Serializable {
+	private static final long serialVersionUID = 1L;
+    @ApiModelProperty("审核单id ")
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+    @ApiModelProperty("曲目id ")
+	@TableField(value = "music_sheet_id_")
+    private Long musicSheetId;
+    @ApiModelProperty("审核状态 0:审核中;1:通过;2:未通过 ")
+	@TableField(value = "audit_state_")
+    private Integer auditState;
+    @ApiModelProperty("审核人 ")
+	@TableField(value = "verify_user_id_")
+    private Long verifyUserId;
+    @ApiModelProperty("审核理由 ")
+	@TableField(value = "reason_")
+    private String reason;
+	@TableField(value = "create_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date createTime;
+	@TableField(value = "update_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date updateTime;
+
+	public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    
+	public Long getMusicSheetId() {
+        return musicSheetId;
+    }
+
+    public void setMusicSheetId(Long musicSheetId) {
+        this.musicSheetId = musicSheetId;
+    }
+    
+	public Integer getAuditState() {
+        return auditState;
+    }
+
+    public void setAuditState(Integer auditState) {
+        this.auditState = auditState;
+    }
+    
+	public Long getVerifyUserId() {
+        return verifyUserId;
+    }
+
+    public void setVerifyUserId(Long verifyUserId) {
+        this.verifyUserId = verifyUserId;
+    }
+    
+	public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+    
+	public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+    
+	public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+    
+}

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetAuthRecordService.java

@@ -0,0 +1,13 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
+
+/**
+ * 曲目审核表 服务类
+ * @author liweifan
+ * @date 2022-04-02
+ */
+public interface MusicSheetAuthRecordService extends IService<MusicSheetAuthRecord>  {
+
+}

+ 29 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -4,14 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.enums.SysUserType;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.*;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 
 /**
  * MusicSheetService服务类
@@ -116,4 +112,31 @@ public interface MusicSheetService extends IService<MusicSheet> {
      * @return page
      */
     IPage<MusicSheetVo> practiceMusic(IPage<MusicSheetVo> page, StudentMusicSheetSearch query);
+
+    /**
+     * 学生购买的曲目信息
+     *
+     * @param page 分页信息
+     * @param query 查询条件
+     * @return page
+     */
+    IPage<StudentMusicSheetOrderVo> selectStudentOrderPage(IPage<StudentMusicSheetOrderVo> page, StudentMusicSheetOrderSearch query);
+
+    /**
+     * 老师详情 乐谱 展示
+     *
+     * @param page 分页
+     * @param query 查询条件
+     * @return page
+     */
+    IPage<TeacherMusicSheetVo> selectTeacherPage(IPage<TeacherMusicSheetVo> page, TeacherMusicSheetSearch query);
+
+    /**
+     * 审核中心-乐谱审核
+     *
+     * @param page 分页
+     * @param query 查询条件
+     * @return page
+     */
+    IPage<TeacherMusicSheetVo> selectAuditPage(IPage<TeacherMusicSheetVo> page, TeacherMusicSheetAuditSearch query);
 }

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

@@ -0,0 +1,14 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.MusicSheetAuthRecordDao;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetAuthRecordService;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class MusicSheetAuthRecordServiceImpl extends ServiceImpl<MusicSheetAuthRecordDao, MusicSheetAuthRecord> implements MusicSheetAuthRecordService {
+
+	
+}

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

@@ -6,9 +6,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.auth.api.enums.SysUserType;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
-import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.*;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
 import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
@@ -16,9 +14,7 @@ import com.yonge.cooleshow.biz.dal.enums.StateEnum;
 import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetDetailVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetShareVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.common.exception.BizException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -72,7 +68,6 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         MusicSheet musicSheet = new MusicSheet();
         BeanUtils.copyProperties(musicSheetDto, musicSheet);
         //保存主表
-        musicSheet.setAuditStatus(AuditEnum.AUDITING);
         musicSheet.setCreateBy(sysUser.getId());
         musicSheet.setState(StateEnum.STOP);
         musicSheet.setCreateTime(new Date());
@@ -210,4 +205,19 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         page.setTotal(practiceMusicIdPage.getTotal());
         return page;
     }
+
+    @Override
+    public IPage<StudentMusicSheetOrderVo> selectStudentOrderPage(IPage<StudentMusicSheetOrderVo> page, StudentMusicSheetOrderSearch query) {
+        return page.setRecords(baseMapper.selectStudentOrderPage(page,query));
+    }
+
+    @Override
+    public IPage<TeacherMusicSheetVo> selectTeacherPage(IPage<TeacherMusicSheetVo> page, TeacherMusicSheetSearch query) {
+        return page.setRecords(baseMapper.selectTeacherPage(page,query));
+    }
+
+    @Override
+    public IPage<TeacherMusicSheetVo> selectAuditPage(IPage<TeacherMusicSheetVo> page, TeacherMusicSheetAuditSearch query) {
+        return page.setRecords(baseMapper.selectAuditPage(page,query));
+    }
 }

+ 104 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentMusicSheetOrderVo.java

@@ -0,0 +1,104 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Description 学生曲目订单展示
+ *
+ * @author liujunchi
+ * @date 2022-04-02
+ */
+public class StudentMusicSheetOrderVo {
+
+    @ApiModelProperty(value = "曲谱id")
+    private Long  musicSheetId;
+
+    @ApiModelProperty(value = "曲谱名称")
+    private String musicSheetName;  //曲谱名称
+
+    @ApiModelProperty(value = "作曲人")
+    private String composer;  //作曲人
+
+
+    @ApiModelProperty(value = "曲谱标签(多个标签用逗号分隔)")
+    private String musicTag;  //曲谱标签(多个标签用逗号分隔)
+
+    @ApiModelProperty("曲目分类名")
+    private String musicTagNames;
+
+    @ApiModelProperty(value = "支付金额")
+    private java.math.BigDecimal purchasePrice;
+
+    @ApiModelProperty("订单编号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "购买时间")
+    private Date purchaseTime;
+
+    public Long getMusicSheetId() {
+        return musicSheetId;
+    }
+
+    public void setMusicSheetId(Long musicSheetId) {
+        this.musicSheetId = musicSheetId;
+    }
+
+    public String getMusicSheetName() {
+        return musicSheetName;
+    }
+
+    public void setMusicSheetName(String musicSheetName) {
+        this.musicSheetName = musicSheetName;
+    }
+
+    public String getComposer() {
+        return composer;
+    }
+
+    public void setComposer(String composer) {
+        this.composer = composer;
+    }
+
+    public String getMusicTag() {
+        return musicTag;
+    }
+
+    public void setMusicTag(String musicTag) {
+        this.musicTag = musicTag;
+    }
+
+    public String getMusicTagNames() {
+        return musicTagNames;
+    }
+
+    public void setMusicTagNames(String musicTagNames) {
+        this.musicTagNames = musicTagNames;
+    }
+
+    public BigDecimal getPurchasePrice() {
+        return purchasePrice;
+    }
+
+    public void setPurchasePrice(BigDecimal purchasePrice) {
+        this.purchasePrice = purchasePrice;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public Date getPurchaseTime() {
+        return purchaseTime;
+    }
+
+    public void setPurchaseTime(Date purchaseTime) {
+        this.purchaseTime = purchaseTime;
+    }
+}

+ 161 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherMusicSheetVo.java

@@ -0,0 +1,161 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Description 平台 老师详情 展示数据
+ *
+ * @author liujunchi
+ * @date 2022-04-02
+ */
+public class TeacherMusicSheetVo {
+
+    @ApiModelProperty("老师编号ID")
+    private Long teacherId;
+
+    @ApiModelProperty("老师昵称")
+    private String username;
+
+    @ApiModelProperty("手机号码")
+    private String phone;
+
+    @ApiModelProperty("曲谱id")
+    private Long musicSheetId;
+
+    @ApiModelProperty("曲谱名称")
+    private String musicSheetName;
+
+    @ApiModelProperty(value = "作曲人")
+    private String composer;  //作曲人
+
+
+    @ApiModelProperty(value = "曲谱标签(多个标签用逗号分隔)")
+    private String musicTag;  //曲谱标签(多个标签用逗号分隔)
+
+    @ApiModelProperty("曲目分类名")
+    private String musicTagNames;
+
+    @ApiModelProperty(value = "默认播放速度")
+    private Integer playSpeed;  //默认播放速度
+
+    @ApiModelProperty(value = "曲谱价格")
+    private java.math.BigDecimal musicPrice;  //曲谱价格
+
+    @ApiModelProperty(value = "创建时间")
+    private java.util.Date createTime;  //创建时间
+
+    @ApiModelProperty(value = "审核状态(0:待审核;1:通过;2:未通过)")
+    private AuditEnum auditStatus;  //审核状态(0:待审核;1:通过;2:未通过)
+
+    @ApiModelProperty("审批人姓名")
+    private String auditName;
+
+
+    public Long getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Long teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public Long getMusicSheetId() {
+        return musicSheetId;
+    }
+
+    public void setMusicSheetId(Long musicSheetId) {
+        this.musicSheetId = musicSheetId;
+    }
+
+    public String getMusicSheetName() {
+        return musicSheetName;
+    }
+
+    public void setMusicSheetName(String musicSheetName) {
+        this.musicSheetName = musicSheetName;
+    }
+
+    public String getComposer() {
+        return composer;
+    }
+
+    public void setComposer(String composer) {
+        this.composer = composer;
+    }
+
+    public String getMusicTag() {
+        return musicTag;
+    }
+
+    public void setMusicTag(String musicTag) {
+        this.musicTag = musicTag;
+    }
+
+    public String getMusicTagNames() {
+        return musicTagNames;
+    }
+
+    public void setMusicTagNames(String musicTagNames) {
+        this.musicTagNames = musicTagNames;
+    }
+
+    public Integer getPlaySpeed() {
+        return playSpeed;
+    }
+
+    public void setPlaySpeed(Integer playSpeed) {
+        this.playSpeed = playSpeed;
+    }
+
+    public BigDecimal getMusicPrice() {
+        return musicPrice;
+    }
+
+    public void setMusicPrice(BigDecimal musicPrice) {
+        this.musicPrice = musicPrice;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public AuditEnum getAuditStatus() {
+        return auditStatus;
+    }
+
+    public void setAuditStatus(AuditEnum auditStatus) {
+        this.auditStatus = auditStatus;
+    }
+
+    public String getAuditName() {
+        return auditName;
+    }
+
+    public void setAuditName(String auditName) {
+        this.auditName = auditName;
+    }
+}

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

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.MusicSheetAuthRecordDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord">
+            <result column="id_" property="id" />
+	        <result column="music_sheet_id_" property="musicSheetId" />
+	        <result column="audit_state_" property="auditState" />
+	        <result column="verify_user_id_" property="verifyUserId" />
+	        <result column="reason_" property="reason" />
+	        <result column="create_time_" property="createTime" />
+	        <result column="update_time_" property="updateTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_
+        , t.music_sheet_id_
+        , t.audit_state_
+        , t.verify_user_id_
+        , t.reason_
+        , t.create_time_
+        , t.update_time_
+        </sql> 
+    
+
+</mapper>

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

@@ -271,4 +271,115 @@
         </if>
         )
     </select>
+
+    <select id="selectStudentOrderPage" resultType="com.yonge.cooleshow.biz.dal.vo.StudentMusicSheetOrderVo">
+        select mspr.music_sheet_id_ as musicSheetId
+        ,ms.music_sheet_name_ as musicSheetName
+        ,ms.composer_ as composer
+        ,ms.music_tag_ as musicTag
+        ,(select group_concat(mt.name_) from music_tag mt
+        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        ,mspr.purchase_price_ as purchasePrice
+        ,mspr.order_no_ as orderNo
+        ,mspr.purchase_time_ as purchaseTime
+        from music_sheet_purchase_record mspr
+        left join music_sheet ms on mspr.music_sheet_id_ = ms.id_
+        <where>
+            mspr.order_status_ = '${@ com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum@YES}'
+            <if test="param.idAndName != null and param.idAndName != ''">
+                and (ms.id_ like concat('%',#{param.idAndName} ,'%')
+                    or ms.music_sheet_name_ like concat('%',#{param.idAndName},'%'))
+            </if>
+            <if test="param.studentId != null">
+                and mspr.student_id_ = #{param.studentId}
+            </if>
+            <if test="param.orderNo != null and param.orderNo != ''">
+                and mspr.order_no_ = #{param.orderNo}
+            </if>
+            <if test="param.musicTagList != null and param.musicTagList.size() != 0">
+                and
+                <foreach collection="param.musicTagList" separator="and" item="item">
+                    find_in_set(#{item},ms.music_tag_)
+                </foreach>
+            </if>
+            <if test="param.startTime != null">
+                and mspr.purchase_time_ &gt; #{param.startTime}
+            </if>
+            <if test="param.endTime != null">
+                and mspr.purchase_time_ &lt; #{param.endTime}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectTeacherPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo">
+        select ms.id_ as musicSheetId
+        ,ms.music_sheet_name_ as musicSheetName
+        ,ms.composer_ as composer
+        ,ms.music_tag_ as musicTag
+        ,(select group_concat(mt.name_) from music_tag mt
+        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        ,ms.play_speed_ as playSpeed
+        ,ms.music_price_ as musicPrice
+        ,ms.create_time_ as createTime
+        ,ms.audit_status_ as auditStatus
+        ,su.username_ as auditName
+        from music_sheet ms
+        left join music_sheet_auth_record msar on ms.id_ = msar.music_sheet_id_
+        left join sys_user su on msar.verify_user_id_ = su.id_
+        <where>
+            <if test="param.idAndName != null and param.idAndName != ''">
+                and (ms.id_ like concat('%',#{param.idAndName} ,'%')
+                or ms.music_sheet_name_ like concat('%',#{param.idAndName},'%')
+                or ms.composer_ like concat('%',#{param.idAndName},'%'))
+            </if>
+            <if test="param.teacherId != null">
+                and ms.create_by_ = #{param.teacherId}
+            </if>
+            <if test="param.startTime != null">
+                and ms.create_by_ &gt; #{param.startTime}
+            </if>
+            <if test="param.endTime != null">
+                and ms.create_by_ &lt; #{param.endTime}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectAuditPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherMusicSheetVo">
+        select
+        ms.create_by_ as teacherId
+        ,su.username_ as username
+        ,su.phone_ as phone
+        ,ms.id_ as musicSheetId
+        ,ms.music_sheet_name_ as musicSheetName
+        ,ms.composer_ as composer
+        ,ms.music_tag_ as musicTag
+        ,(select group_concat(mt.name_) from music_tag mt
+        where find_in_set(mt.id_,ms.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        ,ms.play_speed_ as playSpeed
+        ,ms.music_price_ as musicPrice
+        ,ms.create_time_ as createTime
+        ,ms.audit_status_ as auditStatus
+        ,su.username_ as auditName
+        from music_sheet ms
+        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>
+            ms.user_id_ &gt; 0
+            <if test="param.idAndName != null and param.idAndName != ''">
+                and (su.id_ like concat('%',#{param.idAndName} ,'%')
+                or su.username_ like concat('%',#{param.idAndName},'%')
+                or su.phone_ like concat('%',#{param.idAndName},'%'))
+            </if>
+            <if test="param.auditName != null and param.auditName != ''">
+                and su2.username_ like concat('%',#{param.auditName},'%')
+            </if>
+            <if test="param.startTime != null">
+                and ms.create_by_ &gt; #{param.startTime}
+            </if>
+            <if test="param.endTime != null">
+                and ms.create_by_ &lt; #{param.endTime}
+            </if>
+        </where>
+    </select>
 </mapper>

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

@@ -76,6 +76,7 @@ public class MusicSheetController extends BaseController {
         }
 
         musicSheetDto.setUserId(sysUser.getId());
+        musicSheetDto.setAuditStatus(AuditEnum.AUDITING);
         List<MusicSheetAccompaniment> list;
         if (!AudioTypeEnum.MIDI.getCode().equals(musicSheetDto.getAudioType().getCode())){
             list = musicSheetDto.getBackground();
@@ -86,7 +87,6 @@ public class MusicSheetController extends BaseController {
         } else {
             MusicSheet musicSheet = new MusicSheet();
             BeanUtils.copyProperties(musicSheetDto, musicSheet);
-            musicSheet.setAuditStatus(AuditEnum.AUDITING);
             musicSheet.setCreateBy(sysUser.getId());
             musicSheet.setCreateTime(new Date());
             musicSheet.setState(StateEnum.STOP);
@@ -104,7 +104,6 @@ public class MusicSheetController extends BaseController {
         }
         // 设置只查老师用户 状态为启用
         query.setCreateBy(sysUser.getId());
-        query.setState(StateEnum.ENABLE);
 
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(musicSheetVoIPage));