基于SpringBoot音乐翻唱网站的设计与实现

Posted 程序员springmeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于SpringBoot音乐翻唱网站的设计与实现相关的知识,希望对你有一定的参考价值。

今天气炸我了!

在网上刷到两个信息:二本不要报计算机!

二本不能报计算机,我特么真第一次听说!

我本硕都是双非,我周围有很多的同学,从双非读到了名校计算机的博士甚至博士后。

尽管进互联网大厂很难。是的,我承认这个概率很低。但是他们没进互联网大厂很多都有get到招聘的信息,然后不知道如何准备校招,如果他们知道刷题、刷项目、突击其他基础有很大可能进大厂的。

我看了不建议二本报计算机专业的自媒体人都不是本专业的。那真的不要乱说。不能为了流量,啥都乱说吧!就算本科不好,你完全可以考研啊!

我从本硕到工作,一直从事计算机的工作,我可以负责任地告诉大家,只要你努力上进学习,完全可以在二线城市买车买房,即时家里不帮助你!

你可以去看看程序员的工资是多少!

当然程序员行业也有些问题,例如:996、改bug,呆板……

但是相对生化环材的天坑专业好多了!

当然有些牛b的专业,例如金融!

但对普通人来说更难!

今天手撸一个音乐系统,springboot框架,数据库mysql,核心的介绍如下所示。

1,系统的界面演示











2,系统核心代码演示

/**
 * 小孟v:jishulearn
 */
@RequestMapping("config")
@RestController
public class ConfigController
	
	@Autowired
	private ConfigService configService;

	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ConfigEntity config)
        EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
    	PageUtils page = configService.queryPage(params);
        return R.ok().put("data", page);
    
    
	/**
     * 列表
     */
    @IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ConfigEntity config)
        EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
    	PageUtils page = configService.queryPage(params);
        return R.ok().put("data", page);
    

    /**
     * 信息
     */
    @RequestMapping("/info/id")
    public R info(@PathVariable("id") String id)
        ConfigEntity config = configService.selectById(id);
        return R.ok().put("data", config);
    
    
    /**
     * 详情
     */
    @IgnoreAuth
    @RequestMapping("/detail/id")
    public R detail(@PathVariable("id") String id)
        ConfigEntity config = configService.selectById(id);
        return R.ok().put("data", config);
    
    
    /**
     * 根据name获取信息
     */
    @RequestMapping("/info")
    public R infoByName(@RequestParam String name)
        ConfigEntity config = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
        return R.ok().put("data", config);
    
    
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody ConfigEntity config)
//    	ValidatorUtils.validateEntity(config);
    	configService.insert(config);
        return R.ok();
    

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ConfigEntity config)
//        ValidatorUtils.validateEntity(config);
        configService.updateById(config);//全部更新
        return R.ok();
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids)
    	configService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    


/**
 * 小孟v:jishulearn
 */
@RestController
public class CommonController
	@Autowired
	private CommonService commonService;
	
	@Autowired
	private ConfigService configService;
	
	private static AipFace client = null;
	
	private static String BAIDU_DITU_AK = null;
	
	@RequestMapping("/location")
	public R location(String lng,String lat) 
		if(BAIDU_DITU_AK==null) 
			BAIDU_DITU_AK = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "baidu_ditu_ak")).getValue();
			if(BAIDU_DITU_AK==null) 
				return R.error("请在配置管理中正确配置baidu_ditu_ak");
			
		
		Map<String, String> map = BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat);
		return R.ok().put("data", map);
	
	
	/**
	 * 人脸比对
	 * 
	 * @param face1 人脸1
	 * @param face2 人脸2
	 * @return
	 */
	@RequestMapping("/matchFace")
	public R matchFace(String face1, String face2) 
		if(client==null) 
			/*String AppID = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "AppID")).getValue();*/
			String APIKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "APIKey")).getValue();
			String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getValue();
			String token = BaiduUtil.getAuth(APIKey, SecretKey);
			if(token==null) 
				return R.error("请在配置管理中正确配置APIKey和SecretKey");
			
			client = new AipFace(null, APIKey, SecretKey);
			client.setConnectionTimeoutInMillis(2000);
			client.setSocketTimeoutInMillis(60000);
		
		JSONObject res = null;
		try 
			File file1 = new File(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+face1);
			File file2 = new File(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+face2);
			String img1 = Base64Util.encode(FileUtil.FileToByte(file1));
			String img2 = Base64Util.encode(FileUtil.FileToByte(file2));
			MatchRequest req1 = new MatchRequest(img1, "BASE64");
			MatchRequest req2 = new MatchRequest(img2, "BASE64");
			ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>();
			requests.add(req1);
			requests.add(req2);
			res = client.match(requests);
			System.out.println(res.get("result"));
		 catch (FileNotFoundException e) 
			e.printStackTrace();
			return R.error("文件不存在");
		 catch (IOException e) 
			e.printStackTrace();
		 
		return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString()));
	
    
	/**
	 * 获取table表中的column列表(联动接口)
	 * @param table
	 * @param column
	 * @return
	 */
	@IgnoreAuth
	@RequestMapping("/option/tableName/columnName")
	public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) 
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		if(StringUtils.isNotBlank(level)) 
			params.put("level", level);
		
		if(StringUtils.isNotBlank(parent)) 
			params.put("parent", parent);
		
		List<String> data = commonService.getOption(params);
		return R.ok().put("data", data);
	
	
	/**
	 * 根据table中的column获取单条记录
	 * @param table
	 * @param column
	 * @return
	 */
	@IgnoreAuth
	@RequestMapping("/follow/tableName/columnName")
	public R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) 
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		params.put("columnValue", columnValue);
		Map<String, Object> result = commonService.getFollowByOption(params);
		return R.ok().put("data", result);
	
	
	/**
	 * 修改table表的sfsh状态
	 * @param table
	 * @param map
	 * @return
	 */
	@RequestMapping("/sh/tableName")
	public R sh(@PathVariable("tableName") String tableName, @RequestBody Map<String, Object> map) 
		map.put("table", tableName);
		commonService.sh(map);
		return R.ok();
	
	
	/**
	 * 获取需要提醒的记录数
	 * @param tableName
	 * @param columnName
	 * @param type 1:数字 2:日期
	 * @param map
	 * @return
	 */
	@IgnoreAuth
	@RequestMapping("/remind/tableName/columnName/type")
	public R remindCount(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) 
		map.put("table", tableName);
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) 
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) 
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			
			if(map.get("remindend")!=null) 
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			
		
		
		int count = commonService.remindCount(map);
		return R.ok().put("count", count);
	
	
	/**
	 * 单列求和
	 */
	@IgnoreAuth
	@RequestMapping("/cal/tableName/columnName")
	public R cal(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) 
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		Map<String, Object> result = commonService.selectCal(params);
		return R.ok().put("data", result);
	
	
	/**
	 * 分组统计
	 */
	@IgnoreAuth
	@RequestMapping("/group/tableName/columnName")
	public R group(@PathVariable("tableName") String t

以上是关于基于SpringBoot音乐翻唱网站的设计与实现的主要内容,如果未能解决你的问题,请参考以下文章

java基于springboot+vue音乐播放网站—计算机毕业设计

基于SpringBoot+MyBatis+Vue实现的音乐网站

毕业设计:基于Springboot + Vue仿网易云音乐网站开源

基于ssm的在线音乐播放网站的设计与实现

基于JSP的音乐网站的设计与实现

基于SSM的音乐视频网站的设计与实现