MailJson 타입으로 추가생성
This commit is contained in:
@@ -10,9 +10,11 @@ import com.caliverse.admin.domain.entity.FriendRequest;
|
|||||||
import com.caliverse.admin.domain.entity.HISTORYTYPE;
|
import com.caliverse.admin.domain.entity.HISTORYTYPE;
|
||||||
import com.caliverse.admin.domain.request.MailRequest;
|
import com.caliverse.admin.domain.request.MailRequest;
|
||||||
import com.caliverse.admin.dynamodb.domain.atrrib.MailAttrib;
|
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.domain.doc.MailDoc;
|
||||||
import com.caliverse.admin.dynamodb.dto.PageResult;
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
import com.caliverse.admin.dynamodb.service.DynamodbService;
|
import com.caliverse.admin.dynamodb.service.DynamodbService;
|
||||||
|
import com.caliverse.admin.global.common.utils.DynamodbUtil;
|
||||||
import com.caliverse.admin.redis.service.RedisUserInfoService;
|
import com.caliverse.admin.redis.service.RedisUserInfoService;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -296,9 +298,34 @@ public class UsersService {
|
|||||||
|
|
||||||
mailPageResult.getItems().forEach(doc -> {
|
mailPageResult.getItems().forEach(doc -> {
|
||||||
try {
|
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<>();
|
List<UsersResponse.MailItem> itemList = new ArrayList<>();
|
||||||
|
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(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 -> {
|
attrib.getItemList().forEach(item -> {
|
||||||
UsersResponse.MailItem mailItem = new UsersResponse.MailItem();
|
UsersResponse.MailItem mailItem = new UsersResponse.MailItem();
|
||||||
mailItem.setItemId(CommonUtils.objectToString(item.getItemId()));
|
mailItem.setItemId(CommonUtils.objectToString(item.getItemId()));
|
||||||
@@ -314,13 +341,14 @@ public class UsersService {
|
|||||||
.content(attrib.getText())
|
.content(attrib.getText())
|
||||||
.senderNickname(attrib.getSenderNickName())
|
.senderNickname(attrib.getSenderNickName())
|
||||||
.receiveNickname(attrib.getReceiverNickName())
|
.receiveNickname(attrib.getReceiverNickName())
|
||||||
.status(attrib.isRead())
|
.status(Boolean.parseBoolean(attrib.getIsRead()))
|
||||||
.isSystemMail(attrib.isSystemMail())
|
.isSystemMail(Boolean.parseBoolean(attrib.getIsSystemMail()))
|
||||||
.isGetItem(attrib.isGetItem())
|
.isGetItem(Boolean.parseBoolean(attrib.getIsGetItem()))
|
||||||
.createDt(attrib.getCreateTime())
|
.createDt(attrib.getCreateTime())
|
||||||
.mailItemList(itemList)
|
.mailItemList(itemList)
|
||||||
.build();
|
.build();
|
||||||
mailList.add(mail);
|
mailList.add(mail);
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.caliverse.admin.dynamodb.domain.atrrib;
|
package com.caliverse.admin.dynamodb.domain.atrrib;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
@@ -17,4 +18,7 @@ public abstract class DynamoDBAttribBase {
|
|||||||
//객체일때는 사용안하고 Json으로 Attrib이 생성될때만 사용(상속 안받는걸로)
|
//객체일때는 사용안하고 Json으로 Attrib이 생성될때만 사용(상속 안받는걸로)
|
||||||
@JsonProperty("attrib_type")
|
@JsonProperty("attrib_type")
|
||||||
private String attribType;
|
private String attribType;
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
private transient boolean isSaveToJson = true;
|
||||||
}
|
}
|
||||||
@@ -5,27 +5,26 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||||||
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute;
|
||||||
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
@Setter
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@DynamoDbBean
|
@DynamoDbBean
|
||||||
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
public class MailAttrib extends DynamoDBAttribBase{
|
public class MailAttrib{
|
||||||
@JsonProperty("mail_guid")
|
@JsonProperty("mail_guid")
|
||||||
private String mailGuid;
|
private String mailGuid;
|
||||||
|
|
||||||
@JsonProperty("is_read")
|
@JsonProperty("is_read")
|
||||||
private boolean isRead;
|
private String isRead;
|
||||||
@JsonProperty("is_get_item")
|
@JsonProperty("is_get_item")
|
||||||
private boolean isGetItem;
|
private String isGetItem;
|
||||||
@JsonProperty("is_system_mail")
|
@JsonProperty("is_system_mail")
|
||||||
private boolean isSystemMail;
|
private String isSystemMail;
|
||||||
|
|
||||||
@JsonProperty("sender_nickname")
|
@JsonProperty("sender_nickname")
|
||||||
private String senderNickName;
|
private String senderNickName;
|
||||||
@@ -44,11 +43,80 @@ public class MailAttrib extends DynamoDBAttribBase{
|
|||||||
@JsonProperty("expire_time")
|
@JsonProperty("expire_time")
|
||||||
private String expireTime;
|
private String expireTime;
|
||||||
@JsonProperty("is_text_by_meta_data")
|
@JsonProperty("is_text_by_meta_data")
|
||||||
private boolean isTextByMetaData;
|
private String isTextByMetaData;
|
||||||
@JsonProperty("item_list")
|
@JsonProperty("item_list")
|
||||||
private List<MailItem> itemList;
|
private List<MailItemAttrib> itemList;
|
||||||
@JsonProperty("package_order_id")
|
@JsonProperty("package_order_id")
|
||||||
private String packageOrderId;
|
private String packageOrderId;
|
||||||
@JsonProperty("contents_arguments")
|
@JsonProperty("contents_arguments")
|
||||||
private List<String> contentsArguments;
|
private List<String> contentsArguments;
|
||||||
|
|
||||||
|
@DynamoDbAttribute("mail_guid")
|
||||||
|
public String getMailGuid() {
|
||||||
|
return mailGuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute("is_read")
|
||||||
|
public String getIsRead() {
|
||||||
|
return isRead;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute("is_get_item")
|
||||||
|
public String getIsGetItem() {
|
||||||
|
return isGetItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute("is_system_mail")
|
||||||
|
public String getIsSystemMail() {
|
||||||
|
return isSystemMail;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute("sender_nickname")
|
||||||
|
public String getSenderNickName() {
|
||||||
|
return senderNickName;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("sender_guid")
|
||||||
|
public String getSenderGuid() {
|
||||||
|
return senderGuid;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("receiver_nickname")
|
||||||
|
public String getReceiverNickName() {
|
||||||
|
return receiverNickName;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("receiver_guid")
|
||||||
|
public String getReceiverGuid() {
|
||||||
|
return receiverGuid;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("title")
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("text")
|
||||||
|
public String getText() {
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("create_time")
|
||||||
|
public String getCreateTime() {
|
||||||
|
return createTime;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("expire_time")
|
||||||
|
public String getExpireTime() {
|
||||||
|
return expireTime;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("is_text_by_meta_data")
|
||||||
|
public String getIsTextByMetaData() {
|
||||||
|
return isTextByMetaData;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("item_list")
|
||||||
|
public List<MailItemAttrib> getItemList() {
|
||||||
|
return itemList;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("package_order_id")
|
||||||
|
public String getPackageOrderId() {
|
||||||
|
return packageOrderId;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("contents_arguments")
|
||||||
|
public List<String> getContentsArguments() {
|
||||||
|
return contentsArguments;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.domain.atrrib;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@DynamoDbBean
|
||||||
|
public class MailItemAttrib {
|
||||||
|
@JsonProperty("ItemId")
|
||||||
|
private Integer itemId;
|
||||||
|
@JsonProperty("Count")
|
||||||
|
private Double count;
|
||||||
|
@JsonProperty("ProductId")
|
||||||
|
private Integer productId;
|
||||||
|
@JsonProperty("isRepeatProduct")
|
||||||
|
private String isRepeatProduct;
|
||||||
|
|
||||||
|
@DynamoDbAttribute("ItemId")
|
||||||
|
public Integer getItemId() {
|
||||||
|
return itemId;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("Count")
|
||||||
|
public Double getCount() {
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("ProductId")
|
||||||
|
public Integer getProductId() {
|
||||||
|
return productId;
|
||||||
|
}
|
||||||
|
@DynamoDbAttribute("bid_start_price")
|
||||||
|
public String getBidStartPrice() {
|
||||||
|
return isRepeatProduct;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.domain.atrrib;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.entity.MailItem;
|
||||||
|
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;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamoDbBean
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public class MailJsonAttrib extends DynamoDBAttribBase{
|
||||||
|
@JsonProperty("mail_guid")
|
||||||
|
private String mailGuid;
|
||||||
|
|
||||||
|
@JsonProperty("is_read")
|
||||||
|
private boolean isRead;
|
||||||
|
@JsonProperty("is_get_item")
|
||||||
|
private boolean isGetItem;
|
||||||
|
@JsonProperty("is_system_mail")
|
||||||
|
private boolean isSystemMail;
|
||||||
|
|
||||||
|
@JsonProperty("sender_nickname")
|
||||||
|
private String senderNickName;
|
||||||
|
@JsonProperty("sender_guid")
|
||||||
|
private String senderGuid;
|
||||||
|
@JsonProperty("receiver_nickname")
|
||||||
|
private String receiverNickName;
|
||||||
|
@JsonProperty("receiver_guid")
|
||||||
|
private String receiverGuid;
|
||||||
|
|
||||||
|
private String title;
|
||||||
|
private String text;
|
||||||
|
|
||||||
|
@JsonProperty("create_time")
|
||||||
|
private String createTime;
|
||||||
|
@JsonProperty("expire_time")
|
||||||
|
private String expireTime;
|
||||||
|
@JsonProperty("is_text_by_meta_data")
|
||||||
|
private boolean isTextByMetaData;
|
||||||
|
@JsonProperty("item_list")
|
||||||
|
private List<MailItem> itemList;
|
||||||
|
@JsonProperty("package_order_id")
|
||||||
|
private String packageOrderId;
|
||||||
|
@JsonProperty("contents_arguments")
|
||||||
|
private List<String> contentsArguments;
|
||||||
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.caliverse.admin.dynamodb.domain.doc;
|
package com.caliverse.admin.dynamodb.domain.doc;
|
||||||
|
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.MailAttrib;
|
||||||
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute;
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbAttribute;
|
||||||
@@ -13,7 +13,7 @@ import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@DynamoDbBean
|
@DynamoDbBean
|
||||||
public class MailDoc extends DynamoDBDocBase {
|
public class MailDoc extends DynamoDBDocBase {
|
||||||
private String mailAttrib;
|
private MailAttrib mailAttrib;
|
||||||
@Setter
|
@Setter
|
||||||
private long ttl;
|
private long ttl;
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ public class MailDoc extends DynamoDBDocBase {
|
|||||||
|
|
||||||
@DynamoDbAttribute(DynamoDBConstants.ATTRIB_MAIL)
|
@DynamoDbAttribute(DynamoDBConstants.ATTRIB_MAIL)
|
||||||
@JsonProperty(DynamoDBConstants.ATTRIB_MAIL)
|
@JsonProperty(DynamoDBConstants.ATTRIB_MAIL)
|
||||||
public String getAttribValue() {
|
public MailAttrib getAttribValue() {
|
||||||
return mailAttrib;
|
return mailAttrib;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ public class MailDoc extends DynamoDBDocBase {
|
|||||||
return ttl;
|
return ttl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAttribValue(String value) {
|
public void setAttribValue(MailAttrib value) {
|
||||||
this.mailAttrib = value;
|
this.mailAttrib = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.domain.doc;
|
||||||
|
|
||||||
|
import com.caliverse.admin.global.common.constants.DynamoDBConstants;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
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 MailJsonDoc extends DynamoDBDocBase {
|
||||||
|
private String mailAttrib;
|
||||||
|
@Setter
|
||||||
|
private long ttl;
|
||||||
|
|
||||||
|
public String getAttribFieldName() {
|
||||||
|
return DynamoDBConstants.ATTRIB_MAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute(DynamoDBConstants.ATTRIB_MAIL)
|
||||||
|
@JsonProperty(DynamoDBConstants.ATTRIB_MAIL)
|
||||||
|
public String getAttribValue() {
|
||||||
|
return mailAttrib;
|
||||||
|
}
|
||||||
|
|
||||||
|
@DynamoDbAttribute("TTL")
|
||||||
|
@JsonProperty("TTL")
|
||||||
|
public long getTtl() {
|
||||||
|
return ttl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttribValue(String value) {
|
||||||
|
this.mailAttrib = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -5,11 +5,13 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@DynamoDbBean
|
||||||
public class MailItem {
|
public class MailItem {
|
||||||
@JsonProperty("ItemId")
|
@JsonProperty("ItemId")
|
||||||
private Integer itemId;
|
private Integer itemId;
|
||||||
|
|||||||
@@ -0,0 +1,144 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.repository.Impl;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.entity.HISTORYTYPE;
|
||||||
|
import com.caliverse.admin.domain.entity.Mail;
|
||||||
|
import com.caliverse.admin.domain.entity.SEARCHTYPE;
|
||||||
|
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.MailJsonAttrib;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.MailJsonDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
|
import com.caliverse.admin.dynamodb.entity.MailItem;
|
||||||
|
import com.caliverse.admin.dynamodb.repository.BaseDynamoDBRepository;
|
||||||
|
import com.caliverse.admin.dynamodb.repository.MailJsonRepository;
|
||||||
|
import com.caliverse.admin.dynamodb.repository.MailRepository;
|
||||||
|
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.global.common.utils.CommonUtils;
|
||||||
|
import com.caliverse.admin.global.common.utils.DateUtils;
|
||||||
|
import com.caliverse.admin.history.service.DynamodbHistoryLogService;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static com.caliverse.admin.global.common.utils.CommonUtils.convertUTCDate;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class MailJsonRepositoryImpl extends BaseDynamoDBRepository<MailJsonDoc> implements MailJsonRepository {
|
||||||
|
public MailJsonRepositoryImpl(DynamoDBOperations operations, DynamodbHistoryLogService dynamodbHistoryLogService, ObjectMapper objectMapper) {
|
||||||
|
super(operations, MailJsonDoc.class, dynamodbHistoryLogService, objectMapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertRecvSystemMail(String userGuid, String nickname, List<MailItem> mailItems, MetaSystemMailData systemMailData, List<String> arguments) {
|
||||||
|
try {
|
||||||
|
LocalDateTime nowDate = LocalDateTime.now();
|
||||||
|
LocalDateTime maxDate = DateUtils.getMaxTime();
|
||||||
|
|
||||||
|
String expireTime = DateUtils.stringToISODateTimeMillisNano(maxDate);
|
||||||
|
|
||||||
|
String pk = DynamoDBConstants.PK_KEY_RECV_MAIL + userGuid;
|
||||||
|
String sk = String.format("%s-%s", DateUtils.getMailDateFormat(nowDate), CommonUtils.getCreateGuId().replace("-",""));
|
||||||
|
|
||||||
|
MailJsonAttrib attrib = new MailJsonAttrib();
|
||||||
|
attrib.setMailGuid(sk);
|
||||||
|
attrib.setRead(false);
|
||||||
|
attrib.setGetItem(false);
|
||||||
|
attrib.setSystemMail(true);
|
||||||
|
attrib.setSenderNickName(systemMailData.getSender());
|
||||||
|
attrib.setSenderGuid("");
|
||||||
|
attrib.setReceiverNickName(nickname);
|
||||||
|
attrib.setReceiverGuid(userGuid);
|
||||||
|
attrib.setTitle(systemMailData.getMailTitle());
|
||||||
|
attrib.setText(systemMailData.getMailDesc());
|
||||||
|
attrib.setExpireTime(expireTime);
|
||||||
|
attrib.setCreateTime(DateUtils.stringToISODateTimeMillisNano(nowDate));
|
||||||
|
attrib.setTextByMetaData(true);
|
||||||
|
attrib.setItemList(mailItems);
|
||||||
|
attrib.setPackageOrderId("");
|
||||||
|
attrib.setContentsArguments(arguments);
|
||||||
|
|
||||||
|
MailJsonDoc doc = new MailJsonDoc();
|
||||||
|
doc.setPK(pk);
|
||||||
|
doc.setSK(sk);
|
||||||
|
doc.setDocType(DynamoDBConstants.DOC_Mail);
|
||||||
|
doc.setAttribValue(objectMapper.writeValueAsString(attrib));
|
||||||
|
doc.setCreatedDateTime(convertUTCDate(nowDate));
|
||||||
|
doc.setUpdatedDateTime(convertUTCDate(nowDate));
|
||||||
|
doc.setDeletedDateTime(DynamoDBConstants.MIN_DATE);
|
||||||
|
doc.setRestoredDateTime(DynamoDBConstants.MIN_DATE);
|
||||||
|
doc.setTtl(DateUtils.dateToISOUnixTime(maxDate));
|
||||||
|
|
||||||
|
save(doc);
|
||||||
|
|
||||||
|
log.info("MailDoc Recv Insert Success: {}", objectMapper.writeValueAsString(doc));
|
||||||
|
|
||||||
|
dynamodbHistoryLogService.insertHistoryLog(
|
||||||
|
HISTORYTYPE.LAND_OWNER_CHANGE_MAIL,
|
||||||
|
HISTORYTYPE.LAND_OWNER_CHANGE_MAIL.name(),
|
||||||
|
doc
|
||||||
|
);
|
||||||
|
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("insert Error: {}", e.getMessage());
|
||||||
|
throw new RestApiException(CommonCode.ERROR.getHttpStatus(), ErrorCode.DYNAMODB_CONNECTION_ERROR.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertSentMail(Mail mail) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MailJsonDoc> getMailList(String type, String userGuid, String sortKeyPrefix) {
|
||||||
|
String pk;
|
||||||
|
|
||||||
|
if(type.equals(SEARCHTYPE.SEND.name())){
|
||||||
|
pk = DynamoDBConstants.PK_KEY_RECV_MAIL + userGuid;
|
||||||
|
}else{
|
||||||
|
pk = DynamoDBConstants.PK_KEY_SENT_MAIL + userGuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<MailJsonDoc> mailList = findByPrefix(pk, sortKeyPrefix);
|
||||||
|
|
||||||
|
return mailList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<MailJsonDoc> getMailListWithPaging(
|
||||||
|
SEARCHTYPE type,
|
||||||
|
String userGuid,
|
||||||
|
String sortKeyPrefix,
|
||||||
|
String filterAttributeName,
|
||||||
|
String filterAttributeValue,
|
||||||
|
Map<String, AttributeValue> exclusiveStartKey,
|
||||||
|
boolean sortIndex
|
||||||
|
) {
|
||||||
|
|
||||||
|
String pk;
|
||||||
|
if(type.equals(SEARCHTYPE.SEND)){
|
||||||
|
pk = DynamoDBConstants.PK_KEY_SENT_MAIL + userGuid;
|
||||||
|
} else {
|
||||||
|
pk = DynamoDBConstants.PK_KEY_RECV_MAIL + userGuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
return findByPaging(
|
||||||
|
pk,
|
||||||
|
sortKeyPrefix,
|
||||||
|
filterAttributeName,
|
||||||
|
filterAttributeValue,
|
||||||
|
exclusiveStartKey,
|
||||||
|
sortIndex
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ import com.caliverse.admin.domain.entity.Mail;
|
|||||||
import com.caliverse.admin.domain.entity.SEARCHTYPE;
|
import com.caliverse.admin.domain.entity.SEARCHTYPE;
|
||||||
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
||||||
import com.caliverse.admin.dynamodb.domain.atrrib.MailAttrib;
|
import com.caliverse.admin.dynamodb.domain.atrrib.MailAttrib;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.MailItemAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
||||||
import com.caliverse.admin.dynamodb.dto.PageResult;
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
import com.caliverse.admin.dynamodb.entity.MailItem;
|
import com.caliverse.admin.dynamodb.entity.MailItem;
|
||||||
@@ -13,6 +14,7 @@ import com.caliverse.admin.dynamodb.repository.MailRepository;
|
|||||||
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.CommonCode;
|
||||||
import com.caliverse.admin.global.common.code.ErrorCode;
|
import com.caliverse.admin.global.common.code.ErrorCode;
|
||||||
|
import com.caliverse.admin.global.common.constants.CommonConstants;
|
||||||
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.global.common.exception.RestApiException;
|
||||||
import com.caliverse.admin.global.common.utils.CommonUtils;
|
import com.caliverse.admin.global.common.utils.CommonUtils;
|
||||||
@@ -37,7 +39,7 @@ public class MailRepositoryImpl extends BaseDynamoDBRepository<MailDoc> implemen
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insertRecvSystemMail(String userGuid, String nickname, List<MailItem> mailItems, MetaSystemMailData systemMailData, List<String> arguments) {
|
public void insertRecvSystemMail(String userGuid, String nickname, List<MailItemAttrib> mailItems, MetaSystemMailData systemMailData, List<String> arguments) {
|
||||||
try {
|
try {
|
||||||
LocalDateTime nowDate = LocalDateTime.now();
|
LocalDateTime nowDate = LocalDateTime.now();
|
||||||
LocalDateTime maxDate = DateUtils.getMaxTime();
|
LocalDateTime maxDate = DateUtils.getMaxTime();
|
||||||
@@ -48,11 +50,10 @@ public class MailRepositoryImpl extends BaseDynamoDBRepository<MailDoc> implemen
|
|||||||
String sk = String.format("%s-%s", DateUtils.getMailDateFormat(nowDate), CommonUtils.getCreateGuId().replace("-",""));
|
String sk = String.format("%s-%s", DateUtils.getMailDateFormat(nowDate), CommonUtils.getCreateGuId().replace("-",""));
|
||||||
|
|
||||||
MailAttrib attrib = new MailAttrib();
|
MailAttrib attrib = new MailAttrib();
|
||||||
attrib.setAttribType(DynamoDBConstants.ATTRIB_MAIL);
|
|
||||||
attrib.setMailGuid(sk);
|
attrib.setMailGuid(sk);
|
||||||
attrib.setRead(false);
|
attrib.setIsRead(CommonConstants.FALSE);
|
||||||
attrib.setGetItem(false);
|
attrib.setIsGetItem(CommonConstants.FALSE);
|
||||||
attrib.setSystemMail(true);
|
attrib.setIsSystemMail(CommonConstants.TRUE);
|
||||||
attrib.setSenderNickName(systemMailData.getSender());
|
attrib.setSenderNickName(systemMailData.getSender());
|
||||||
attrib.setSenderGuid("");
|
attrib.setSenderGuid("");
|
||||||
attrib.setReceiverNickName(nickname);
|
attrib.setReceiverNickName(nickname);
|
||||||
@@ -61,7 +62,7 @@ public class MailRepositoryImpl extends BaseDynamoDBRepository<MailDoc> implemen
|
|||||||
attrib.setText(systemMailData.getMailDesc());
|
attrib.setText(systemMailData.getMailDesc());
|
||||||
attrib.setExpireTime(expireTime);
|
attrib.setExpireTime(expireTime);
|
||||||
attrib.setCreateTime(DateUtils.stringToISODateTimeMillisNano(nowDate));
|
attrib.setCreateTime(DateUtils.stringToISODateTimeMillisNano(nowDate));
|
||||||
attrib.setTextByMetaData(true);
|
attrib.setIsTextByMetaData(CommonConstants.TRUE);
|
||||||
attrib.setItemList(mailItems);
|
attrib.setItemList(mailItems);
|
||||||
attrib.setPackageOrderId("");
|
attrib.setPackageOrderId("");
|
||||||
attrib.setContentsArguments(arguments);
|
attrib.setContentsArguments(arguments);
|
||||||
@@ -70,7 +71,7 @@ public class MailRepositoryImpl extends BaseDynamoDBRepository<MailDoc> implemen
|
|||||||
doc.setPK(pk);
|
doc.setPK(pk);
|
||||||
doc.setSK(sk);
|
doc.setSK(sk);
|
||||||
doc.setDocType(DynamoDBConstants.DOC_Mail);
|
doc.setDocType(DynamoDBConstants.DOC_Mail);
|
||||||
doc.setAttribValue(objectMapper.writeValueAsString(attrib));
|
doc.setAttribValue(attrib);
|
||||||
doc.setCreatedDateTime(convertUTCDate(nowDate));
|
doc.setCreatedDateTime(convertUTCDate(nowDate));
|
||||||
doc.setUpdatedDateTime(convertUTCDate(nowDate));
|
doc.setUpdatedDateTime(convertUTCDate(nowDate));
|
||||||
doc.setDeletedDateTime(DynamoDBConstants.MIN_DATE);
|
doc.setDeletedDateTime(DynamoDBConstants.MIN_DATE);
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.caliverse.admin.dynamodb.repository;
|
||||||
|
|
||||||
|
import com.caliverse.admin.domain.entity.Mail;
|
||||||
|
import com.caliverse.admin.domain.entity.SEARCHTYPE;
|
||||||
|
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.MailJsonDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
|
import com.caliverse.admin.dynamodb.entity.MailItem;
|
||||||
|
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface MailJsonRepository extends DynamoDBRepository<MailJsonDoc> {
|
||||||
|
void insertRecvSystemMail(String userGuid, String nickname, List<MailItem> mailItems, MetaSystemMailData systemMailData, List<String> arguments);
|
||||||
|
void insertSentMail(Mail mail);
|
||||||
|
List<MailJsonDoc> getMailList(String type, String userGuid, String sortKeyPrefix);
|
||||||
|
PageResult<MailJsonDoc> getMailListWithPaging(
|
||||||
|
SEARCHTYPE type,
|
||||||
|
String userGuid,
|
||||||
|
String sortKeyPrefix,
|
||||||
|
String filterAttributeName,
|
||||||
|
String filterAttributeValue,
|
||||||
|
Map<String, AttributeValue> exclusiveStartKey,
|
||||||
|
boolean sortIndex
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import com.caliverse.admin.domain.entity.Mail;
|
|||||||
import com.caliverse.admin.domain.entity.SEARCHTYPE;
|
import com.caliverse.admin.domain.entity.SEARCHTYPE;
|
||||||
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
||||||
import com.caliverse.admin.domain.request.MailRequest;
|
import com.caliverse.admin.domain.request.MailRequest;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.MailItemAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
||||||
import com.caliverse.admin.dynamodb.dto.PageResult;
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
import com.caliverse.admin.dynamodb.entity.MailItem;
|
import com.caliverse.admin.dynamodb.entity.MailItem;
|
||||||
@@ -13,7 +14,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface MailRepository extends DynamoDBRepository<MailDoc> {
|
public interface MailRepository extends DynamoDBRepository<MailDoc> {
|
||||||
void insertRecvSystemMail(String userGuid, String nickname, List<MailItem> mailItems, MetaSystemMailData systemMailData, List<String> arguments);
|
void insertRecvSystemMail(String userGuid, String nickname, List<MailItemAttrib> mailItems, MetaSystemMailData systemMailData, List<String> arguments);
|
||||||
void insertSentMail(Mail mail);
|
void insertSentMail(Mail mail);
|
||||||
List<MailDoc> getMailList(String type, String userGuid, String sortKeyPrefix);
|
List<MailDoc> getMailList(String type, String userGuid, String sortKeyPrefix);
|
||||||
PageResult<MailDoc> getMailListWithPaging(
|
PageResult<MailDoc> getMailListWithPaging(
|
||||||
|
|||||||
@@ -7,16 +7,16 @@ import com.caliverse.admin.domain.entity.SEARCHTYPE;
|
|||||||
import com.caliverse.admin.domain.entity.metadata.MetaLandData;
|
import com.caliverse.admin.domain.entity.metadata.MetaLandData;
|
||||||
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
import com.caliverse.admin.domain.entity.metadata.MetaSystemMailData;
|
||||||
import com.caliverse.admin.domain.request.LandRequest;
|
import com.caliverse.admin.domain.request.LandRequest;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.MailItemAttrib;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.atrrib.MailJsonAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.atrrib.MoneyAttrib;
|
import com.caliverse.admin.dynamodb.domain.atrrib.MoneyAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.atrrib.UserNicknameRegistryAttrib;
|
import com.caliverse.admin.dynamodb.domain.atrrib.UserNicknameRegistryAttrib;
|
||||||
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
import com.caliverse.admin.dynamodb.domain.doc.MailDoc;
|
||||||
|
import com.caliverse.admin.dynamodb.domain.doc.MailJsonDoc;
|
||||||
import com.caliverse.admin.dynamodb.dto.PageResult;
|
import com.caliverse.admin.dynamodb.dto.PageResult;
|
||||||
import com.caliverse.admin.dynamodb.entity.KeyParam;
|
import com.caliverse.admin.dynamodb.entity.KeyParam;
|
||||||
import com.caliverse.admin.dynamodb.entity.MailItem;
|
import com.caliverse.admin.dynamodb.entity.MailItem;
|
||||||
import com.caliverse.admin.dynamodb.repository.MailRepository;
|
import com.caliverse.admin.dynamodb.repository.*;
|
||||||
import com.caliverse.admin.dynamodb.repository.MoneyRepository;
|
|
||||||
import com.caliverse.admin.dynamodb.repository.SystemMetaMailRepository;
|
|
||||||
import com.caliverse.admin.dynamodb.repository.UserNicknameRegistryRepository;
|
|
||||||
import com.caliverse.admin.global.common.annotation.DynamoDBTransaction;
|
import com.caliverse.admin.global.common.annotation.DynamoDBTransaction;
|
||||||
import com.caliverse.admin.global.common.constants.AdminConstants;
|
import com.caliverse.admin.global.common.constants.AdminConstants;
|
||||||
import com.caliverse.admin.global.common.constants.CommonConstants;
|
import com.caliverse.admin.global.common.constants.CommonConstants;
|
||||||
@@ -29,6 +29,7 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import software.amazon.awssdk.enhanced.dynamodb.Key;
|
||||||
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
|
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -46,6 +47,7 @@ public class DynamodbService {
|
|||||||
private final MoneyRepository moneyRepository;
|
private final MoneyRepository moneyRepository;
|
||||||
private final SystemMetaMailRepository systemMetaMailRepository;
|
private final SystemMetaMailRepository systemMetaMailRepository;
|
||||||
private final MailRepository mailRepository;
|
private final MailRepository mailRepository;
|
||||||
|
private final MailJsonRepository mailJsonRepository;
|
||||||
|
|
||||||
private final IndicatorsMoneyService moneyService;
|
private final IndicatorsMoneyService moneyService;
|
||||||
|
|
||||||
@@ -87,12 +89,12 @@ public class DynamodbService {
|
|||||||
|
|
||||||
String guid = landRequest.getUserGuid();
|
String guid = landRequest.getUserGuid();
|
||||||
String nickname = landRequest.getUserName();
|
String nickname = landRequest.getUserName();
|
||||||
List<MailItem> items = new ArrayList<>();
|
List<MailItemAttrib> items = new ArrayList<>();
|
||||||
items.add(MailItem.builder()
|
items.add(MailItemAttrib.builder()
|
||||||
.itemId(landData.getLinkedItem())
|
.itemId(landData.getLinkedItem())
|
||||||
.count(1.0)
|
.count(1.0)
|
||||||
.productId(0)
|
.productId(0)
|
||||||
.isRepeatProduct(false)
|
.isRepeatProduct(CommonConstants.FALSE)
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -109,4 +111,18 @@ public class DynamodbService {
|
|||||||
PageResult<MailDoc> mailList = mailRepository.getMailListWithPaging(type, guid, sortKey, filterName, filterValue, pagingKey, sortIndex);
|
PageResult<MailDoc> mailList = mailRepository.getMailListWithPaging(type, guid, sortKey, filterName, filterValue, pagingKey, sortIndex);
|
||||||
return mailList;
|
return mailList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MailJsonAttrib getMailJsonAttrib(String pk, String sk){
|
||||||
|
try {
|
||||||
|
Key key = Key.builder()
|
||||||
|
.partitionValue(pk)
|
||||||
|
.sortValue(sk)
|
||||||
|
.build();
|
||||||
|
MailJsonDoc mailDoc = mailJsonRepository.findById(key);
|
||||||
|
return mapper.readValue(mailDoc.getAttribValue(), MailJsonAttrib.class);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.getMessage());
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user