(Source code attached) SSM personalized music recommendation applet Computer graduate 30321

Table of contents

Summary

1 Read

1.1 Research intention

1.2Research status

1.3Introduction to related technologies

1.4Thesis structure and chapter arrangement

2Personalized music recommendation appletNeeds analysis 

2.1 Possibility analysis

2.1.1 Technical Feasibility Analysis

2.1.2 Economic Feasibility Analysis

2.1.3 Operation Feasibility Analysis

2.1.4 Legal feasibility analysis

2.2 System flow analysis

2.2.1 number of stepsadditionflow process

2.2.2 Number of revisions a>Flow process

2.2.3 Number of stepsFlow process 

2.3 System function analysis

2.3.1 Functionality analysis

2.3.2 Ineffectiveness analysis

2.4 System example analysis

2.5Chapter summary

3 Personalized music recommendation appletOverall design

3.1 System function module design

3.1.1Overall functional module design

3.1.2User module design

3.1.3 Comment management module design

3.1.4Music library management module design

3.2 Database Design

3.2.1 Database conceptual structure design

3.2.2 Database logical structure design

3.4Chapter summary

4Personalized music recommendation appletDetailed design and implementation 

4.1User function module

4.1.1 Previous stage interface

4.1.2 User registration interface

4.1.3 User login interface

4.1.4Announcement interface

4.1.5Music Information Interface

4.1.6 Music library details interface

4.1.7 Repaired dense interface

4.2Administrator Function Module

4.2.1Website management interface

4.2.2Personnel management interface

4.2.3Music investment management interface 

4.2.4Music category management interface

4.2.5Music Palace Management Interface 

5迟统测试 34

5.1System testing purpose 34

5.2 System testing example 34

5.3 System test results 35

in conclusion

references

  

Summary

With the rapid development of our country's economy, people's demand for mobile phones is increasing, and various mobile phone software are also widely used. However, for data information management on mobile phones, various software for mobile phones are also very popular among users, and their personality Personalized music recommendation applet is widely used by users. In order to facilitate users to manage the data information of personalized music recommendation applet at any time, a management system based on personalized music recommendation applet has been developed.

The personalized music recommendation applet mainly considers the functions to be implemented by the system in detail, and then designs the interface after determining the functions to be implemented. During this process, we also need to consider how to better combine the functions and pages. It is convenient for users to find the information they need easily and clearly, and the later operability of the system platform allows for technology development through a detailed understanding of the information content.

The development of the personalized music recommendation applet uses the existing mature technology reference, uses the source code as a template, analyzes the function adjustment and combines the actual needs of music recommendation, and discusses the use of the personalized music recommendation applet.​ 

Keywords: Java; ssm framework; MYSQL; personalized music recommendation applet

Abstract

With the rapid development of China's economy, people's demand for mobile phones is increasing, and various mobile software is also widely used. However, for data information management of mobile phones, various software for mobile phones are also highly favored by users. Personalized music recommendation mini programs are widely used by users. In order to facilitate users to manage data information of personalized music recommendation mini programs at any time, We have developed a management system based on personalized music recommendation mini programs.

The personalized music recommendation mini program mainly considers the functions to be implemented in the system in detail, determines the functions to be implemented, and designs the interface. In the process, it also needs to consider how to better integrate the functions and pages, so that users can easily find the information they need, as well as the operability of the system platform in the later stage, Develop technology through a detailed understanding of information content.

The development of personalized music recommendation mini programs utilizes existing mature technology references, uses source code as a template, analyzes functional adjustments and combines them with the actual needs of music recommendation, and discusses the use of personalized music recommendation mini programs.

Keywords:Java; SSM framework; MYSQL; Personalized music recommendation mini program

1 Read

1.1 Research intention

Personalized recommendation technology is a means of information filtering that can mine users' interests and preferences, recommend interesting information to users based on their interests, provide users with personalized services, and solve the problem of information overload. The collaborative filtering algorithm is a widely used personalized recommendation algorithm. It can find the similarity between users and between music and music based on the user's evaluation of the project, and find the nearest neighbor of the target from similar users or music. ,make recommendations based on information from nearest neighbors.

Building a personalized music recommendation system based on collaborative filtering algorithm can help users select the music they like, save users time listening to music they don’t like, improve the user experience, and at the same time increase the stickiness between the user and the system. At the same time, users can quickly find their favorite music. It can also reduce the network load of a site.

With the popularization of the Internet and mobile terminals, the amount of music on the Internet has increased massively, and users' demand for personalized music services has become increasingly strong. Design a personalized music recommendation system that can mine the hidden correlations between user information and music information, thereby discovering the user's potential interests and recommending music that the user may be interested in. The convenient Internet and the increasingly popular mobile terminals have greatly improved people's quality of life. There is a huge amount of music for users to listen to on the Internet, with various types. It is becoming more and more difficult to find a piece of music that one likes from the massive music resources, and the utilization rate of the massive music information is very low.

1.2 Research status

With the development of society and the advancement of science and technology, Internet technology is becoming more and more popular. The lifestyle spread through the Internet is gradually becoming more and more popular among the people. More and more Internet enthusiasts are beginning to meet their basic needs on the Internet, and at the same time, it is gradually entering the daily lives of various users. The Internet has many advantages such as convenience, speed, high efficiency and low cost. Therefore, similar to personalized music recommendations, meeting the busy needs of users is not only a convenient way for users to view information at any time, but also improves management efficiency.

This article first takes the basic issues of the personalized music recommendation process based on WeChat applet as the research object. Before developing the system, we conducted a detailed survey and analysis of the existing situation. Finally, we used computer technology to develop a complete and suitable set of personalized music recommendations based on WeChat mini-programs. The main advantages of the implementation of this system are: the system is mainly developed using computer technology, which is convenient and fast; the system can view all the user's information management through the administrator interface.

The personalized music recommendation software based on the WeChat applet is a convenient, fast and practical information service query software. With the continuous popularization of intelligent networks in the global market and the use of various intelligent platforms, system development is related to people's daily needs. As China's mainstream intelligent technology development system, such software is naturally needed to meet the needs of more users and experience.

1.3 Introduction to related technologies

(1) The backend of the web background management in the personalized music recommendation applet no longer uses the ancient jsp+javabean+servlet technology, but uses the current mainstream ssm framework, which reduces java configuration code and simplifies programming code. Currently The ssm framework is also one of the frameworks chosen by many companies.

(2) The front-end of the web background management in the personalized music recommendation applet uses the bootstrap framework, which can beautify the page design with ajax and jquery.

(3) The popular vue framework combines jQuery technology, extends some plug-ins on the basis of jQuery, and better realizes front-end design by defining plug-ins by yourself.

(4) The database used in the personalized music recommendation applet is mysql5.7, which has high execution efficiency.

1.4 Paper structure and chapter arrangement

At present, many people still use traditional paper tools as the main tool for information management, and the application of network technology only plays a supporting role. In terms of awareness of network tools, more traditional office software is still the main tool used by people, while relatively comprehensive and professional information management software is still not understood or recognized by most people. This topic aims to realize the various functions of the personalized music recommendation applet through tag classification management and other methods, so as to achieve the management of the personalized music recommendation applet.

This personalized music recommendation applet is divided into six chapters for introduction. The content of the chapters is arranged as follows:

Chapter 1: Introduction. The first chapter mainly introduces the background of the research on the personalized music recommendation applet, the research status of the personalized music recommendation applet, the main development technology, and the research content and main work of this article.

Chapter 2: System requirements analysis. Chapter 2 mainly conducts demand analysis from the aspects of users and functions of the system.

Chapter 3: System Design. Chapter 3 mainly carries out functional design of the system framework, system function modules and database.

Chapter 4: System implementation. Chapter 4 mainly introduces the system framework construction and the implementation of the system interface.

Chapter 5: System Testing. Chapter 5 mainly tests some interfaces of the system and tests the main functions.

Chapter 6: Summary.

2 Requirements Analysis for Personalized Music Recommendation Mini Program

System requirements analysis is a key link in system development. It plays a connecting role in the design and implementation of the system. System requirements analysis is to dig out the requirements of the system that needs to be built. If the analysis is accurate, it can accurately solve the problems encountered in reality. If the analysis is not in place, it will affect the implementation of the later system. Requirements analysis also accounts for a very large proportion of the excellence of a system. If the requirements analysis is not in place, the subsequent system design will be a design that deviates from navigation.

2.1 Feasibility analysis

System feasibility analysis is a discussion of system feasibility. When discussing the feasibility of the system, we mainly analyze it from the technical feasibility, economic feasibility, operational feasibility and legal feasibility. If the four levels pass, we consider the system to be relatively feasible.

2.1.1 Technical feasibility analysis

Personalized music recommendation appletThe design and implementation is a Web-based personalized music recommendation applet. The technical solution we use to implement this system is Java-based Web Implementation plan, the system uses ssm architecture to integrate Spring, SpringMvc, and Mybatis solutions. The ssm framework is a very mature framework. Java has experienced brutal growth since its birth in 1997. Java has provided very mature solutions in various fields, such as telecommunications, banking, e-commerce, etc. ssm is another set of out-of-the-box technical solutions that can speed up the entire project. Therefore, implementing this system based on SSM is a very mature and simple technical solution. It is very feasible in terms of technical feasibility.

2.1.2 Economic feasibility analysis

From the economic feasibility point of view, the project requires a development PC during the development phase, and a web server and database server during the production phase. From an economic point of view, a personal PC is not too much of a problem. In terms of later system deployment and production, the investment in servers will not be too high, and it is relatively feasible from an economic perspective.

2.1.3 Operation feasibility analysis

The designed personalized music recommendation applet has an easy-to-understand interface, and you can clearly see all kinds of information you want to know through the navigation bar. The functional modules are clearly divided, and there are no requirements for users in terms of operation, and no training is required. , and the system is very simple to operate and can manage any information conveniently. Therefore, there is no problem in operational feasibility.

2.1.4 Legal feasibility analysis

From a legal perspective, the system does not have any other legal issues with third parties. The system database uses the Mysql open source community database and the framework uses the open source SSM. System information and related content are also legal. The source code is managed using git open source, so it is legally feasible.

2.2 System process analysis

The business process uses some specific symbols and lines to demonstrate the user's process when using the system. When performing system analysis, the business process can help developers better understand the business, discover errors, and improve the system.

2.2.1  Data addition process

After the user successfully logs in to the system, he or she can add data. The number of the added data is specific and generated by the system. The user cannot fill it in at will. Except for the number, the user fills in other added information by himself. The filled-in information is verified by the system and is legal. If it passes, it will show that the data has been added successfully. If it is passed, it will not be added successfully. Figure 2-1 shows the process of adding data.

Figure 2-1 Data addition flow chart

2.2.2 Data modification process

The process of data modification is similar to the process of data addition described above, as shown in Figure 2-2.

Figure 2-2 Data modification flow chart

2.2.3 Data deletion process

If there is some useless data in the system, the relevant managers can also delete the data. Figure 2-3 is the flow chart for data deletion.

Figure 2-3 Data deletion flow chart

2.3 System function analysis

2.3.1 Functional analysis

The personalized music recommendation applet is divided into two parts: the registered user module and the administrator module.

Registered user management module:

(1) User registration and login: User registration and login into the personalized music recommendation applet

(2) Basic information: Users can modify personal information, avatar, and nickname.

(3) Website announcement: Users browse announcement information and view bank announcement information released by managers.

(4) Music library: Users can view the music library. When they find the music library they want to know about, they can enter to view the detailed introduction. Clicking the "Add to Playlist" button will jump to the fill-in form of adding to the playlist. interface, fill in the playlist information according to the prompts, click "Submit" and then add the playlist. In the music library details interface, users can also collect, like and comment on their favorite music libraries.

(5) Music information: On the user side, we will see the "Music Information" menu. After we click to enter, we will see a list of all information. In this interface, we can click to enter to view, comment, like, etc. ;

(6) Collection: When you click the "Collection" button in "My", the various information you have collected will be displayed. Search and query for collection information are supported. If you no longer want to collect a certain information, click Delete. That's it.

Administrator management module:

(1) Website management: The administrator can add, delete, modify and check the carousel images and website announcements displayed at the front desk of the system to facilitate users' viewing.

(2) Personnel management: Administrators can review and manage administrators in the personalized music recommendation applet and users registered at the front desk.

(3) Content management: Administrators can control the music information displayed on the front desk of the personalized music recommendation applet and the categories to which the information belongs.

(4) Module management: Under the "Module Management" menu, all information operated by users in the system can be managed, including music classification, music library, and user playlists.

(5) Personal management: The administrator can click the "Personal Management" menu to set personal information and login passwords.

2.3.2 Non-functional analysis

The non-functional requirements of the personalized music recommendation applet include the security, reliability, performance, scalability, etc. of the personalized music recommendation applet. The details can be expressed in the following 3-1 table:

Table3-1Personalized music recommendation appletNon-functional requirements list

safety

It mainly refers to the installation of the personalized music recommendation applet database. The use of the database and the password setting must comply with the standards.

reliability

Reliability means that the personalized music recommendation applet can install and operate according to the user's instructions. After testing, the reliability is over 90%.

performance

Performance is a necessary condition for personalized music recommendation applet to occupy the market, so it is best to have good performance.

Scalability

For example, the database reserves multiple attributes, such as the use of interfaces, to ensure the non-functional requirements of the system.

Ease of use

Users only need to follow the page display content of the personalized music recommendation applet and they are good to go.

maintainability

The maintainability of the personalized music recommendation applet development is very important. After testing, there is no problem with the maintainability.

2.4 Series example analysis

Through the analysis of 2.3 functions, the use case diagram of this personalized music recommendation applet is obtained:

An example of registering user roles is shown in Figure 2-3.

Figure 2-3 Personalized music recommendation applet registered user role use case diagram

The administrator on the web background management maintains all data information in the entire personalized music recommendation applet. An example of the administrator role is shown in Figure 2-4.

Figure 2-4 Personalized music recommendation applet administrator role use case diagram

2.5 Summary of this chapter

This chapter mainly determines the functions to be achieved by the entire personalized music recommendation applet through feasibility analysis, process analysis, functional requirements analysis, and system use case analysis. At the same time, it also provides standards for code implementation and testing of personalized music recommendation applet.

3 Overall design of personalized music recommendation applet

The main contents discussed in this chapter includethe functional module design and database system design of the personalized music recommendation applet.

3.1 System function module design

3.1.1 Overall functional module design

In the previous chapter, the functional requirements and non-functional requirements of the system were mainly analyzed, and the use cases in this personalized music recommendation applet were analyzed based on the requirements. Then the next step is to start designing the architecture, main functions and database of this personalized music recommendation applet. The personalized music recommendation applet is derived based on the demand analysis in the previous chapter. Its overall design module diagram is shown in Figure 3-1.

Figure 3-1 Function module diagram of personalized music recommendation applet

3.1.2 User module design

The backend manager can add, delete, modify and check the users registered in the frontend. The user module structure diagram is as follows:

Figure 3-2 User module structure diagram

3.1.3 Comment management module design

The personalized music recommendation applet is an open platform for communication. Users can communicate on the platform to increase the interaction between users. But at the same time, in order to better standardize the content of comments and give administrators the function of deleting inappropriate comments, a comment management module needs to be specially designed. The specific structure diagram is as follows:

Figure 3-3 Structure diagram of comment module

3.1.4 Music library management module design

Personalized music recommendation applet needs to store a lot ofmusic information, and its module function Structure, the specific structure diagram is as follows:

Figure 3-4 Music library module structure diagram

3.2 Database design

Database design generally includes three major processes: demand analysis, conceptual model design, and database table creation. The demand analysis has been explained in the previous chapter, and the conceptual model design has two parts: conceptual model and logical structure design.

3.2.1 Database conceptual structure design

The following is the overall E-R entity relationship diagram of the main database tables in the entire personalized music recommendation applet.

Figure 3-6 Total E-R relationship diagram of personalized music recommendation applet

According to the total E-R relationship diagram of the database of the personalized music recommendation applet, it can be concluded that the personalized music recommendation applet requires many E-R diagrams. Here are some main database E-R model diagrams.

Figure 3-7 Music library E-R relationship diagram

Figure 3-8 Registration E-R relationship diagram

Figure 3-9 Comment information E-R relationship diagram

Figure 3-10 User playlist E-R relationship diagram

3.2.2 Database logical structure design

From the total E-R relationship diagram in the personalized music recommendation applet in the previous section, it can be concluded that a total of many data tables need to be created. Here I mainly list several major database table structure designs.

table collect (collection)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

collect_id

int

10

0

N

AND

Collection ID:

2

user_id

int

10

0

N

N

0

Collector ID:

3

source_table

varchar

255

0

AND

N

Source table:

4

source_field

varchar

255

0

AND

N

Source field:

5

source_id

int

10

0

N

N

0

Source ID:

6

title

varchar

255

0

AND

N

title:

7

img

varchar

255

0

AND

N

Cover:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

Table comment (comment)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

comment_id

int

10

0

N

AND

Comment ID:

2

user_id

int

10

0

N

N

0

Commenter ID:

3

reply_to_id

int

10

0

N

N

0

Reply comment ID: empty is 0

4

content

longtext

2147483647

0

AND

N

content:

5

nickname

varchar

255

0

AND

N

Nick name:

6

avatar

varchar

255

0

AND

N

Avatar address: [0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

9

source_table

varchar

255

0

AND

N

Source table:

10

source_field

varchar

255

0

AND

N

Source field:

11

source_id

int

10

0

N

N

0

Source ID:

Table hits (user clicks)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

hits_id

int

10

0

N

AND

Like ID:

2

user_id

int

10

0

N

N

0

Liked by:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

5

source_table

varchar

255

0

AND

N

Source table:

6

source_field

varchar

255

0

AND

N

Source field:

7

source_id

int

10

0

N

N

0

Source ID:

Table music_classification (music classification)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

music_classification_id

int

10

0

N

AND

Music category ID

2

music_type

varchar

64

0

AND

N

music type

3

recommend

int

10

0

N

N

0

Intelligent Recommendation

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

Table music_library (music library)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

music_library_id

int

10

0

N

AND

Music library ID

2

song_name

varchar

64

0

AND

N

name of the song

3

music_type

varchar

64

0

AND

N

music type

4

singer

varchar

64

0

AND

N

singer

5

issue_date

date

10

0

AND

N

issue date

6

audio_frequency

varchar

255

0

AND

N

Audio

7

cover

varchar

255

0

AND

N

cover

8

video

varchar

255

0

AND

N

video

9

lyric

text

65535

0

AND

N

lyrics

10

hits

int

10

0

N

N

0

Clicks

11

praise_len

int

10

0

N

N

0

Number of likes

12

recommend

int

10

0

N

N

0

Intelligent Recommendation

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

Notice (announcement)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

notice_id

mediumint

8

0

N

AND

Announcement id:

2

title

varchar

125

0

N

N

title:

3

content

longtext

2147483647

0

AND

N

text:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

Express praise (like)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

praise_id

int

10

0

N

AND

Like ID:

2

user_id

int

10

0

N

N

0

Liked by:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

5

source_table

varchar

255

0

AND

N

Source table:

6

source_field

varchar

255

0

AND

N

Source field:

7

source_id

int

10

0

N

N

0

Source ID:

8

status

bit

1

0

N

N

1

Like status: 1 is like, 0 is canceled

Table registered_users (registered users)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

registered_users_id

int

10

0

N

AND

Register user ID

2

gender

varchar

64

0

AND

N

gender

3

age

varchar

64

0

AND

N

age

4

examine_state

varchar

16

0

N

N

passed

Approval Status

5

recommend

int

10

0

N

N

0

Intelligent Recommendation

6

user_id

int

10

0

N

N

0

User ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

Table slides (carousel)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

slides_id

int

10

0

N

AND

Carousel image ID:

2

title

varchar

64

0

AND

N

title:

3

content

varchar

255

0

AND

N

content:

4

url

varchar

255

0

AND

N

Link:

5

img

varchar

255

0

AND

N

Carousel image:

6

hits

int

10

0

N

N

0

Number of clicks:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

Table upload (file upload)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

upload_id

int

10

0

N

AND

Upload ID

2

name

varchar

64

0

AND

N

file name

3

path

varchar

255

0

AND

N

access path

4

file

varchar

255

0

AND

N

file path

5

display

varchar

255

0

AND

N

display order

6

father_id

int

10

0

AND

N

0

Parent ID

7

you

varchar

255

0

AND

N

folder

8

type

varchar

32

0

AND

N

file type

Table user (user account: used to save user login information)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

user_id

mediumint

8

0

N

AND

User ID: [0,8388607] User obtains other user-related data

2

state

smallint

5

0

N

N

1

Account status: [0,10](1 available | 2 abnormal | 3 frozen | 4 logged out)

3

user_group

varchar

32

0

AND

N

User group: [0,32767] determines user identity and permissions

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Last Login Time:

5

phone

varchar

11

0

AND

N

Mobile phone number: [0,11] User’s mobile phone number, used to retrieve password or log in

6

phone_state

smallint

5

0

N

N

0

Mobile phone certification: [0,1] (0 not certified | 1 under review | 2 certified)

7

username

varchar

16

0

N

N

Username: [0,16] The account name used by the user to log in

8

nickname

varchar

16

0

AND

N

Nickname: [0,16]

9

password

varchar

64

0

N

N

Password: [0,32] The password required for user login, consisting of 6-16 digits or English

10

email

varchar

64

0

AND

N

Email: [0,64] User's email, used to retrieve password or log in

11

email_state

smallint

5

0

N

N

0

Email certification: [0,1] (0 not certified | 1 under review | 2 certified)

12

avatar

varchar

255

0

AND

N

Avatar address: [0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

Table user_group (user group: used for user front-end identity and authentication)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

group_id

mediumint

8

0

N

AND

User group ID: [0,8388607]

2

display

smallint

5

0

N

N

100

Display order: [0,1000]

3

name

varchar

16

0

N

N

Name: [0,16]

4

description

varchar

255

0

AND

N

Description: [0,255] Describes the characteristics or scope of permissions of this user group

5

source_table

varchar

255

0

AND

N

Source table:

6

source_field

varchar

255

0

AND

N

Source field:

7

source_id

int

10

0

N

N

0

Source ID:

8

register

smallint

5

0

AND

N

0

Registration location:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

Table user_song_list (user song list)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

user_song_list_id

int

10

0

N

AND

User playlist ID

2

song_name

varchar

64

0

AND

N

name of the song

3

music_type

varchar

64

0

AND

N

music type

4

singer

varchar

64

0

AND

N

singer

5

audio_frequency

varchar

255

0

AND

N

Audio

6

cover

varchar

255

0

AND

N

cover

7

user

int

10

0

AND

N

0

user

8

included_remarks

text

65535

0

AND

N

Inclusion notes

9

recommend

int

10

0

N

N

0

Intelligent Recommendation

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

3.4 Summary of this chapter

The demand analysis of the entire personalized music recommendation applet mainly focused on the design of the overall system architecture and functional modules. The database system design was completed by establishing an E-R model and database logic system design.

4 Detailed design and implementation of personalized music recommendation applet

The detailed design and implementation of the personalized music recommendation applet is mainly based on the previous demand analysis of the personalized music recommendation applet and the overall design of the personalized music recommendation applet to design the page and implement the business logic. It is mainly introduced from the two parts of personalized music recommendation applet interface implementation and business logic implementation.

4.1User function module

4.1.1 Previous stage interface

When entering the personalized music recommendation applet, the first thing that catches the eye is the system navigation bar. Below is the carousel chart and system content. The main interface is shown in Figure 4-1 below.

Figure 4-1 Front page interface diagram

4.1.2 User registration interface

Those who are not official users of the personalized music recommendation applet can register online. When clicking the "Register" button in the upper right corner of the user, fill in their account number + password + confirm password + nickname + email + mobile phone number and other information. After clicking the "Register" button, it will first verify whether there is any empty data entered, verify again whether the password and confirmation password are the same, and finally verify whether the entered account name and the registered account name in the database table are duplicates. Only if both are verified. After the problem, the user registration is successful. The user registration interface is shown in Figure 4-2 below.

。                     

Figure 4-2 Front-end user registration interface diagram

The registration logic code is as follows:

/**

     * register

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        ​​​​//Query user

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

    }

    public void insert(Map<String,Object> body){

        E entity = JSON.parseObject(JSON.toJSONString(body),eClass);

        baseMapper.insert(entity);

        log.info("[{}] - 插入操作:{}",entity);

}

4.1.3用户登录界面

个性化音乐推荐小程序中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到个性化音乐推荐小程序的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

图4-3用户登录界面图

登录的逻辑代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

4.1.4公告栏界面

当点击导航栏上的“公告栏”的时候,就会进入对应的界面查看公告信息,公告栏界面如下图4-4所示。

图4-4公告栏界面图

4.1.5音乐资讯界面

当访客点击个性化音乐推荐小程序中导航栏上的“音乐资讯”后将会进入到该“音乐资讯”列表的界面,然后选择想要看的资讯信息,点击进入到详细界面,在详细界面可以收藏+点赞+评论等操作,资讯信息界面如下图4-5所示。

图4-5音乐资讯界面图

4.1.6 音乐库详情界面

用户可以查看音乐库,在查询到自己想要了解的音乐库的时候,可以进入查看详细的介绍,点击“加入歌单”这一按钮以后会跳转到加入歌单填写的界面,根据提示填写好加入歌单的信息,点击“提交”以后加入歌单就完成了,在音乐库详情这个界面,同时支持用户对喜欢的音乐库进行收藏、点赞、评论的功能,音乐库详情展示页面如图4-6所示。

                       

图4-6 音乐库详情界面图

4.1.7 修改密码界面

用户使用该个性化音乐推荐小程序注册完成后,用户对登录密码有修改需求时,系统也可以提供用户修改密码权限。系统中所有的操作者能够变更自己的密码信息,执行该功能首先必须要登入系统,然后选择密码变更选项以后在给定的文本框中填写初始密码和新密码来完成修改密码的操作。在填写的时候,假如两次密码填写存在差异,那么此次密码变更操作失败,下面的图片展示的就是该板块对应的工作面。修改密码界面如下图4-7所示。

图4-7 修改密码界面图

4.2管理员功能模块

4.2.1网站管理界面

网站管理模块是对网站公告和轮播图的设置,只有管理员权限才能进行更新维护。界面如下图4-8所示。

图4-8 网站管理界面图

网站管理的逻辑代码如下:

 public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

4.2.2人员管理界面

个性化音乐推荐小程序中的管理人员是可以对前台注册的用户进行管理的,也可以对管理员进行管控。界面如下图4-9所示。

图4-9人员管理界面图

人员管理界面逻辑代码如下:

@RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

4.2.3 音乐资讯管理界面

点击“资讯信息”按钮会显示自己添加的音乐资讯信息,如果想要添加新的音乐资讯,点击“添加”按钮根据提示输入音乐资讯,点击“提交”后在音乐资讯界面就可以显示了,如果信息有错可以对音乐资讯进行更新维护,也可以直接删除某一音乐资讯,还可以管理评论信息,界面如下图4-10所示。

图4-10音乐资讯界面图

4.2.4音乐分类管理界面

管理员点击“音乐分类”会显示出所有的音乐分类,支持通过音乐类型对音乐分类进行查询,如果想要添加新的音乐分类,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条音乐分类,点击“删除”进行删除。界面如下图4-11所示。

图4-11音乐分类管理界面图

4.2.5 音乐库管理界面

管理员点击“音乐库”会显示出所有的音乐库,支持通过歌曲名称或者音乐类型对音乐库进行查询,如果想要添加新的音乐库,点击“添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条音乐库,点击“删除”进行删除。还可以管理用户提交音乐库评论信息,界面如下图4-12所示。

图4-12音乐库管理界面图

音乐库管理界面关键代码如下:

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

5系统测试

5.1系统测试的目的

系统的前台、后台、数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、音乐库展示功能测试、音乐库添加、音乐库搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

音乐库查看功能测试:

表5-2 音乐库查看功能测试表

用例名称

音乐库查看

目的

测试音乐库查看功能

前提

用户登录

测试流程

点击音乐库列表

预期结果

可以查看到所有音乐库

实际结果

实际结果与预期结果一致

管理员添加音乐库管理界面测试:

表5-3 管理员添加音乐库管理界面测试表

用例名称

音乐库发布测试用例

目的

测试音乐库发布功能

前提

用户正常登录情况下

测试流程

1)点击音乐库管理就,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的音乐库 

实际结果

实际结果与预期结果一致

音乐库搜索功能测试:

表5-4音乐库搜索功能测试表

用例名称

音乐库搜索测试

目的

测试音乐库搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的音乐库

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写个性化音乐推荐小程序的测试用例,已经检测完毕用户登录模块、音乐库查看模块、音乐库添加模块、音乐库搜索模块、密码修改功能测试,通过这5大模块为个性化音乐推荐小程序的后期推广运营提供了强力的技术支撑。

结论

至此论文结束,感谢您的阅读。在此我要感谢我的导师,虽然我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。虽然我在实习期间很忙,以至于很晚才开始进行论文撰写和编写程序的工作,但是在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。也从导师身上看到了自己的不足,不论是在即使层面上还是在对待工作的态度上,倒数如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于ssm开发方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。

参考文献

[1]吴育华. 一种基于JAVA语言系统开发的高性能计算机[P]. 安徽省:CN115686129A,2023-02-03.

[2]邓腾飞,周智恒,余卫宇. 基于深度学习的个性化音乐推荐系统及其实现方法[P]. 广东省:CN108509534B,2022-03-25.

[3]田杰,胡秋霞,司佳豪.基于深度信念网络DBN的音乐推荐系统设计[J].电子设计工程,2021,29(23):162-165+170.DOI:10.14022/j.issn1674-6236.2021.23.033.

[4]徐红. 基于改进的神经协同过滤个性化音乐推荐系统研究[D].新疆大学,2021.DOI:10.27429/d.cnki.gxjdu.2021.001350.

[5]吴澜涛, 基于Java的运行调试安装管理系统V1.0. 湖北省,武汉东湖学院,2021-03-01.

[6]施珺,纪兆辉,赵雪峰. Java语言实验与课程设计指导[M].南京大学出版社:, 202101.304.

[7]余莉娟.基于深度学习的个性化音乐推荐算法研究[J].微型电脑应用,2020,36(10):140-143.

[8]. Science - Computer Science; Research on Computer Science Published by Researchers at Cheng Shiu University (A Personalized Music Recommender System Using User Contents, Music Contents and Preference Ratings)[J]. Computer Weekly News,2020.

[9]窦维萌,郑秋爽,孙宗锟.基于DB-CF算法的音乐平台个性化推荐研究[J].软件导刊,2020,19(03):57-59.

[10]曾秀芹,何梦,申梦莉,许文鹏.音乐推荐系统主观评价指标研究——以网易云音乐为例[J].新闻与传播评论,2019,72(06):94-107.DOI:10.14086/j.cnki.xwycbpl.2019.06.010.

[11]李家宇,邓良益,张慧芳,刘亮君,陈李想.基于大数据的个性化音乐推荐系统仿真[J].信息与电脑(理论版),2019,31(19):67-68+71.

[12]Bauer Christine,Schedl Markus. Global and country-specific mainstreaminess measures: Definitions, analysis, and usage for improving personalized music recommendation systems.[J]. PloS one,2019,14(6).

[13]龚志,邵曦.基于多模态的音乐推荐系统[J].南京信息工程大学学报(自然科学版),2019,11(01):68-76.DOI:10.13878/j.cnki.jnuist.2019.01.013.

[14]朱志慧,田婧,林捷.大数据环境下基于用户位置的个性化音乐推荐系统设计[J].无线互联科技,2019,16(02):79-80.

[15]. Convolutional Neural Networks; Reports from Chang Gung University Highlight Recent Findings in Convolutional Neural Networks (An Emotion-Aware Personalized Music Recommendation System Using a Convolutional Neural Networks Approach)[J]. Journal of Engineering,2018.

[16]GB/T 34944-2017, Java语言源代码漏洞测试规范[S].

致  谢

逝者如斯夫,不舍昼夜。转眼间,大学生会员活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?

感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。

少年,追风赶月莫停留,平荒尽处是春山。

免费领取项目源码,请关注点赞+私聊

Guess you like

Origin blog.csdn.net/VXbishe/article/details/134716348