월드이벤트 dynamodb 추가
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.domain.atrrib;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamoDbBean
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public class WorldEventGlobalScoreAttrib {
|
||||||
|
@JsonProperty("world_event_id")
|
||||||
|
private String worldEventId;
|
||||||
|
private Integer score;
|
||||||
|
@JsonProperty("update_time")
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
@DynamoDbAttribute("world_event_id")
|
||||||
|
public String getRankingGuid() {
|
||||||
|
return worldEventId;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("score")
|
||||||
|
public Integer getScore() {
|
||||||
|
return score;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("update_time")
|
||||||
|
public String getUpdateTime() {
|
||||||
|
return updateTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.domain.doc;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.WorldEventGlobalScoreAttrib;
|
||||||
|
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamoDbBean
|
||||||
|
public class WorldEventGlobalScoreDoc extends DynamoDBDocBase {
|
||||||
|
private WorldEventGlobalScoreAttrib attrib;
|
||||||
|
|
||||||
|
public String getAttribFieldName() {
|
||||||
|
return DynamoDBConstants.ATTRIB_WORLD_EVENT_SCORE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute(DynamoDBConstants.ATTRIB_WORLD_EVENT_SCORE)
|
||||||
|
@JsonProperty(DynamoDBConstants.ATTRIB_WORLD_EVENT_SCORE)
|
||||||
|
public WorldEventGlobalScoreAttrib getAttribValue() {
|
||||||
|
return attrib;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttribValue(WorldEventGlobalScoreAttrib value) {
|
||||||
|
this.attrib = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -11,20 +11,20 @@ import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@DynamoDbBean
|
@DynamoDbBean
|
||||||
public class WorldEventScheduleDoc extends DynamoDBDocBase {
|
public class WorldEventScheduleDoc extends DynamoDBDocBase {
|
||||||
private String battleEventAttrib;
|
private String attrib;
|
||||||
|
|
||||||
public String getAttribFieldName() {
|
public String getAttribFieldName() {
|
||||||
return DynamoDBConstants.ATTRIB_RANKING_SCHEDULER;
|
return DynamoDBConstants.ATTRIB_WORLD_EVENT_SCHEDULER;
|
||||||
}
|
}
|
||||||
|
|
||||||
@DynamoDbAttribute("BattleEventAttrib")
|
@DynamoDbAttribute(DynamoDBConstants.ATTRIB_WORLD_EVENT_SCHEDULER)
|
||||||
@JsonProperty("BattleEventAttrib")
|
@JsonProperty(DynamoDBConstants.ATTRIB_WORLD_EVENT_SCHEDULER)
|
||||||
public String getAttribValue() {
|
public String getAttribValue() {
|
||||||
return battleEventAttrib;
|
return attrib;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAttribValue(String value) {
|
public void setAttribValue(String value) {
|
||||||
this.battleEventAttrib = value;
|
this.attrib = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.repository.Impl;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.entity.EFilterOperator;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.WorldEventGlobalScoreAttrib;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.WorldEventGlobalScoreDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
|
import com.caliverse.admin.dynamodb.repository.BaseDynamoDBRepository;
|
||||||
|
import com.caliverse.admin.dynamodb.repository.WorldEventScoreRepository;
|
||||||
|
import com.caliverse.admin.dynamodb.service.DynamoDBOperations;
|
||||||
|
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
||||||
|
import com.caliverse.admin.mongodb.service.DynamodbHistoryLogService;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.Key;
|
||||||
|
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class WorldEventScoreRepositoryImpl extends BaseDynamoDBRepository<WorldEventGlobalScoreDoc> implements WorldEventScoreRepository {
|
||||||
|
public WorldEventScoreRepositoryImpl(DynamoDBOperations operations, DynamodbHistoryLogService dynamodbHistoryLogService, ObjectMapper objectMapper) {
|
||||||
|
super(operations, WorldEventGlobalScoreDoc.class, dynamodbHistoryLogService, objectMapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<WorldEventGlobalScoreDoc> getWorldEventScoreListWithPaging(String sortKeyPrefix, String filterAttributeName, EFilterOperator filterOperator, String filterAttributeValue, Map<String, AttributeValue> exclusiveStartKey, boolean sortIndex) {
|
||||||
|
String pk = DynamoDBConstants.PK_KEY_WORLD_EVENT_TOTAL_SCORE;
|
||||||
|
|
||||||
|
return findByPaging(
|
||||||
|
pk,
|
||||||
|
sortKeyPrefix,
|
||||||
|
filterAttributeName,
|
||||||
|
filterOperator,
|
||||||
|
filterAttributeValue,
|
||||||
|
exclusiveStartKey,
|
||||||
|
sortIndex
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WorldEventGlobalScoreAttrib findWorldEventScore(Integer eventId) {
|
||||||
|
Key key = Key.builder()
|
||||||
|
.partitionValue(DynamoDBConstants.PK_KEY_WORLD_EVENT_TOTAL_SCORE)
|
||||||
|
.sortValue(eventId.toString())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
WorldEventGlobalScoreDoc doc = findById(key);
|
||||||
|
|
||||||
|
if(doc != null){
|
||||||
|
try {
|
||||||
|
return doc.getAttribValue();
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("findWorldEventScore Error: {}", e.getMessage());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.repository;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.entity.EFilterOperator;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.WorldEventGlobalScoreAttrib;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.WorldEventGlobalScoreDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
|
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface WorldEventScoreRepository extends DynamoDBRepository<WorldEventGlobalScoreDoc> {
|
||||||
|
PageResult<WorldEventGlobalScoreDoc> getWorldEventScoreListWithPaging(
|
||||||
|
String sortKeyPrefix,
|
||||||
|
String filterAttributeName,
|
||||||
|
EFilterOperator filterOperator,
|
||||||
|
String filterAttributeValue,
|
||||||
|
Map<String, AttributeValue> exclusiveStartKey,
|
||||||
|
boolean sortIndex
|
||||||
|
);
|
||||||
|
WorldEventGlobalScoreAttrib findWorldEventScore(Integer eventId);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user