mirror of
https://github.com/MewoLab/AquaDX.git
synced 2026-02-09 06:07:27 +08:00
[O] riik Get cmission handler
This commit is contained in:
@@ -4,6 +4,7 @@ import ext.*
|
|||||||
import icu.samnyan.aqua.net.utils.simpleDescribe
|
import icu.samnyan.aqua.net.utils.simpleDescribe
|
||||||
import icu.samnyan.aqua.sega.chusan.handler.*
|
import icu.samnyan.aqua.sega.chusan.handler.*
|
||||||
import icu.samnyan.aqua.sega.chusan.model.Chu3Repos
|
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.general.BaseHandler
|
||||||
import icu.samnyan.aqua.sega.util.jackson.StringMapper
|
import icu.samnyan.aqua.sega.util.jackson.StringMapper
|
||||||
import icu.samnyan.aqua.spring.Metrics
|
import icu.samnyan.aqua.spring.Metrics
|
||||||
@@ -46,7 +47,6 @@ class ChusanServletController(
|
|||||||
val beginMatching: BeginMatchingHandler,
|
val beginMatching: BeginMatchingHandler,
|
||||||
|
|
||||||
// Luminous
|
// Luminous
|
||||||
val getUserCMission: GetUserCMissionHandler,
|
|
||||||
val getGameMapAreaCondition: GetGameMapAreaConditionHandler,
|
val getGameMapAreaCondition: GetGameMapAreaConditionHandler,
|
||||||
|
|
||||||
val mapper: StringMapper,
|
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)
|
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
|
// Static
|
||||||
"GetGameEvent" static { db.gameEvent.findByEnable(true).let { mapOf("type" to 1, "length" to it.size, "gameEventList" to it) } }
|
"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) } }
|
"GetGameCharge" static { db.gameCharge.findAll().let { mapOf("length" to it.size, "gameChargeList" to it) } }
|
||||||
|
|||||||
@@ -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<String, ?> 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<UserCMission> userCMissionOptional = userCMissionRepository.findByUser_Card_ExtIdAndMissionId(userId, missionId);
|
|
||||||
if (userCMissionOptional.isPresent()) {
|
|
||||||
userCMissionResp.setPoint(userCMissionOptional.get().getPoint());
|
|
||||||
List<UserCMissionProgressResp> 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user