瀏覽代碼

伴奏修改

zouxuan 4 年之前
父節點
當前提交
88fd70d6a7

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreAccompanimentDao.java

@@ -32,4 +32,6 @@ public interface SysMusicScoreAccompanimentDao extends BaseDAO<Integer, SysMusic
      * @return
      */
     List<Subject> querySubjectIds();
+
+    List<Map<String,Integer>> findUrlMap();
 }

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreDao.java

@@ -3,8 +3,15 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 public interface SysMusicScoreDao extends BaseDAO<Integer, SysMusicScore> {
 
-	
+
+    List<Map<String,Integer>> findUrlMap();
+
+    void batchInsert(@Param("list") List<SysMusicScore> sysMusicScoreList);
 }

+ 30 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -6,21 +6,23 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.SysMusicScoreAccompanimentDao;
 import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
 import com.ym.mec.biz.dal.dto.MusicScoreDto;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
+import com.ym.mec.biz.dal.enums.ClientTypeEnum;
 import com.ym.mec.biz.service.SysMusicScoreService;
+import com.ym.mec.biz.service.UploadFileService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -32,6 +34,8 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 	private SysMusicScoreAccompanimentDao sysMusicScoreAccompanimentDao;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private UploadFileService uploadFileService;
 
 	@Override
 	public BaseDAO<Integer, SysMusicScore> getDAO() {
@@ -98,28 +102,46 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 	}
 
 	public static void main(String[] args) {
-		String filepath = "/Users/chenxiaoyu/Documents/workspace/mall";
+		String filepath = "/Users/chenxiaoyu/Downloads/202103";
 		File file = new File(filepath);
 		File[] tempList = file.listFiles();
 		for (int i = 0; i < tempList.length; i++) {
 			File music = tempList[i];
 			if (music.isFile()) {
-				String name = music.getName();
+				String name = music.getName().substring(0,7);
+				System.out.println(name);
 			}
 		}
 	}
 
 	@Override
+	@Transactional
 	public Object importFile() {
-		String filepath = "/Users/chenxiaoyu/Documents/workspace/mall";
+		String filepath = "/Users/chenxiaoyu/Downloads/202103";
 		File file = new File(filepath);
 		File[] tempList = file.listFiles();
+		//获取所有的原音关联
+		Map<String,Integer> urlMap = MapUtil.convertIntegerMap(sysMusicScoreDao.findUrlMap());
+		List<SysMusicScore> musicScoreList = sysMusicScoreDao.findAll(new HashMap<>());
+//		List<SysMusicScoreAccompaniment> sysMusicScoreAccompanimentsList = sysMusicScoreDao.findAll(new HashMap<>());
+		Map<Integer, List<SysMusicScore>> collect = musicScoreList.stream().collect(Collectors.groupingBy(SysMusicScore::getId));
+//		Map<String,Integer> mp3urlMap = MapUtil.convertIntegerMap(sysMusicScoreAccompanimentDao.findUrlMap());
+		List<SysMusicScore> sysMusicScoreList = new ArrayList<>();
 		for (int i = 0; i < tempList.length; i++) {
 			File music = tempList[i];
 			if (music.isFile()) {
-				String name = music.getName();
+				String name = music.getName().substring(0,7);
+				Integer integer = urlMap.get(name);
+				if(integer == null){
+					continue;
+				}
+				SysMusicScore sysMusicScore = collect.get(integer).get(0);
+				sysMusicScore.setClientType(ClientTypeEnum.SMART_PRACTICE);
+				sysMusicScoreList.add(sysMusicScore);
 			}
 		}
+//		sysMusicScoreDao.batchInsert(sysMusicScoreList);
+//		System.out.println(StringUtils.join(sysMusicScoreList.stream().map(e->e.getId()).collect(Collectors.toList()),","));
 		return true;
 	}
 }

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/SysMusicScoreAccompanimentMapper.xml

@@ -192,8 +192,11 @@
 		WHERE sesa.del_flag_ = 0
 		GROUP BY sesa.subject_id_
 	</select>
+	<select id="findUrlMap" resultType="java.util.Map">
+		SELECT SUBSTRING(mp3_url_,46,7) 'key',id_ 'value' FROM sys_music_score_accompaniment
+	</select>
 
-    <sql id="queryPageSql">
+	<sql id="queryPageSql">
 		<where>
 			sesa.del_flag_ = 0
 			<if test="search != null and search != ''">

+ 13 - 2
mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml

@@ -38,7 +38,15 @@
 		INSERT INTO sys_music_score (music_score_categories_id_,name_,type_,speed_,url_,create_user_id_,order_,update_time_,create_time_)
 		VALUES(#{musicScoreCategoriesId},#{name},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{speed},#{url},#{createUserId},#{order},NOW(),NOW())
 	</insert>
-	
+	<insert id="batchInsert">
+		INSERT INTO sys_music_score (music_score_categories_id_,name_,type_,speed_,url_,create_user_id_,order_,update_time_,create_time_)
+		VALUE
+		<foreach collection="list" item="item" separator=",">
+			(#{item.musicScoreCategoriesId},#{item.name},#{item.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		    #{item.speed},#{item.url},#{item.createUserId},#{item.order},NOW(),NOW())
+		</foreach>
+	</insert>
+
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.SysMusicScore">
 		UPDATE sys_music_score <set>
@@ -98,7 +106,10 @@
 		SELECT COUNT(0) FROM sys_music_score ses
 		<include refid="queryPageSql"/>
 	</select>
-	<sql id="queryPageSql">
+    <select id="findUrlMap" resultType="java.util.Map">
+		SELECT SUBSTRING(url_,46,7) 'key',id_ 'value' FROM sys_music_score
+	</select>
+    <sql id="queryPageSql">
 		<where>
 			ses.del_flag_ = 0
 			<if test="categoriesId != null">