From 33aebc42b3d74b41b716c12114ad1205e8fd0605 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 26 Dec 2024 20:52:36 -0500 Subject: [PATCH] [O] Rewrite GetUserLoginBonus --- .../samnyan/aqua/sega/chusan/ChusanProps.kt | 1 + .../sega/chusan/ChusanServletController.kt | 12 ++-- .../handler/GetUserLoginBonusHandler.java | 69 ------------------- 3 files changed, 9 insertions(+), 73 deletions(-) delete mode 100644 src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetUserLoginBonusHandler.java diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanProps.kt b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanProps.kt index 004214a5..72cb1004 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanProps.kt +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanProps.kt @@ -7,4 +7,5 @@ import org.springframework.context.annotation.Configuration @ConfigurationProperties(prefix = "game.chusan") class ChusanProps { var teamName: String? = null + var loginBonusEnable = false } \ No newline at end of file diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt index 9aa7d15c..897b64dd 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt @@ -32,13 +32,10 @@ import kotlin.reflect.full.declaredMemberProperties @API(value = ["/g/chu3/{version}/ChuniServlet", "/g/chu3/{version}"]) class ChusanServletController( val gameLogin: GameLoginHandler, - val getUserLoginBonus: GetUserLoginBonusHandler, val getUserMusic: GetUserMusicHandler, val getUserRecentRating: GetUserRecentRatingHandler, val upsertUserAll: UpsertUserAllHandler, - val cmGetUserPreview: CMGetUserPreviewHandler, val cmGetUserCharacter: CMGetUserCharacterHandler, - val cmGetUserItem: CMGetUserItemHandler, val cmUpsertUserGacha: CMUpsertUserGachaHandler, val cmUpsertUserPrintSubtract: CMUpsertUserPrintSubtractHandler, val cmUpsertUserPrintCancel: CMUpsertUserPrintCancelHandler, @@ -53,7 +50,7 @@ class ChusanServletController( // Below are code related to handling the handlers val externalHandlers = mutableListOf( - "GameLoginApi", "GetUserLoginBonusApi", "GetUserMusicApi", "GetUserRecentRatingApi", "UpsertUserAllApi", + "GameLoginApi", "GetUserMusicApi", "GetUserRecentRatingApi", "UpsertUserAllApi", "CMGetUserCharacterApi", "CMUpsertUserGachaApi", "CMUpsertUserPrintCancelApi", "CMUpsertUserPrintSubtractApi") @@ -265,6 +262,13 @@ fun ChusanServletController.init() { ) + userDict } + "GetUserLoginBonus" api@ { + if (!props.loginBonusEnable) return@api mapOf("userId" to uid, "length" to 0, "userLoginBonusList" to empty) + + val lst = db.userLoginBonus.findAllLoginBonus(uid.int, 1, 0) + mapOf("userId" to uid, "length" to lst.size, "userLoginBonusList" to lst) + } + "GetUserMapArea" { val maps = parsing { data["mapAreaIdList"] as List> } .mapNotNull { it["mapAreaId"]?.toIntOrNull() } diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetUserLoginBonusHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetUserLoginBonusHandler.java deleted file mode 100644 index 9a94a7f0..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetUserLoginBonusHandler.java +++ /dev/null @@ -1,69 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.handler; - -import com.fasterxml.jackson.core.JsonProcessingException; -import icu.samnyan.aqua.sega.general.BaseHandler; -import icu.samnyan.aqua.sega.chusan.model.userdata.UserLoginBonus; -import icu.samnyan.aqua.sega.chusan.service.UserDataService; -import icu.samnyan.aqua.sega.chusan.service.UserLoginBonusService; -import icu.samnyan.aqua.sega.util.jackson.StringMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import java.util.*; - -@Component("ChusanGetUserLoginBonusHandler") -public class GetUserLoginBonusHandler implements BaseHandler { - - private static final Logger logger = LoggerFactory.getLogger(GetUserLoginBonusHandler.class); - - private final StringMapper mapper; - - private boolean enableLoginBonus = false; - - private final UserDataService userDataService; - - private final UserLoginBonusService userLoginBonusService; - - @Autowired - public GetUserLoginBonusHandler(StringMapper mapper, - @Value("${game.chusan.loginbonus-enable:}") boolean enableLoginBonus, - UserDataService userDataService, - UserLoginBonusService userLoginBonusService) { - this.mapper = mapper; - this.enableLoginBonus = enableLoginBonus; - this.userLoginBonusService = userLoginBonusService; - this.userDataService = userDataService; - } - - @Override - public String handle(Map request) throws JsonProcessingException { - String userId = (String) request.get("userId"); - - Map resultMap = new LinkedHashMap<>(); - resultMap.put("userId", userId); - if(!this.enableLoginBonus){ - resultMap.put("length", 0); - resultMap.put("userLoginBonusList", List.of()); - }else{ - List userLoginBonusList = userLoginBonusService.getAllUserLoginBonus(Integer.parseInt(userId)); - List> retList = new ArrayList<>(); - resultMap.put("length", userLoginBonusList.size()); - for (UserLoginBonus u: userLoginBonusList) { - Map appendInfo = new HashMap<>(); - appendInfo.put("presetId", String.valueOf(u.getPresetId())); - appendInfo.put("bonusCount", String.valueOf(u.getBonusCount())); - appendInfo.put("lastUpdateDate", u.getLastUpdateDate().toString()); - appendInfo.put("isWatched", String.valueOf(u.isWatched())); - retList.add(appendInfo); - } - resultMap.put("userLoginBonusList", retList); - } - - String json = mapper.write(resultMap); - logger.info("Response: " + json); - return json; - } -} \ No newline at end of file