Explorar o código

add:曲目新增

liujunchi %!s(int64=3) %!d(string=hai) anos
pai
achega
8908981d76
Modificáronse 15 ficheiros con 422 adicións e 127 borrados
  1. 44 54
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java
  2. 14 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java
  3. 61 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicSheetSearch.java
  4. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicTagSearch.java
  5. 35 22
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java
  6. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicTag.java
  7. 43 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AuditEnum.java
  8. 42 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ChargeTypeEnum.java
  9. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/StateEnum.java
  10. 20 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java
  11. 24 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  12. 7 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicTagServiceImpl.java
  13. 48 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVo.java
  14. 77 34
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  15. 3 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicTagMapper.xml

+ 44 - 54
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -1,25 +1,32 @@
 package com.yonge.cooleshow.admin.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import javax.validation.Valid;
+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.MusicSheetDto;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
-import com.yonge.cooleshow.biz.dal.support.Query;
+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.support.Condition;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.page.PageInfo;
+import com.yonge.toolset.utils.string.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import jodd.util.CollectionUtil;
 import org.springframework.beans.BeanUtils;
-import org.springframework.web.bind.annotation.*;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import com.yonge.cooleshow.common.controller.BaseController;
-import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
 
+import javax.validation.Valid;
 import java.util.Date;
 import java.util.List;
 
@@ -47,32 +54,32 @@ public class MusicSheetController extends BaseController {
             return failed("用户信息获取失败");
         }
 
-        if (musicSheetDto.getChargeType()==2 && musicSheetDto.getMusicPrice()==null){
+        if (ChargeTypeEnum.CHARGE.getCode().equals(musicSheetDto.getChargeType().getCode())
+                && musicSheetDto.getMusicPrice()==null){
             return failed("此曲谱为收费曲谱,需要提供价格");
         }
 
-        List<MusicSheetAccompaniment> list = null;
+        List<MusicSheetAccompaniment> list;
         if (!musicSheetDto.getAudioType().equalsIgnoreCase("midi")){
             list = musicSheetDto.getBackground();
-            if (list.isEmpty()){
+            if (CollectionUtils.isEmpty(list)){
                 return failed("mp3音频文件对应的主音或者伴奏文件没有提供");
             }
+            musicSheetService.saveMp3AndAccompaniment(musicSheetDto,sysUser);
         } else {
             MusicSheet musicSheet = new MusicSheet();
             BeanUtils.copyProperties(musicSheetDto, musicSheet);
-            musicSheet.setAuditStatus(0);
+            musicSheet.setAuditStatus(AuditEnum.AUDITING);
             musicSheet.setCreateBy(sysUser.getId());
             musicSheet.setUserId(sysUser.getId());
             musicSheet.setCreateTime(new Date());
+            musicSheet.setState(StateEnum.STOP);
             musicSheetService.save(musicSheet);
         }
 
-        boolean result = musicSheetService.saveMp3AndAccompaniment(musicSheetDto,sysUser);
-        if (result) {
-            return succeed("新增曲谱成功");
-        } else {
-            return failed("新增曲谱失败");
-        }
+
+        return succeed("新增曲谱成功");
+
     }
 
     @ApiOperation(value = "删除", httpMethod="POST", consumes="application/json", produces="application/json")
@@ -114,43 +121,26 @@ public class MusicSheetController extends BaseController {
 
     @ApiOperation(value = "分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/list", consumes="application/json", produces="application/json")
-    public HttpResponseResult<Object> list(@RequestBody MusicSheetDto musicSheetDto, Query query) {
+    public HttpResponseResult<PageInfo<MusicSheetVo>> list(@RequestBody MusicSheetSearch query) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
 
-        int pageNo;
-        int pageSize;
+        IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectPage(Condition.getPage(query), query);
+        return succeed(Condition.pageInfo(musicSheetVoIPage));
+    }
 
-        try {
-            if (musicSheetDto.getPageNo() ==null || musicSheetDto.getPageNo() ==0) {
-                pageNo = 1;
-            } else {
-                pageNo = musicSheetDto.getPageNo();
-            }
-            if (musicSheetDto.getPageSize() ==null || musicSheetDto.getPageSize() ==0) {
-                pageSize = 10;
-            } else {
-                pageSize = musicSheetDto.getPageSize();
-            }
-            String search;
-            if(musicSheetDto.getSearch()==null){
-                search = "";
-            } else {
-                search = musicSheetDto.getSearch();
-            }
-            LambdaQueryWrapper<MusicSheet> lambdaQueryWrapper = Wrappers.lambdaQuery();
-            lambdaQueryWrapper.or().like(MusicSheet::getMusicSheetName , search);
-            lambdaQueryWrapper.or().like(MusicSheet::getComposer , search);
-            lambdaQueryWrapper.or().like(MusicSheet::getMusicTag , search);
-            lambdaQueryWrapper.or().like(MusicSheet::getMusicSubject , search);
-
-            Page<MusicSheet> page = new Page<>(pageNo,pageSize);
-            return succeed(musicSheetService.page(page, lambdaQueryWrapper));
-        } catch (Exception e) {
-            e.printStackTrace();
-            return HttpResponseResult.failed(e.getMessage());
+
+    /**
+     * 启用/停用
+     */
+    @PostMapping("/state")
+    @ApiOperation(value = "启用/停用", notes = "传入id")
+    public HttpResponseResult<Boolean> state(@ApiParam(value = "曲目编号", required = true) @RequestParam Long id) {
+        if (StringUtil.isEmpty(id)) {
+            return failed("参数不能为空");
         }
+        return status(musicSheetService.state(id));
     }
 }

+ 14 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -1,7 +1,15 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicTagSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.MusicTagVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * MusicSheetDao数据库访问类
@@ -10,5 +18,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @version v1.0
  **/
 public interface MusicSheetDao extends BaseMapper<MusicSheet> {
-
+    /**
+     * 分页查询
+     *
+     * @return com.yonge.cooleshow.biz.dal.vo.MusicSheetVo
+     */
+    List<MusicSheetVo> selectPage(@Param("page") IPage page, @Param("param") MusicSheetSearch query);
 }

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

@@ -0,0 +1,61 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.yonge.cooleshow.biz.dal.enums.StateEnum;
+import com.yonge.cooleshow.biz.dal.support.Query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author: liujunchi
+ * @date: 2022-03-30
+ */
+@ApiModel(value = "MusicSheetSearch对象", description = "曲目表查询对象")
+public class MusicSheetSearch  extends Query {
+
+    @ApiModelProperty("曲目编号/名称")
+    private String idAndName;
+
+    @ApiModelProperty("标签id(多个逗号隔开)")
+    private String musicTagIds;
+
+    @ApiModelProperty("声部id(多个逗号隔开)")
+    private String subjectIds;
+
+
+    @ApiModelProperty("曲目状态(0:停用,1:启用))")
+    private StateEnum state;
+
+    public String getIdAndName() {
+        return idAndName;
+    }
+
+    public void setIdAndName(String idAndName) {
+        this.idAndName = idAndName;
+    }
+
+    public String getMusicTagIds() {
+        return musicTagIds;
+    }
+
+    public void setMusicTagIds(String musicTagIds) {
+        this.musicTagIds = musicTagIds;
+    }
+
+    public String getSubjectIds() {
+        return subjectIds;
+    }
+
+    public void setSubjectIds(String subjectIds) {
+        this.subjectIds = subjectIds;
+    }
+
+    public StateEnum getState() {
+        return state;
+    }
+
+    public void setState(StateEnum state) {
+        this.state = state;
+    }
+}

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicTagSearch.java

@@ -16,7 +16,7 @@ public class MusicTagSearch extends Query{
 	@ApiModelProperty("标签编号/名称")
 	private String idAndName;
 
-	@ApiModelProperty("标签状态(0:启用,1:禁用)")
+	@ApiModelProperty("标签状态(0:禁用,1:启用)")
 	private StateEnum state;
 
 	public String getIdAndName() {

+ 35 - 22
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.common.entity.BaseEntity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -63,20 +64,25 @@ public class MusicSheet extends BaseEntity {
 
     @TableField("can_evaluate_")
     @ApiModelProperty(value = "是否可以评测(0:否;1:是)")
-    private Integer canEvaluate;  //是否可以评测(0:否;1:是)
+    private YesOrNoEnum canEvaluate;  //是否可以评测(0:否;1:是)
 
     @TableField("show_fingering_")
     @ApiModelProperty(value = "是否展示指法(0:否;1:是)")
-    private Integer showFingering;  //是否展示指法(0:否;1:是)
+    private YesOrNoEnum showFingering;  //是否展示指法(0:否;1:是)
 
     @NotNull(message = "收费类型不能为空!")
     @TableField("charge_type_")
     @ApiModelProperty(value = "收费类型(0:免费;1:会员;2:单曲收费)")
-    private Integer chargeType;  //收费类型(0:免费;1:会员;2:单曲收费)
+    private ChargeTypeEnum chargeType;  //收费类型(0:免费;1:会员;2:单曲收费)
+
+
+	@TableField("state_")
+	@ApiModelProperty(value = "曲目状态(0:停用,1:启用)")
+	private StateEnum state;
 
     @TableField("audit_status_")
     @ApiModelProperty(value = "审核状态(0:待审核;1:通过;2:未通过)")
-    private Integer auditStatus;  //审核状态(0:待审核;1:通过;2:未通过)
+    private AuditEnum auditStatus;  //审核状态(0:待审核;1:通过;2:未通过)
 
     @TableField("sort_number_")
     @ApiModelProperty(value = "排序号")
@@ -84,11 +90,11 @@ public class MusicSheet extends BaseEntity {
 
     @TableField("top_flag_")
     @ApiModelProperty(value = "是否置顶(0:否;1:是)")
-    private Integer topFlag;  //是否置顶(0:否;1:是)
+    private YesOrNoEnum topFlag;  //是否置顶(0:否;1:是)
 
     @TableField("hot_flag_")
     @ApiModelProperty(value = "是否热门曲谱(0:否;1:是)")
-    private Integer hotFlag;  //是否热门曲谱(0:否;1:是)
+    private YesOrNoEnum hotFlag;  //是否热门曲谱(0:否;1:是)
 
     @TableField("music_price_")
     @ApiModelProperty(value = "曲谱价格")
@@ -106,7 +112,7 @@ public class MusicSheet extends BaseEntity {
 
     @TableField("has_beat_")
     @ApiModelProperty(value = "是否自带节拍器(0:否;1:是)")
-    private Integer hasBeat;  //是否自带节拍器(0:否;1:是)
+    private YesOrNoEnum hasBeat;  //是否自带节拍器(0:否;1:是)
 
     @TableField("create_time_")
     @ApiModelProperty(value = "创建时间")
@@ -201,39 +207,39 @@ public class MusicSheet extends BaseEntity {
 	    return this.playSpeed;
 	}
 
-	public MusicSheet setCanEvaluate(Integer canEvaluate) {
+	public MusicSheet setCanEvaluate(YesOrNoEnum canEvaluate) {
 	    this.canEvaluate = canEvaluate;
 	    return this;
 	}
 
-	public Integer getCanEvaluate() {
+	public YesOrNoEnum getCanEvaluate() {
 	    return this.canEvaluate;
 	}
 
-	public MusicSheet setShowFingering(Integer showFingering) {
+	public MusicSheet setShowFingering(YesOrNoEnum showFingering) {
 	    this.showFingering = showFingering;
 	    return this;
 	}
 
-	public Integer getShowFingering() {
+	public YesOrNoEnum getShowFingering() {
 	    return this.showFingering;
 	}
 
-	public MusicSheet setChargeType(Integer chargeType) {
+	public MusicSheet setChargeType(ChargeTypeEnum chargeType) {
 	    this.chargeType = chargeType;
 	    return this;
 	}
 
-	public Integer getChargeType() {
+	public ChargeTypeEnum getChargeType() {
 	    return this.chargeType;
 	}
 
-	public MusicSheet setAuditStatus(Integer auditStatus) {
+	public MusicSheet setAuditStatus(AuditEnum auditStatus) {
 	    this.auditStatus = auditStatus;
 	    return this;
 	}
 
-	public Integer getAuditStatus() {
+	public AuditEnum getAuditStatus() {
 	    return this.auditStatus;
 	}
 
@@ -246,21 +252,21 @@ public class MusicSheet extends BaseEntity {
 	    return this.sortNumber;
 	}
 
-	public MusicSheet setTopFlag(Integer topFlag) {
+	public MusicSheet setTopFlag(YesOrNoEnum topFlag) {
 	    this.topFlag = topFlag;
 	    return this;
 	}
 
-	public Integer getTopFlag() {
+	public YesOrNoEnum getTopFlag() {
 	    return this.topFlag;
 	}
 
-	public MusicSheet setHotFlag(Integer hotFlag) {
+	public MusicSheet setHotFlag(YesOrNoEnum hotFlag) {
 	    this.hotFlag = hotFlag;
 	    return this;
 	}
 
-	public Integer getHotFlag() {
+	public YesOrNoEnum getHotFlag() {
 	    return this.hotFlag;
 	}
 
@@ -291,12 +297,12 @@ public class MusicSheet extends BaseEntity {
 	    return this.xmlFileUrl;
 	}
 
-	public MusicSheet setHasBeat(Integer hasBeat) {
+	public MusicSheet setHasBeat(YesOrNoEnum hasBeat) {
 	    this.hasBeat = hasBeat;
 	    return this;
 	}
 
-	public Integer getHasBeat() {
+	public YesOrNoEnum getHasBeat() {
 	    return this.hasBeat;
 	}
 
@@ -345,8 +351,15 @@ public class MusicSheet extends BaseEntity {
 	    return this.remark;
 	}
 
+	public StateEnum getState() {
+		return state;
+	}
+
+	public void setState(StateEnum state) {
+		this.state = state;
+	}
 
-    @Override
+	@Override
     public String toString() {
         return ToStringBuilder.reflectionToString(this);
     }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicTag.java

@@ -33,7 +33,7 @@ public class MusicTag implements Serializable {
     private String name;
 
     @TableField(value = "state_")
-    @ApiModelProperty(value = "标签状态(0:启用,1:禁用)")
+    @ApiModelProperty(value = "标签状态(0:禁用,1:启用)")
     private StateEnum state;
 
 	@TableField(value = "del_flag_")

+ 43 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AuditEnum.java

@@ -0,0 +1,43 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.cooleshow.common.enums.BaseEnum;
+
+/**
+ * Description 审核状态(0:待审核;1:通过;2:未通过)
+ *
+ * @author: liujunchi
+ * @date: 2022-03-30
+ */
+public enum AuditEnum implements BaseEnum<Integer,AuditEnum> {
+
+
+    AUDITING(0,"待审核"),
+    OPEN(1,"通过"),
+    REJECT(2,"未通过");
+    @EnumValue
+    private Integer code;
+    private String msg;
+
+    AuditEnum(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return this.code;
+    }
+}

+ 42 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/ChargeTypeEnum.java

@@ -0,0 +1,42 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.cooleshow.common.enums.BaseEnum;
+
+/**
+ * Description 收费类型(0:免费;1:会员;2:单曲收费)
+ *
+ * @author: liujunchi
+ * @date: 2022-03-30
+ */
+public enum ChargeTypeEnum implements BaseEnum<Integer,ChargeTypeEnum> {
+
+    FREE(0,"免费"),
+    VIP(1,"会员"),
+    CHARGE(2,"单曲收费");
+    @EnumValue
+    private Integer code;
+    private String msg;
+
+    ChargeTypeEnum(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return this.code;
+    }
+}

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/StateEnum.java

@@ -10,8 +10,8 @@ import com.yonge.cooleshow.common.enums.BaseEnum;
  * @date: 2022-03-30
  */
 public enum StateEnum implements BaseEnum<Integer, StateEnum> {
-    ENABLE(0,"启用"),
-    STOP(1, "停用");
+    STOP(0,"停用"),
+    ENABLE(1, "启用");
     @EnumValue
     private Integer code;
 

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -1,9 +1,12 @@
 package com.yonge.cooleshow.biz.dal.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 
 /**
  * MusicSheetService服务类
@@ -19,4 +22,21 @@ public interface MusicSheetService extends IService<MusicSheet> {
      */
     boolean saveMp3AndAccompaniment(MusicSheetDto musicSheetDto, SysUser sysUser);
 
+
+    /**
+     * 曲目分页查询
+     *
+     * @param page 分页
+     * @param query 查询条件
+     * @return iPage 分页信息
+     */
+    IPage<MusicSheetVo> selectPage(IPage<MusicSheetVo> page, MusicSheetSearch query);
+
+    /**
+     * 曲目状态修改 启用、停用
+     *
+     * @param id 曲目id
+     * @return boolean
+     */
+    boolean state(Long id);
 }

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

@@ -1,13 +1,18 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetAccompanimentDao;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
+import com.yonge.cooleshow.biz.dal.enums.AuditEnum;
+import com.yonge.cooleshow.biz.dal.enums.StateEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetAccompanimentService;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -28,7 +33,7 @@ import java.util.List;
 @Service
 public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet> implements MusicSheetService {
 
-    private final static Logger log = LoggerFactory.getLogger(MusicSheetServiceImpl.class);
+    private static final  Logger log = LoggerFactory.getLogger(MusicSheetServiceImpl.class);
 
     @Autowired
     private MusicSheetDao musicSheetDao;
@@ -46,7 +51,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         MusicSheet musicSheet = new MusicSheet();
         BeanUtils.copyProperties(musicSheetDto, musicSheet);
         //保存主表
-        musicSheet.setAuditStatus(0);
+        musicSheet.setAuditStatus(AuditEnum.AUDITING);
         musicSheet.setCreateBy(sysUser.getId());
         musicSheet.setUserId(sysUser.getId());
         musicSheet.setCreateTime(new Date());
@@ -58,10 +63,24 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         musicSheetAccompanimentService.saveBatch(list);
         count += list.size();
 
-        if (count > 1){
-            return true;
+        return count > 1;
+    }
+
+    @Override
+    public IPage<MusicSheetVo> selectPage(IPage<MusicSheetVo> page, MusicSheetSearch query) {
+        return page.setRecords(baseMapper.selectPage(page, query));
+
+    }
+
+    @Override
+    public boolean state(Long id) {
+        MusicSheet musicSheet = this.getById(id);
+        if (StateEnum.STOP.getCode().equals(musicSheet.getState().getCode())) {
+            musicSheet.setState(StateEnum.ENABLE);
         } else {
-            return false;
+            musicSheet.setState(StateEnum.STOP);
         }
+        return this.updateById(musicSheet);
+
     }
 }

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

@@ -59,15 +59,17 @@ public class MusicTagServiceImpl extends ServiceImpl<MusicTagDao, MusicTag> impl
          musicTagVoIPage.getRecords()
                  .forEach(musicTagVo -> {
                      List<MusicTagVo> childrenList = musicTagMap.get(musicTagVo.getId().toString());
-                     // 如果没有按名称查询 或 父级标签包含了名称 , 展示所有子集 标签列表子集收起
-                     if (StringUtil.isBlank(query.getIdAndName()) || musicTagVo.getName().contains(query.getIdAndName())) {
+                     // 如果没有按名称/编号查询 或 父级标签包含了名称/编号 , 展示所有子集 标签列表子集收起
+                     if (StringUtil.isBlank(query.getIdAndName())
+                             || musicTagVo.getName().contains(query.getIdAndName())
+                             || musicTagVo.getId().toString().contains(query.getIdAndName())) {
                          musicTagVo.setChildren(childrenList);
                      } else {
-                         // 如果名称查询中,父级不包含名称,子集包含,只展示包含的子集,并且默认展开子集列表
+                         // 如果名称查询中,父级不包含名称/编号,子集包含,只展示包含的子集,并且默认展开子集列表
                          musicTagVo.setOpen(OpenEnum.OPEN);
                          List<MusicTagVo> childrenNameList = childrenList.stream()
-                                                                .filter(vo -> vo.getName()
-                                                                                .contains(query.getIdAndName()))
+                                                                .filter(vo -> vo.getName().contains(query.getIdAndName())
+                                                                        ||vo.getId().toString().contains(query.getIdAndName()))
                                                                 .collect(Collectors.toList());
                          musicTagVo.setChildren(childrenNameList);
                      }

+ 48 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVo.java

@@ -0,0 +1,48 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author: liujunchi
+ * @date: 2022-03-30
+ */
+@ApiModel(value = "MusicSheetVo对象", description = "音乐曲目表查询视图对象")
+public class MusicSheetVo extends MusicSheet {
+
+    @ApiModelProperty("添加人")
+    private String addName;
+
+    @ApiModelProperty("标签名")
+    private String musicTagNames;
+
+    @ApiModelProperty("声部名")
+    private String subjectNames;
+
+    public String getAddName() {
+        return addName;
+    }
+
+    public void setAddName(String addName) {
+        this.addName = addName;
+    }
+
+    public String getMusicTagNames() {
+        return musicTagNames;
+    }
+
+    public void setMusicTagNames(String musicTagNames) {
+        this.musicTagNames = musicTagNames;
+    }
+
+    public String getSubjectNames() {
+        return subjectNames;
+    }
+
+    public void setSubjectNames(String subjectNames) {
+        this.subjectNames = subjectNames;
+    }
+}

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

@@ -1,39 +1,82 @@
 <?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">
+<!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.MusicSheetDao">
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.MusicSheet">
+        <id column="id_" jdbcType="BIGINT" property="id"/>
+        <result column="music_sheet_name_" jdbcType="VARCHAR" property="musicSheetName"/>
+        <result column="user_id_" jdbcType="BIGINT" property="userId"/>
+        <result column="composer_" jdbcType="VARCHAR" property="composer"/>
+        <result column="music_subject_" jdbcType="VARCHAR" property="musicSubject"/>
+        <result column="audio_type_" jdbcType="VARCHAR" property="audioType"/>
+        <result column="music_tag_" jdbcType="VARCHAR" property="musicTag"/>
+        <result column="play_speed_" jdbcType="INTEGER" property="playSpeed"/>
+        <result column="can_evaluate_" jdbcType="TINYINT" property="canEvaluate"/>
+        <result column="show_fingering_" jdbcType="TINYINT" property="showFingering"/>
+        <result column="charge_type_" jdbcType="TINYINT" property="chargeType"/>
+        <result column="audit_status_" jdbcType="TINYINT" property="auditStatus"/>
+        <result column="sort_number_" jdbcType="INTEGER" property="sortNumber"/>
+        <result column="top_flag_" jdbcType="TINYINT" property="topFlag"/>
+        <result column="hot_flag_" jdbcType="TINYINT" property="hotFlag"/>
+        <result column="music_price_" jdbcType="DECIMAL" property="musicPrice"/>
+        <result column="audio_file_url_" jdbcType="VARCHAR" property="audioFileUrl"/>
+        <result column="xml_file_url_" jdbcType="VARCHAR" property="xmlFileUrl"/>
+        <result column="has_beat_" jdbcType="TINYINT" property="hasBeat"/>
+        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="create_by_" jdbcType="BIGINT" property="createBy"/>
+        <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="update_by_" jdbcType="BIGINT" property="updateBy"/>
+        <result column="remark_" jdbcType="VARCHAR" property="remark"/>
+    </resultMap>
 
-	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.MusicSheet">
-	     <id column="id_" jdbcType="BIGINT" property="id" />
-		 <result column="music_sheet_name_" jdbcType="VARCHAR" property="musicSheetName" />
-		 <result column="user_id_" jdbcType="BIGINT" property="userId" />
-		 <result column="composer_" jdbcType="VARCHAR" property="composer" />
-		 <result column="music_subject_" jdbcType="VARCHAR" property="musicSubject" />
-		 <result column="audio_type_" jdbcType="VARCHAR" property="audioType" />
-		 <result column="music_tag_" jdbcType="VARCHAR" property="musicTag" />
-		 <result column="play_speed_" jdbcType="INTEGER" property="playSpeed" />
-		 <result column="can_evaluate_" jdbcType="TINYINT" property="canEvaluate" />
-		 <result column="show_fingering_" jdbcType="TINYINT" property="showFingering" />
-		 <result column="charge_type_" jdbcType="TINYINT" property="chargeType" />
-		 <result column="audit_status_" jdbcType="TINYINT" property="auditStatus" />
-		 <result column="sort_number_" jdbcType="INTEGER" property="sortNumber" />
-		 <result column="top_flag_" jdbcType="TINYINT" property="topFlag" />
-		 <result column="hot_flag_" jdbcType="TINYINT" property="hotFlag" />
-		 <result column="music_price_" jdbcType="DECIMAL" property="musicPrice" />
-		 <result column="audio_file_url_" jdbcType="VARCHAR" property="audioFileUrl" />
-		 <result column="xml_file_url_" jdbcType="VARCHAR" property="xmlFileUrl" />
-		 <result column="has_beat_" jdbcType="TINYINT" property="hasBeat" />
-		 <result column="create_time_" jdbcType="TIMESTAMP" property="createTime" />
-		 <result column="create_by_" jdbcType="BIGINT" property="createBy" />
-		 <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime" />
-		 <result column="update_by_" jdbcType="BIGINT" property="updateBy" />
-		 <result column="remark_" jdbcType="VARCHAR" property="remark" />
-	</resultMap>
-
-	<sql id="Base_Column_List">
-		id_, music_sheet_name_, user_id_, composer_, music_subject_, audio_type_, music_tag_, play_speed_, can_evaluate_, show_fingering_, charge_type_, audit_status_, sort_number_, top_flag_, hot_flag_, music_price_, audio_file_url_, xml_file_url_, has_beat_, create_time_, create_by_, update_time_, update_by_, remark_
-	</sql>
-
-
+    <sql id="Base_Column_List">
+        t.id_ as id ,
+        t.music_sheet_name_ as musicSheetName,
+        t.user_id_ as userId,
+        t.composer_ as composer,
+        t.music_subject_ as musicSubject,
+        t.audio_type_ as audioType,
+        t.music_tag_ as musicTag,
+        t.play_speed_ as playSpeed,
+        t.can_evaluate_ as canEvaluate,
+        t.show_fingering_ as showFingering,
+        t.charge_type_ as chargeType,
+        t.state_ as state,
+        t.audit_status_ as auditStatus,
+        t.sort_number_ as sortNumber,
+        t.top_flag_ as topFlag,
+        t.hot_flag_ as hotFlag,
+        t.music_price_ as musicPrice,
+        t.audio_file_url_ as audioFileUrl,
+        t.xml_file_url_ as xmlFileUrl,
+        t.has_beat_ as hasBeat,
+        t.create_time_ as createTime,
+        t.create_by_ as createBy,
+        t.update_time_ as updateTime,
+        t.update_by_ as updateBy,
+        t.remark_ as remark
+    </sql>
 
+    <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
+        select <include refid="Base_Column_List"/>
+        ,su.username_ as addName
+        ,(select group_concat(mt.name_,',') from music_tag mt where mt.id_ in ( t.music_tag_) and mt.del_flag_ = 0) as musicTagNames
+        ,(select group_concat(s.name_,',') from subject s where s.id_ in ( t.music_subject_ )) as subjectNames
+        from music_sheet t
+        left join sys_user su on t.create_by_ = su.id_
+        <where>
+            <if test="param.idAndName != null and param.idAndName != ''">
+                and t.id_ like concat('%',#{param.idAndName},'%')
+            </if>
+            <if test="param.musicTagIds != null and param.musicTagIds != ''">
+                and t.music_tag_ like concat('%',#{param.musicTagIds},'%')
+            </if>
+            <if test="param.subjectIds != null and param.subjectIds != ''">
+                and t.music_subject_ like concat('%',#{param.subjectIds},'%')
+            </if>
+            <if test="param.state != null">
+                and t.state_ = #{param.state}
+            </if>
+        </where>
+    </select>
 </mapper>

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

@@ -48,7 +48,7 @@
                 and ( t.id_ like concat( '%',#{param.idAndName},'%') or
                     t.name_ like  concat ('%',#{param.idAndName},'%') or
                     exists(select mt.parent_tag_id_ from music_tag mt
-                        where mt.name_ like concat( '%',#{param.idAndName},'%')
+                        where (mt.name_ like concat( '%',#{param.idAndName},'%') or mt.id_ like concat('%',#{param.idAndName},'%') )
                         and mt.parent_tag_id_ = t.id_ and mt.del_flag_ = 0
                     )
                     )
@@ -71,7 +71,8 @@
                 and t.state_ = #{state}
             </if>
             <if test="idAndName != null and idAndName != ''">
-                and t.name_ like concat('%',#{idAndName},'%')
+                and ( t.id_ like concat( '%',#{idAndName},'%') or
+                t.name_ like  concat ('%',#{idAndName},'%')
             </if>
         </where>
     </select>