dynamodb nickname 추가
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.domain.atrrib;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.entity.EOwnerEntityType;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import lombok.*;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamoDbBean
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public class NicknameAttrib extends DynamoDBAttribBase {
|
||||||
|
|
||||||
|
private String nickname;
|
||||||
|
|
||||||
|
@JsonProperty("owner_guid")
|
||||||
|
private String ownerGuid;
|
||||||
|
|
||||||
|
@JsonProperty("owner_entity_type")
|
||||||
|
private EOwnerEntityType ownerEntityType;
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.domain.doc;
|
||||||
|
|
||||||
|
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 NicknameDoc extends DynamoDBDocBase {
|
||||||
|
private String nicknameAttrib;
|
||||||
|
|
||||||
|
public String getAttribFieldName() {
|
||||||
|
return "NicknameAttrib";
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute("NicknameAttrib")
|
||||||
|
@JsonProperty("NicknameAttrib")
|
||||||
|
public String getAttribValue() {
|
||||||
|
return nicknameAttrib;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttribValue(String value) {
|
||||||
|
this.nicknameAttrib = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.entity;
|
||||||
|
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.entity.common.ValueEnum;
|
||||||
|
|
||||||
|
public enum EOwnerEntityType implements ValueEnum {
|
||||||
|
None(0),
|
||||||
|
User(1),
|
||||||
|
Character(2),
|
||||||
|
UgcNpc(3),
|
||||||
|
Myhome(4),
|
||||||
|
Land(5),
|
||||||
|
Building(6),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final int value;
|
||||||
|
|
||||||
|
EOwnerEntityType(int value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.repository.Impl;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.NicknameAttrib;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.NicknameDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.repository.BaseDynamoDBRepository;
|
||||||
|
import com.caliverse.admin.dynamodb.repository.NicknameRepository;
|
||||||
|
import com.caliverse.admin.dynamodb.service.DynamoDBOperations;
|
||||||
|
import com.caliverse.admin.global.common.code.CommonCode;
|
||||||
|
import com.caliverse.admin.global.common.code.ErrorCode;
|
||||||
|
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
||||||
|
import com.caliverse.admin.global.common.exception.RestApiException;
|
||||||
|
import com.caliverse.admin.history.service.DynamodbHistoryLogService;
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.Key;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class NicknameRepositoryImpl extends BaseDynamoDBRepository<NicknameDoc> implements NicknameRepository {
|
||||||
|
public NicknameRepositoryImpl(DynamoDBOperations operations, DynamodbHistoryLogService dynamodbHistoryLogService, ObjectMapper objectMapper) {
|
||||||
|
super(operations, NicknameDoc.class, dynamodbHistoryLogService, objectMapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NicknameAttrib findUser(String guid) {
|
||||||
|
Key key = Key.builder()
|
||||||
|
.partitionValue(DynamoDBConstants.PK_KEY_NICKNAME + guid)
|
||||||
|
.sortValue(DynamoDBConstants.EMPTY)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
NicknameDoc doc = findById(key);
|
||||||
|
|
||||||
|
try {
|
||||||
|
return objectMapper.readValue(doc.getAttribValue(), NicknameAttrib.class);
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
throw new RestApiException(CommonCode.ERROR.getHttpStatus(), ErrorCode.DYNAMODB_CONNECTION_ERROR.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +1,15 @@
|
|||||||
package com.caliverse.admin.dynamodb.repository.Impl;
|
package com.caliverse.admin.dynamodb.repository.Impl;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.AccountBaseAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.atrrib.UserNicknameRegistryAttrib;
|
import com.caliverse.admin.dynamodb.domain.atrrib.UserNicknameRegistryAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.doc.UserNicknameRegistryDoc;
|
import com.caliverse.admin.dynamodb.domain.doc.UserNicknameRegistryDoc;
|
||||||
import com.caliverse.admin.dynamodb.repository.BaseDynamoDBRepository;
|
import com.caliverse.admin.dynamodb.repository.BaseDynamoDBRepository;
|
||||||
import com.caliverse.admin.dynamodb.repository.UserNicknameRegistryRepository;
|
import com.caliverse.admin.dynamodb.repository.UserNicknameRegistryRepository;
|
||||||
import com.caliverse.admin.dynamodb.service.DynamoDBOperations;
|
import com.caliverse.admin.dynamodb.service.DynamoDBOperations;
|
||||||
|
import com.caliverse.admin.global.common.code.CommonCode;
|
||||||
|
import com.caliverse.admin.global.common.code.ErrorCode;
|
||||||
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
||||||
|
import com.caliverse.admin.global.common.exception.RestApiException;
|
||||||
import com.caliverse.admin.history.service.DynamodbHistoryLogService;
|
import com.caliverse.admin.history.service.DynamodbHistoryLogService;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
@@ -25,6 +29,20 @@ public class UserNicknameRegistryRepositoryImpl extends BaseDynamoDBRepository<U
|
|||||||
super(operations, UserNicknameRegistryDoc.class, dynamodbHistoryLogService, objectMapper);
|
super(operations, UserNicknameRegistryDoc.class, dynamodbHistoryLogService, objectMapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserNicknameRegistryAttrib findUser(String nickname) {
|
||||||
|
Key key = Key.builder()
|
||||||
|
.partitionValue(DynamoDBConstants.PK_KEY_USER_NICKNAME_REGISTRY)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
UserNicknameRegistryDoc doc = findById(key);
|
||||||
|
try {
|
||||||
|
return objectMapper.readValue(doc.getAttribValue(), UserNicknameRegistryAttrib.class);
|
||||||
|
} catch (JsonProcessingException e) {
|
||||||
|
throw new RestApiException(CommonCode.ERROR.getHttpStatus(), ErrorCode.DYNAMODB_CONNECTION_ERROR.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> findAllNicknameByGuid() {
|
public List<String> findAllNicknameByGuid() {
|
||||||
Key key = Key.builder()
|
Key key = Key.builder()
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.repository;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.NicknameAttrib;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.NicknameDoc;
|
||||||
|
|
||||||
|
public interface NicknameRepository extends DynamoDBRepository<NicknameDoc> {
|
||||||
|
NicknameAttrib findUser(String guid);
|
||||||
|
}
|
||||||
@@ -1,11 +1,13 @@
|
|||||||
package com.caliverse.admin.dynamodb.repository;
|
package com.caliverse.admin.dynamodb.repository;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.UserBaseAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.atrrib.UserNicknameRegistryAttrib;
|
import com.caliverse.admin.dynamodb.domain.atrrib.UserNicknameRegistryAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.doc.UserNicknameRegistryDoc;
|
import com.caliverse.admin.dynamodb.domain.doc.UserNicknameRegistryDoc;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface UserNicknameRegistryRepository extends DynamoDBRepository<UserNicknameRegistryDoc> {
|
public interface UserNicknameRegistryRepository extends DynamoDBRepository<UserNicknameRegistryDoc> {
|
||||||
|
UserNicknameRegistryAttrib findUser(String nickname);
|
||||||
List<String> findAllNicknameByGuid();
|
List<String> findAllNicknameByGuid();
|
||||||
List<UserNicknameRegistryAttrib> findAllAttrib();
|
List<UserNicknameRegistryAttrib> findAllAttrib();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
package com.caliverse.admin.dynamodb.service;
|
package com.caliverse.admin.dynamodb.service;
|
||||||
|
|
||||||
import com.caliverse.admin.domain.entity.BlackList;
|
import com.caliverse.admin.domain.entity.BlackList;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.NicknameAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.atrrib.UserBaseAttrib;
|
import com.caliverse.admin.dynamodb.domain.atrrib.UserBaseAttrib;
|
||||||
import com.caliverse.admin.dynamodb.repository.*;
|
import com.caliverse.admin.dynamodb.repository.*;
|
||||||
import com.caliverse.admin.global.common.annotation.DynamoDBTransaction;
|
import com.caliverse.admin.global.common.annotation.DynamoDBTransaction;
|
||||||
|
import com.caliverse.admin.global.common.code.CommonCode;
|
||||||
|
import com.caliverse.admin.global.common.code.ErrorCode;
|
||||||
|
import com.caliverse.admin.global.common.exception.RestApiException;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -17,27 +21,20 @@ import org.springframework.stereotype.Service;
|
|||||||
public class DynamodbUserService {
|
public class DynamodbUserService {
|
||||||
private final AccountBaseRepository accountBaseRepository;
|
private final AccountBaseRepository accountBaseRepository;
|
||||||
private final UserBaseRepository userBaseRepository;
|
private final UserBaseRepository userBaseRepository;
|
||||||
|
private final UserNicknameRegistryRepository registryRepository;
|
||||||
|
private final NicknameRepository nicknameRepository;
|
||||||
|
|
||||||
private final ObjectMapper mapper = new ObjectMapper();
|
private final ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
public boolean isBlockUser(String account_id){
|
public boolean isBlockUser(String guid){
|
||||||
|
String account_id = getGuidByAccountId(guid);
|
||||||
return accountBaseRepository.isBlockUser(account_id);
|
return accountBaseRepository.isBlockUser(account_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@DynamoDBTransaction
|
@DynamoDBTransaction
|
||||||
public void updateBlockUser(BlackList.STATUSTYPE status, BlackList blackList){
|
public void updateBlockUser(BlackList.STATUSTYPE status, BlackList blackList){
|
||||||
String guid = blackList.getGuid();
|
String guid = blackList.getGuid();
|
||||||
UserBaseAttrib userBaseAttrib = userBaseRepository.findUser(guid);
|
String account_id = getGuidByAccountId(guid);
|
||||||
if(userBaseAttrib == null){
|
|
||||||
try {
|
|
||||||
log.error("updateBlockUser UserBase Null blackList: {}", mapper.writeValueAsString(blackList));
|
|
||||||
}catch (JsonProcessingException e){
|
|
||||||
log.error("updateBlockUser BlackList JsonProcessingException");
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
String account_id = userBaseAttrib.getAccountId();
|
|
||||||
|
|
||||||
if(status.equals(BlackList.STATUSTYPE.INPROGRESS)){
|
if(status.equals(BlackList.STATUSTYPE.INPROGRESS)){
|
||||||
accountBaseRepository.updateBlockUserStart(account_id, blackList);
|
accountBaseRepository.updateBlockUserStart(account_id, blackList);
|
||||||
@@ -47,4 +44,24 @@ public class DynamodbUserService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getGuidByName(String guid){
|
||||||
|
NicknameAttrib nicknameAttrib = nicknameRepository.findUser(guid);
|
||||||
|
if(nicknameAttrib == null){
|
||||||
|
log.error("getGuidByName Nickname Null guid: {}", guid);
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return nicknameAttrib.getNickname();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGuidByAccountId(String guid){
|
||||||
|
UserBaseAttrib userBaseAttrib = userBaseRepository.findUser(guid);
|
||||||
|
if(userBaseAttrib == null){
|
||||||
|
log.error("getGuidByAccountId UserBase Null guid: {}", guid);
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return userBaseAttrib.getAccountId();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ public class DynamoDBConstants {
|
|||||||
public static final String PK_KEY_BATTLE_EVENT = "management_battle_event#global";
|
public static final String PK_KEY_BATTLE_EVENT = "management_battle_event#global";
|
||||||
public static final String PK_KEY_ACCOUNT_BASE = "account_base#";
|
public static final String PK_KEY_ACCOUNT_BASE = "account_base#";
|
||||||
public static final String PK_KEY_USER_BASE = "user_base#";
|
public static final String PK_KEY_USER_BASE = "user_base#";
|
||||||
|
public static final String PK_KEY_NICKNAME = "nickname#";
|
||||||
|
|
||||||
//SK
|
//SK
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user