유저부분 신규 dynamodb domain 방식으로변경

아이템 처리 관련 추가
This commit is contained in:
2025-05-01 07:09:05 +09:00
parent c8f76004ed
commit 0cd0853a63
44 changed files with 874 additions and 890 deletions

View File

@@ -1,6 +1,7 @@
package com.caliverse.admin.domain.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@@ -8,6 +9,7 @@ import java.util.stream.Collectors;
import com.caliverse.admin.domain.entity.FriendRequest;
import com.caliverse.admin.domain.entity.HISTORYTYPE;
import com.caliverse.admin.domain.entity.SEARCHTYPE;
import com.caliverse.admin.domain.request.MailRequest;
import com.caliverse.admin.dynamodb.domain.atrrib.AccountBaseAttrib;
import com.caliverse.admin.dynamodb.domain.atrrib.MailAttrib;
@@ -15,6 +17,7 @@ import com.caliverse.admin.dynamodb.domain.atrrib.MailJsonAttrib;
import com.caliverse.admin.dynamodb.domain.atrrib.MoneyAttrib;
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
import com.caliverse.admin.dynamodb.dto.PageResult;
import com.caliverse.admin.dynamodb.service.DynamodbItemService;
import com.caliverse.admin.dynamodb.service.DynamodbService;
import com.caliverse.admin.dynamodb.service.DynamodbUserService;
import com.caliverse.admin.global.common.utils.DynamodbUtil;
@@ -50,15 +53,12 @@ public class UsersService {
private final HistoryService historyService;
private final UserGameSessionService userGameSessionService;
private final RedisUserInfoService redisUserInfoService;
private final DynamodbUserService dynamodbUserService;
private final DynamodbItemService dynamodbItemService;
//metadataHandler 어떻게 가져와야 되는가
@Autowired
private MetaDataHandler metaDataHandler;
@Qualifier("objectMapper")
@Autowired
private ObjectMapper objectMapper;
@Autowired
private DynamodbUserService dynamodbUserService;
// 닉네임 변경
public UsersResponse changeNickname(UsersRequest usersRequest){
@@ -72,8 +72,9 @@ public class UsersService {
throw new RestApiException(CommonCode.ERROR.getHttpStatus(), check.getMessage() );
}
Map<String, String> serachNickname = dynamoDBService.getUsersByName(newNickname);
if(serachNickname != null){
String isGuid = dynamodbUserService.getNameByGuid(newNickname);
if(!isGuid.isEmpty()){
//변경 닉네임이 존재합니다. 다시 시도해주세요.
throw new RestApiException(CommonCode.ERROR.getHttpStatus(), ErrorCode.NICKNAME_EXIT_ERROR.getMessage() );
}else{
@@ -93,9 +94,8 @@ public class UsersService {
// GM 권한 변경
public UsersResponse changeAdminLevel(UsersRequest usersRequest){
String guid = usersRequest.getGuid();
String type = usersRequest.getAdminLevel();
dynamoDBService.updateAdminLevel(guid, type);
dynamodbUserService.updateAdminLevel(guid, usersRequest.getAdminLevel());
return UsersResponse.builder()
.resultData(UsersResponse.ResultData.builder()
@@ -130,11 +130,22 @@ public class UsersService {
String searchType = requestParam.get("search_type").toString();
String searchKey = requestParam.get("search_key").toString();
Map<String,String> res = dynamoDBService.findUsersBykey(searchType, searchKey);
// Map<String,String> res = dynamoDBService.findUsersBykey(searchType, searchKey);
Map<String,String> resultMap = new HashMap<>();
if(searchType.equals(SEARCHTYPE.NAME.name())){
resultMap.put("guid", dynamodbUserService.getNameByGuid(searchKey.toLowerCase())); //nickname은 무조건 소문자
resultMap.put("nickname", searchKey);
}else if(searchType.equals(SEARCHTYPE.GUID.name())){
resultMap.put("guid", searchKey);
resultMap.put("nickname", dynamodbUserService.getGuidByName(searchKey));
}else if(searchType.equals(SEARCHTYPE.ACCOUNT.name())){
resultMap.put("guid", dynamodbUserService.getAccountIdByGuid(searchKey));
resultMap.put("nickname", dynamodbUserService.getAccountIdByName(searchKey));
}
return UsersResponse.builder()
.resultData(UsersResponse.ResultData.builder()
.result(res)
.result(resultMap)
.build())
.status(CommonCode.SUCCESS.getHttpStatus())
.result(CommonCode.SUCCESS.getResult())
@@ -156,7 +167,7 @@ public class UsersService {
.accessDt(accountBaseAttrib.getLoginDateTime())
.endDt(accountBaseAttrib.getLogoutDateTime())
.walletUrl("")
.adminLevel(accountBaseAttrib.getAuthAdminLevelType().name())
.adminLevel(accountBaseAttrib.getAuthAdminLevelType())
.spareSlot("")
.build();
@@ -265,7 +276,8 @@ public class UsersService {
// inventoryList.add(innerList);
// }
// }
UsersResponse.InventoryInfo inventoryInfo = dynamoDBService.getInvenItems(guid);
// UsersResponse.InventoryInfo inventoryInfo = dynamoDBService.getInvenItems(guid);
UsersResponse.InventoryInfo inventoryInfo = dynamodbItemService.getInvenItems(guid);
logger.info("getInventoryInfo Inventory Items: {}", inventoryInfo);
return UsersResponse.builder()
@@ -288,12 +300,13 @@ public class UsersService {
userGameSessionService.kickUserSession(guid, "Item delete");
if(update_cnt >= current_cnt){
String attrib = dynamoDBService.deleteItem(guid, item_guid);
if(!attrib.isEmpty()){
JSONObject jsonObject = new JSONObject();
jsonObject.put("data",attrib);
historyService.setLog(HISTORYTYPE.INVENTORY_ITEM_DELETE, jsonObject);
}
// String attrib = dynamoDBService.deleteItem(guid, item_guid);
// if(!attrib.isEmpty()){
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("data",attrib);
// historyService.setLog(HISTORYTYPE.INVENTORY_ITEM_DELETE, jsonObject);
// }
dynamodbItemService.deleteItem(guid, item_guid);
return UsersResponse.builder()
.status(CommonCode.SUCCESS.getHttpStatus())
.result(CommonCode.SUCCESS.getResult())
@@ -303,10 +316,11 @@ public class UsersService {
.build();
}else{
int cnt = current_cnt - update_cnt;
JSONObject json = dynamoDBService.updateItem(guid, item_guid, cnt);
if(!json.isEmpty()){
historyService.setLog(HISTORYTYPE.INVENTORY_ITEM_UPDATE, json);
}
dynamodbItemService.updateItemStack(guid, item_guid, cnt);
// JSONObject json = dynamoDBService.updateItem(guid, item_guid, cnt);
// if(!json.isEmpty()){
// historyService.setLog(HISTORYTYPE.INVENTORY_ITEM_UPDATE, json);
// }
return UsersResponse.builder()
.status(CommonCode.SUCCESS.getHttpStatus())
.result(CommonCode.SUCCESS.getResult())
@@ -319,7 +333,7 @@ public class UsersService {
public UsersResponse getMail(UsersRequest usersRequest){
// List<UsersResponse.Mail> mailList = dynamoDBService.getMail(guid, type);
PageResult<MailDoc> mailPageResult = dynamodbService.getMail(usersRequest.getMailType(), usersRequest.getGuid(), "", "", "", usersRequest.getPageKey(), false);
PageResult<MailDoc> mailPageResult = dynamodbService.getMail(usersRequest.getMailType(), usersRequest.getGuid(), "", usersRequest.getPageKey());
List<UsersResponse.Mail> mailList = new ArrayList<>();
mailPageResult.getItems().forEach(doc -> {
@@ -377,7 +391,7 @@ public class UsersService {
}
} catch (Exception e) {
log.error(e.getMessage());
return;
throw new RestApiException(CommonCode.ERROR.getHttpStatus(), e.getMessage());
}
});
return UsersResponse.builder()
@@ -469,9 +483,9 @@ public class UsersService {
friend.setRowNum(idx.getAndIncrement());
String receive_guid = friendReq.getReceiverGuid();
friend.setFriendGuid(receive_guid);
friend.setFriendName(dynamoDBService.getGuidByName(receive_guid));
friend.setFriendName(dynamodbUserService.getGuidByName(receive_guid));
friend.setReceiveDt(friendReq.getRequestTime());
friend.setLanguage(dynamoDBService.getUserLanguage(receive_guid));
friend.setLanguage(dynamodbUserService.getUserLanguage(receive_guid));
friendSendList.add(friend);
}
@@ -481,9 +495,9 @@ public class UsersService {
friend.setRowNum(idx.getAndIncrement());
String send_guid = friendReq.getSenderGuid();
friend.setFriendGuid(send_guid);
friend.setFriendName(dynamoDBService.getGuidByName(send_guid));
friend.setFriendName(dynamodbUserService.getGuidByName(send_guid));
friend.setReceiveDt(friendReq.getRequestTime());
friend.setLanguage(dynamoDBService.getUserLanguage(send_guid));
friend.setLanguage(dynamodbUserService.getUserLanguage(send_guid));
friendReceiveList.add(friend);
}