qq daily
This commit is contained in:
parent
ab33bbfc74
commit
ae21cc7133
18
pom.xml
18
pom.xml
@ -31,6 +31,18 @@
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
<version>2.2.6.RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
<version>2.2.6.RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
@ -95,12 +107,6 @@
|
||||
<artifactId>httpclient</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.xuxueli</groupId>
|
||||
<artifactId>xxl-job-core</artifactId>
|
||||
<version>2.4.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
|
||||
@ -1,42 +1,42 @@
|
||||
package top.baogutang.music.config;
|
||||
|
||||
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: nikooh
|
||||
* @date: 2024/06/14 : 15:29
|
||||
*/
|
||||
@Slf4j
|
||||
@Configuration
|
||||
//@ConditionalOnProperty(value = "spring.profiles.active", havingValue = "prod")
|
||||
public class XxlJobConfig {
|
||||
|
||||
@Value("${xxl.job.admin.addresses}")
|
||||
private String adminAddresses;
|
||||
|
||||
@Value("${xxl.job.executor.appName}")
|
||||
private String appName;
|
||||
|
||||
@Value("${xxl.job.executor.accessKey}")
|
||||
private String accessKey;
|
||||
|
||||
|
||||
@Bean
|
||||
public XxlJobSpringExecutor xxlJobExecutor() {
|
||||
log.info(">>>>>>>>>>> xxl-job config init start <<<<<<<<<<");
|
||||
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
|
||||
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
|
||||
xxlJobSpringExecutor.setAppname(appName);
|
||||
xxlJobSpringExecutor.setAccessToken(accessKey);
|
||||
log.info(">>>>>>>>>>> xxl-job config init success <<<<<<<<<<");
|
||||
return xxlJobSpringExecutor;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//package top.baogutang.music.config;
|
||||
//
|
||||
//import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.springframework.beans.factory.annotation.Value;
|
||||
//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
//import org.springframework.context.annotation.Bean;
|
||||
//import org.springframework.context.annotation.Configuration;
|
||||
//
|
||||
///**
|
||||
// * @description:
|
||||
// * @author: nikooh
|
||||
// * @date: 2024/06/14 : 15:29
|
||||
// */
|
||||
//@Slf4j
|
||||
//@Configuration
|
||||
////@ConditionalOnProperty(value = "spring.profiles.active", havingValue = "prod")
|
||||
//public class XxlJobConfig {
|
||||
//
|
||||
// @Value("${xxl.job.admin.addresses}")
|
||||
// private String adminAddresses;
|
||||
//
|
||||
// @Value("${xxl.job.executor.appName}")
|
||||
// private String appName;
|
||||
//
|
||||
// @Value("${xxl.job.executor.accessKey}")
|
||||
// private String accessKey;
|
||||
//
|
||||
//
|
||||
// @Bean
|
||||
// public XxlJobSpringExecutor xxlJobExecutor() {
|
||||
// log.info(">>>>>>>>>>> xxl-job config init start <<<<<<<<<<");
|
||||
// XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
|
||||
// xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
|
||||
// xxlJobSpringExecutor.setAppname(appName);
|
||||
// xxlJobSpringExecutor.setAccessToken(accessKey);
|
||||
// log.info(">>>>>>>>>>> xxl-job config init success <<<<<<<<<<");
|
||||
// return xxlJobSpringExecutor;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
package top.baogutang.music.controller;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import top.baogutang.music.domain.Results;
|
||||
import top.baogutang.music.schedule.QQDailyMusicHandler;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
*
|
||||
* @description:
|
||||
*
|
||||
* @author: N1KO
|
||||
* @date: 2024/12/23 : 15:26
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/music/trigger")
|
||||
public class MusicTriggerController {
|
||||
|
||||
@Resource
|
||||
private QQDailyMusicHandler qqDailyMusicHandler;
|
||||
|
||||
@GetMapping("/daily")
|
||||
public Results<Void> triggerDaily() {
|
||||
qqDailyMusicHandler.fetchDailyAndSave();
|
||||
return Results.ok();
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,7 @@ package top.baogutang.music.properties;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
@ -14,6 +15,7 @@ import org.springframework.stereotype.Component;
|
||||
@Data
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "baogutang.qq-music")
|
||||
@RefreshScope
|
||||
public class QQMusicProperties {
|
||||
|
||||
private String queryBaseUrl;
|
||||
|
||||
@ -7,6 +7,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
import org.jsoup.nodes.Element;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@ -40,6 +41,7 @@ import java.util.zip.InflaterInputStream;
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RefreshScope
|
||||
public class QQDailyMusicHandler extends DailyMusicHandler {
|
||||
|
||||
@Resource
|
||||
|
||||
@ -1,85 +0,0 @@
|
||||
|
||||
server:
|
||||
port: 8105
|
||||
|
||||
spring:
|
||||
profiles:
|
||||
active: ${SPRING_ACTIVE_PROFILE:local}
|
||||
application:
|
||||
name: baogutang-music
|
||||
datasource:
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://117.72.78.133:3306/baogutang-music?characterEncoding=UTF-8
|
||||
username: baogutang-music
|
||||
password: xCcFfY3zXh8sC28e
|
||||
hikari:
|
||||
max-lifetime: 60000
|
||||
redis:
|
||||
host: 117.72.78.133
|
||||
port: 6379
|
||||
password: admin@pwdpwd
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 2048MB
|
||||
max-request-size: 32MB
|
||||
resources:
|
||||
static-locations: classpath:/templates/
|
||||
|
||||
thread:
|
||||
pool:
|
||||
core: 10
|
||||
max: 10
|
||||
alive: 10
|
||||
capacity: 200
|
||||
|
||||
|
||||
|
||||
knife4j:
|
||||
enable: true
|
||||
|
||||
|
||||
baogutang:
|
||||
music:
|
||||
zip:
|
||||
# base-path: /downloads/music/zips
|
||||
base-path: /Users/nikooh/Desktop/downloads/music/zips
|
||||
net-ease-music:
|
||||
query-base-url: http://117.72.78.133:5173/search?keywords=%s&limit=%d&offset=%d&type=%d
|
||||
playlist-base-url: http://117.72.78.133:5173/playlist/track/all?id=%d
|
||||
album-base-url: http://117.72.78.133:5173/album?id=%d
|
||||
artist-base-url: http://117.72.78.133:5173/artists?id=%d
|
||||
download-base-url: https://api.sooooooooooooooooootheby.top/Netease_url/Song_V1?level=jymaster&type=json&ids=%d
|
||||
download-path: /downloads/music
|
||||
# download-path: /Users/nikooh/Desktop/downloads/music
|
||||
qq-music:
|
||||
query-base-url: http://117.72.78.133:5175/search?key=%s&pageNo=%d&pageSize=%d&t=%d
|
||||
playlist-base-url: http://117.72.78.133:5175/songlist?id=%s
|
||||
album-base-url: http://117.72.78.133:5175/album/songs?albummid=%s
|
||||
download-base-url1: http://117.72.78.133:5176/song?url=https://y.qq.com/n/ryqq/songDetail/%s
|
||||
download-base-url2: http://117.72.78.133:5176/song?url=https://u.y.qq.com/n/ryqq/songDetail/%s
|
||||
daily-music-base-url: https://c.y.qq.com/node/musicmac/v6/index.html
|
||||
cookie: "RK=rUvZdxsXGU; ptcz=da14a0149395412d1ccada68745ff33321cfa01aad39b07aa3fcecae55395d97; pac_uid=0_eTHZsZHX7ba4M; _qimei_uuid42=18b140b1a2a100af5a8d7679cb48e01d678edc347b; _qimei_fingerprint=caa870019e5e1e0d9dc30786b07078ba; _qimei_h38=e25542625a8d7679cb48e01d03000006d18b14; _qimei_q36=; pgv_pvid=7363669324; fqm_pvqid=7c5bc23f-c99a-4341-ba32-643f6cfc30f2; ts_refer=www.google.com.hk/; ts_uid=3998702427; fqm_sessionid=ab065cb0-5652-4f77-a339-baf6a8afdb5f; pgv_info=ssid=s5380242360; login_type=1; ts_last=y.qq.com/n/ryqq/search; wxopenid=; uin=940879015; euin=NKvzNeSqoe6k; music_ignore_pskey=202306271436Hn@vBj; psrf_qqunionid=538FF9C402100468B3B9CB56FB49CA8B; wxunionid=; tmeLoginType=2; qqmusic_key=Q_H_L_63k3NJFbLtBHdyzgGBtfNP6_ZAiH0BPaf9vLQMUFOLe-WVnuOWGp-JUh7sgP-oSjrmFnzawQiTS69LcLVMFvs9w; psrf_qqopenid=EBFCD19499A42B5DFF06DE7BB15B3D98; psrf_qqrefresh_token=E2D138702A05B6A1D0582E516C18B595; qm_keyst=Q_H_L_63k3NJFbLtBHdyzgGBtfNP6_ZAiH0BPaf9vLQMUFOLe-WVnuOWGp-JUh7sgP-oSjrmFnzawQiTS69LcLVMFvs9w; psrf_musickey_createtime=1734917905; psrf_qqaccess_token=372F8B12E8910A482D80FDB5E3190D75; wxrefresh_token=; psrf_access_token_expiresAt=1735522705"
|
||||
daily-music-search-url: http://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg?type=1&utf8=1&loginUin=0&disstid=%s
|
||||
download-path: /downloads/music
|
||||
# download-path: /Users/nikooh/Desktop/downloads/music
|
||||
|
||||
kugou-music:
|
||||
query-base-url: http://117.72.78.133:5177/search?keywords=%s&page=%d&pagesize=%d&type=%s
|
||||
playlist-base-url: http://117.72.78.133:5177/playlist/track/all?id=%s&pagesize=200
|
||||
album-base-url: http://117.72.78.133:5177/album/songs?id=%s&pagesize=50
|
||||
artist-base-url: http://117.72.78.133:5177/artist/audios?id=%s&sort=hot&pagesize=%d
|
||||
download-base-url: http://117.72.78.133:5177/song/url?hash=%s&quality=viper_clear
|
||||
download-path: /downloads/music
|
||||
# download-path: /Users/nikooh/Desktop/downloads/music
|
||||
|
||||
|
||||
xxl:
|
||||
job:
|
||||
admin:
|
||||
addresses: http://117.72.78.133:8900/xxl-job-admin
|
||||
executor:
|
||||
appName: ${spring.application.name}
|
||||
accessKey: WJtjy1217
|
||||
|
||||
|
||||
|
||||
19
src/main/resources/bootstrap-prod.yml
Normal file
19
src/main/resources/bootstrap-prod.yml
Normal file
@ -0,0 +1,19 @@
|
||||
spring:
|
||||
application:
|
||||
name: baogutang-music
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 117.72.78.133:8848
|
||||
config:
|
||||
server-addr: 117.72.78.133:8848
|
||||
namespace: 40b10af8-f553-41ae-8ff1-8cedf2272da0
|
||||
file-extension: yml
|
||||
refresh-enabled: true
|
||||
group: DEFAULT_GROUP
|
||||
username: nacos
|
||||
password: 199312
|
||||
# shared-configs:
|
||||
# - data-id: goods-blindbox.yml
|
||||
# refresh: true
|
||||
|
||||
5
src/main/resources/bootstrap.yml
Normal file
5
src/main/resources/bootstrap.yml
Normal file
@ -0,0 +1,5 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: prod
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
Loading…
Reference in New Issue
Block a user