[ongeki] Fix foreign key in user rival table

This commit is contained in:
Mikira Sora
2023-01-06 14:06:44 +00:00
committed by Dom Eori
parent 2df6d84cc8
commit 4eefdf9507
7 changed files with 46 additions and 8 deletions

View File

@@ -343,7 +343,7 @@ public class ApiOngekiPlayerDataController {
public List<UserRivalData> getRival(@RequestParam long aimeId) {
var rivalUserIds = userRivalDataRepository.findByUser_Card_ExtId(aimeId)
.stream()
.map(x -> x.getRivalUserId())
.map(x -> x.getRivalUserExtId())
.collect(Collectors.toList());
var rivalDataList = userDataRepository.findByCard_ExtIdIn(rivalUserIds)
@@ -356,7 +356,7 @@ public class ApiOngekiPlayerDataController {
@DeleteMapping("rival")
public MessageResponse deleteRival(@RequestParam long aimeId, @RequestParam long rivalAimeId) {
userRivalDataRepository.removeByUser_Card_ExtIdAndRivalUserId(aimeId, rivalAimeId);
userRivalDataRepository.removeByUser_Card_ExtIdAndRivalUserExtId(aimeId, rivalAimeId);
return new MessageResponse();
}
@@ -376,9 +376,12 @@ public class ApiOngekiPlayerDataController {
return new ObjectMessageResponse<>("Rival user isn't ongeki player.");
var rivalUser = rivalUserOpt.get();
if(user == rivalUser)
return new ObjectMessageResponse<>("Can't add yourself as an rival.");
var rival = new UserRival();
rival.setUser(user);
rival.setRivalUserId(rivalUser.getCard().getExtId());
rival.setRivalUserExtId(rivalUser.getCard().getExtId());
userRivalDataRepository.save(rival);
return new ObjectMessageResponse<>(new UserRivalData(rivalUser.getCard().getExtId(), rivalUser.getUserName()));

View File

@@ -17,7 +17,7 @@ public interface UserRivalDataRepository extends JpaRepository<UserRival, Long>
List<UserRival> findByUser_Card_ExtId(long userId);
@Transactional
void removeByUser_Card_ExtIdAndRivalUserId(long userId,long rivalUserId);
void removeByUser_Card_ExtIdAndRivalUserExtId(long userId,long rivalUserId);
@Transactional
void deleteByUser(UserData user);

View File

@@ -32,7 +32,7 @@ public class UserRival implements Serializable {
@JoinColumn(name = "user_id")
private UserData user;
@JoinColumn(name = "rival_user_id")
@JoinColumn(name = "rival_user_ext_id")
@JsonProperty("rivalUserId")
private long rivalUserId;
}
private long rivalUserExtId;
}