interceptor 랭킹스케줄, 월드이벤트 추가
This commit is contained in:
@@ -124,6 +124,7 @@ public class MysqlLoggingInterceptor implements Interceptor {
|
||||
if (sqlId.contains("Calium")) return MysqlConstants.TABLE_NAME_CALIUM_REQUEST;
|
||||
if (sqlId.contains("Data")) return MysqlConstants.TABLE_NAME_DATA_INIT;
|
||||
if (sqlId.contains("Battle")) return MysqlConstants.TABLE_NAME_BATTLE_EVENT;
|
||||
if (sqlId.contains("WorldEvent")) return MysqlConstants.TABLE_NAME_WORLD_EVENT;
|
||||
if (sqlId.contains("Event")) return MysqlConstants.TABLE_NAME_EVENT;
|
||||
if (sqlId.contains("GroupAuth")) return MysqlConstants.TABLE_NAME_GROUP_AUTH;
|
||||
if (sqlId.contains("Group")) return MysqlConstants.TABLE_NAME_GROUP;
|
||||
@@ -131,6 +132,7 @@ public class MysqlLoggingInterceptor implements Interceptor {
|
||||
if (sqlId.contains("Notice")) return MysqlConstants.TABLE_NAME_NOTICE;
|
||||
if (sqlId.contains("LandAuction")) return MysqlConstants.TABLE_NAME_LAND_AUCTION;
|
||||
if (sqlId.contains("LandOwner")) return MysqlConstants.TABLE_NAME_LAND_OWNER_CHANGE;
|
||||
if (sqlId.contains("RankingSchedule")) return MysqlConstants.TABLE_NAME_RANKING_SCHEDULE;
|
||||
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.caliverse.admin.global.component.manager;
|
||||
|
||||
import com.caliverse.admin.domain.dao.admin.*;
|
||||
import com.caliverse.admin.domain.dao.total.WalletUserMapper;
|
||||
import com.caliverse.admin.domain.entity.*;
|
||||
import com.caliverse.admin.domain.request.*;
|
||||
import com.caliverse.admin.global.common.utils.CommonUtils;
|
||||
@@ -9,9 +8,11 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
@@ -22,11 +23,13 @@ public class BeforeDataResolver {
|
||||
private final BattleMapper battleMapper;
|
||||
private final BlackListMapper blackListMapper;
|
||||
private final CaliumMapper caliumMapper;
|
||||
private final EventMapper eventMapper;
|
||||
private final RewardEventMapper rewardEventMapper;
|
||||
private final GroupMapper groupMapper;
|
||||
private final MailMapper mailMapper;
|
||||
private final NoticeMapper noticeMapper;
|
||||
private final DataMapper dataMapper;
|
||||
private final WorldEventMapper worldEventMapper;
|
||||
private final RankMapper rankMapper;
|
||||
|
||||
public BeforeDataResolver(@Lazy AdminMapper adminMapper,
|
||||
@Lazy MenuMapper menuMapper,
|
||||
@@ -34,11 +37,13 @@ public class BeforeDataResolver {
|
||||
@Lazy BattleMapper battleMapper,
|
||||
@Lazy BlackListMapper blackListMapper,
|
||||
@Lazy CaliumMapper caliumMapper,
|
||||
@Lazy EventMapper eventMapper,
|
||||
@Lazy RewardEventMapper rewardEventMapper,
|
||||
@Lazy GroupMapper groupMapper,
|
||||
@Lazy MailMapper mailMapper,
|
||||
@Lazy NoticeMapper noticeMapper,
|
||||
@Lazy DataMapper dataMapper
|
||||
@Lazy DataMapper dataMapper,
|
||||
@Lazy WorldEventMapper worldEventMapper,
|
||||
@Lazy RankMapper rankMapper
|
||||
) {
|
||||
this.adminMapper = adminMapper;
|
||||
this.menuMapper = menuMapper;
|
||||
@@ -46,11 +51,13 @@ public class BeforeDataResolver {
|
||||
this.battleMapper = battleMapper;
|
||||
this.blackListMapper = blackListMapper;
|
||||
this.caliumMapper = caliumMapper;
|
||||
this.eventMapper = eventMapper;
|
||||
this.rewardEventMapper = rewardEventMapper;
|
||||
this.groupMapper = groupMapper;
|
||||
this.mailMapper = mailMapper;
|
||||
this.noticeMapper = noticeMapper;
|
||||
this.dataMapper = dataMapper;
|
||||
this.worldEventMapper = worldEventMapper;
|
||||
this.rankMapper = rankMapper;
|
||||
}
|
||||
|
||||
private static final Map<String, Function<BeforeDataResolver, BiFunction<String, Object, Object>>> RESOLVER_MAP = Map.ofEntries(
|
||||
@@ -59,12 +66,14 @@ public class BeforeDataResolver {
|
||||
Map.entry("BattleMapper", resolver -> resolver::resolveBattleBeforeData),
|
||||
Map.entry("BlackListMapper", resolver -> resolver::resolveBlackListBeforeData),
|
||||
Map.entry("CaliumMapper", resolver -> resolver::resolveCaliumBeforeData),
|
||||
Map.entry("EventMapper", resolver -> resolver::resolveEventBeforeData),
|
||||
Map.entry("WorldEventMapper", resolver -> resolver::resolveWorldEventBeforeData),
|
||||
Map.entry("RewardEventMapper", resolver -> resolver::resolveRewardEventBeforeData),
|
||||
Map.entry("MailMapper", resolver -> resolver::resolveMailBeforeData),
|
||||
Map.entry("NoticeMapper", resolver -> resolver::resolveNoticeBeforeData),
|
||||
Map.entry("LandMapper", resolver -> resolver::resolveLandBeforeData),
|
||||
Map.entry("DataMapper", resolver -> resolver::resolveDataBeforeData),
|
||||
Map.entry("GroupMapper", resolver -> resolver::resolveGroupBeforeData)
|
||||
Map.entry("GroupMapper", resolver -> resolver::resolveGroupBeforeData),
|
||||
Map.entry("RankMapper", resolver -> resolver::resolveRankingScheduleBeforeData)
|
||||
);
|
||||
|
||||
public Object resolveBeforeData(String sqlId, Object parameter) {
|
||||
@@ -104,7 +113,8 @@ public class BeforeDataResolver {
|
||||
Map<String, Object> params = (Map<String, Object>) parameter;
|
||||
|
||||
if (params.containsKey("groupId")) {
|
||||
return groupMapper.getGroupAuth(Long.parseLong((String) params.get("groupId")));
|
||||
List<Authority> authList = groupMapper.getGroupAuth(Long.parseLong((String) params.get("groupId")));
|
||||
return wrapAuthList(authList, (String) params.get("groupId"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,6 +133,30 @@ public class BeforeDataResolver {
|
||||
return null;
|
||||
}
|
||||
|
||||
private Object wrapAuthList(List<Authority> authList, String groupId) {
|
||||
if (authList == null || authList.isEmpty()) {
|
||||
return Map.of(
|
||||
"groupId", groupId,
|
||||
"authCount", 0,
|
||||
"authorities", "none"
|
||||
);
|
||||
}
|
||||
|
||||
// Authority 리스트를 요약 정보로 변환
|
||||
List<String> authIds = authList.stream()
|
||||
.map(auth -> String.valueOf(auth.getId())) // Authority 객체의 ID 필드명에 맞게 수정
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return Map.of(
|
||||
"groupId", groupId,
|
||||
"authCount", authList.size(),
|
||||
"authIds", String.join(",", authIds),
|
||||
"authorities", authList.stream()
|
||||
.map(auth -> auth.getAuthName()) // Authority 객체의 이름 필드명에 맞게 수정
|
||||
.collect(Collectors.joining(","))
|
||||
);
|
||||
}
|
||||
|
||||
private Object resolveDataBeforeData(String sqlId, Object parameter) {
|
||||
if (parameter instanceof Map) {
|
||||
Map<String, Object> params = (Map<String, Object>) parameter;
|
||||
@@ -291,7 +325,7 @@ public class BeforeDataResolver {
|
||||
return null;
|
||||
}
|
||||
|
||||
private Object resolveEventBeforeData(String sqlId, Object parameter) {
|
||||
private Object resolveRewardEventBeforeData(String sqlId, Object parameter) {
|
||||
if (sqlId.contains("postEvent") || sqlId.contains("updateEvent")) {
|
||||
return null;
|
||||
}
|
||||
@@ -301,19 +335,19 @@ public class BeforeDataResolver {
|
||||
|
||||
if (params.containsKey("id")) {
|
||||
Long id = (Long) params.get("id");
|
||||
Event event = eventMapper.getEventDetail(id);
|
||||
event.setMailList(eventMapper.getMessage(id));
|
||||
event.setItemList(eventMapper.getItem(id));
|
||||
return event;
|
||||
RewardEvent rewardEvent = rewardEventMapper.getEventDetail(id);
|
||||
rewardEvent.setMailList(rewardEventMapper.getMessage(id));
|
||||
rewardEvent.setItemList(rewardEventMapper.getItem(id));
|
||||
return rewardEvent;
|
||||
}
|
||||
}
|
||||
|
||||
if (parameter instanceof EventRequest params) {
|
||||
if (parameter instanceof RewardEventRequest params) {
|
||||
Long id = params.getId();
|
||||
Event event = eventMapper.getEventDetail(id);
|
||||
event.setMailList(eventMapper.getMessage(id));
|
||||
event.setItemList(eventMapper.getItem(id));
|
||||
return event;
|
||||
RewardEvent rewardEvent = rewardEventMapper.getEventDetail(id);
|
||||
rewardEvent.setMailList(rewardEventMapper.getMessage(id));
|
||||
rewardEvent.setItemList(rewardEventMapper.getItem(id));
|
||||
return rewardEvent;
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -378,4 +412,36 @@ public class BeforeDataResolver {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Object resolveWorldEventBeforeData(String sqlId, Object parameter) {
|
||||
if (parameter instanceof Map) {
|
||||
Map<String, Object> params = (Map<String, Object>) parameter;
|
||||
|
||||
if (params.containsKey("id")) {
|
||||
return worldEventMapper.getWorldEventDetail((Long) params.get("id"));
|
||||
}
|
||||
}
|
||||
|
||||
if (parameter instanceof WorldEventRequest params) {
|
||||
return worldEventMapper.getWorldEventDetail(params.getId());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Object resolveRankingScheduleBeforeData(String sqlId, Object parameter) {
|
||||
if (parameter instanceof Map) {
|
||||
Map<String, Object> params = (Map<String, Object>) parameter;
|
||||
|
||||
if (params.containsKey("id")) {
|
||||
return rankMapper.getRankingScheduleDetail((Long) params.get("id"));
|
||||
}
|
||||
}
|
||||
|
||||
if (parameter instanceof RankRequest params) {
|
||||
return rankMapper.getRankingScheduleDetail(params.getId());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user