├── README.md
├── mysql数据库脚本
└── ssm_trackstacking.sql
├── trackstacking
├── .classpath
├── .project
├── .settings
│ ├── .jsdtscope
│ ├── org.eclipse.jdt.core.prefs
│ ├── org.eclipse.wst.common.component
│ ├── org.eclipse.wst.common.project.facet.core.xml
│ ├── org.eclipse.wst.jsdt.ui.superType.container
│ └── org.eclipse.wst.jsdt.ui.superType.name
├── WebContent
│ ├── META-INF
│ │ ├── MANIFEST.MF
│ │ └── maven
│ │ │ └── top.wangruns
│ │ │ └── track-stacking
│ │ │ ├── pom.properties
│ │ │ └── pom.xml
│ ├── WEB-INF
│ │ ├── jsp
│ │ │ ├── collectedFrame.jsp
│ │ │ ├── headerFrame.jsp
│ │ │ ├── index.jsp
│ │ │ ├── newReviewFrame.jsp
│ │ │ ├── recentFrame.jsp
│ │ │ ├── reviewFrame.jsp
│ │ │ ├── reviewManageSearchFrame.jsp
│ │ │ ├── songManageSearchFrame.jsp
│ │ │ └── userManageSearchFrame.jsp
│ │ ├── lib
│ │ │ ├── activation-1.1.jar
│ │ │ ├── aspectjweaver-1.8.10.jar
│ │ │ ├── c3p0-0.9.1.2.jar
│ │ │ ├── commons-codec-1.10.jar
│ │ │ ├── commons-fileupload-1.3.3.jar
│ │ │ ├── commons-io-2.5.jar
│ │ │ ├── commons-logging-1.2.jar
│ │ │ ├── fastjson-1.2.35.jar
│ │ │ ├── jackson-core-asl-1.9.13.jar
│ │ │ ├── jackson-mapper-asl-1.9.13.jar
│ │ │ ├── javax.mail-1.5.6.jar
│ │ │ ├── jstl-1.2.jar
│ │ │ ├── log4j-1.2.17.jar
│ │ │ ├── mybatis-3.2.8.jar
│ │ │ ├── mybatis-spring-1.3.1.jar
│ │ │ ├── mysql-connector-java-5.1.7-bin.jar
│ │ │ ├── slf4j-api-1.7.25.jar
│ │ │ ├── slf4j-log4j12-1.7.25.jar
│ │ │ ├── spring-aop-4.3.10.RELEASE.jar
│ │ │ ├── spring-beans-4.3.10.RELEASE.jar
│ │ │ ├── spring-context-4.3.10.RELEASE.jar
│ │ │ ├── spring-context-support-4.3.10.RELEASE.jar
│ │ │ ├── spring-core-4.3.10.RELEASE.jar
│ │ │ ├── spring-expression-4.3.10.RELEASE.jar
│ │ │ ├── spring-jdbc-4.3.10.RELEASE.jar
│ │ │ ├── spring-oxm-4.3.10.RELEASE.jar
│ │ │ ├── spring-test-4.3.10.RELEASE.jar
│ │ │ ├── spring-tx-4.3.10.RELEASE.jar
│ │ │ ├── spring-web-4.3.10.RELEASE.jar
│ │ │ └── spring-webmvc-4.3.10.RELEASE.jar
│ │ └── web.xml
│ ├── css
│ │ ├── animate.css
│ │ ├── audio.css
│ │ ├── bootstrap.min.css
│ │ ├── carousel.css
│ │ ├── cool.css
│ │ ├── iconfont
│ │ │ ├── demo.css
│ │ │ ├── demo.html
│ │ │ ├── iconfont.css
│ │ │ ├── iconfont.eot
│ │ │ ├── iconfont.svg
│ │ │ ├── iconfont.ttf
│ │ │ └── iconfont.woff
│ │ └── simple-line-icons.css
│ ├── fonts
│ │ ├── Simple-Line-Icons.eot
│ │ ├── Simple-Line-Icons.svg
│ │ ├── Simple-Line-Icons.ttf
│ │ ├── Simple-Line-Icons.woff
│ │ └── Simple-Line-Icons.woff2
│ ├── image
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ ├── 5.jpeg
│ │ ├── defaultUserLogo.jpg
│ │ ├── slide1.jpg
│ │ ├── slide2.jpg
│ │ └── slide3.jpg
│ ├── images
│ │ ├── cover.jpg
│ │ ├── cover1.jpg
│ │ ├── cover2.jpg
│ │ ├── cover3.jpg
│ │ ├── cover4.jpg
│ │ ├── cover5.jpg
│ │ ├── cover6.jpg
│ │ ├── menu.png
│ │ ├── next.png
│ │ ├── pause.png
│ │ ├── play.png
│ │ ├── prev.png
│ │ └── volume.png
│ ├── js
│ │ ├── add2list.js
│ │ ├── audio.js
│ │ ├── bootstrap.bundle.min.js
│ │ ├── bootstrap.min.js
│ │ ├── jquery-3.3.1.min.js
│ │ └── navbar.js
│ └── track
│ │ ├── lyric
│ │ └── README.txt
│ │ └── song
│ │ ├── README.txt
│ │ ├── 冷漠 - 这条街.lrc
│ │ └── 冷漠 - 这条街.mp3
├── build
│ └── classes
│ │ ├── bean.xml
│ │ ├── jdbc.properties
│ │ ├── spring-mvc.xml
│ │ ├── top
│ │ └── wangruns
│ │ │ └── trackstacking
│ │ │ ├── algorithm
│ │ │ ├── CollaborativeFiltering$1.class
│ │ │ ├── CollaborativeFiltering.class
│ │ │ ├── DailyAction$1.class
│ │ │ ├── DailyAction.class
│ │ │ ├── DataTranslate$1.class
│ │ │ ├── DataTranslate$2.class
│ │ │ ├── DataTranslate.class
│ │ │ ├── Edge.class
│ │ │ ├── Hybrid$1.class
│ │ │ ├── Hybrid$2$1.class
│ │ │ ├── Hybrid$2.class
│ │ │ ├── Hybrid$3.class
│ │ │ ├── Hybrid$4.class
│ │ │ ├── Hybrid$5.class
│ │ │ ├── Hybrid$6.class
│ │ │ ├── Hybrid.class
│ │ │ ├── Listener.class
│ │ │ ├── MininumHeap.class
│ │ │ ├── Operator.class
│ │ │ ├── SGD.class
│ │ │ ├── Sample$1.class
│ │ │ ├── Sample$2.class
│ │ │ ├── Sample.class
│ │ │ ├── Similarity.class
│ │ │ ├── Training$1.class
│ │ │ ├── Training$2$1.class
│ │ │ ├── Training$2.class
│ │ │ ├── Training.class
│ │ │ ├── TreeNode.class
│ │ │ ├── UpdateTask.class
│ │ │ ├── UserKNN$1$1.class
│ │ │ ├── UserKNN$1.class
│ │ │ ├── UserKNN.class
│ │ │ ├── W2DNetwork.class
│ │ │ └── W2WNetwork.class
│ │ │ ├── controller
│ │ │ ├── CollectionController.class
│ │ │ ├── DownloadController.class
│ │ │ ├── IndexController.class
│ │ │ ├── LoginController.class
│ │ │ ├── MyMusicPageController.class
│ │ │ ├── NewTrackOnShelfController.class
│ │ │ ├── PersonalRecController.class
│ │ │ ├── RankingPageCotroller.class
│ │ │ ├── RecordPlayController.class
│ │ │ ├── RegisterController.class
│ │ │ ├── ReviewController.class
│ │ │ ├── SearchController.class
│ │ │ ├── SongController.class
│ │ │ ├── TrendingRecController.class
│ │ │ └── UserController.class
│ │ │ ├── dao
│ │ │ ├── CollectionDao.class
│ │ │ ├── MyMusicDao.class
│ │ │ ├── NewTrackOnShelfDao.class
│ │ │ ├── PersonalRecDao.class
│ │ │ ├── RankingPageDao.class
│ │ │ ├── RecordDownloadDao.class
│ │ │ ├── RecordPlayDao.class
│ │ │ ├── ReviewDao.class
│ │ │ ├── SearchDao.class
│ │ │ ├── SongDao.class
│ │ │ ├── TrendingRecDao.class
│ │ │ ├── UserDao.class
│ │ │ └── impl
│ │ │ │ ├── CollectionDaoImpl.xml
│ │ │ │ ├── MyMusicDaoImpl.xml
│ │ │ │ ├── NewTrackOnShelfDaoImlp.xml
│ │ │ │ ├── PersonalRecDaoImpl.xml
│ │ │ │ ├── RankingPageDaoImpl.xml
│ │ │ │ ├── RecordDownloadDaoImpl.xml
│ │ │ │ ├── RecordPlayDaoImpl.xml
│ │ │ │ ├── ReviewDaoImpl.xml
│ │ │ │ ├── SearchDaoImpl.xml
│ │ │ │ ├── SongDaoImpl.xml
│ │ │ │ ├── TrendingRecDaoImpl.xml
│ │ │ │ └── UserDaoImpl.xml
│ │ │ ├── model
│ │ │ ├── Collection.class
│ │ │ ├── DownloadRecord.class
│ │ │ ├── Like.class
│ │ │ ├── PlayRecord.class
│ │ │ ├── Review.class
│ │ │ ├── Role.class
│ │ │ ├── Song.class
│ │ │ └── User.class
│ │ │ ├── service
│ │ │ ├── CollectionService.class
│ │ │ ├── MyMusicService.class
│ │ │ ├── NewTrackOnShelfService.class
│ │ │ ├── PersonalRecService.class
│ │ │ ├── RankingPageService.class
│ │ │ ├── RecordDownloadService.class
│ │ │ ├── RecordPlayService.class
│ │ │ ├── ReviewService.class
│ │ │ ├── SearchService.class
│ │ │ ├── SongService.class
│ │ │ ├── TrendingRecService.class
│ │ │ ├── UserService.class
│ │ │ └── impl
│ │ │ │ ├── CollectionServiceImpl.class
│ │ │ │ ├── MyMusicServiceImpl.class
│ │ │ │ ├── NewTrackOnShelfServiceImpl.class
│ │ │ │ ├── PersonalRecServiceImpl$1.class
│ │ │ │ ├── PersonalRecServiceImpl$2.class
│ │ │ │ ├── PersonalRecServiceImpl$3.class
│ │ │ │ ├── PersonalRecServiceImpl$4.class
│ │ │ │ ├── PersonalRecServiceImpl.class
│ │ │ │ ├── RankingPageServiceImpl.class
│ │ │ │ ├── RecordDownloadServiceImpl.class
│ │ │ │ ├── RecordPlayServiceImpl.class
│ │ │ │ ├── ReviewServiceImpl.class
│ │ │ │ ├── SearchServiceImpl.class
│ │ │ │ ├── SongServiceImpl.class
│ │ │ │ ├── TrendingRecServiceImpl.class
│ │ │ │ └── UserServiceImpl.class
│ │ │ └── utils
│ │ │ ├── MD5Util.class
│ │ │ ├── OneDayOneWord.class
│ │ │ ├── Request.class
│ │ │ ├── ReturnMsg.class
│ │ │ ├── SendEmail.class
│ │ │ └── Static.class
│ │ └── trackstacking
│ │ ├── DataTranslateTest.class
│ │ └── MininumHeapTest.class
└── src
│ ├── bean.xml
│ ├── jdbc.properties
│ ├── spring-mvc.xml
│ ├── top
│ └── wangruns
│ │ └── trackstacking
│ │ ├── algorithm
│ │ ├── CollaborativeFiltering.java
│ │ ├── DailyAction.java
│ │ ├── DataTranslate.java
│ │ ├── Edge.java
│ │ ├── Hybrid.java
│ │ ├── Listener.java
│ │ ├── MininumHeap.java
│ │ ├── Operator.java
│ │ ├── SGD.java
│ │ ├── Sample.java
│ │ ├── Similarity.java
│ │ ├── Training.java
│ │ ├── TreeNode.java
│ │ ├── UpdateTask.java
│ │ ├── UserKNN.java
│ │ ├── W2DNetwork.java
│ │ └── W2WNetwork.java
│ │ ├── controller
│ │ ├── CollectionController.java
│ │ ├── DownloadController.java
│ │ ├── IndexController.java
│ │ ├── LoginController.java
│ │ ├── MyMusicPageController.java
│ │ ├── NewTrackOnShelfController.java
│ │ ├── PersonalRecController.java
│ │ ├── RankingPageCotroller.java
│ │ ├── RecordPlayController.java
│ │ ├── RegisterController.java
│ │ ├── ReviewController.java
│ │ ├── SearchController.java
│ │ ├── SongController.java
│ │ ├── TrendingRecController.java
│ │ └── UserController.java
│ │ ├── dao
│ │ ├── CollectionDao.java
│ │ ├── MyMusicDao.java
│ │ ├── NewTrackOnShelfDao.java
│ │ ├── PersonalRecDao.java
│ │ ├── RankingPageDao.java
│ │ ├── RecordDownloadDao.java
│ │ ├── RecordPlayDao.java
│ │ ├── ReviewDao.java
│ │ ├── SearchDao.java
│ │ ├── SongDao.java
│ │ ├── TrendingRecDao.java
│ │ ├── UserDao.java
│ │ └── impl
│ │ │ ├── CollectionDaoImpl.xml
│ │ │ ├── MyMusicDaoImpl.xml
│ │ │ ├── NewTrackOnShelfDaoImlp.xml
│ │ │ ├── PersonalRecDaoImpl.xml
│ │ │ ├── RankingPageDaoImpl.xml
│ │ │ ├── RecordDownloadDaoImpl.xml
│ │ │ ├── RecordPlayDaoImpl.xml
│ │ │ ├── ReviewDaoImpl.xml
│ │ │ ├── SearchDaoImpl.xml
│ │ │ ├── SongDaoImpl.xml
│ │ │ ├── TrendingRecDaoImpl.xml
│ │ │ └── UserDaoImpl.xml
│ │ ├── model
│ │ ├── Collection.java
│ │ ├── DownloadRecord.java
│ │ ├── Like.java
│ │ ├── PlayRecord.java
│ │ ├── Review.java
│ │ ├── Role.java
│ │ ├── Song.java
│ │ └── User.java
│ │ ├── service
│ │ ├── CollectionService.java
│ │ ├── MyMusicService.java
│ │ ├── NewTrackOnShelfService.java
│ │ ├── PersonalRecService.java
│ │ ├── RankingPageService.java
│ │ ├── RecordDownloadService.java
│ │ ├── RecordPlayService.java
│ │ ├── ReviewService.java
│ │ ├── SearchService.java
│ │ ├── SongService.java
│ │ ├── TrendingRecService.java
│ │ ├── UserService.java
│ │ └── impl
│ │ │ ├── CollectionServiceImpl.java
│ │ │ ├── MyMusicServiceImpl.java
│ │ │ ├── NewTrackOnShelfServiceImpl.java
│ │ │ ├── PersonalRecServiceImpl.java
│ │ │ ├── RankingPageServiceImpl.java
│ │ │ ├── RecordDownloadServiceImpl.java
│ │ │ ├── RecordPlayServiceImpl.java
│ │ │ ├── ReviewServiceImpl.java
│ │ │ ├── SearchServiceImpl.java
│ │ │ ├── SongServiceImpl.java
│ │ │ ├── TrendingRecServiceImpl.java
│ │ │ └── UserServiceImpl.java
│ │ └── utils
│ │ ├── MD5Util.java
│ │ ├── OneDayOneWord.java
│ │ ├── Request.java
│ │ ├── ReturnMsg.java
│ │ ├── SendEmail.java
│ │ └── Static.java
│ └── trackstacking
│ ├── DataTranslateTest.java
│ └── MininumHeapTest.java
└── 关于系统.txt
/README.md:
--------------------------------------------------------------------------------
1 | # JSP_SSM_Music_recommendations
2 | JSP基于SSM协同过滤音乐推荐管理系统设计毕业源码案例设计
3 |
4 | ## 功能实现:
5 | 管理员角色包含以下功能:管理员登录,音乐管理,添加音乐,评论管理,用户管理等功能。
6 | 用户角色包含以下功能:首页,发现音乐,注册用户,验证码,收藏音乐,评价音乐,查看收藏,个性化推荐,新碟上架等功能。
7 | 用了技术框架: HTML+CSS+JavaScript+jsp+mysql+Spring+mybatis
8 |
9 | 管理员账号/密码:1347845688@qq.com /123456
10 | 用户账号/密码: 1357845688@qq.com /123456
11 |
12 | ## 运行环境:jdk1.8/jdk1.9
13 | ## IDE环境: Eclipse,Myeclipse,IDEA都可以
14 | ## tomcat环境: Tomcat8.x/9.x
15 |
--------------------------------------------------------------------------------
/trackstacking/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/trackstacking/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | trackstacking
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.wst.jsdt.core.javascriptValidator
10 |
11 |
12 |
13 |
14 | org.eclipse.jdt.core.javabuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.wst.common.project.facet.core.builder
20 |
21 |
22 |
23 |
24 | org.eclipse.wst.validation.validationbuilder
25 |
26 |
27 |
28 |
29 |
30 | org.eclipse.jem.workbench.JavaEMFNature
31 | org.eclipse.wst.common.modulecore.ModuleCoreNature
32 | org.eclipse.wst.common.project.facet.core.nature
33 | org.eclipse.jdt.core.javanature
34 | org.eclipse.wst.jsdt.core.jsNature
35 |
36 |
37 |
--------------------------------------------------------------------------------
/trackstacking/.settings/.jsdtscope:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/trackstacking/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4 | org.eclipse.jdt.core.compiler.compliance=1.8
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7 | org.eclipse.jdt.core.compiler.source=1.8
8 |
--------------------------------------------------------------------------------
/trackstacking/.settings/org.eclipse.wst.common.component:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/trackstacking/.settings/org.eclipse.wst.common.project.facet.core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/trackstacking/.settings/org.eclipse.wst.jsdt.ui.superType.container:
--------------------------------------------------------------------------------
1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary
--------------------------------------------------------------------------------
/trackstacking/.settings/org.eclipse.wst.jsdt.ui.superType.name:
--------------------------------------------------------------------------------
1 | Window
--------------------------------------------------------------------------------
/trackstacking/WebContent/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Built-By: 13578
3 | Build-Jdk: 1.8.0_201
4 | Created-By: Maven Integration for Eclipse
5 |
6 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/META-INF/maven/top.wangruns/track-stacking/pom.properties:
--------------------------------------------------------------------------------
1 | #Generated by Maven Integration for Eclipse
2 | #Thu Aug 01 17:14:27 CST 2019
3 | version=0.0.1-SNAPSHOT
4 | groupId=top.wangruns
5 | m2e.projectName=trackstacking
6 | m2e.projectLocation=C\:\\Users\\13578\\Documents\\SVN\\WORK\\JAVAEE\\\u534F\u540C\u8FC7\u6EE4\u97F3\u4E50\u63A8\u8350\u7BA1\u7406\u7CFB\u7EDF\\SSM\u534F\u540C\u8FC7\u6EE4\u97F3\u4E50\u63A8\u8350\u7BA1\u7406\u7CFB\u7EDF\\\u6E90\u7801\\trackstacking
7 | artifactId=track-stacking
8 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/jsp/collectedFrame.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" contentType="text/html; charset=UTF-8"
2 | pageEncoding="UTF-8"%>
3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
4 |
5 |
6 |
7 |
8 | Insert title here
9 |
10 |
11 | border">
12 |
13 |
14 |
15 | -
17 |
18 |
24 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/jsp/newReviewFrame.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" contentType="text/html; charset=UTF-8"
2 | pageEncoding="UTF-8"%>
3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Track Stacking
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | -
22 |
27 |
28 |
${review.userName}
29 |
30 |
${review.review}
31 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/jsp/recentFrame.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" contentType="text/html; charset=UTF-8"
2 | pageEncoding="UTF-8"%>
3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
4 |
5 |
6 |
7 |
8 | Track Stacking
9 |
10 |
11 | border">
12 |
13 |
14 |
15 | -
17 |
18 |
23 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/activation-1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/activation-1.1.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/aspectjweaver-1.8.10.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/aspectjweaver-1.8.10.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/c3p0-0.9.1.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/c3p0-0.9.1.2.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/commons-codec-1.10.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/commons-codec-1.10.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/commons-fileupload-1.3.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/commons-fileupload-1.3.3.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/commons-io-2.5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/commons-io-2.5.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/commons-logging-1.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/commons-logging-1.2.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/fastjson-1.2.35.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/fastjson-1.2.35.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/jackson-core-asl-1.9.13.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/jackson-mapper-asl-1.9.13.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/javax.mail-1.5.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/javax.mail-1.5.6.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/jstl-1.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/jstl-1.2.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/log4j-1.2.17.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/log4j-1.2.17.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/mybatis-3.2.8.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/mybatis-3.2.8.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/mybatis-spring-1.3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/mybatis-spring-1.3.1.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/slf4j-api-1.7.25.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/slf4j-api-1.7.25.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.25.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/slf4j-log4j12-1.7.25.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-aop-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-aop-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-beans-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-beans-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-context-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-context-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-context-support-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-context-support-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-core-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-core-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-expression-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-expression-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-jdbc-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-jdbc-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-oxm-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-oxm-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-test-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-test-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-tx-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-tx-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-web-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-web-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/lib/spring-webmvc-4.3.10.RELEASE.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/WEB-INF/lib/spring-webmvc-4.3.10.RELEASE.jar
--------------------------------------------------------------------------------
/trackstacking/WebContent/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 | Archetype Created Web Application
7 |
8 |
9 | contextConfigLocation
10 | classpath:bean.xml
11 |
12 |
13 | org.springframework.web.context.ContextLoaderListener
14 |
15 |
16 |
17 |
18 | CharacterEncodingFilter
19 | org.springframework.web.filter.CharacterEncodingFilter
20 |
21 | encoding
22 | utf-8
23 |
24 |
25 |
26 | CharacterEncodingFilter
27 | /*
28 |
29 |
30 |
31 |
32 | springmvc
33 | org.springframework.web.servlet.DispatcherServlet
34 |
35 |
36 | contextConfigLocation
37 | classpath:spring-mvc.xml
38 |
39 |
40 |
41 | springmvc
42 | *.do
43 |
44 |
45 |
46 | index.do
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/css/carousel.css:
--------------------------------------------------------------------------------
1 | /* GLOBAL STYLES
2 | -------------------------------------------------- */
3 | /* Padding below the footer and lighter body text */
4 |
5 | body {
6 | padding-top: 3rem;
7 | padding-bottom: 3rem;
8 | color: #5a5a5a;
9 | }
10 |
11 |
12 | /* CUSTOMIZE THE CAROUSEL
13 | -------------------------------------------------- */
14 |
15 | /* Carousel base class */
16 | .carousel {
17 | margin-bottom: 4rem;
18 | }
19 | /* Since positioning the image, we need to help out the caption */
20 | .carousel-caption {
21 | bottom: 3rem;
22 | z-index: 10;
23 | }
24 |
25 | /* Declare heights because of positioning of img element */
26 | .carousel-item {
27 | height: 32rem;
28 | background-color: #777;
29 | }
30 | .carousel-item > img {
31 | position: absolute;
32 | top: 0;
33 | left: 0;
34 | min-width: 100%;
35 | height: 32rem;
36 | }
37 |
38 |
39 | /* MARKETING CONTENT
40 | -------------------------------------------------- */
41 |
42 | /* Center align the text within the three columns below the carousel */
43 | .marketing .col-lg-4 {
44 | margin-bottom: 1.5rem;
45 | text-align: center;
46 | }
47 | .marketing h2 {
48 | font-weight: 400;
49 | }
50 | .marketing .col-lg-4 p {
51 | margin-right: .75rem;
52 | margin-left: .75rem;
53 | }
54 |
55 |
56 | /* Featurettes
57 | ------------------------- */
58 |
59 | .featurette-divider {
60 | margin: 5rem 0; /* Space out the Bootstrap
more */
61 | }
62 |
63 | /* Thin out the marketing headings */
64 | .featurette-heading {
65 | font-weight: 300;
66 | line-height: 1;
67 | letter-spacing: -.05rem;
68 | }
69 |
70 |
71 | /* RESPONSIVE CSS
72 | -------------------------------------------------- */
73 |
74 | @media (min-width: 40em) {
75 | /* Bump up size of carousel content */
76 | .carousel-caption p {
77 | margin-bottom: 1.25rem;
78 | font-size: 1.25rem;
79 | line-height: 1.4;
80 | }
81 |
82 | .featurette-heading {
83 | font-size: 50px;
84 | }
85 | }
86 |
87 | @media (min-width: 62em) {
88 | .featurette-heading {
89 | margin-top: 7rem;
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/css/iconfont/demo.css:
--------------------------------------------------------------------------------
1 | *{margin: 0;padding: 0;list-style: none;}
2 | /*
3 | KISSY CSS Reset
4 | 理念:1. reset 的目的不是清除浏览器的默认样式,这仅是部分工作。清除和重置是紧密不可分的。
5 | 2. reset 的目的不是让默认样式在所有浏览器下一致,而是减少默认样式有可能带来的问题。
6 | 3. reset 期望提供一套普适通用的基础样式。但没有银弹,推荐根据具体需求,裁剪和修改后再使用。
7 | 特色:1. 适应中文;2. 基于最新主流浏览器。
8 | 维护:玉伯, 正淳
9 | */
10 |
11 | /** 清除内外边距 **/
12 | body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
13 | dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
14 | pre, /* text formatting elements 文本格式元素 */
15 | form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
16 | th, td /* table elements 表格元素 */ {
17 | margin: 0;
18 | padding: 0;
19 | }
20 |
21 | /** 设置默认字体 **/
22 | body,
23 | button, input, select, textarea /* for ie */ {
24 | font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
25 | }
26 | h1, h2, h3, h4, h5, h6 { font-size: 100%; }
27 | address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
28 | code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
29 | small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */
30 |
31 | /** 重置列表元素 **/
32 | ul, ol { list-style: none; }
33 |
34 | /** 重置文本格式元素 **/
35 | a { text-decoration: none; }
36 | a:hover { text-decoration: underline; }
37 |
38 |
39 | /** 重置表单元素 **/
40 | legend { color: #000; } /* for ie6 */
41 | fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
42 | button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
43 | /* 注:optgroup 无法扶正 */
44 |
45 | /** 重置表格元素 **/
46 | table { border-collapse: collapse; border-spacing: 0; }
47 |
48 | /* 清除浮动 */
49 | .ks-clear:after, .clear:after {
50 | content: '\20';
51 | display: block;
52 | height: 0;
53 | clear: both;
54 | }
55 | .ks-clear, .clear {
56 | *zoom: 1;
57 | }
58 |
59 | .main {padding: 30px 100px;}
60 | .main h1{font-size:36px; color:#333; text-align:left;margin-bottom:30px; border-bottom: 1px solid #eee;}
61 |
62 | .helps{margin-top:40px;}
63 | .helps pre{
64 | padding:20px;
65 | margin:10px 0;
66 | border:solid 1px #e7e1cd;
67 | background-color: #fffdef;
68 | overflow: auto;
69 | }
70 |
71 | .icon_lists li{
72 | float:left;
73 | width: 100px;
74 | height:180px;
75 | text-align: center;
76 | }
77 | .icon_lists .icon{
78 | font-size: 42px;
79 | line-height: 100px;
80 | margin: 10px 0;
81 | color:#333;
82 | -webkit-transition: font-size 0.25s ease-out 0s;
83 | -moz-transition: font-size 0.25s ease-out 0s;
84 | transition: font-size 0.25s ease-out 0s;
85 |
86 | }
87 | .icon_lists .icon:hover{
88 | font-size: 100px;
89 | }
90 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/css/iconfont/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/css/iconfont/iconfont.eot
--------------------------------------------------------------------------------
/trackstacking/WebContent/css/iconfont/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/css/iconfont/iconfont.ttf
--------------------------------------------------------------------------------
/trackstacking/WebContent/css/iconfont/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/css/iconfont/iconfont.woff
--------------------------------------------------------------------------------
/trackstacking/WebContent/fonts/Simple-Line-Icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/fonts/Simple-Line-Icons.eot
--------------------------------------------------------------------------------
/trackstacking/WebContent/fonts/Simple-Line-Icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/fonts/Simple-Line-Icons.ttf
--------------------------------------------------------------------------------
/trackstacking/WebContent/fonts/Simple-Line-Icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/fonts/Simple-Line-Icons.woff
--------------------------------------------------------------------------------
/trackstacking/WebContent/fonts/Simple-Line-Icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/fonts/Simple-Line-Icons.woff2
--------------------------------------------------------------------------------
/trackstacking/WebContent/image/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/image/1.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/image/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/image/2.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/image/5.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/image/5.jpeg
--------------------------------------------------------------------------------
/trackstacking/WebContent/image/defaultUserLogo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/image/defaultUserLogo.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/image/slide1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/image/slide1.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/image/slide2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/image/slide2.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/image/slide3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/image/slide3.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/cover.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/cover1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/cover1.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/cover2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/cover2.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/cover3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/cover3.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/cover4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/cover4.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/cover5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/cover5.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/cover6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/cover6.jpg
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/menu.png
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/next.png
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/pause.png
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/play.png
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/prev.png
--------------------------------------------------------------------------------
/trackstacking/WebContent/images/volume.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/images/volume.png
--------------------------------------------------------------------------------
/trackstacking/WebContent/track/lyric/README.txt:
--------------------------------------------------------------------------------
1 | your lyrics here and do not forget to keep them in the database.
2 | (because of the time limit, only the English lyrics are supported by the embedding algorithm)
3 | e.g.
4 | | songId | songName | lyricAddress
5 | | 1 | As Long As You Love Me | track/song/As Long As You Love Me.lrc
6 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/track/song/README.txt:
--------------------------------------------------------------------------------
1 | your tracks here and do not forget to keep them in the database.
2 | e.g.
3 | | songId | songName | songAddress
4 | | 1 | 一生所爱(Live) | track/song/一生所爱(Live).mp3
5 |
--------------------------------------------------------------------------------
/trackstacking/WebContent/track/song/冷漠 - 这条街.lrc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/track/song/冷漠 - 这条街.lrc
--------------------------------------------------------------------------------
/trackstacking/WebContent/track/song/冷漠 - 这条街.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/WebContent/track/song/冷漠 - 这条街.mp3
--------------------------------------------------------------------------------
/trackstacking/build/classes/jdbc.properties:
--------------------------------------------------------------------------------
1 | #\u8FDE\u63A5\u8FDC\u7A0B\u6570\u636E\u5E93
2 | jdbc.driver=com.mysql.jdbc.Driver
3 | jdbc.url=jdbc:mysql://localhost:3306/ssm_trackstacking?useUnicode=true&characterEncoding=utf8
4 | jdbc.username=root
5 | jdbc.password=123456
6 |
7 | #\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570
8 | initialPoolSize=10
9 | #\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570
10 | acquireIncrement=2
11 | #\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2
12 | maxPoolSize=20
13 | #\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2
14 | minPoolSize=3
--------------------------------------------------------------------------------
/trackstacking/build/classes/spring-mvc.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/CollaborativeFiltering$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/CollaborativeFiltering$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/CollaborativeFiltering.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/CollaborativeFiltering.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DailyAction$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DailyAction$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DailyAction.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DailyAction.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DataTranslate$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DataTranslate$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DataTranslate$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DataTranslate$2.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DataTranslate.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/DataTranslate.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Edge.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Edge.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$2$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$2$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$2.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$3.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$4.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$5.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$6.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid$6.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Hybrid.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Listener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Listener.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/MininumHeap.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/MininumHeap.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Operator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Operator.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/SGD.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/SGD.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Sample$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Sample$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Sample$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Sample$2.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Sample.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Sample.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Similarity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Similarity.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training$2$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training$2$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training$2.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/Training.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/TreeNode.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/TreeNode.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UpdateTask.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UpdateTask.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UserKNN$1$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UserKNN$1$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UserKNN$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UserKNN$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UserKNN.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/UserKNN.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/W2DNetwork.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/W2DNetwork.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/W2WNetwork.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/algorithm/W2WNetwork.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/CollectionController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/CollectionController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/DownloadController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/DownloadController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/IndexController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/IndexController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/LoginController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/LoginController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/MyMusicPageController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/MyMusicPageController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/NewTrackOnShelfController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/NewTrackOnShelfController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/PersonalRecController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/PersonalRecController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/RankingPageCotroller.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/RankingPageCotroller.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/RecordPlayController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/RecordPlayController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/RegisterController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/RegisterController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/ReviewController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/ReviewController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/SearchController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/SearchController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/SongController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/SongController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/TrendingRecController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/TrendingRecController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/controller/UserController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/controller/UserController.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/CollectionDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/CollectionDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/MyMusicDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/MyMusicDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/NewTrackOnShelfDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/NewTrackOnShelfDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/PersonalRecDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/PersonalRecDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/RankingPageDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/RankingPageDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/RecordDownloadDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/RecordDownloadDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/RecordPlayDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/RecordPlayDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/ReviewDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/ReviewDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/SearchDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/SearchDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/SongDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/SongDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/TrendingRecDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/TrendingRecDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/UserDao.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/dao/UserDao.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/CollectionDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | insert into collection(userId,songId) values(#{userId},#{songId})
8 |
9 |
10 |
11 | delete from collection where collectionId=#{collectionId}
12 |
13 |
14 |
18 |
19 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/MyMusicDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/NewTrackOnShelfDaoImlp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/PersonalRecDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
16 |
17 |
18 | insert into reca(userId,songId) values(#{0},#{1})
19 |
20 |
21 |
22 | insert into recb(userId,songId) values(#{0},#{1})
23 |
24 |
25 |
26 | delete from recb where userId=#{userId}
27 |
28 |
29 |
30 | delete from reca where userId=#{userId}
31 |
32 |
33 |
34 |
37 |
38 | insert into reca(userId,songId) values
39 |
40 | (#{param2},#{song.songId})
41 |
42 |
43 |
44 |
45 | insert into recb(userId,songId) values
46 |
47 | (#{param2},#{song.songId})
48 |
49 |
50 |
51 |
52 | insert into recb(userId,songId) values
53 |
54 | (#{param2},#{songId})
55 |
56 |
57 |
58 |
59 | insert into reca(userId,songId) values
60 |
61 | (#{param2},#{songId})
62 |
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/RankingPageDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
16 |
17 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/RecordDownloadDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | insert into download (userId,songId) values(#{userId},#{songId})
8 |
9 |
10 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/RecordPlayDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | insert into play(userId,songId) values(#{userId},#{songId})
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/SearchDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
17 |
18 |
19 |
20 |
27 |
28 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/SongDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
15 |
16 |
21 |
22 |
28 |
29 | delete from song where songId in
30 |
31 | #{songId}
32 |
33 |
34 |
35 |
36 | insert into song(songName,songAddress) values( #{songName},#{songAddress} )
37 |
38 |
39 |
40 | insert into song(songName,songAddress,lyricName,lyricAddress)
41 | values( #{songName},#{songAddress},#{lyricName} ,#{lyricAddress} )
42 |
43 |
44 |
48 |
49 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/TrendingRecDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
15 |
16 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/dao/impl/UserDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
15 |
16 |
17 | insert into user(email,password) select #{email},#{password}
18 | from dual where #{email} not in (select email from user)
19 |
20 |
21 |
25 |
26 |
30 |
31 |
37 |
38 | delete from user where userId in
39 |
40 | #{userId}
41 |
42 |
43 |
44 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/Collection.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/Collection.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/DownloadRecord.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/DownloadRecord.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/Like.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/Like.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/PlayRecord.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/PlayRecord.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/Review.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/Review.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/Role.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/Role.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/Song.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/Song.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/model/User.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/model/User.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/CollectionService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/CollectionService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/MyMusicService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/MyMusicService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/NewTrackOnShelfService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/NewTrackOnShelfService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/PersonalRecService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/PersonalRecService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/RankingPageService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/RankingPageService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/RecordDownloadService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/RecordDownloadService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/RecordPlayService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/RecordPlayService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/ReviewService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/ReviewService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/SearchService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/SearchService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/SongService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/SongService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/TrendingRecService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/TrendingRecService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/UserService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/UserService.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/CollectionServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/CollectionServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/MyMusicServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/MyMusicServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/NewTrackOnShelfServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/NewTrackOnShelfServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$1.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$2.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$3.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl$4.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/PersonalRecServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/RankingPageServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/RankingPageServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/RecordDownloadServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/RecordDownloadServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/RecordPlayServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/RecordPlayServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/ReviewServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/ReviewServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/SearchServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/SearchServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/SongServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/SongServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/TrendingRecServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/TrendingRecServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/UserServiceImpl.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/service/impl/UserServiceImpl.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/utils/MD5Util.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/utils/MD5Util.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/utils/OneDayOneWord.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/utils/OneDayOneWord.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/utils/Request.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/utils/Request.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/utils/ReturnMsg.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/utils/ReturnMsg.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/utils/SendEmail.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/utils/SendEmail.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/top/wangruns/trackstacking/utils/Static.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/top/wangruns/trackstacking/utils/Static.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/trackstacking/DataTranslateTest.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/trackstacking/DataTranslateTest.class
--------------------------------------------------------------------------------
/trackstacking/build/classes/trackstacking/MininumHeapTest.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/trackstacking/build/classes/trackstacking/MininumHeapTest.class
--------------------------------------------------------------------------------
/trackstacking/src/jdbc.properties:
--------------------------------------------------------------------------------
1 | #\u8FDE\u63A5\u8FDC\u7A0B\u6570\u636E\u5E93
2 | jdbc.driver=com.mysql.jdbc.Driver
3 | jdbc.url=jdbc:mysql://localhost:3306/ssm_trackstacking?useUnicode=true&characterEncoding=utf8
4 | jdbc.username=root
5 | jdbc.password=123456
6 |
7 | #\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570
8 | initialPoolSize=10
9 | #\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570
10 | acquireIncrement=2
11 | #\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2
12 | maxPoolSize=20
13 | #\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2
14 | minPoolSize=3
--------------------------------------------------------------------------------
/trackstacking/src/spring-mvc.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/CollaborativeFiltering.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | import java.util.function.Consumer;
8 | import java.util.HashMap;
9 | import java.util.Map;
10 | import java.util.List;
11 |
12 | public class CollaborativeFiltering
13 | {
14 | public static Map userKNNBasedCF(final List userIdList, final Map userKNNMatrix, final Map user2songRatingMatrix, final List songIdList, final int n) {
15 | final Map user2songRecMatrix = new HashMap();
16 | userIdList.forEach(new Consumer() {
17 | public void accept(final Integer curUserId) {
18 | final Integer[] knnIdArray = userKNNMatrix.get(curUserId);
19 | final float[] curUserRatings = user2songRatingMatrix.get(curUserId);
20 | final MininumHeap mininumHeap = new MininumHeap(n);
21 | for (int i = 0; i < curUserRatings.length; ++i) {
22 | if (curUserRatings[i] < 0.01f) {
23 | for (int knnIndex = 0; knnIndex < knnIdArray.length; ++knnIndex) {
24 | final int knnId = knnIdArray[knnIndex];
25 | final float[] knnUserRatings = user2songRatingMatrix.get(knnId);
26 | final float[] array = curUserRatings;
27 | final int n = i;
28 | array[n] += knnUserRatings[i];
29 | }
30 | final float[] array2 = curUserRatings;
31 | final int n2 = i;
32 | array2[n2] /= knnIdArray.length;
33 | final int curSongId = songIdList.get(i);
34 | mininumHeap.addElement(new TreeNode(curSongId, curUserRatings[i]));
35 | }
36 | }
37 | int trueNumber = n;
38 | if (mininumHeap.getCurHeapSize() < n) {
39 | trueNumber = mininumHeap.getCurHeapSize();
40 | }
41 | final Integer[] curUserRecSongId = new Integer[trueNumber];
42 | for (int j = 0; j < trueNumber; ++j) {
43 | final int recSongId = mininumHeap.getArray()[j].id;
44 | curUserRecSongId[j] = recSongId;
45 | }
46 | user2songRecMatrix.put(curUserId, curUserRecSongId);
47 | }
48 | });
49 | return user2songRecMatrix;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/Edge.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | public class Edge
8 | {
9 | private S sourceNode;
10 | private D destinateNode;
11 | private int weight;
12 |
13 | public Edge() {
14 | }
15 |
16 | public Edge(final S sourceNode, final D destinateNode, final int weight) {
17 | this.sourceNode = sourceNode;
18 | this.destinateNode = destinateNode;
19 | this.weight = weight;
20 | }
21 |
22 | public Edge(final S sourceNode, final D destinateNode) {
23 | this.sourceNode = sourceNode;
24 | this.destinateNode = destinateNode;
25 | }
26 |
27 | public S getSourceNode() {
28 | return this.sourceNode;
29 | }
30 |
31 | public void setSourceNode(final S sourceNode) {
32 | this.sourceNode = sourceNode;
33 | }
34 |
35 | public D getDestinateNode() {
36 | return this.destinateNode;
37 | }
38 |
39 | public void setDestinateNode(final D destinateNode) {
40 | this.destinateNode = destinateNode;
41 | }
42 |
43 | public int getWeight() {
44 | return this.weight;
45 | }
46 |
47 | public void setWeight(final int weight) {
48 | this.weight = weight;
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/Listener.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | import java.util.Date;
8 | import java.util.Calendar;
9 | import java.util.TimerTask;
10 | import java.util.Timer;
11 |
12 | public class Listener
13 | {
14 | private Timer timer;
15 | private TimerTask timerTask;
16 |
17 | public Listener() {
18 | }
19 |
20 | public Listener(final TimerTask timerTask) {
21 | this.timerTask = timerTask;
22 | }
23 |
24 | public void listen(final int startHour, final int startMinute, final int startSecond, final long period, final boolean isStartTomorrow) {
25 | this.timer = new Timer();
26 | final Calendar calendar = Calendar.getInstance();
27 | calendar.set(11, startHour);
28 | calendar.set(12, startMinute);
29 | calendar.set(13, startSecond);
30 | if (isStartTomorrow) {
31 | calendar.add(5, 1);
32 | }
33 | final Date date = calendar.getTime();
34 | this.timer.schedule(this.timerTask, date, period);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/MininumHeap.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | public class MininumHeap
8 | {
9 | private int curHeapSize;
10 | private TreeNode[] array;
11 | private boolean isFirstTime;
12 |
13 | public MininumHeap() {
14 | this.isFirstTime = true;
15 | }
16 |
17 | public MininumHeap(final int heapSize) {
18 | this.isFirstTime = true;
19 | this.array = new TreeNode[heapSize];
20 | }
21 |
22 | public void addElement(final TreeNode treeNode) {
23 | if (this.curHeapSize < this.array.length) {
24 | this.array[this.curHeapSize++] = treeNode;
25 | }
26 | else {
27 | if (this.isFirstTime) {
28 | for (int i = this.curHeapSize / 2 - 1; i >= 0; --i) {
29 | this.shiftdown(this.array, i, this.curHeapSize);
30 | }
31 | this.isFirstTime = false;
32 | }
33 | if (treeNode.val <= this.array[0].val) {
34 | return;
35 | }
36 | this.array[0] = treeNode;
37 | this.shiftdown(this.array, 0, this.curHeapSize);
38 | }
39 | }
40 |
41 | private void shiftdown(final TreeNode[] array, int position, final int len) {
42 | while (position <= len / 2 - 1) {
43 | int l = 2 * position + 1;
44 | final int r = 2 * position + 2;
45 | if (r < len && array[l].val > array[r].val) {
46 | l = r;
47 | }
48 | if (array[l].val >= array[position].val) {
49 | return;
50 | }
51 | this.swap(array, l, position);
52 | position = l;
53 | }
54 | }
55 |
56 | private void swap(final TreeNode[] array, final int i, final int j) {
57 | final TreeNode temp = array[i];
58 | array[i] = array[j];
59 | array[j] = temp;
60 | }
61 |
62 | public TreeNode[] getArray() {
63 | return this.array;
64 | }
65 |
66 | public int getCurHeapSize() {
67 | return this.curHeapSize;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/Operator.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | public class Operator
8 | {
9 | public static void assign(final float[] leftV, final float[] rightV) {
10 | for (int len = leftV.length, i = 0; i < len; ++i) {
11 | leftV[i] = rightV[i];
12 | }
13 | }
14 |
15 | public static float[] dotTimes(final float realNumber, final float[] array) {
16 | final int len = array.length;
17 | final float[] res = new float[len];
18 | for (int i = 0; i < len; ++i) {
19 | res[i] = array[i] * realNumber;
20 | }
21 | return res;
22 | }
23 |
24 | public static float[] dotTimes(final float[] array1, final float[] array2) {
25 | final int len = array1.length;
26 | final float[] res = new float[len];
27 | for (int i = 0; i < len; ++i) {
28 | res[i] = array1[i] * array2[i];
29 | }
30 | return res;
31 | }
32 |
33 | public static float[] dotMinus(final float[] array1, final float[] array2) {
34 | final int len = array1.length;
35 | final float[] res = new float[len];
36 | for (int i = 0; i < len; ++i) {
37 | res[i] = array1[i] - array2[i];
38 | }
39 | return res;
40 | }
41 |
42 | public static float times(final float[] e1, final float[] e2) {
43 | float res = 0.0f;
44 | for (int len = e1.length, i = 0; i < len; ++i) {
45 | res += e1[i] * e2[2];
46 | }
47 | return res;
48 | }
49 |
50 | public static void add(final float[] e1, final float[] e2) {
51 | for (int len = e1.length, i = 0; i < len; ++i) {
52 | final int n = i;
53 | e1[n] += e2[i];
54 | }
55 | }
56 |
57 | public static float[] divide(final float[] e, final float realNumber) {
58 | final int len = e.length;
59 | final float[] res = new float[len];
60 | for (int i = 0; i < len; ++i) {
61 | res[i] = e[i] / realNumber;
62 | }
63 | return res;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/Similarity.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | public class Similarity
8 | {
9 | public static float calculateSimilarity(final float[] curRating, final float[] otherRating) {
10 | float similarity = 0.0f;
11 | final int len = curRating.length;
12 | int cnt = 0;
13 | for (int i = 0; i < len; ++i) {
14 | if (curRating[i] > 0.01f) {
15 | similarity += (float)Math.pow(curRating[i] - otherRating[i], 2.0);
16 | ++cnt;
17 | }
18 | }
19 | similarity /= ((cnt > 0) ? cnt : 1);
20 | return similarity;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/TreeNode.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | public class TreeNode
8 | {
9 | public float val;
10 | int id;
11 | TreeNode left;
12 | TreeNode right;
13 |
14 | TreeNode() {
15 | }
16 |
17 | public TreeNode(final int id, final float similarity) {
18 | this.id = id;
19 | this.val = similarity;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/UpdateTask.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | import top.wangruns.trackstacking.model.Collection;
8 | import top.wangruns.trackstacking.model.PlayRecord;
9 | import top.wangruns.trackstacking.model.DownloadRecord;
10 | import java.util.List;
11 | import java.util.Map;
12 | import java.util.HashMap;
13 | import top.wangruns.trackstacking.utils.Static;
14 | import java.util.concurrent.TimeUnit;
15 | import top.wangruns.trackstacking.service.SongService;
16 | import top.wangruns.trackstacking.service.UserService;
17 | import top.wangruns.trackstacking.service.CollectionService;
18 | import top.wangruns.trackstacking.service.RecordPlayService;
19 | import top.wangruns.trackstacking.service.RecordDownloadService;
20 | import org.springframework.beans.factory.annotation.Autowired;
21 | import top.wangruns.trackstacking.service.PersonalRecService;
22 | import org.springframework.stereotype.Component;
23 | import java.util.TimerTask;
24 |
25 | @Component
26 | public class UpdateTask extends TimerTask
27 | {
28 | @Autowired
29 | private PersonalRecService personalRecService;
30 | @Autowired
31 | private RecordDownloadService recordDownloadService;
32 | @Autowired
33 | private RecordPlayService recordPlayService;
34 | @Autowired
35 | private CollectionService collectionService;
36 | @Autowired
37 | private UserService userService;
38 | @Autowired
39 | private SongService songService;
40 |
41 | public void run() {
42 | System.out.println("------------\u5f00\u59cb\u6267\u884c\u4efb\u52a1-------------");
43 | try {
44 | TimeUnit.SECONDS.sleep(10L);
45 | }
46 | catch (InterruptedException e) {
47 | e.printStackTrace();
48 | }
49 | this.userService.getAllRecords();
50 | Static.isFromA = !Static.isFromA;
51 | Map user2songRecMatrix = new HashMap();
52 | final List downloadList = this.recordDownloadService.getAllRecords();
53 | final List playList = this.recordPlayService.getAllRecords();
54 | final List collectionList = this.collectionService.getAllRecords();
55 | final List userIdList = this.userService.getAllUserIdRecords();
56 | final List songIdList = this.songService.getAllSongIdRecords();
57 | final Map user2songRatingMatrix = DataTranslate.getFrequencyMatrix(userIdList, songIdList, downloadList, playList, collectionList);
58 | final Map userKNNMatrix = UserKNN.getKNN(userIdList, user2songRatingMatrix, 2);
59 | user2songRecMatrix = CollaborativeFiltering.userKNNBasedCF(userIdList, userKNNMatrix, user2songRatingMatrix, songIdList, 10);
60 | System.out.println("------------\u6267\u884c\u4efb\u52a1\u5b8c\u6210-------------");
61 | if (Static.isFromA) {
62 | this.personalRecService.updatePersonalRecIntoB(user2songRecMatrix);
63 | }
64 | else {
65 | this.personalRecService.updatePersonalRecIntoA(user2songRecMatrix);
66 | }
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/UserKNN.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | import java.util.function.BiConsumer;
8 | import java.util.function.Consumer;
9 | import java.util.HashMap;
10 | import java.util.Map;
11 | import java.util.List;
12 |
13 | public class UserKNN
14 | {
15 | public static Map getKNN(final List userIdList, final Map user2songRatingMatrix, final int k) {
16 | final Map userKNNMatrix = new HashMap();
17 | userIdList.forEach(new Consumer() {
18 | public void accept(final Integer curUserId) {
19 | final Integer[] knnId = new Integer[k];
20 | final MininumHeap mininumHeap = new MininumHeap(k);
21 | user2songRatingMatrix.forEach(new BiConsumer() {
22 | public void accept(final Integer otherUserId, final float[] userRatingArray) {
23 | if (otherUserId != curUserId) {
24 | final float similarity = Similarity.calculateSimilarity(user2songRatingMatrix.get(curUserId), user2songRatingMatrix.get(otherUserId));
25 | mininumHeap.addElement(new TreeNode(otherUserId, similarity));
26 | }
27 | }
28 | });
29 | for (int i = 0; i < k; ++i) {
30 | knnId[i] = mininumHeap.getArray()[i].id;
31 | }
32 | userKNNMatrix.put(curUserId, knnId);
33 | }
34 | });
35 | return userKNNMatrix;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/W2DNetwork.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | import java.io.IOException;
8 | import java.io.Reader;
9 | import java.io.BufferedReader;
10 | import java.io.FileReader;
11 | import java.io.File;
12 | import java.util.Iterator;
13 | import java.util.HashMap;
14 | import java.util.Map;
15 | import javax.servlet.ServletContext;
16 | import java.util.Set;
17 | import top.wangruns.trackstacking.model.Song;
18 | import java.util.List;
19 |
20 | public class W2DNetwork
21 | {
22 | public static int getW2DNode(final int index, final List songList) {
23 | return songList.get(index).getSongId();
24 | }
25 |
26 | public static Map constructW2DN(final Set wordSet, final List engSongList, final ServletContext servletContext) {
27 | final Map w2dNetwork = new HashMap();
28 | for (final String curWord : wordSet) {
29 | final int[] weightArray = new int[engSongList.size()];
30 | int arrayIndex = 0;
31 | final int curWordLen = curWord.length();
32 | for (final Song song : engSongList) {
33 | int cnt = 0;
34 | final StringBuilder documentSb = readContentSb(servletContext.getRealPath(song.getLyricAddress()));
35 | int indexOfCurWord = 0;
36 | while (true) {
37 | indexOfCurWord = documentSb.indexOf(curWord, indexOfCurWord);
38 | if (indexOfCurWord == -1) {
39 | break;
40 | }
41 | ++cnt;
42 | indexOfCurWord += curWordLen;
43 | }
44 | weightArray[arrayIndex++] = cnt;
45 | }
46 | w2dNetwork.put(curWord, weightArray);
47 | }
48 | return w2dNetwork;
49 | }
50 |
51 | private static StringBuilder readContentSb(final String realPath) {
52 | final StringBuilder wordSb = new StringBuilder();
53 | try {
54 | final BufferedReader in = new BufferedReader(new FileReader(new File(realPath)));
55 | try {
56 | String s;
57 | while ((s = in.readLine()) != null) {
58 | if (s.trim().length() != 0) {
59 | s = s.substring(s.lastIndexOf("]") + 1);
60 | final String[] strArray = s.split(" ");
61 | String[] array;
62 | for (int length = (array = strArray).length, i = 0; i < length; ++i) {
63 | final String str = array[i];
64 | if (str.length() != 0) {
65 | wordSb.append(str);
66 | }
67 | }
68 | }
69 | }
70 | }
71 | finally {
72 | in.close();
73 | }
74 | in.close();
75 | }
76 | catch (IOException e) {
77 | e.printStackTrace();
78 | }
79 | return wordSb;
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/algorithm/W2WNetwork.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.algorithm;
6 |
7 | import java.util.HashMap;
8 | import java.util.Map;
9 | import java.util.Iterator;
10 | import java.util.Set;
11 |
12 | public class W2WNetwork
13 | {
14 | public static int getW2WIndex(final String node, final Set wordSet) {
15 | final Iterator iterator = wordSet.iterator();
16 | int index = 0;
17 | while (iterator.hasNext() && !iterator.next().equals(node)) {
18 | ++index;
19 | }
20 | return index;
21 | }
22 |
23 | public static String getW2WNode(final int index, final Set wordSet) {
24 | final Iterator iterator = wordSet.iterator();
25 | int i = 0;
26 | String node = null;
27 | while (iterator.hasNext()) {
28 | if (i == index) {
29 | node = iterator.next();
30 | break;
31 | }
32 | ++i;
33 | }
34 | return node;
35 | }
36 |
37 | public static Map constructW2WN(final Set wordSet, final StringBuilder wordSb) {
38 | final Map w2wNetwork = new HashMap();
39 | final String wordStr = wordSb.toString();
40 | final Iterator curIterator = wordSet.iterator();
41 | final int setSize = wordSet.size();
42 | while (curIterator.hasNext()) {
43 | final String curWord = curIterator.next();
44 | final int curWordLen = curWord.length();
45 | final int[] weightArray = new int[setSize];
46 | int arrayIndex = 0;
47 | for (final String word : wordSet) {
48 | if (!word.equals(curWord)) {
49 | int cnt = 0;
50 | int indexOfCurWord = 0;
51 | while (true) {
52 | indexOfCurWord = wordStr.indexOf(curWord, indexOfCurWord);
53 | if (indexOfCurWord == -1) {
54 | break;
55 | }
56 | final int wordLen = word.length();
57 | if (indexOfCurWord - wordLen >= 0 && wordStr.substring(indexOfCurWord - wordLen, indexOfCurWord).equals(word)) {
58 | ++cnt;
59 | }
60 | if (indexOfCurWord + curWordLen + wordLen <= wordStr.length() && wordStr.substring(indexOfCurWord + curWordLen, indexOfCurWord + curWordLen + wordLen).equals(word)) {
61 | ++cnt;
62 | }
63 | indexOfCurWord += curWordLen;
64 | }
65 | weightArray[arrayIndex] = cnt;
66 | }
67 | ++arrayIndex;
68 | }
69 | w2wNetwork.put(curWord, weightArray);
70 | }
71 | return w2wNetwork;
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/CollectionController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.ResponseBody;
8 | import org.springframework.web.bind.annotation.PostMapping;
9 | import top.wangruns.trackstacking.utils.ReturnMsg;
10 | import javax.servlet.http.HttpServletRequest;
11 | import org.springframework.beans.factory.annotation.Autowired;
12 | import top.wangruns.trackstacking.service.CollectionService;
13 | import org.springframework.stereotype.Controller;
14 |
15 | @Controller
16 | public class CollectionController
17 | {
18 | @Autowired
19 | private CollectionService collectionService;
20 |
21 | @PostMapping(value = { "collectSong.do" }, produces = { "text/html;charset=UTF-8" })
22 | @ResponseBody
23 | public String collectSong(final HttpServletRequest request, final int songId) {
24 | final boolean isCollected = this.collectionService.collectionChange(request, songId);
25 | return ReturnMsg.msg(200, new StringBuilder(String.valueOf(isCollected)).toString());
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/DownloadController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.RequestMethod;
8 | import org.springframework.web.bind.annotation.RequestMapping;
9 | import java.io.IOException;
10 | import java.net.URLConnection;
11 | import java.io.InputStream;
12 | import java.io.FileInputStream;
13 | import java.io.File;
14 | import java.io.BufferedInputStream;
15 | import java.net.URL;
16 | import java.io.OutputStream;
17 | import java.io.BufferedOutputStream;
18 | import java.net.URLEncoder;
19 | import javax.servlet.http.HttpServletResponse;
20 | import javax.servlet.http.HttpServletRequest;
21 | import org.springframework.beans.factory.annotation.Autowired;
22 | import top.wangruns.trackstacking.service.RecordDownloadService;
23 | import org.springframework.stereotype.Controller;
24 |
25 | @Controller
26 | public class DownloadController
27 | {
28 | @Autowired
29 | private RecordDownloadService recordDownloadService;
30 |
31 | @RequestMapping(value = { "download.do" }, method = { RequestMethod.GET })
32 | public void download(final HttpServletRequest request, final HttpServletResponse response, String songAddress, final int songId) throws IOException {
33 | this.recordDownloadService.recordDownload(request, songId);
34 | response.setContentType("audio/mp3");
35 | response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(String.valueOf(System.currentTimeMillis()) + "\u5982\u679c\u4e0d\u60f3\u8fd4\u56de\u540d\u79f0\u7684\u8bdd.mp3", "utf8"));
36 | final BufferedOutputStream out = new BufferedOutputStream((OutputStream)response.getOutputStream());
37 | InputStream bis = null;
38 | if (songAddress.contains("http")) {
39 | final URL url = new URL(songAddress);
40 | final URLConnection uc = url.openConnection();
41 | bis = new BufferedInputStream(uc.getInputStream());
42 | }
43 | else {
44 | songAddress = request.getServletContext().getRealPath(songAddress);
45 | bis = new BufferedInputStream(new FileInputStream(new File(songAddress)));
46 | }
47 | int len = 0;
48 | while ((len = bis.read()) != -1) {
49 | out.write(len);
50 | out.flush();
51 | }
52 | out.close();
53 | bis.close();
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/IndexController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.RequestMethod;
8 | import org.springframework.web.servlet.ModelAndView;
9 | import javax.servlet.http.HttpServletRequest;
10 | import org.springframework.web.bind.annotation.RequestMapping;
11 | import org.springframework.stereotype.Controller;
12 |
13 | @Controller
14 | public class IndexController
15 | {
16 | @RequestMapping({ "index.do" })
17 | public String index() {
18 | return "index";
19 | }
20 |
21 | @RequestMapping({ "logout.do" })
22 | public String logout(final HttpServletRequest request) {
23 | request.getSession().invalidate();
24 | System.out.println("logout success");
25 | return "redirect:index.do";
26 | }
27 |
28 | @RequestMapping(value = { "headerFrameLoad.do" }, method = { RequestMethod.GET })
29 | public ModelAndView headerFrameLoad(final HttpServletRequest request) {
30 | final ModelAndView modelAndView = new ModelAndView();
31 | modelAndView.setViewName("headerFrame");
32 | return modelAndView;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/LoginController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.ResponseBody;
8 | import org.springframework.web.bind.annotation.PostMapping;
9 | import com.alibaba.fastjson.JSONObject;
10 | import top.wangruns.trackstacking.utils.ReturnMsg;
11 | import top.wangruns.trackstacking.model.User;
12 | import javax.servlet.http.HttpServletRequest;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import top.wangruns.trackstacking.service.UserService;
15 | import org.springframework.stereotype.Controller;
16 |
17 | @Controller
18 | public class LoginController
19 | {
20 | @Autowired
21 | private UserService userService;
22 |
23 | @PostMapping(value = { "login.do" }, produces = { "text/html;charset=UTF-8" })
24 | @ResponseBody
25 | public String login(final HttpServletRequest request, final User u) {
26 | final boolean isUserExisted = this.userService.findLogin(u);
27 | if (!isUserExisted) {
28 | return ReturnMsg.msg(400, "\u5e10\u53f7\u6216\u5bc6\u7801\u9519\u8bef");
29 | }
30 | request.getSession().setAttribute("user", (Object)u);
31 | request.getSession().setAttribute("isHasPrivilege", (Object)this.userService.isHasPrivilege(request));
32 | return ReturnMsg.msg(200, JSONObject.toJSON((Object)u).toString());
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/MyMusicPageController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 | import org.springframework.web.bind.annotation.GetMapping;
10 | import top.wangruns.trackstacking.utils.OneDayOneWord;
11 | import top.wangruns.trackstacking.utils.Static;
12 | import org.springframework.web.servlet.ModelAndView;
13 | import javax.servlet.http.HttpServletRequest;
14 | import org.springframework.beans.factory.annotation.Autowired;
15 | import top.wangruns.trackstacking.service.MyMusicService;
16 | import org.springframework.stereotype.Controller;
17 |
18 | @Controller
19 | public class MyMusicPageController
20 | {
21 | @Autowired
22 | private MyMusicService myMusicService;
23 |
24 | @GetMapping({ "myMusicFrameLoad.do" })
25 | public ModelAndView myMusicFrameLoad(final HttpServletRequest request) {
26 | final ModelAndView modelAndView = new ModelAndView();
27 | modelAndView.setViewName("myMusicFrame");
28 | modelAndView.addObject("oneDayOneWord", (Object)OneDayOneWord.getOneDayOneWord(Static.MY_MUSIC_WORD_ARRAY));
29 | return modelAndView;
30 | }
31 |
32 | @GetMapping({ "recentFrameLoad.do" })
33 | public ModelAndView recentFrameLoad(final HttpServletRequest request) {
34 | final ModelAndView modelAndView = new ModelAndView();
35 | modelAndView.setViewName("recentFrame");
36 | final List myRecentPlayList = this.myMusicService.getMyRecentPlayListWithCollectionFlag(request);
37 | modelAndView.addObject("myRecentPlayList", (Object)myRecentPlayList);
38 | modelAndView.addObject("oneDayOneWord", (Object)OneDayOneWord.getOneDayOneWord(Static.MY_MUSIC_WORD_ARRAY));
39 | return modelAndView;
40 | }
41 |
42 | @GetMapping({ "collectedFrameLoad.do" })
43 | public ModelAndView collectedFrameLoad(final HttpServletRequest request) {
44 | final ModelAndView modelAndView = new ModelAndView();
45 | modelAndView.setViewName("collectedFrame");
46 | final List myCollectionList = this.myMusicService.getMyCollectionWithCollectionFlag(request);
47 | modelAndView.addObject("myCollectionList", (Object)myCollectionList);
48 | modelAndView.addObject("oneDayOneWord", (Object)OneDayOneWord.getOneDayOneWord(Static.MY_MUSIC_WORD_ARRAY));
49 | return modelAndView;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/NewTrackOnShelfController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.RequestMethod;
8 | import org.springframework.web.bind.annotation.RequestMapping;
9 | import top.wangruns.trackstacking.model.Song;
10 | import java.util.List;
11 | import org.springframework.web.servlet.ModelAndView;
12 | import javax.servlet.http.HttpServletRequest;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import top.wangruns.trackstacking.service.NewTrackOnShelfService;
15 | import org.springframework.stereotype.Controller;
16 |
17 | @Controller
18 | public class NewTrackOnShelfController
19 | {
20 | @Autowired
21 | private NewTrackOnShelfService newTrackOnShelfService;
22 |
23 | @RequestMapping(value = { "newTrackOnShelfFrameLoad.do" }, method = { RequestMethod.GET })
24 | public ModelAndView newTrackOnShelfFrameLoad(final HttpServletRequest request) {
25 | final ModelAndView modelAndView = new ModelAndView();
26 | modelAndView.setViewName("newTrackOnShelfFrame");
27 | final List newTrackSongList = this.newTrackOnShelfService.getNewTrackWithCollectionFlag(request);
28 | modelAndView.addObject("newTrackSongList", (Object)newTrackSongList);
29 | modelAndView.addObject("test", (Object)"Name");
30 | return modelAndView;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/PersonalRecController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.RequestMethod;
8 | import org.springframework.web.bind.annotation.RequestMapping;
9 | import top.wangruns.trackstacking.model.Song;
10 | import java.util.List;
11 | import org.springframework.web.servlet.ModelAndView;
12 | import javax.servlet.http.HttpServletRequest;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import top.wangruns.trackstacking.service.PersonalRecService;
15 | import org.springframework.stereotype.Controller;
16 |
17 | @Controller
18 | public class PersonalRecController
19 | {
20 | @Autowired
21 | private PersonalRecService personalRecService;
22 |
23 | @RequestMapping(value = { "personalizedRecFrameLoad.do" }, method = { RequestMethod.GET })
24 | public ModelAndView personalizedRecFrameLoad(final HttpServletRequest request) {
25 | final ModelAndView modelAndView = new ModelAndView();
26 | modelAndView.setViewName("personalizedRecFrame");
27 | final List personalRecSongList = this.personalRecService.getPersonalDailyRecWithCollectionFlag(request);
28 | modelAndView.addObject("personalRecSongList", (Object)personalRecSongList);
29 | if (personalRecSongList == null) {
30 | modelAndView.addObject("oneDayOneWord", (Object)"\u767b\u5f55\u5373\u4eab\u2014\u2014\u9047\u89c1\u4e0d\u4e00\u6837\u7684\u81ea\u5df1");
31 | }
32 | else {
33 | modelAndView.addObject("oneDayOneWord", (Object)"\u66f4\u61c2\u4f60\u7684\u5fc3");
34 | }
35 | return modelAndView;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/RankingPageCotroller.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.GetMapping;
8 | import top.wangruns.trackstacking.model.Song;
9 | import java.util.List;
10 | import top.wangruns.trackstacking.utils.OneDayOneWord;
11 | import top.wangruns.trackstacking.utils.Static;
12 | import org.springframework.web.servlet.ModelAndView;
13 | import javax.servlet.http.HttpServletRequest;
14 | import org.springframework.beans.factory.annotation.Autowired;
15 | import top.wangruns.trackstacking.service.RankingPageService;
16 | import org.springframework.stereotype.Controller;
17 |
18 | @Controller
19 | public class RankingPageCotroller
20 | {
21 | @Autowired
22 | private RankingPageService rankingPageService;
23 |
24 | @GetMapping({ "rankingFrameLoad.do" })
25 | public ModelAndView rankingFrameLoad(final HttpServletRequest request) {
26 | final ModelAndView modelAndView = new ModelAndView();
27 | modelAndView.setViewName("rankingFrame");
28 | final List weekRankingList = this.rankingPageService.getRankWithCollectionFlag(request, 1);
29 | final List monthRankingList = this.rankingPageService.getRankWithCollectionFlag(request, 2);
30 | modelAndView.addObject("weekRankingList", (Object)weekRankingList);
31 | modelAndView.addObject("monthRankingList", (Object)monthRankingList);
32 | modelAndView.addObject("oneDayOneWord", (Object)OneDayOneWord.getOneDayOneWord(Static.RANKING_WORD_ARRAY));
33 | return modelAndView;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/RecordPlayController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.GetMapping;
8 | import javax.servlet.http.HttpServletRequest;
9 | import org.springframework.beans.factory.annotation.Autowired;
10 | import top.wangruns.trackstacking.service.RecordPlayService;
11 | import org.springframework.stereotype.Controller;
12 |
13 | @Controller
14 | public class RecordPlayController
15 | {
16 | @Autowired
17 | private RecordPlayService recordPlayService;
18 |
19 | @GetMapping({ "recordPlay.do" })
20 | public void recordPlay(final HttpServletRequest request, final int songId) {
21 | this.recordPlayService.recordPlay(request, songId);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/RegisterController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import com.alibaba.fastjson.JSONObject;
8 | import top.wangruns.trackstacking.model.User;
9 | import org.springframework.web.bind.annotation.ResponseBody;
10 | import org.springframework.web.bind.annotation.PostMapping;
11 | import top.wangruns.trackstacking.utils.SendEmail;
12 | import top.wangruns.trackstacking.utils.ReturnMsg;
13 | import javax.servlet.http.HttpServletRequest;
14 | import top.wangruns.trackstacking.service.PersonalRecService;
15 | import org.springframework.beans.factory.annotation.Autowired;
16 | import top.wangruns.trackstacking.service.UserService;
17 | import org.springframework.stereotype.Controller;
18 |
19 | @Controller
20 | public class RegisterController
21 | {
22 | @Autowired
23 | private UserService userService;
24 | @Autowired
25 | private PersonalRecService personalRecService;
26 |
27 | @PostMapping(value = { "getValidateCode.do" }, produces = { "text/html;charset=UTF-8" })
28 | @ResponseBody
29 | public String getValidateCode(final HttpServletRequest request, final String email) {
30 | final boolean isExisted = this.userService.isEmailExisted(email);
31 | if (isExisted) {
32 | return ReturnMsg.msg(400, "\u8be5\u7528\u6237\u5df2\u5b58\u5728");
33 | }
34 | if (this.userService.tooQuickly(request, 1)) {
35 | return ReturnMsg.msg(400, "\u53d1\u9001\u9891\u7387\u592a\u5feb");
36 | }
37 | final String code = new StringBuilder(String.valueOf((int)(Math.random() * 10000.0))).toString();
38 | final String content = "Welcome to Track Stacking, your email verified code is\uff1a" + code + "\n\n" + "Sincerely,";
39 | final boolean isSuccessful = SendEmail.sendemail("Email Validation", content, email);
40 | if (isSuccessful) {
41 | request.getSession().setAttribute("code", (Object)code);
42 | return ReturnMsg.msg(200, "\u53d1\u9001\u6210\u529f");
43 | }
44 | return ReturnMsg.msg(400, "\u53d1\u9001\u5931\u8d25");
45 | }
46 |
47 | @PostMapping(value = { "register.do" }, produces = { "text/html;charset=UTF-8" })
48 | @ResponseBody
49 | public String register(final HttpServletRequest request, final User u) {
50 | final String code = (String)request.getSession().getAttribute("code");
51 | if (code == null || !code.equals(u.getValidateCode())) {
52 | return ReturnMsg.msg(400, "\u9a8c\u8bc1\u7801\u9519\u8bef");
53 | }
54 | final boolean isInserted = this.userService.insert(u);
55 | if (isInserted) {
56 | request.getSession().setAttribute("user", (Object)u);
57 | this.personalRecService.initializePersonalRecList(request);
58 | return ReturnMsg.msg(200, JSONObject.toJSON((Object)u).toString());
59 | }
60 | return ReturnMsg.msg(400, "\u6ce8\u518c\u5931\u8d25");
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/SongController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.ResponseBody;
8 | import org.springframework.web.bind.annotation.PostMapping;
9 | import top.wangruns.trackstacking.utils.ReturnMsg;
10 | import org.springframework.web.multipart.MultipartFile;
11 | import org.springframework.web.bind.annotation.RequestMethod;
12 | import org.springframework.web.bind.annotation.RequestMapping;
13 | import javax.servlet.http.HttpServletRequest;
14 | import top.wangruns.trackstacking.service.SongService;
15 | import org.springframework.beans.factory.annotation.Autowired;
16 | import top.wangruns.trackstacking.service.UserService;
17 | import org.springframework.stereotype.Controller;
18 |
19 | @Controller
20 | public class SongController
21 | {
22 | @Autowired
23 | private UserService userService;
24 | @Autowired
25 | private SongService songService;
26 |
27 | @RequestMapping(value = { "deleteSong.do" }, method = { RequestMethod.POST })
28 | public void deleteSong(final HttpServletRequest request, final int[] songIds) {
29 | if (this.userService.isHasPrivilege(request)) {
30 | this.songService.batchDeleteById(request, songIds);
31 | }
32 | }
33 |
34 | @PostMapping({ "addSong.do" })
35 | @ResponseBody
36 | public String addSong(final HttpServletRequest request, final MultipartFile song, final MultipartFile lyric) {
37 | if (!this.userService.isHasPrivilege(request) || !this.songService.checkFormat(song, lyric)) {
38 | return ReturnMsg.msg(400, "\u683c\u5f0f\u9519\u8bef");
39 | }
40 | final boolean isSuccessful = this.songService.addSong(request, song, lyric);
41 | if (isSuccessful) {
42 | return ReturnMsg.msg(200, "\u4e0a\u4f20\u6210\u529f");
43 | }
44 | return ReturnMsg.msg(400, "\u4e0a\u4f20\u5931\u8d25");
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/TrendingRecController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.RequestMethod;
8 | import org.springframework.web.bind.annotation.RequestMapping;
9 | import top.wangruns.trackstacking.model.Song;
10 | import java.util.List;
11 | import org.springframework.web.servlet.ModelAndView;
12 | import javax.servlet.http.HttpServletRequest;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import top.wangruns.trackstacking.service.TrendingRecService;
15 | import org.springframework.stereotype.Controller;
16 |
17 | @Controller
18 | public class TrendingRecController
19 | {
20 | @Autowired
21 | private TrendingRecService trendingRecService;
22 |
23 | @RequestMapping(value = { "trendingRecFrameLoad.do" }, method = { RequestMethod.GET })
24 | public ModelAndView trendingRecFrameLoad(final HttpServletRequest request) {
25 | final ModelAndView modelAndView = new ModelAndView();
26 | modelAndView.setViewName("trendingRecFrame");
27 | final List trendingSongList = this.trendingRecService.getSongWithCollectionFlag(request);
28 | modelAndView.addObject("trendingSongList", (Object)trendingSongList);
29 | modelAndView.addObject("test", (Object)"Name");
30 | return modelAndView;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/controller/UserController.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.controller;
6 |
7 | import org.springframework.web.bind.annotation.RequestMethod;
8 | import org.springframework.web.bind.annotation.RequestMapping;
9 | import javax.servlet.http.HttpServletRequest;
10 | import org.springframework.beans.factory.annotation.Autowired;
11 | import top.wangruns.trackstacking.service.UserService;
12 | import org.springframework.stereotype.Controller;
13 |
14 | @Controller
15 | public class UserController
16 | {
17 | @Autowired
18 | private UserService userService;
19 |
20 | @RequestMapping(value = { "deleteUser.do" }, method = { RequestMethod.POST })
21 | public void deleteUser(final HttpServletRequest request, final int[] userIds) {
22 | if (this.userService.isHasPrivilege(request)) {
23 | this.userService.batchDeleteById(userIds);
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/CollectionDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import java.util.List;
8 | import top.wangruns.trackstacking.model.Collection;
9 |
10 | public interface CollectionDao
11 | {
12 | Collection selectByCollection(Collection p0);
13 |
14 | void deleteById(int p0);
15 |
16 | void insert(Collection p0);
17 |
18 | List selectAll();
19 | }
20 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/MyMusicDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 | import top.wangruns.trackstacking.model.User;
10 |
11 | public interface MyMusicDao
12 | {
13 | List selectCollectedSong(User p0);
14 |
15 | List selectMyRecentSong(User p0);
16 | }
17 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/NewTrackOnShelfDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 |
10 | public interface NewTrackOnShelfDao
11 | {
12 | List selecNewSong();
13 | }
14 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/PersonalRecDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 | import top.wangruns.trackstacking.model.User;
10 |
11 | public interface PersonalRecDao
12 | {
13 | List selectPersonalRecFromA(User p0);
14 |
15 | List selectPersonalRecFromB(User p0);
16 |
17 | void insertRecA(int p0, int p1);
18 |
19 | void insertRecB(int p0, int p1);
20 |
21 | void deleteBByUserId(int p0);
22 |
23 | void deleteAByUserId(int p0);
24 |
25 | void insertListIntoRecA(List p0, int p1);
26 |
27 | void insertListIntoRecB(List p0, int p1);
28 |
29 | void insertArrayIntoRecB(Integer[] p0, Integer p1);
30 |
31 | void insertArrayIntoRecA(Integer[] p0, Integer p1);
32 | }
33 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/RankingPageDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 |
10 | public interface RankingPageDao
11 | {
12 | List selectRecentWeekRanking();
13 |
14 | List selectRecentMonthRanking();
15 | }
16 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/RecordDownloadDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import java.util.List;
8 | import top.wangruns.trackstacking.model.DownloadRecord;
9 |
10 | public interface RecordDownloadDao
11 | {
12 | void insert(DownloadRecord p0);
13 |
14 | List selectAll();
15 | }
16 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/RecordPlayDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import java.util.List;
8 | import top.wangruns.trackstacking.model.PlayRecord;
9 |
10 | public interface RecordPlayDao
11 | {
12 | void insert(PlayRecord p0);
13 |
14 | List selectAll();
15 | }
16 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/ReviewDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Like;
8 | import java.util.List;
9 | import top.wangruns.trackstacking.model.Review;
10 |
11 | public interface ReviewDao
12 | {
13 | int insert(Review p0);
14 |
15 | List selectLikeByUserId(int p0);
16 |
17 | List selectHotReviewWithLikeNumber(int p0);
18 |
19 | Like selectByLike(Like p0);
20 |
21 | void insertLikeRecord(Like p0);
22 |
23 | void deleteLikeRecordById(int p0);
24 |
25 | List selectNewReviewWithLikeNumber(int p0);
26 |
27 | void deleteByIds(int[] p0);
28 | }
29 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/SearchDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.User;
8 | import top.wangruns.trackstacking.model.Review;
9 | import top.wangruns.trackstacking.model.Song;
10 | import java.util.List;
11 |
12 | public interface SearchDao
13 | {
14 | List selectSongLikeKeyword(String p0);
15 |
16 | List selectReviewLikeKeyword(String p0);
17 |
18 | List selectUserLikeKeyword(String p0, int p1);
19 | }
20 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/SongDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 |
10 | public interface SongDao
11 | {
12 | List selectAllSongId();
13 |
14 | Song selectSongById(int p0);
15 |
16 | int selectCoefficientById(int p0);
17 |
18 | void deleteByIds(int[] p0);
19 |
20 | int insertOnlySong(Song p0);
21 |
22 | int insertSongWithLyric(Song p0);
23 |
24 | List selectAllSongsWithLyric();
25 | }
26 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/TrendingRecDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Collection;
8 | import top.wangruns.trackstacking.model.User;
9 | import top.wangruns.trackstacking.model.Song;
10 | import java.util.List;
11 |
12 | public interface TrendingRecDao
13 | {
14 | List getTrendingSong();
15 |
16 | List getCollection(User p0);
17 | }
18 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/UserDao.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.dao;
6 |
7 | import top.wangruns.trackstacking.model.Role;
8 | import java.util.List;
9 | import top.wangruns.trackstacking.model.User;
10 |
11 | public interface UserDao
12 | {
13 | User selectByUser(User p0);
14 |
15 | User selectByEmail(String p0);
16 |
17 | int insert(User p0);
18 |
19 | List selectAll();
20 |
21 | List selectAllUserId();
22 |
23 | void deleteByIds(int[] p0);
24 |
25 | Role selectRoleByUserId(int p0);
26 | }
27 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/CollectionDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | insert into collection(userId,songId) values(#{userId},#{songId})
8 |
9 |
10 |
11 | delete from collection where collectionId=#{collectionId}
12 |
13 |
14 |
18 |
19 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/MyMusicDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/NewTrackOnShelfDaoImlp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/PersonalRecDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
16 |
17 |
18 | insert into reca(userId,songId) values(#{0},#{1})
19 |
20 |
21 |
22 | insert into recb(userId,songId) values(#{0},#{1})
23 |
24 |
25 |
26 | delete from recb where userId=#{userId}
27 |
28 |
29 |
30 | delete from reca where userId=#{userId}
31 |
32 |
33 |
34 |
37 |
38 | insert into reca(userId,songId) values
39 |
40 | (#{param2},#{song.songId})
41 |
42 |
43 |
44 |
45 | insert into recb(userId,songId) values
46 |
47 | (#{param2},#{song.songId})
48 |
49 |
50 |
51 |
52 | insert into recb(userId,songId) values
53 |
54 | (#{param2},#{songId})
55 |
56 |
57 |
58 |
59 | insert into reca(userId,songId) values
60 |
61 | (#{param2},#{songId})
62 |
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/RankingPageDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
16 |
17 |
23 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/RecordDownloadDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | insert into download (userId,songId) values(#{userId},#{songId})
8 |
9 |
10 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/RecordPlayDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | insert into play(userId,songId) values(#{userId},#{songId})
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/SearchDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
17 |
18 |
19 |
20 |
27 |
28 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/SongDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
15 |
16 |
21 |
22 |
28 |
29 | delete from song where songId in
30 |
31 | #{songId}
32 |
33 |
34 |
35 |
36 | insert into song(songName,songAddress) values( #{songName},#{songAddress} )
37 |
38 |
39 |
40 | insert into song(songName,songAddress,lyricName,lyricAddress)
41 | values( #{songName},#{songAddress},#{lyricName} ,#{lyricAddress} )
42 |
43 |
44 |
48 |
49 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/TrendingRecDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
15 |
16 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/dao/impl/UserDaoImpl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
15 |
16 |
17 | insert into user(email,password) select #{email},#{password}
18 | from dual where #{email} not in (select email from user)
19 |
20 |
21 |
25 |
26 |
30 |
31 |
37 |
38 | delete from user where userId in
39 |
40 | #{userId}
41 |
42 |
43 |
44 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/Collection.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | public class Collection
8 | {
9 | private int collectionId;
10 | private int userId;
11 | private int songId;
12 |
13 | public Collection() {
14 | }
15 |
16 | public Collection(final int userId, final int songId) {
17 | this.userId = userId;
18 | this.songId = songId;
19 | }
20 |
21 | public int getCollectionId() {
22 | return this.collectionId;
23 | }
24 |
25 | public void setCollectionId(final int collectionId) {
26 | this.collectionId = collectionId;
27 | }
28 |
29 | public int getUserId() {
30 | return this.userId;
31 | }
32 |
33 | public void setUserId(final int userId) {
34 | this.userId = userId;
35 | }
36 |
37 | public int getSongId() {
38 | return this.songId;
39 | }
40 |
41 | public void setSongId(final int songId) {
42 | this.songId = songId;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/DownloadRecord.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | public class DownloadRecord
8 | {
9 | private int downloadId;
10 | private int userId;
11 | private int songId;
12 |
13 | public DownloadRecord() {
14 | }
15 |
16 | public DownloadRecord(final int userId, final int songId) {
17 | this.userId = userId;
18 | this.songId = songId;
19 | }
20 |
21 | public int getDownloadId() {
22 | return this.downloadId;
23 | }
24 |
25 | public void setDownloadId(final int downloadId) {
26 | this.downloadId = downloadId;
27 | }
28 |
29 | public int getUserId() {
30 | return this.userId;
31 | }
32 |
33 | public void setUserId(final int userId) {
34 | this.userId = userId;
35 | }
36 |
37 | public int getSongId() {
38 | return this.songId;
39 | }
40 |
41 | public void setSongId(final int songId) {
42 | this.songId = songId;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/Like.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | public class Like
8 | {
9 | private int likeId;
10 | private int userId;
11 | private int reviewId;
12 |
13 | public Like() {
14 | }
15 |
16 | public Like(final int userId, final int reviewId) {
17 | this.userId = userId;
18 | this.reviewId = reviewId;
19 | }
20 |
21 | public int getLikeId() {
22 | return this.likeId;
23 | }
24 |
25 | public void setLikeId(final int likeId) {
26 | this.likeId = likeId;
27 | }
28 |
29 | public int getUserId() {
30 | return this.userId;
31 | }
32 |
33 | public void setUserId(final int userId) {
34 | this.userId = userId;
35 | }
36 |
37 | public int getReviewId() {
38 | return this.reviewId;
39 | }
40 |
41 | public void setReviewId(final int reviewId) {
42 | this.reviewId = reviewId;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/PlayRecord.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | public class PlayRecord
8 | {
9 | private int playId;
10 | private int userId;
11 | private int songId;
12 |
13 | public PlayRecord() {
14 | }
15 |
16 | public PlayRecord(final int userId, final int songId) {
17 | this.userId = userId;
18 | this.songId = songId;
19 | }
20 |
21 | public int getPlayId() {
22 | return this.playId;
23 | }
24 |
25 | public void setPlayId(final int playId) {
26 | this.playId = playId;
27 | }
28 |
29 | public int getUserId() {
30 | return this.userId;
31 | }
32 |
33 | public void setUserId(final int userId) {
34 | this.userId = userId;
35 | }
36 |
37 | public int getSongId() {
38 | return this.songId;
39 | }
40 |
41 | public void setSongId(final int songId) {
42 | this.songId = songId;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/Review.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | public class Review
8 | {
9 | private int reviewId;
10 | private int userId;
11 | private int songId;
12 | private String review;
13 | private String reviewTime;
14 | private int likeCoefficient;
15 | private String userName;
16 | private boolean whetherLiked;
17 |
18 | public int getLikeCoefficient() {
19 | return this.likeCoefficient;
20 | }
21 |
22 | public void setLikeCoefficient(final int likeCoefficient) {
23 | this.likeCoefficient = likeCoefficient;
24 | }
25 |
26 | public String getUserName() {
27 | return this.userName;
28 | }
29 |
30 | public void setUserName(final String userName) {
31 | this.userName = userName;
32 | }
33 |
34 | public boolean isWhetherLiked() {
35 | return this.whetherLiked;
36 | }
37 |
38 | public void setWhetherLiked(final boolean whetherLiked) {
39 | this.whetherLiked = whetherLiked;
40 | }
41 |
42 | public Review(final int userId, final int songId, final String review) {
43 | this.userId = userId;
44 | this.songId = songId;
45 | this.review = review;
46 | }
47 |
48 | public String getReview() {
49 | return this.review;
50 | }
51 |
52 | public void setReview(final String review) {
53 | this.review = review;
54 | }
55 |
56 | public Review() {
57 | }
58 |
59 | public int getReviewId() {
60 | return this.reviewId;
61 | }
62 |
63 | public void setReviewId(final int reviewId) {
64 | this.reviewId = reviewId;
65 | }
66 |
67 | public int getUserId() {
68 | return this.userId;
69 | }
70 |
71 | public void setUserId(final int userId) {
72 | this.userId = userId;
73 | }
74 |
75 | public int getSongId() {
76 | return this.songId;
77 | }
78 |
79 | public void setSongId(final int songId) {
80 | this.songId = songId;
81 | }
82 |
83 | public String getReviewTime() {
84 | return this.reviewTime;
85 | }
86 |
87 | public void setReviewTime(final String reviewTime) {
88 | this.reviewTime = reviewTime;
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/Role.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | public class Role
8 | {
9 | private int roleId;
10 | private String roleName;
11 |
12 | public int getRoleId() {
13 | return this.roleId;
14 | }
15 |
16 | public void setRoleId(final int roleId) {
17 | this.roleId = roleId;
18 | }
19 |
20 | public String getRoleName() {
21 | return this.roleName;
22 | }
23 |
24 | public void setRoleName(final String roleName) {
25 | this.roleName = roleName;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/Song.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | public class Song
8 | {
9 | private int songId;
10 | private String songName;
11 | private String songAddress;
12 | private String songCoverAddress;
13 | private String songType;
14 | private int songLength;
15 | private String lyricName;
16 | private String lyricAddress;
17 | private int trendingCoefficient;
18 | private boolean whetherCollected;
19 |
20 | public Song(final String songName, final String songAddress) {
21 | this.songName = songName;
22 | this.songAddress = songAddress;
23 | }
24 |
25 | public Song(final String songName, final String songAddress, final String lyricName, final String lyricAddress) {
26 | this.songName = songName;
27 | this.songAddress = songAddress;
28 | this.lyricName = lyricName;
29 | this.lyricAddress = lyricAddress;
30 | }
31 |
32 | public Song() {
33 | }
34 |
35 | public int getTrendingCoefficient() {
36 | return this.trendingCoefficient;
37 | }
38 |
39 | public void setTrendingCoefficient(final int trendingCoefficient) {
40 | this.trendingCoefficient = trendingCoefficient;
41 | }
42 |
43 | public boolean isWhetherCollected() {
44 | return this.whetherCollected;
45 | }
46 |
47 | public void setWhetherCollected(final boolean whetherCollected) {
48 | this.whetherCollected = whetherCollected;
49 | }
50 |
51 | public String getLyricName() {
52 | return this.lyricName;
53 | }
54 |
55 | public void setLyricName(final String lyricName) {
56 | this.lyricName = lyricName;
57 | }
58 |
59 | public String getLyricAddress() {
60 | return this.lyricAddress;
61 | }
62 |
63 | public void setLyricAddress(final String lyricAddress) {
64 | this.lyricAddress = lyricAddress;
65 | }
66 |
67 | public String getSongCoverAddress() {
68 | return this.songCoverAddress;
69 | }
70 |
71 | public void setSongCoverAddress(final String songCoverAddress) {
72 | this.songCoverAddress = songCoverAddress;
73 | }
74 |
75 | public String getSongType() {
76 | return this.songType;
77 | }
78 |
79 | public void setSongType(final String songType) {
80 | this.songType = songType;
81 | }
82 |
83 | public int getSongLength() {
84 | return this.songLength;
85 | }
86 |
87 | public void setSongLength(final int songLength) {
88 | this.songLength = songLength;
89 | }
90 |
91 | public int getSongId() {
92 | return this.songId;
93 | }
94 |
95 | public void setSongId(final int songId) {
96 | this.songId = songId;
97 | }
98 |
99 | public String getSongName() {
100 | return this.songName;
101 | }
102 |
103 | public void setSongName(final String songName) {
104 | this.songName = songName;
105 | }
106 |
107 | public String getSongAddress() {
108 | return this.songAddress;
109 | }
110 |
111 | public void setSongAddress(final String songAddress) {
112 | this.songAddress = songAddress;
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/model/User.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.model;
6 |
7 | import top.wangruns.trackstacking.utils.MD5Util;
8 |
9 | public class User
10 | {
11 | private int userId;
12 | private String email;
13 | private String password;
14 | private String validateCode;
15 | private String userName;
16 |
17 | public String getUserName() {
18 | return this.userName;
19 | }
20 |
21 | public void setUserName(final String userName) {
22 | this.userName = userName;
23 | }
24 |
25 | public String getValidateCode() {
26 | return this.validateCode;
27 | }
28 |
29 | public void setValidateCode(final String validateCode) {
30 | this.validateCode = validateCode;
31 | }
32 |
33 | public String getPassword() {
34 | return this.password;
35 | }
36 |
37 | public void setPassword(final String password) {
38 | this.password = MD5Util.string2MD5(password);
39 | }
40 |
41 | public int getUserId() {
42 | return this.userId;
43 | }
44 |
45 | public void setUserId(final int userId) {
46 | this.userId = userId;
47 | }
48 |
49 | public String getEmail() {
50 | return this.email;
51 | }
52 |
53 | public void setEmail(final String email) {
54 | this.email = email;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/CollectionService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.Collection;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface CollectionService
12 | {
13 | boolean collectionChange(HttpServletRequest p0, int p1);
14 |
15 | List getAllRecords();
16 | }
17 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/MyMusicService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface MyMusicService
12 | {
13 | List getMyCollectionWithCollectionFlag(HttpServletRequest p0);
14 |
15 | List getMyRecentPlayListWithCollectionFlag(HttpServletRequest p0);
16 | }
17 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/NewTrackOnShelfService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface NewTrackOnShelfService
12 | {
13 | List getNewTrackWithCollectionFlag(HttpServletRequest p0);
14 | }
15 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/PersonalRecService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import java.util.Map;
8 | import top.wangruns.trackstacking.model.Song;
9 | import java.util.List;
10 | import javax.servlet.http.HttpServletRequest;
11 |
12 | public interface PersonalRecService
13 | {
14 | List getPersonalDailyRecWithCollectionFlag(HttpServletRequest p0);
15 |
16 | void initializePersonalRecList(HttpServletRequest p0);
17 |
18 | void updatePersonalRecIntoB(Map p0);
19 |
20 | void updatePersonalRecIntoA(Map p0);
21 |
22 | void addHybridRecIntoA(Map p0);
23 |
24 | void addHybridRecIntoB(Map p0);
25 | }
26 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/RankingPageService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface RankingPageService
12 | {
13 | List getRankWithCollectionFlag(HttpServletRequest p0, int p1);
14 | }
15 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/RecordDownloadService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.DownloadRecord;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface RecordDownloadService
12 | {
13 | void recordDownload(HttpServletRequest p0, int p1);
14 |
15 | List getAllRecords();
16 | }
17 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/RecordPlayService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.PlayRecord;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface RecordPlayService
12 | {
13 | void recordPlay(HttpServletRequest p0, int p1);
14 |
15 | List getAllRecords();
16 | }
17 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/ReviewService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.Review;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface ReviewService
12 | {
13 | boolean addReview(HttpServletRequest p0, int p1, String p2);
14 |
15 | List getHotReviewBySongIdWithLikeFlag(HttpServletRequest p0, int p1);
16 |
17 | boolean reviewLikeChange(HttpServletRequest p0, int p1);
18 |
19 | List getNewReviewBySongIdWithLikeFlag(HttpServletRequest p0, int p1);
20 |
21 | void batchDeleteById(int[] p0);
22 | }
23 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/SearchService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.User;
8 | import top.wangruns.trackstacking.model.Review;
9 | import top.wangruns.trackstacking.model.Song;
10 | import java.util.List;
11 | import javax.servlet.http.HttpServletRequest;
12 |
13 | public interface SearchService
14 | {
15 | List getSearchSongWithCollectionFlag(HttpServletRequest p0, String p1);
16 |
17 | List getSearchReview(String p0);
18 |
19 | List getSearchUser(HttpServletRequest p0, String p1);
20 |
21 | List getSearchSong(String p0);
22 | }
23 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/SongService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import org.springframework.web.multipart.MultipartFile;
8 | import javax.servlet.http.HttpServletRequest;
9 | import top.wangruns.trackstacking.model.Song;
10 | import java.util.List;
11 |
12 | public interface SongService
13 | {
14 | List getAllSongIdRecords();
15 |
16 | Song getSongById(int p0);
17 |
18 | Song getSongByIdWithCollectionFlag(HttpServletRequest p0, int p1);
19 |
20 | void batchDeleteById(HttpServletRequest p0, int[] p1);
21 |
22 | boolean checkFormat(MultipartFile p0, MultipartFile p1);
23 |
24 | boolean addSong(HttpServletRequest p0, MultipartFile p1, MultipartFile p2);
25 |
26 | List getAllSongRecordsWithLyric();
27 | }
28 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/TrendingRecService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import top.wangruns.trackstacking.model.Song;
8 | import java.util.List;
9 | import javax.servlet.http.HttpServletRequest;
10 |
11 | public interface TrendingRecService
12 | {
13 | List getSongWithCollectionFlag(HttpServletRequest p0);
14 | }
15 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/UserService.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service;
6 |
7 | import javax.servlet.http.HttpServletRequest;
8 | import java.util.List;
9 | import top.wangruns.trackstacking.model.User;
10 |
11 | public interface UserService
12 | {
13 | boolean findLogin(User p0);
14 |
15 | boolean isEmailExisted(String p0);
16 |
17 | boolean insert(User p0);
18 |
19 | List getAllRecords();
20 |
21 | List getAllUserIdRecords();
22 |
23 | boolean isHasPrivilege(HttpServletRequest p0);
24 |
25 | void batchDeleteById(int[] p0);
26 |
27 | boolean tooQuickly(HttpServletRequest p0, int p1);
28 | }
29 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/CollectionServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import java.util.List;
8 | import top.wangruns.trackstacking.model.User;
9 | import top.wangruns.trackstacking.model.Collection;
10 | import top.wangruns.trackstacking.utils.Request;
11 | import javax.servlet.http.HttpServletRequest;
12 | import top.wangruns.trackstacking.dao.UserDao;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import top.wangruns.trackstacking.dao.CollectionDao;
15 | import org.springframework.stereotype.Service;
16 | import top.wangruns.trackstacking.service.CollectionService;
17 |
18 | @Service("collectionService")
19 | public class CollectionServiceImpl implements CollectionService
20 | {
21 | @Autowired
22 | private CollectionDao collectionDao;
23 | @Autowired
24 | private UserDao userDao;
25 |
26 | public boolean collectionChange(final HttpServletRequest request, final int songId) {
27 | boolean isCurCollected = true;
28 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
29 | final Collection collection = this.collectionDao.selectByCollection(new Collection(user.getUserId(), songId));
30 | if (collection == null) {
31 | isCurCollected = false;
32 | this.collectionDao.insert(new Collection(user.getUserId(), songId));
33 | }
34 | else {
35 | this.collectionDao.deleteById(collection.getCollectionId());
36 | }
37 | return !isCurCollected;
38 | }
39 |
40 | public List getAllRecords() {
41 | return this.collectionDao.selectAll();
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/MyMusicServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import top.wangruns.trackstacking.model.Collection;
8 | import java.util.Iterator;
9 | import top.wangruns.trackstacking.model.User;
10 | import top.wangruns.trackstacking.utils.Request;
11 | import java.util.ArrayList;
12 | import top.wangruns.trackstacking.model.Song;
13 | import java.util.List;
14 | import javax.servlet.http.HttpServletRequest;
15 | import top.wangruns.trackstacking.dao.TrendingRecDao;
16 | import top.wangruns.trackstacking.dao.UserDao;
17 | import org.springframework.beans.factory.annotation.Autowired;
18 | import top.wangruns.trackstacking.dao.MyMusicDao;
19 | import org.springframework.stereotype.Service;
20 | import top.wangruns.trackstacking.service.MyMusicService;
21 |
22 | @Service("myMusicService")
23 | public class MyMusicServiceImpl implements MyMusicService
24 | {
25 | @Autowired
26 | private MyMusicDao myMusicDao;
27 | @Autowired
28 | private UserDao userDao;
29 | @Autowired
30 | private TrendingRecDao trendingRecDao;
31 |
32 | public List getMyCollectionWithCollectionFlag(final HttpServletRequest request) {
33 | List myCollectionList = new ArrayList();
34 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
35 | myCollectionList = this.myMusicDao.selectCollectedSong(user);
36 | if (myCollectionList != null) {
37 | for (final Song t : myCollectionList) {
38 | t.setWhetherCollected(true);
39 | }
40 | }
41 | return myCollectionList;
42 | }
43 |
44 | public List getMyRecentPlayListWithCollectionFlag(final HttpServletRequest request) {
45 | List myRecentPalyList = new ArrayList();
46 | List collectionList = new ArrayList();
47 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
48 | myRecentPalyList = this.myMusicDao.selectMyRecentSong(user);
49 | collectionList = this.trendingRecDao.getCollection(user);
50 | if (collectionList != null && myRecentPalyList != null) {
51 | for (final Collection c : collectionList) {
52 | for (final Song t : myRecentPalyList) {
53 | if (c.getSongId() == t.getSongId()) {
54 | t.setWhetherCollected(true);
55 | }
56 | }
57 | }
58 | }
59 | return myRecentPalyList;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/NewTrackOnShelfServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import java.util.Iterator;
8 | import top.wangruns.trackstacking.model.User;
9 | import top.wangruns.trackstacking.utils.Request;
10 | import top.wangruns.trackstacking.model.Collection;
11 | import java.util.ArrayList;
12 | import top.wangruns.trackstacking.model.Song;
13 | import java.util.List;
14 | import javax.servlet.http.HttpServletRequest;
15 | import top.wangruns.trackstacking.dao.TrendingRecDao;
16 | import top.wangruns.trackstacking.dao.UserDao;
17 | import org.springframework.beans.factory.annotation.Autowired;
18 | import top.wangruns.trackstacking.dao.NewTrackOnShelfDao;
19 | import org.springframework.stereotype.Service;
20 | import top.wangruns.trackstacking.service.NewTrackOnShelfService;
21 |
22 | @Service("newTrackOnShelfService")
23 | public class NewTrackOnShelfServiceImpl implements NewTrackOnShelfService
24 | {
25 | @Autowired
26 | private NewTrackOnShelfDao newTrackOnShelfDao;
27 | @Autowired
28 | private UserDao userDao;
29 | @Autowired
30 | private TrendingRecDao trendingRecDao;
31 |
32 | public List getNewTrackWithCollectionFlag(final HttpServletRequest request) {
33 | List newTackOnShelList = new ArrayList();
34 | List collectionList = new ArrayList();
35 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
36 | collectionList = this.trendingRecDao.getCollection(user);
37 | newTackOnShelList = this.newTrackOnShelfDao.selecNewSong();
38 | if (collectionList != null && newTackOnShelList != null) {
39 | for (final Collection c : collectionList) {
40 | for (final Song t : newTackOnShelList) {
41 | if (c.getSongId() == t.getSongId()) {
42 | t.setWhetherCollected(true);
43 | }
44 | }
45 | }
46 | }
47 | return newTackOnShelList;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/RankingPageServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import java.util.Iterator;
8 | import top.wangruns.trackstacking.model.User;
9 | import top.wangruns.trackstacking.utils.Request;
10 | import top.wangruns.trackstacking.model.Collection;
11 | import java.util.ArrayList;
12 | import top.wangruns.trackstacking.model.Song;
13 | import java.util.List;
14 | import javax.servlet.http.HttpServletRequest;
15 | import top.wangruns.trackstacking.dao.TrendingRecDao;
16 | import top.wangruns.trackstacking.dao.UserDao;
17 | import org.springframework.beans.factory.annotation.Autowired;
18 | import top.wangruns.trackstacking.dao.RankingPageDao;
19 | import org.springframework.stereotype.Service;
20 | import top.wangruns.trackstacking.service.RankingPageService;
21 |
22 | @Service("rankingPageService")
23 | public class RankingPageServiceImpl implements RankingPageService
24 | {
25 | @Autowired
26 | private RankingPageDao rankingPageDao;
27 | @Autowired
28 | private UserDao userDao;
29 | @Autowired
30 | private TrendingRecDao trendingRecDao;
31 |
32 | public List getRankWithCollectionFlag(final HttpServletRequest request, final int mode) {
33 | List rankingPageList = new ArrayList();
34 | List collectionList = new ArrayList();
35 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
36 | collectionList = this.trendingRecDao.getCollection(user);
37 | if (mode == 1) {
38 | rankingPageList = this.rankingPageDao.selectRecentWeekRanking();
39 | }
40 | else if (mode == 2) {
41 | rankingPageList = this.rankingPageDao.selectRecentMonthRanking();
42 | }
43 | else {
44 | rankingPageList = this.rankingPageDao.selectRecentMonthRanking();
45 | }
46 | if (collectionList != null && rankingPageList != null) {
47 | for (final Collection c : collectionList) {
48 | for (final Song t : rankingPageList) {
49 | if (c.getSongId() == t.getSongId()) {
50 | t.setWhetherCollected(true);
51 | }
52 | }
53 | }
54 | }
55 | return rankingPageList;
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/RecordDownloadServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import java.util.List;
8 | import top.wangruns.trackstacking.model.User;
9 | import top.wangruns.trackstacking.model.DownloadRecord;
10 | import top.wangruns.trackstacking.utils.Request;
11 | import javax.servlet.http.HttpServletRequest;
12 | import top.wangruns.trackstacking.dao.RecordDownloadDao;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import top.wangruns.trackstacking.dao.UserDao;
15 | import org.springframework.stereotype.Service;
16 | import top.wangruns.trackstacking.service.RecordDownloadService;
17 |
18 | @Service("recordDownloadService")
19 | public class RecordDownloadServiceImpl implements RecordDownloadService
20 | {
21 | @Autowired
22 | private UserDao userDao;
23 | @Autowired
24 | private RecordDownloadDao recordDownloadDao;
25 |
26 | public void recordDownload(final HttpServletRequest request, final int songId) {
27 | User user = Request.getUserFromHttpServletRequest(request);
28 | if (user == null) {
29 | return;
30 | }
31 | user = this.userDao.selectByUser(user);
32 | this.recordDownloadDao.insert(new DownloadRecord(user.getUserId(), songId));
33 | }
34 |
35 | public List getAllRecords() {
36 | return this.recordDownloadDao.selectAll();
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/RecordPlayServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import java.util.List;
8 | import top.wangruns.trackstacking.model.User;
9 | import top.wangruns.trackstacking.model.PlayRecord;
10 | import top.wangruns.trackstacking.utils.Request;
11 | import javax.servlet.http.HttpServletRequest;
12 | import top.wangruns.trackstacking.dao.RecordPlayDao;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import top.wangruns.trackstacking.dao.UserDao;
15 | import org.springframework.stereotype.Service;
16 | import top.wangruns.trackstacking.service.RecordPlayService;
17 |
18 | @Service("recordPlayService")
19 | public class RecordPlayServiceImpl implements RecordPlayService
20 | {
21 | @Autowired
22 | private UserDao userDao;
23 | @Autowired
24 | private RecordPlayDao recordPlayDao;
25 |
26 | public void recordPlay(final HttpServletRequest request, final int songId) {
27 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
28 | this.recordPlayDao.insert(new PlayRecord(user.getUserId(), songId));
29 | }
30 |
31 | public List getAllRecords() {
32 | return this.recordPlayDao.selectAll();
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/SearchServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import top.wangruns.trackstacking.model.Review;
8 | import java.util.Iterator;
9 | import top.wangruns.trackstacking.model.User;
10 | import top.wangruns.trackstacking.utils.Request;
11 | import top.wangruns.trackstacking.model.Collection;
12 | import java.util.ArrayList;
13 | import top.wangruns.trackstacking.model.Song;
14 | import java.util.List;
15 | import javax.servlet.http.HttpServletRequest;
16 | import top.wangruns.trackstacking.dao.TrendingRecDao;
17 | import top.wangruns.trackstacking.dao.UserDao;
18 | import org.springframework.beans.factory.annotation.Autowired;
19 | import top.wangruns.trackstacking.dao.SearchDao;
20 | import org.springframework.stereotype.Service;
21 | import top.wangruns.trackstacking.service.SearchService;
22 |
23 | @Service("searchService")
24 | public class SearchServiceImpl implements SearchService
25 | {
26 | @Autowired
27 | private SearchDao searchDao;
28 | @Autowired
29 | private UserDao userDao;
30 | @Autowired
31 | private TrendingRecDao trendingRecDao;
32 |
33 | public List getSearchSongWithCollectionFlag(final HttpServletRequest request, final String keyword) {
34 | List searchSongList = new ArrayList();
35 | List collectionList = new ArrayList();
36 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
37 | collectionList = this.trendingRecDao.getCollection(user);
38 | searchSongList = this.searchDao.selectSongLikeKeyword(keyword);
39 | if (collectionList != null && searchSongList != null) {
40 | for (final Collection c : collectionList) {
41 | for (final Song t : searchSongList) {
42 | if (c.getSongId() == t.getSongId()) {
43 | t.setWhetherCollected(true);
44 | }
45 | }
46 | }
47 | }
48 | return searchSongList;
49 | }
50 |
51 | public List getSearchReview(final String keyword) {
52 | List searchReviewList = new ArrayList();
53 | searchReviewList = this.searchDao.selectReviewLikeKeyword(keyword);
54 | return searchReviewList;
55 | }
56 |
57 | public List getSearchUser(final HttpServletRequest request, final String keyword) {
58 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
59 | List searchUserList = new ArrayList();
60 | searchUserList = this.searchDao.selectUserLikeKeyword(keyword, user.getUserId());
61 | return searchUserList;
62 | }
63 |
64 | public List getSearchSong(final String keyword) {
65 | List searchSongList = new ArrayList();
66 | searchSongList = this.searchDao.selectSongLikeKeyword(keyword);
67 | return searchSongList;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/TrendingRecServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import java.util.Iterator;
8 | import top.wangruns.trackstacking.model.User;
9 | import top.wangruns.trackstacking.utils.Request;
10 | import top.wangruns.trackstacking.model.Collection;
11 | import java.util.ArrayList;
12 | import top.wangruns.trackstacking.model.Song;
13 | import java.util.List;
14 | import javax.servlet.http.HttpServletRequest;
15 | import top.wangruns.trackstacking.dao.UserDao;
16 | import org.springframework.beans.factory.annotation.Autowired;
17 | import top.wangruns.trackstacking.dao.TrendingRecDao;
18 | import org.springframework.stereotype.Service;
19 | import top.wangruns.trackstacking.service.TrendingRecService;
20 |
21 | @Service("trendingService")
22 | public class TrendingRecServiceImpl implements TrendingRecService
23 | {
24 | @Autowired
25 | private TrendingRecDao trendingRecDao;
26 | @Autowired
27 | private UserDao userDao;
28 |
29 | public List getSongWithCollectionFlag(final HttpServletRequest request) {
30 | List trendingRecList = new ArrayList();
31 | List collectionList = new ArrayList();
32 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
33 | collectionList = this.trendingRecDao.getCollection(user);
34 | trendingRecList = this.trendingRecDao.getTrendingSong();
35 | if (collectionList != null && trendingRecList != null) {
36 | for (final Collection c : collectionList) {
37 | for (final Song t : trendingRecList) {
38 | if (c.getSongId() == t.getSongId()) {
39 | t.setWhetherCollected(true);
40 | }
41 | }
42 | }
43 | }
44 | return trendingRecList;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/service/impl/UserServiceImpl.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.service.impl;
6 |
7 | import java.util.Date;
8 | import java.text.SimpleDateFormat;
9 | import top.wangruns.trackstacking.model.Role;
10 | import top.wangruns.trackstacking.utils.Request;
11 | import javax.servlet.http.HttpServletRequest;
12 | import java.util.List;
13 | import top.wangruns.trackstacking.model.User;
14 | import org.springframework.beans.factory.annotation.Autowired;
15 | import top.wangruns.trackstacking.dao.UserDao;
16 | import org.springframework.stereotype.Service;
17 | import top.wangruns.trackstacking.service.UserService;
18 |
19 | @Service("userService")
20 | public class UserServiceImpl implements UserService
21 | {
22 | @Autowired
23 | private UserDao userDao;
24 |
25 | public boolean findLogin(final User u) {
26 | boolean isUserExisted = false;
27 | final User result = this.userDao.selectByUser(u);
28 | if (result != null) {
29 | isUserExisted = true;
30 | }
31 | return isUserExisted;
32 | }
33 |
34 | public boolean isEmailExisted(final String email) {
35 | boolean isEmailExisted = false;
36 | final User result = this.userDao.selectByEmail(email);
37 | if (result != null) {
38 | isEmailExisted = true;
39 | }
40 | return isEmailExisted;
41 | }
42 |
43 | public boolean insert(final User u) {
44 | boolean isInsertSuccessful = false;
45 | final int affectedRows = this.userDao.insert(u);
46 | if (affectedRows > 0) {
47 | isInsertSuccessful = true;
48 | }
49 | return isInsertSuccessful;
50 | }
51 |
52 | public List getAllRecords() {
53 | return this.userDao.selectAll();
54 | }
55 |
56 | public List getAllUserIdRecords() {
57 | return this.userDao.selectAllUserId();
58 | }
59 |
60 | public boolean isHasPrivilege(final HttpServletRequest request) {
61 | boolean isHasPrivilege = false;
62 | final User user = this.userDao.selectByUser(Request.getUserFromHttpServletRequest(request));
63 | if (user == null) {
64 | return isHasPrivilege;
65 | }
66 | final Role role = this.userDao.selectRoleByUserId(user.getUserId());
67 | if (role != null) {
68 | isHasPrivilege = true;
69 | }
70 | return isHasPrivilege;
71 | }
72 |
73 | public void batchDeleteById(final int[] userIds) {
74 | if (userIds == null) {
75 | return;
76 | }
77 | this.userDao.deleteByIds(userIds);
78 | }
79 |
80 | public boolean tooQuickly(final HttpServletRequest request, final int minutes) {
81 | if (request.getSession().getAttribute("lastTime") == null) {
82 | request.getSession().setAttribute("lastTime", (Object)new SimpleDateFormat("mm").format(new Date()));
83 | return false;
84 | }
85 | final String lastMinute = (String)request.getSession().getAttribute("lastTime");
86 | final String curMinute = new SimpleDateFormat("mm").format(new Date());
87 | if (Math.abs(Integer.valueOf(curMinute) - Integer.valueOf(lastMinute)) <= minutes) {
88 | return true;
89 | }
90 | request.getSession().setAttribute("lastTime", (Object)curMinute);
91 | return false;
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/utils/MD5Util.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.utils;
6 |
7 | import java.security.MessageDigest;
8 |
9 | public class MD5Util
10 | {
11 | public static String string2MD5(final String inStr) {
12 | MessageDigest md5 = null;
13 | try {
14 | md5 = MessageDigest.getInstance("MD5");
15 | }
16 | catch (Exception e) {
17 | System.out.println(e.toString());
18 | e.printStackTrace();
19 | return "";
20 | }
21 | final char[] charArray = inStr.toCharArray();
22 | final byte[] byteArray = new byte[charArray.length];
23 | for (int i = 0; i < charArray.length; ++i) {
24 | byteArray[i] = (byte)charArray[i];
25 | }
26 | final byte[] md5Bytes = md5.digest(byteArray);
27 | final StringBuffer hexValue = new StringBuffer();
28 | for (int j = 0; j < md5Bytes.length; ++j) {
29 | final int val = md5Bytes[j] & 0xFF;
30 | if (val < 16) {
31 | hexValue.append("0");
32 | }
33 | hexValue.append(Integer.toHexString(val));
34 | }
35 | return hexValue.toString();
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/utils/OneDayOneWord.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.utils;
6 |
7 | import java.util.Random;
8 |
9 | public class OneDayOneWord
10 | {
11 | public static String getOneDayOneWord(final String[] wordArray) {
12 | if (wordArray == null) {
13 | return " ";
14 | }
15 | final Random random = new Random();
16 | final String oneDayOneWord = wordArray[random.nextInt(wordArray.length)];
17 | return oneDayOneWord;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/utils/Request.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.utils;
6 |
7 | import top.wangruns.trackstacking.model.User;
8 | import javax.servlet.http.HttpServletRequest;
9 |
10 | public class Request
11 | {
12 | public static User getUserFromHttpServletRequest(final HttpServletRequest request) {
13 | return (User)request.getSession().getAttribute("user");
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/utils/ReturnMsg.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.utils;
6 |
7 | import com.alibaba.fastjson.JSONObject;
8 |
9 | public class ReturnMsg
10 | {
11 | public static String msg(final int status, final String detail) {
12 | final JSONObject jSONObject = new JSONObject();
13 | jSONObject.put("status", (Object)status);
14 | jSONObject.put("msg", (Object)detail);
15 | final String res = jSONObject.toJSONString();
16 | System.out.println(res);
17 | return res;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/utils/SendEmail.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.utils;
6 |
7 | import java.util.Hashtable;
8 | import javax.mail.Address;
9 | import javax.mail.internet.InternetAddress;
10 | import javax.mail.internet.MimeMessage;
11 | import javax.mail.Transport;
12 | import javax.mail.Message;
13 | import javax.mail.Session;
14 | import java.util.Properties;
15 |
16 | public class SendEmail
17 | {
18 | public static boolean sendemail(final String theme, final String messages, final String email) {
19 | final Properties prop = new Properties();
20 | //((Hashtable)prop).put("mail.transport.protocol", "smtp");
21 | //((Hashtable)prop).put("mail.host", "smtp.163.com");
22 | //((Hashtable)prop).put("mail.smtp.auth", "true");
23 |
24 | prop.put("mail.transport.protocol", "smtp");
25 | prop.put("mail.host", "smtp.163.com");
26 | prop.put("mail.smtp.auth", "true");
27 |
28 |
29 | final Session session = Session.getInstance(prop);
30 | session.setDebug(true);
31 | try {
32 | final Message message = (Message)createSimpleMail(session, theme, messages, email);
33 | final Transport ts = session.getTransport();
34 | ts.connect("yuanmamatouemail@163.com", "yuanmamatou1234");
35 | ts.sendMessage(message, message.getAllRecipients());
36 | ts.close();
37 | return true;
38 | }
39 | catch (Exception e) {
40 | return false;
41 | }
42 | }
43 |
44 | private static MimeMessage createSimpleMail(final Session session, final String theme, final String messages, final String email) throws Exception {
45 | final MimeMessage message = new MimeMessage(session);
46 | message.setFrom((Address)new InternetAddress("yuanmamatouemail@163.com"));
47 | message.addRecipients(Message.RecipientType.TO, email);
48 | message.setSubject(theme);
49 | message.setText(messages);
50 | message.saveChanges();
51 | return message;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/trackstacking/src/top/wangruns/trackstacking/utils/Static.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package top.wangruns.trackstacking.utils;
6 |
7 | public class Static
8 | {
9 | public static volatile boolean isFromA;
10 | public static final long PERIOD_DAY = 86400000L;
11 | public static final int START_HOUR = 6;
12 | public static final int START_MINUTE = 0;
13 | public static final int START_SECOND = 0;
14 | public static final boolean IS_START_TOMORROW = false;
15 | public static final int K = 2;
16 | public static final int N = 10;
17 | public static final String[] RANKING_WORD_ARRAY;
18 | public static final String[] MY_MUSIC_WORD_ARRAY;
19 | public static final String[] SEARCH_WORD_ARRAY;
20 | public static final boolean IS_HYBRID = false;
21 | public static final int N_HYBRID = 1;
22 |
23 | static {
24 | Static.isFromA = true;
25 | RANKING_WORD_ARRAY = new String[] { "\u767e\u5c3a\u7aff\u5934", "\u6b65\u6b65\u9ad8\u5347", "\u7cbe\u76ca\u6c42\u7cbe", "\u767b\u5802\u5165\u5ba4", "\u767b\u5cf0\u9020\u6781", "\u6cf0\u5c71\u5317\u6597", "\u529f\u6210\u540d\u5c31", "\u5927\u5c55\u9e3f\u56fe", "\u7089\u706b\u7eaf\u9752" };
26 | MY_MUSIC_WORD_ARRAY = new String[] { "\u56db\u9762\u695a\u6b4c", "\u4f59\u97f3\u7ed5\u6881", "\u9761\u9761\u4e4b\u97f3", "\u6263\u4eba\u5fc3\u5f26", "\u9ad8\u5c71\u6d41\u6c34", "\u56db\u9762\u695a\u6b4c", "\u66f2\u9ad8\u548c\u5be1", "\u4f59\u97f3\u8885\u8885", "\u4e00\u5531\u4e09\u53f9", "\u56db\u9762\u695a\u6b4c", "\u7ed5\u6881\u4e09\u65e5", "\u6e38\u9c7c\u51fa\u542c" };
27 | SEARCH_WORD_ARRAY = new String[] { "\u4f17\u91cc\u5bfb\u4ed6", "\u8ba1\u83b7\u4e8b\u8db3", "\u671b\u773c\u6b32\u7a7f", "\u8e0f\u7834\u94c1\u978b", "\u5982\u613f\u4ee5\u507f", "\u4e1c\u5bfb\u897f\u89c5", "\u6478\u7d22\u95e8\u5f84", "\u5bfb\u8e2a\u89c5\u8ff9" };
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/trackstacking/src/trackstacking/DataTranslateTest.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package trackstacking;
6 |
7 | import java.lang.reflect.Field;
8 | import top.wangruns.trackstacking.model.DownloadRecord;
9 |
10 | public class DataTranslateTest
11 | {
12 | public static void main(final String[] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
13 | final DownloadRecord dr = new DownloadRecord();
14 | dr.setUserId(1);
15 | dr.setSongId(100);
16 | final Field f = dr.getClass().getDeclaredField("userId");
17 | f.setAccessible(true);
18 | System.out.println(f.getInt(dr));
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/trackstacking/src/trackstacking/MininumHeapTest.java:
--------------------------------------------------------------------------------
1 | //
2 | // Decompiled by Procyon v0.5.29
3 | //
4 |
5 | package trackstacking;
6 |
7 | import top.wangruns.trackstacking.algorithm.TreeNode;
8 | import top.wangruns.trackstacking.algorithm.MininumHeap;
9 |
10 | public class MininumHeapTest
11 | {
12 | public static void main(final String[] args) {
13 | final int k = 5;
14 | final MininumHeap mininumHeap = new MininumHeap(k);
15 | for (int i = 0; i < 10; ++i) {
16 | final TreeNode node = new TreeNode(i, i);
17 | mininumHeap.addElement(node);
18 | }
19 | for (int i = 0; i < k; ++i) {
20 | System.out.println(mininumHeap.getArray()[i].val);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/关于系统.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangjianlin1985/JSP_SSM_Music_recommendations/b1e44f0843555d5b31636ef170d634eae8a2b5c4/关于系统.txt
--------------------------------------------------------------------------------