[O] Auto optimize

This commit is contained in:
Azalea 2025-10-25 08:14:15 +08:00
parent e90123389c
commit 7e90aec55d
31 changed files with 103 additions and 122 deletions

View File

@ -5,9 +5,7 @@ import icu.samnyan.aqua.sega.diva.model.common.PassStat
import icu.samnyan.aqua.sega.diva.model.common.Result
import icu.samnyan.aqua.sega.diva.model.request.card.ChangePasswdRequest
import icu.samnyan.aqua.sega.diva.model.response.card.ChangePasswdResponse
import icu.samnyan.aqua.sega.diva.util.SessionNotFoundException
import org.springframework.stereotype.Component
import java.util.function.Supplier
/**
* @author samnyan (privateamusement@protonmail.com)

View File

@ -1,9 +1,9 @@
package icu.samnyan.aqua.sega.diva.handler.card
import icu.samnyan.aqua.sega.diva.PlayerProfileService
import icu.samnyan.aqua.sega.diva.model.common.Result
import icu.samnyan.aqua.sega.diva.model.request.card.RegistrationRequest
import icu.samnyan.aqua.sega.diva.model.response.card.RegistrationResponse
import icu.samnyan.aqua.sega.diva.PlayerProfileService
import org.springframework.stereotype.Component
/**

View File

@ -3,8 +3,6 @@ package icu.samnyan.aqua.sega.diva.handler.databank
import icu.samnyan.aqua.sega.diva.model.request.BaseRequest
import icu.samnyan.aqua.sega.diva.model.response.databank.PstdHCtrlResponse
import icu.samnyan.aqua.sega.diva.util.DivaDateTimeUtil
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Component
import java.time.LocalDateTime

View File

@ -3,8 +3,6 @@ package icu.samnyan.aqua.sega.diva.handler.databank
import icu.samnyan.aqua.sega.diva.model.request.BaseRequest
import icu.samnyan.aqua.sega.diva.model.response.databank.PvDefChrLstResponse
import icu.samnyan.aqua.sega.diva.util.DivaDateTimeUtil
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Component
import java.time.LocalDateTime

View File

@ -4,10 +4,7 @@ import icu.samnyan.aqua.sega.diva.DivaRepos
import icu.samnyan.aqua.sega.diva.model.common.Result
import icu.samnyan.aqua.sega.diva.model.request.ingame.BuyCstmzItmRequest
import icu.samnyan.aqua.sega.diva.model.response.ingame.BuyCstmzItmResponse
import icu.samnyan.aqua.sega.diva.util.ProfileNotFoundException
import icu.samnyan.aqua.sega.diva.util.SessionNotFoundException
import org.springframework.stereotype.Component
import java.util.function.Supplier
/**
* @author samnyan (privateamusement@protonmail.com)

View File

@ -7,8 +7,6 @@ import icu.samnyan.aqua.sega.diva.model.request.ingame.StageResultRequest
import icu.samnyan.aqua.sega.diva.model.response.ingame.StageResultResponse
import icu.samnyan.aqua.sega.diva.model.userdata.*
import icu.samnyan.aqua.sega.diva.util.DivaCalculator
import icu.samnyan.aqua.sega.diva.util.ProfileNotFoundException
import icu.samnyan.aqua.sega.diva.util.SessionNotFoundException
import org.apache.commons.lang3.StringUtils
import org.springframework.stereotype.Component
import java.lang.String
@ -31,7 +29,6 @@ class StageResultHandler(val db: DivaRepos, val calc: DivaCalculator) {
val logger = logger()
fun handle(request: StageResultRequest): Any {
val response: StageResultResponse?
if (request.getPd_id() != -1L) {
val (profile, session) = db.session(request.pd_id)

View File

@ -10,8 +10,6 @@ import icu.samnyan.aqua.sega.diva.model.request.ingame.StageResultRequest
import icu.samnyan.aqua.sega.diva.model.response.BaseResponse
import icu.samnyan.aqua.sega.diva.model.userdata.PlayerContest
import icu.samnyan.aqua.sega.diva.util.DivaStringUtils
import icu.samnyan.aqua.sega.diva.util.ProfileNotFoundException
import icu.samnyan.aqua.sega.diva.util.SessionNotFoundException
import org.springframework.stereotype.Component
import java.lang.String
import java.time.LocalDateTime

View File

@ -3,14 +3,12 @@ package icu.samnyan.aqua.sega.diva.handler.user
import icu.samnyan.aqua.sega.diva.DivaRepos
import icu.samnyan.aqua.sega.diva.model.request.user.PdUnlockRequest
import icu.samnyan.aqua.sega.diva.model.response.BaseResponse
import icu.samnyan.aqua.sega.diva.util.SessionNotFoundException
import org.springframework.stereotype.Component
import java.util.function.Supplier
@Component
class PdUnlockHandler(val db: DivaRepos) {
fun handle(request: PdUnlockRequest): Any {
val (profile, session) = db.session(request.pd_id)
val (_, session) = db.session(request.pd_id)
db.gameSession.delete(session)

View File

@ -1,12 +1,9 @@
package icu.samnyan.aqua.sega.diva.handler.user
import icu.samnyan.aqua.sega.diva.DivaRepos
import icu.samnyan.aqua.sega.diva.util.ProfileNotFoundException
import icu.samnyan.aqua.sega.diva.model.request.user.SpendCreditRequest
import icu.samnyan.aqua.sega.diva.model.response.user.SpendCreditResponse
import icu.samnyan.aqua.sega.diva.PlayerProfileService
import org.springframework.stereotype.Component
import java.util.function.Supplier
/**
* @author samnyan (privateamusement@protonmail.com)

View File

@ -14,7 +14,7 @@ public enum ChallengeKind {
COMPLETED(4);
private int value;
private final int value;
ChallengeKind(int i) {
this.value = i;
@ -22,7 +22,7 @@ public enum ChallengeKind {
public static ChallengeKind fromValue(int i) {
for (ChallengeKind challengeKind :
ChallengeKind.values()) {
ChallengeKind.values()) {
if (challengeKind.getValue() == i) return challengeKind;
}
return ChallengeKind.UNDEFINED;

View File

@ -15,7 +15,7 @@ public enum ClearResult implements ValueEnum {
PERFECT(5);
private int value;
private final int value;
ClearResult(int i) {
this.value = i;
@ -23,7 +23,7 @@ public enum ClearResult implements ValueEnum {
public static ClearResult fromValue(int i) {
for (ClearResult clearResult :
ClearResult.values()) {
ClearResult.values()) {
if (clearResult.getValue() == i) return clearResult;
}
return ClearResult.NO_CLEAR;

View File

@ -12,7 +12,7 @@ public enum ContestBorder {
GOLD(2);
private int value;
private final int value;
ContestBorder(int i) {
this.value = i;

View File

@ -12,7 +12,7 @@ public enum ContestLeague {
PROFESSIONAL(3);
private int value;
private final int value;
ContestLeague(int i) {
this.value = i;

View File

@ -11,7 +11,7 @@ public enum ContestNormaType {
COOL_PERCENTAGE(2);
private int value;
private final int value;
ContestNormaType(int i) {
this.value = i;

View File

@ -10,7 +10,7 @@ public enum ContestStageLimit {
LIMITED(1);
private int value;
private final int value;
ContestStageLimit(int i) {
this.value = i;

View File

@ -13,7 +13,7 @@ public enum Difficulty {
EXTREME(3);
private int value;
private final int value;
Difficulty(int i) {
this.value = i;
@ -21,7 +21,7 @@ public enum Difficulty {
public static Difficulty fromValue(int i) {
for (Difficulty difficulty :
Difficulty.values()) {
Difficulty.values()) {
if (difficulty.getValue() == i) return difficulty;
}
return Difficulty.UNDEFINED;

View File

@ -10,7 +10,7 @@ public enum Edition {
EXTRA(1);
private int value;
private final int value;
Edition(int i) {
this.value = i;
@ -18,7 +18,7 @@ public enum Edition {
public static Edition fromValue(int i) {
for (Edition edition :
Edition.values()) {
Edition.values()) {
if (edition.getValue() == i) return edition;
}
return Edition.ORIGINAL;

View File

@ -10,7 +10,7 @@ public enum FestaKind {
GREEN_FESTA(1);
private int value;
private final int value;
FestaKind(int i) {
this.value = i;

View File

@ -12,7 +12,7 @@ public enum PassStat {
REISSUE(3);
private int value;
private final int value;
PassStat(int i) {
this.value = i;

View File

@ -14,7 +14,7 @@ public enum PreStartResult {
CARD_BANNED(-4);
private int value;
private final int value;
PreStartResult(int i) {
this.value = i;

View File

@ -10,7 +10,7 @@ public enum Result {
SUCCESS(1);
private int value;
private final int value;
Result(int i) {
this.value = i;

View File

@ -14,7 +14,7 @@ public enum SortMode {
MY_LIST_C(5);
private int value;
private final int value;
SortMode(int i) {
this.value = i;
@ -22,7 +22,7 @@ public enum SortMode {
public static SortMode fromValue(int i) {
for (SortMode sortMode :
SortMode.values()) {
SortMode.values()) {
if (sortMode.getValue() == i) return sortMode;
}
return SortMode.RELEASE_DATE;

View File

@ -19,76 +19,76 @@ public class GameBalanceParameter implements Internalizable {
private int name_change_price = 100;
private GameBalanceTrialBidSet easy_trials = new GameBalanceTrialBidSet(
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
);
private GameBalanceTrialBidSet normal_trials = new GameBalanceTrialBidSet(
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
);
private GameBalanceTrialBidSet hard_trials = new GameBalanceTrialBidSet(
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
);
private GameBalanceTrialBidSet extreme_trials = new GameBalanceTrialBidSet(
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
);
private GameBalanceTrialBidSet extra_extreme_trials = new GameBalanceTrialBidSet(
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
new GameBalanceTrialBid(5, 10),
new GameBalanceTrialBid(10, 25),
new GameBalanceTrialBid(20, 50),
new GameBalanceTrialBid(30, 90)
);
@Override
public String toInternal() {
Integer[] arr = new Integer[]{
this.name_change_price,
0, // unkn
1,
1,
1,
1,
1,
1,
1,
1,
2,
3,
4, // unkn
1,
1,
1,
3,
4,
5, // unkn
1,
1,
1,
4,
5,
6, // unkn
1,
1,
1,
5,
6,
7, // unkn
4,
4,
4,
9,
10,
14 // unkn
this.name_change_price,
0, // unkn
1,
1,
1,
1,
1,
1,
1,
1,
2,
3,
4, // unkn
1,
1,
1,
3,
4,
5, // unkn
1,
1,
1,
4,
5,
6, // unkn
1,
1,
1,
5,
6,
7, // unkn
4,
4,
4,
9,
10,
14 // unkn
};
List<Integer> list = new LinkedList<>(Arrays.asList(arr));
list.addAll(easy_trials.getArr());

View File

@ -20,14 +20,14 @@ public class GameBalanceTrialBidSet {
public List<Integer> getArr() {
Integer[] arr = new Integer[]{
clear.getPay(),
clear.getWin(),
great.getPay(),
great.getWin(),
excellent.getPay(),
excellent.getWin(),
perfect.getPay(),
perfect.getWin(),
clear.getPay(),
clear.getWin(),
great.getPay(),
great.getWin(),
excellent.getPay(),
excellent.getWin(),
perfect.getPay(),
perfect.getWin(),
};
return new LinkedList<>(Arrays.asList(arr));
}

View File

@ -74,6 +74,6 @@ public class FestaCollection {
}
public String getLastUpdateTime() {
return DivaDateTimeUtil.getString(this.firstFesta.getCreateDate().compareTo(this.secondFesta.getCreateDate()) < 0 ? this.firstFesta.getCreateDate() : this.secondFesta.getCreateDate());
return DivaDateTimeUtil.getString(this.firstFesta.getCreateDate().isBefore(this.secondFesta.getCreateDate()) ? this.firstFesta.getCreateDate() : this.secondFesta.getCreateDate());
}
}

View File

@ -126,18 +126,18 @@ public class Contest implements Serializable {
String[] ids = groups[i - 1].split(":");
list.add(ids[0]);
list.add(ids[1]);
if(StringUtils.isBlank(pvDiffList) || !pvDiffList.contains(":")) {
if (StringUtils.isBlank(pvDiffList) || !pvDiffList.contains(":")) {
list.add(this.minComplexity);
list.add(this.maxComplexity);
list.add(-1);
} else {
String[] diffList = pvDiffList.split(",");
if(diffList.length < i) {
if (diffList.length < i) {
list.add(this.minComplexity);
list.add(this.maxComplexity);
list.add(-1);
} else {
String[] diff = diffList[i-1].split(":");
String[] diff = diffList[i - 1].split(":");
list.add(diff[1]);
list.add(diff[2]);
list.add(diff[0]);

View File

@ -7,7 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author samnyan (privateamusement@protonmail.com)
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "DivaPvLevel")
@Table(name = "diva_pv_info_level")

View File

@ -41,10 +41,10 @@ public class DivaCustomize implements Serializable, Internalizable {
@Override
public String toInternal() {
return id + ",0," +
URIEncoder.encode(name) + "," +
price + "," +
DivaDateTimeUtil.format(releaseDate) + "," +
DivaDateTimeUtil.format(endDate) + "," +
sortOrder;
URIEncoder.encode(name) + "," +
price + "," +
DivaDateTimeUtil.format(releaseDate) + "," +
DivaDateTimeUtil.format(endDate) + "," +
sortOrder;
}
}

View File

@ -41,10 +41,10 @@ public class DivaModule implements Serializable, Internalizable {
@Override
public String toInternal() {
return id + ",0," +
URIEncoder.encode(name) + "," +
price + "," +
DivaDateTimeUtil.format(releaseDate) + "," +
DivaDateTimeUtil.format(endDate) + "," +
sortOrder;
URIEncoder.encode(name) + "," +
price + "," +
DivaDateTimeUtil.format(releaseDate) + "," +
DivaDateTimeUtil.format(endDate) + "," +
sortOrder;
}
}

View File

@ -9,15 +9,14 @@ import java.io.Serializable;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
* @author samnyan (privateamusement@protonmail.com)
*/
@Entity(name = "DivaPvInfo")
@Table(name = "diva_pv_info")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Pv implements Serializable
{
public class Pv implements Serializable {
private static final long serialVersionUID = 1L;
@Id

View File

@ -23,6 +23,7 @@ object DivaDateTimeUtil {
@JvmStatic
fun getString(time: LocalDateTime) =
URIEncoder.encode(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.0").format(time))
@JvmStatic
fun format(time: LocalDateTime) = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.0").format(time)
}