mirror of https://github.com/hykilpikonna/AquaDX
[API] Let web music list read from database
parent
c3929db1f3
commit
0e9c88c41d
|
@ -2,8 +2,10 @@ package icu.samnyan.aqua.api.controller.sega.game.diva;
|
|||
|
||||
import icu.samnyan.aqua.sega.diva.dao.gamedata.DivaCustomizeRepository;
|
||||
import icu.samnyan.aqua.sega.diva.dao.gamedata.DivaModuleRepository;
|
||||
import icu.samnyan.aqua.sega.diva.dao.gamedata.DivaPvRepository;
|
||||
import icu.samnyan.aqua.sega.diva.model.gamedata.DivaCustomize;
|
||||
import icu.samnyan.aqua.sega.diva.model.gamedata.DivaModule;
|
||||
import icu.samnyan.aqua.sega.diva.model.gamedata.Pv;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.MediaType;
|
||||
|
@ -24,24 +26,26 @@ public class ApiDivaGameDataController {
|
|||
|
||||
private final DivaModuleRepository divaModuleRepository;
|
||||
private final DivaCustomizeRepository divaCustomizeRepository;
|
||||
private final DivaPvRepository divaPvRepository;
|
||||
|
||||
public ApiDivaGameDataController(DivaModuleRepository divaModuleRepository, DivaCustomizeRepository divaCustomizeRepository) {
|
||||
public ApiDivaGameDataController(DivaModuleRepository divaModuleRepository, DivaCustomizeRepository divaCustomizeRepository, DivaPvRepository divaPvRepository) {
|
||||
this.divaModuleRepository = divaModuleRepository;
|
||||
this.divaCustomizeRepository = divaCustomizeRepository;
|
||||
this.divaPvRepository = divaPvRepository;
|
||||
}
|
||||
|
||||
@GetMapping(value = "musicList", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public Resource musicList() throws IOException {
|
||||
return new FileSystemResource(Paths.get("data/diva_musiclist.json"));
|
||||
@GetMapping(value = "musicList")
|
||||
public List<Pv> musicList() {
|
||||
return divaPvRepository.findAll();
|
||||
}
|
||||
|
||||
@GetMapping(value = "moduleList")
|
||||
public List<DivaModule> moduleList() throws IOException {
|
||||
public List<DivaModule> moduleList() {
|
||||
return divaModuleRepository.findAll();
|
||||
}
|
||||
|
||||
@GetMapping(value = "customizeList")
|
||||
public List<DivaCustomize> customizeList() throws IOException {
|
||||
public List<DivaCustomize> customizeList() {
|
||||
return divaCustomizeRepository.findAll();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,14 +29,16 @@ public class ApiDivaManageController {
|
|||
private final FestaRepository festaRepository;
|
||||
private final ContestRepository contestRepository;
|
||||
private final PropertyEntryRepository propertyEntryRepository;
|
||||
private final DivaPvRepository divaPvRepository;
|
||||
|
||||
public ApiDivaManageController(PvEntryRepository pvEntryRepository, DivaModuleRepository moduleRepository, DivaCustomizeRepository customizeRepository, FestaRepository festaRepository, ContestRepository contestRepository, PropertyEntryRepository propertyEntryRepository) {
|
||||
public ApiDivaManageController(PvEntryRepository pvEntryRepository, DivaModuleRepository moduleRepository, DivaCustomizeRepository customizeRepository, FestaRepository festaRepository, ContestRepository contestRepository, PropertyEntryRepository propertyEntryRepository, DivaPvRepository divaPvRepository) {
|
||||
this.pvEntryRepository = pvEntryRepository;
|
||||
this.moduleRepository = moduleRepository;
|
||||
this.customizeRepository = customizeRepository;
|
||||
this.festaRepository = festaRepository;
|
||||
this.contestRepository = contestRepository;
|
||||
this.propertyEntryRepository = propertyEntryRepository;
|
||||
this.divaPvRepository = divaPvRepository;
|
||||
}
|
||||
|
||||
@PostMapping("pvList")
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
package icu.samnyan.aqua.sega.diva.dao.gamedata;
|
||||
|
||||
import icu.samnyan.aqua.sega.diva.model.gamedata.Pv;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
public interface DivaPvRepository extends JpaRepository<Pv, Integer> {
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package icu.samnyan.aqua.sega.diva.model.gamedata;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Entity(name = "DivaPvLevel")
|
||||
@Table(name = "diva_pv_info_level")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Difficulty {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@JsonIgnore
|
||||
private long id;
|
||||
|
||||
@JsonIgnore
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "pv_id")
|
||||
private Pv pv;
|
||||
|
||||
private int edition;
|
||||
|
||||
private String level;
|
||||
|
||||
private int version;
|
||||
|
||||
private String diff;
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package icu.samnyan.aqua.sega.diva.model.gamedata;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Entity(name = "DivaPvInfo")
|
||||
@Table(name = "diva_pv_info")
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Pv implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
private Integer pvId;
|
||||
|
||||
private Integer bpm;
|
||||
|
||||
private String songName;
|
||||
|
||||
private String songNameEng;
|
||||
|
||||
private String songNameReading;
|
||||
|
||||
private String arranger;
|
||||
|
||||
private String lyrics;
|
||||
|
||||
private String music;
|
||||
|
||||
private Integer performerNumber;
|
||||
|
||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pv")
|
||||
@MapKey(name = "diff")
|
||||
private Map<String, Difficulty> difficulty;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue