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 38510cc6..e59d4793 100644 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt +++ b/src/main/java/icu/samnyan/aqua/sega/chusan/ChusanServletController.kt @@ -4,6 +4,7 @@ import ext.* import icu.samnyan.aqua.net.utils.simpleDescribe import icu.samnyan.aqua.sega.chusan.handler.* import icu.samnyan.aqua.sega.chusan.model.Chu3Repos +import icu.samnyan.aqua.sega.chusan.model.request.UserCMissionResp import icu.samnyan.aqua.sega.general.BaseHandler import icu.samnyan.aqua.sega.util.jackson.StringMapper import icu.samnyan.aqua.spring.Metrics @@ -46,7 +47,6 @@ class ChusanServletController( val beginMatching: BeginMatchingHandler, // Luminous - val getUserCMission: GetUserCMissionHandler, val getGameMapAreaCondition: GetGameMapAreaConditionHandler, val mapper: StringMapper, @@ -186,6 +186,18 @@ fun ChusanServletController.init() { mapOf("gachaId" to it.size, "length" to it.size, "isPickup" to false, "gameGachaCardList" to it, "emissionList" to empty, "afterCalcList" to empty) } } + "GetUserCMission" user { req, u -> + parsing { UserCMissionResp().apply { + userId = u + missionId = req["missionId"]!!.int + } }.apply { + db.userCMission.findByUser_Card_ExtIdAndMissionId(u, missionId)()?.let { + point = it.point + userCMissionProgressList = db.userCMissionProgress.findByUser_Card_ExtIdAndMissionId(u, missionId) + } + } + } + // Static "GetGameEvent" static { db.gameEvent.findByEnable(true).let { mapOf("type" to 1, "length" to it.size, "gameEventList" to it) } } "GetGameCharge" static { db.gameCharge.findAll().let { mapOf("length" to it.size, "gameChargeList" to it) } } diff --git a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetUserCMissionHandler.java b/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetUserCMissionHandler.java deleted file mode 100644 index 68dc9342..00000000 --- a/src/main/java/icu/samnyan/aqua/sega/chusan/handler/GetUserCMissionHandler.java +++ /dev/null @@ -1,63 +0,0 @@ -package icu.samnyan.aqua.sega.chusan.handler; - -import com.fasterxml.jackson.core.JsonProcessingException; -import icu.samnyan.aqua.sega.chusan.dao.userdata.UserCMissionProgressRepository; -import icu.samnyan.aqua.sega.chusan.dao.userdata.UserCMissionRepository; -import icu.samnyan.aqua.sega.chusan.model.response.data.UserCMissionProgressResp; -import icu.samnyan.aqua.sega.chusan.model.response.data.UserCMissionResp; -import icu.samnyan.aqua.sega.chusan.model.userdata.UserCMission; -import icu.samnyan.aqua.sega.general.BaseHandler; -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.stereotype.Component; - -import java.util.List; -import java.util.Map; -import java.util.Optional; - -@Component("ChusanGetUserCMissionHandler") -public class GetUserCMissionHandler implements BaseHandler { - private static final Logger logger = LoggerFactory.getLogger(GetUserCMissionHandler.class); - - private final StringMapper mapper; - - private final UserCMissionProgressRepository userCMissionProgressRepository; - private final UserCMissionRepository userCMissionRepository; - - @Autowired - public GetUserCMissionHandler(StringMapper mapper, UserCMissionProgressRepository userCMissionProgressRepository, UserCMissionRepository userCMissionRepository) { - this.mapper = mapper; - this.userCMissionProgressRepository = userCMissionProgressRepository; - this.userCMissionRepository = userCMissionRepository; - } - - @Override - public String handle(Map request) throws JsonProcessingException { - long userId = Long.parseLong((String) request.get("userId")); - int missionId = Integer.parseInt((String) request.get("missionId")); - - UserCMissionResp userCMissionResp = new UserCMissionResp(); - userCMissionResp.setUserId(userId); - userCMissionResp.setMissionId(missionId); - - Optional userCMissionOptional = userCMissionRepository.findByUser_Card_ExtIdAndMissionId(userId, missionId); - if (userCMissionOptional.isPresent()) { - userCMissionResp.setPoint(userCMissionOptional.get().getPoint()); - List userCMissionProgressRespList = userCMissionProgressRepository.findByUser_Card_ExtIdAndMissionId(userId, missionId).stream() - .map(userCMissionProgress -> { - UserCMissionProgressResp userCMissionProgressResp = new UserCMissionProgressResp(); - userCMissionProgressResp.setOrder(userCMissionProgress.getOrder()); - userCMissionProgressResp.setProgress(userCMissionProgress.getProgress()); - userCMissionProgressResp.setStage(userCMissionProgress.getStage()); - return userCMissionProgressResp; - }).toList(); - userCMissionResp.setUserCMissionProgressList(userCMissionProgressRespList); - } - - String json = mapper.write(userCMissionResp); - logger.info("Response: " + json); - return json; - } -}