MailJson 타입으로 추가생성

This commit is contained in:
2025-04-10 11:55:30 +09:00
parent 2c719227b4
commit 4e0304899c
13 changed files with 477 additions and 50 deletions

View File

@@ -10,9 +10,11 @@ import com.caliverse.admin.domain.entity.FriendRequest;
import com.caliverse.admin.domain.entity.HISTORYTYPE;
import com.caliverse.admin.domain.request.MailRequest;
import com.caliverse.admin.dynamodb.domain.atrrib.MailAttrib;
import com.caliverse.admin.dynamodb.domain.atrrib.MailJsonAttrib;
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
import com.caliverse.admin.dynamodb.dto.PageResult;
import com.caliverse.admin.dynamodb.service.DynamodbService;
import com.caliverse.admin.global.common.utils.DynamodbUtil;
import com.caliverse.admin.redis.service.RedisUserInfoService;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
@@ -296,31 +298,57 @@ public class UsersService {
mailPageResult.getItems().forEach(doc -> {
try {
MailAttrib attrib = objectMapper.readValue(doc.getAttribValue(), MailAttrib.class);
// MailAttrib attrib = objectMapper.readValue(doc.getAttribValue(), MailAttrib.class);
MailAttrib attrib = doc.getAttribValue();
List<UsersResponse.MailItem> itemList = new ArrayList<>();
attrib.getItemList().forEach(item -> {
UsersResponse.MailItem mailItem = new UsersResponse.MailItem();
mailItem.setItemId(CommonUtils.objectToString(item.getItemId()));
mailItem.setCount(item.getCount());
String item_nm = metaDataHandler.getMetaItemNameData(item.getItemId());
mailItem.setItemName(metaDataHandler.getTextStringData(item_nm));
itemList.add(mailItem);
});
if(attrib == null){
MailJsonAttrib mailJsonAttrib = dynamodbService.getMailJsonAttrib(doc.getPK(),doc.getSK());
mailJsonAttrib.getItemList().forEach(item -> {
UsersResponse.MailItem mailItem = new UsersResponse.MailItem();
mailItem.setItemId(CommonUtils.objectToString(item.getItemId()));
mailItem.setCount(item.getCount());
String item_nm = metaDataHandler.getMetaItemNameData(item.getItemId());
mailItem.setItemName(metaDataHandler.getTextStringData(item_nm));
itemList.add(mailItem);
});
UsersResponse.Mail mail = UsersResponse.Mail.builder()
.mailGuid(attrib.getMailGuid())
.title(attrib.getTitle())
.content(attrib.getText())
.senderNickname(attrib.getSenderNickName())
.receiveNickname(attrib.getReceiverNickName())
.status(attrib.isRead())
.isSystemMail(attrib.isSystemMail())
.isGetItem(attrib.isGetItem())
.createDt(attrib.getCreateTime())
.mailItemList(itemList)
.build();
mailList.add(mail);
UsersResponse.Mail mail = UsersResponse.Mail.builder()
.mailGuid(mailJsonAttrib.getMailGuid())
.title(mailJsonAttrib.getTitle())
.content(mailJsonAttrib.getText())
.senderNickname(mailJsonAttrib.getSenderNickName())
.receiveNickname(mailJsonAttrib.getReceiverNickName())
.status(mailJsonAttrib.isRead())
.isSystemMail(mailJsonAttrib.isSystemMail())
.isGetItem(mailJsonAttrib.isGetItem())
.createDt(mailJsonAttrib.getCreateTime())
.mailItemList(itemList)
.build();
mailList.add(mail);
}else{
attrib.getItemList().forEach(item -> {
UsersResponse.MailItem mailItem = new UsersResponse.MailItem();
mailItem.setItemId(CommonUtils.objectToString(item.getItemId()));
mailItem.setCount(item.getCount());
String item_nm = metaDataHandler.getMetaItemNameData(item.getItemId());
mailItem.setItemName(metaDataHandler.getTextStringData(item_nm));
itemList.add(mailItem);
});
UsersResponse.Mail mail = UsersResponse.Mail.builder()
.mailGuid(attrib.getMailGuid())
.title(attrib.getTitle())
.content(attrib.getText())
.senderNickname(attrib.getSenderNickName())
.receiveNickname(attrib.getReceiverNickName())
.status(Boolean.parseBoolean(attrib.getIsRead()))
.isSystemMail(Boolean.parseBoolean(attrib.getIsSystemMail()))
.isGetItem(Boolean.parseBoolean(attrib.getIsGetItem()))
.createDt(attrib.getCreateTime())
.mailItemList(itemList)
.build();
mailList.add(mail);
}
} catch (Exception e) {
log.error(e.getMessage());
return;