Compare commits

...

1 Commits
main ... duan

Author SHA1 Message Date
Cool bd728480a9 段毕设1.0 2024-04-06 17:20:44 +08:00
8 changed files with 145 additions and 3 deletions

View File

@ -2,6 +2,7 @@ package org.jeecg;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.util.oConvertUtils;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
@ -18,6 +19,7 @@ import java.net.UnknownHostException;
*/
@Slf4j
@SpringBootApplication
//@MapperScan("org.jeecg.cool.music.mapper")
//@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
public class JeecgSystemApplication extends SpringBootServletInitializer {

View File

@ -0,0 +1,29 @@
package org.jeecg.modules.cool.music.controller;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.cool.music.service.MusicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "流行音乐分析平台")
@RestController
@RequestMapping("/cool/music")
@Slf4j
public class DashboardController {
@Autowired
MusicService musicService;
@GetMapping("/getRanking")
public Result<JSONArray> getRanking() throws InterruptedException {
Thread.sleep(2000);
return musicService.getRanking();
}
}

View File

@ -0,0 +1,29 @@
package org.jeecg.modules.cool.music.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@TableName("comment_list")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="音乐评论排行榜对象", description="流行音乐分析")
public class Ranking {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String name;
@ApiModelProperty(value = "歌手")
private String singer;
@ApiModelProperty(value = "评论数")
private Integer comment;
}

View File

@ -0,0 +1,10 @@
package org.jeecg.modules.cool.music.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cool.music.entity.Ranking;
public interface MusicMapper extends BaseMapper<Ranking> {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.cool.music.mapper.MusicMapper">
</mapper>

View File

@ -0,0 +1,11 @@
package org.jeecg.modules.cool.music.service;
import net.sf.json.JSONArray;
import org.jeecg.common.api.vo.Result;
public interface MusicService {
public Result<JSONArray> getRanking();
}

View File

@ -0,0 +1,56 @@
package org.jeecg.modules.cool.music.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.math3.genetics.RandomKey;
import org.apache.poi.ss.formula.functions.Rank;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.cool.music.entity.Ranking;
import org.jeecg.modules.cool.music.mapper.MusicMapper;
import org.jeecg.modules.cool.music.service.MusicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service
public class MusicServiceImpl extends ServiceImpl<MusicMapper, Ranking> implements MusicService {
@Autowired
private MusicMapper musicMapper;
@Override
public Result<JSONArray> getRanking() {
ComparatorList comparatorList = new ComparatorList();
List<Ranking> rankings = musicMapper.selectList(null);
JSONArray result = new JSONArray();
System.out.println(rankings);
Collections.sort(rankings, comparatorList);
for (Ranking ranking : rankings) {
System.out.println("\n\n\n\n\n" + ranking);
JSONObject object = new JSONObject();
object.put("comment", ranking.getComment());
object.put("singer", ranking.getSinger());
object.put("songName", ranking.getName());
result.add(object);
}
UpdateWrapper<Ranking> updateWrapper = new UpdateWrapper<>();
updateWrapper.setSql("comment=comment- FLOOR( RAND()*100 )");
musicMapper.update(null,updateWrapper);
return Result.OK(result);
}
}
class ComparatorList implements Comparator<Ranking> {
@Override
public int compare(Ranking o1, Ranking o2) {
return o1.getComment() > o2.getComment() ? 1 : -1;
}
}

View File

@ -160,7 +160,7 @@ spring:
master:
url: jdbc:mysql://127.0.0.1:3306/jeecg-boot2?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: 123456
password: ob666666
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
#multi-datasource1: