ConvertUtil.java 4.84 KB
Newer Older
刘基明's avatar
刘基明 committed
1 2
package com.tanpu.community.util;

刘基明's avatar
刘基明 committed
3 4
import com.fasterxml.jackson.core.type.TypeReference;
import com.tanpu.common.util.JsonUtil;
刘基明's avatar
刘基明 committed
5
import com.tanpu.community.api.beans.TopicDO;
刘基明's avatar
刘基明 committed
6
import com.tanpu.community.api.beans.qo.*;
刘基明's avatar
刘基明 committed
7
import com.tanpu.community.api.beans.req.theme.CreateThemeReq;
刘基明's avatar
刘基明 committed
8
import com.tanpu.community.api.beans.req.theme.ThemeContentReq;
刘基明's avatar
刘基明 committed
9
import com.tanpu.community.api.enums.DeleteTagEnum;
刘基明's avatar
刘基明 committed
10
import com.tanpu.community.api.enums.RelTypeEnum;
刘基明's avatar
刘基明 committed
11
import com.tanpu.community.dao.entity.community.*;
刘基明's avatar
刘基明 committed
12 13
import org.springframework.beans.BeanUtils;

刘基明's avatar
刘基明 committed
14
import java.util.ArrayList;
刘基明's avatar
刘基明 committed
15 16 17 18 19
import java.util.List;
import java.util.stream.Collectors;

public class ConvertUtil {

刘基明's avatar
刘基明 committed
20
    public static ThemeQo themeEntityToQo(ThemeEntity themeEntity) {
刘基明's avatar
刘基明 committed
21 22
        ThemeQo themeQO = new ThemeQo();
        BeanUtils.copyProperties(themeEntity, themeQO);
刘基明's avatar
刘基明 committed
23 24
        List<ThemeContentQo> themeContentQos = JsonUtil.toBean(themeEntity.getContent(), new TypeReference<List<ThemeContentQo>>() {});
        themeQO.setContent(themeContentQos);
刘基明's avatar
刘基明 committed
25
        return themeQO;
刘基明's avatar
刘基明 committed
26 27 28
    }


刘基明's avatar
刘基明 committed
29
    public static ThemeEntity themeDTOToEntity(ThemeQo themeQO) {
刘基明's avatar
刘基明 committed
30
        ThemeEntity themeEntity = new ThemeEntity();
刘基明's avatar
刘基明 committed
31
        BeanUtils.copyProperties(themeQO, themeEntity);
刘基明's avatar
刘基明 committed
32 33 34
        return themeEntity;
    }

刘基明's avatar
刘基明 committed
35
    public static List<ThemeQo> themeEntitiesToDTOs(List<ThemeEntity> themeEntities) {
刘基明's avatar
刘基明 committed
36
        return themeEntities.stream().map(ConvertUtil::themeEntityToQo).collect(Collectors.toList());
刘基明's avatar
刘基明 committed
37 38 39
    }


刘基明's avatar
刘基明 committed
40 41 42 43
    public static TopicDO topicEntityToDTO(TopicEntity topicEntity) {
        TopicDO topicDO = new TopicDO();
        BeanUtils.copyProperties(topicEntity, topicDO);
        return topicDO;
刘基明's avatar
刘基明 committed
44 45
    }

刘基明's avatar
刘基明 committed
46 47 48 49 50 51 52 53 54 55
    public static TopicHotQo topicEntityToHotQo(TopicEntity topicEntity) {
        TopicHotQo topicHotQo = new TopicHotQo();
        BeanUtils.copyProperties(topicEntity, topicHotQo);
        return topicHotQo;
    }

    public static List<TopicHotQo> topicEntityToHotQos(List<TopicEntity> topicEntities){
        return topicEntities.stream().map(ConvertUtil::topicEntityToHotQo).collect(Collectors.toList());
    }

刘基明's avatar
刘基明 committed
56 57 58 59
    public static TopicTitileQo topicToBriefInfoDTO(TopicEntity topicEntity) {
        TopicTitileQo topicTitileQo = new TopicTitileQo();
        BeanUtils.copyProperties(topicEntity, topicTitileQo);
        return topicTitileQo;
刘基明's avatar
刘基明 committed
60
    }
刘基明's avatar
刘基明 committed
61 62 63 64 65 66 67 68 69
    public static CommentQo commentEntity2Qo(CommentEntity entity) {
        CommentQo qo = new CommentQo();
        BeanUtils.copyProperties(entity, qo);
        return qo;
    }

    public static List<CommentQo> commentEntity2Qos(List<CommentEntity> entities){
        return entities.stream().map(ConvertUtil::commentEntity2Qo).collect(Collectors.toList());
    }
刘基明's avatar
刘基明 committed
70

刘基明's avatar
刘基明 committed
71 72 73 74 75 76 77 78 79 80
    public static CommentLv2Qo commentLv2Entity2Qo(CommentEntity entity) {
        CommentLv2Qo qo = new CommentLv2Qo();
        BeanUtils.copyProperties(entity, qo);
        return qo;
    }

    public static List<CommentLv2Qo> commentLv2Entity2Qos(List<CommentEntity> entities){
        return entities.stream().map(ConvertUtil::commentLv2Entity2Qo).collect(Collectors.toList());
    }

刘基明's avatar
刘基明 committed
81
    public static List<TopicDO> topicEntitiesToDTOs(List<TopicEntity> topicEntities) {
刘基明's avatar
刘基明 committed
82 83
        return topicEntities.stream().map(ConvertUtil::topicEntityToDTO).collect(Collectors.toList());
    }
刘基明's avatar
刘基明 committed
84

刘基明's avatar
刘基明 committed
85
    public static List<TopicTitileQo> topicEntitiesToBriefDTOs(List<TopicEntity> topicEntities) {
刘基明's avatar
刘基明 committed
86 87
        return topicEntities.stream().map(ConvertUtil::topicToBriefInfoDTO).collect(Collectors.toList());
    }
刘基明's avatar
刘基明 committed
88

刘基明's avatar
刘基明 committed
89 90


刘基明's avatar
刘基明 committed
91

刘基明's avatar
刘基明 committed
92 93 94
    public static DeleteTagEnum deleteTagShift(DeleteTagEnum deleteTagEnum) {
        if (deleteTagEnum.getCode().equals(DeleteTagEnum.NOT_DELETED.getCode())) {
            return DeleteTagEnum.DELETED;
刘基明's avatar
刘基明 committed
95
        } else {
刘基明's avatar
刘基明 committed
96 97 98 99 100 101 102
            return DeleteTagEnum.NOT_DELETED;
        }
    }

    public static Integer deleteTagShift(Integer deleteTag) {
        if (deleteTag.equals(DeleteTagEnum.NOT_DELETED.getCode())) {
            return DeleteTagEnum.DELETED.getCode();
刘基明's avatar
刘基明 committed
103
        } else {
刘基明's avatar
刘基明 committed
104 105 106
            return DeleteTagEnum.NOT_DELETED.getCode();
        }
    }
刘基明's avatar
刘基明 committed
107

刘基明's avatar
刘基明 committed
108
    public static List<ThemeAttachmentEntity> themeReqToAttachmentList(CreateThemeReq req, String themeId) {
刘基明's avatar
刘基明 committed
109 110
        List<ThemeContentReq> contents = req.getContent();

刘基明's avatar
刘基明 committed
111
        List<ThemeAttachmentEntity> list = new ArrayList<>();
刘基明's avatar
刘基明 committed
112 113 114 115 116 117 118 119 120
        for (ThemeContentReq content : contents) {
            if (!RelTypeEnum.TEXT.type.equals(content.getType())){
                list.add(ThemeAttachmentEntity.builder()
                        .attachType(Integer.valueOf(content.getType()))
                        .attachId(content.getValue())
                        .themeId(themeId)
                        .build());
            }
        }
刘基明's avatar
刘基明 committed
121 122 123 124 125 126 127 128 129 130 131 132 133
        return list;
    }

    public static FollowQo homePageEntity2FollowQo(HomePageEntity entity) {
        if (entity == null) {
            return null;
        }
        FollowQo followQo = new FollowQo();
        BeanUtils.copyProperties(entity, followQo);
        return followQo;
    }


刘基明's avatar
刘基明 committed
134
}