修改返回实体类

This commit is contained in:
刘才福 2023-06-30 18:32:33 +08:00
parent a31db293ee
commit 124594c983
3 changed files with 71 additions and 22 deletions

View File

@ -5,17 +5,21 @@ import cn.axzo.msg.center.api.enums.ReceiveTypeEnum;
import cn.axzo.msg.center.api.request.CreateModuleReq;
import cn.axzo.msg.center.api.request.SearchModuleReq;
import cn.axzo.msg.center.api.request.UpdateModuleReq;
import cn.axzo.msg.center.api.response.CommonPlatManagerRes;
import cn.axzo.msg.center.api.response.MessageModuleRes;
import cn.axzo.msg.center.api.response.SyncModuleDataRes;
import cn.axzo.msg.center.api.response.*;
import cn.axzo.msg.center.common.utils.BeanConvertUtils;
import cn.axzo.msg.center.domain.dto.CreateModuleDTO;
import cn.axzo.msg.center.domain.dto.SearchModuleDTO;
import cn.axzo.msg.center.domain.dto.UpdateModuleDTO;
import cn.axzo.msg.center.domain.entity.MessageModule;
import cn.axzo.msg.center.domain.entity.MessageRelation;
import cn.axzo.msg.center.domain.entity.MessageRouter;
import cn.axzo.msg.center.domain.entity.MessageTemplate;
import cn.axzo.msg.center.domain.enums.UserTypeEnum;
import cn.axzo.msg.center.domain.request.inside.SearchModuleVO;
import cn.axzo.msg.center.inside.notices.service.MessageModuleService;
import cn.axzo.msg.center.inside.notices.service.MessageRelationService;
import cn.axzo.msg.center.inside.notices.service.MessageRouterService;
import cn.axzo.msg.center.inside.notices.service.MessageTemplateService;
import cn.azxo.framework.common.model.CommonResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
@ -27,6 +31,8 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@Slf4j
@RestController
@ -37,6 +43,13 @@ public class InsideMessageModuleApiImpl implements InsideMessageModuleApi {
private MessageModuleService moduleService;
@Resource
private Environment environment;
@Resource
private MessageRelationService relationService;
@Resource
private MessageTemplateService templateService;
@Resource
private MessageRouterService routerService;
@Override
public CommonResponse<Map<Long, String>> getModules(@PathVariable Integer identityType) {
@ -126,21 +139,53 @@ public class InsideMessageModuleApiImpl implements InsideMessageModuleApi {
@Override
public CommonResponse<List<SyncModuleDataRes>> findModuleByIds(List<Long> ids) {
List<SyncModuleDataRes> result = new ArrayList<>();
if (!CollectionUtils.isEmpty(ids)) {
List<MessageModule> modules = moduleService.getModuleByIds(ids);
if (!CollectionUtils.isEmpty(modules)) {
modules.forEach(i -> {
SyncModuleDataRes dto = new SyncModuleDataRes();
dto.setId(i.getId());
dto.setModuleName(i.getModuleName());
dto.setIcon(i.getIcon());
dto.setRemark(i.getRemark());
dto.setOwnedType(i.getOwnedType().getCode());
dto.setBizType(i.getBizType().getCode());
result.add(dto);
// process relation
List<MessageRelation> mrs = relationService.getRelationByIds(new HashSet<>(ids));
// process template
List<Long> mtIds = mrs.stream().map(MessageRelation::getTemplateId)
.collect(Collectors.toList());
Map<Long, MessageTemplate> mtMaps = templateService.getTemplateByIds(mtIds).stream()
.collect(Collectors.toMap(
MessageTemplate::getId, Function.identity(), (s, t) -> s));
// process module
Map<Long, List<MessageRouter>> routerMaps = routerService.getRouterMapByRelationIds(
ids).stream().collect(Collectors.groupingBy(MessageRouter::getRelationId));
// general data
mrs.forEach(i -> {
SyncModuleDataRes relation = new SyncModuleDataRes();
relation.setId(i.getId());
relation.setModuleId(i.getModuleId());
relation.setTemplateId(i.getTemplateId());
relation.setContactUser(i.getContactUser());
SyncTemplateDataRes template = new SyncTemplateDataRes();
MessageTemplate tempMT;
if (Objects.nonNull(tempMT = mtMaps.getOrDefault(i.getTemplateId(), null))) {
template.setId(tempMT.getId());
template.setTitle(tempMT.getTitle());
template.setContent(tempMT.getContent());
}
relation.setTemplate(template);
List<SyncRouterDataRes> routers = new ArrayList<>();
List<MessageRouter> tempRouters;
if (!CollectionUtils.isEmpty(
tempRouters = routerMaps.getOrDefault(i.getId(), new ArrayList<>()))) {
tempRouters.forEach(mr -> {
SyncRouterDataRes router = new SyncRouterDataRes();
router.setId(mr.getId());
router.setRelationId(mr.getRelationId());
router.setRouterType(mr.getRouterType().getCode());
router.setRouterUrl(mr.getRouterUrl());
routers.add(router);
});
}
}
relation.setRouters(routers);
result.add(relation);
});
return CommonResponse.success(result);
}
}

View File

@ -2,6 +2,8 @@ package cn.axzo.msg.center.api.response;
import lombok.Data;
import java.util.List;
/**
* @author wangli
* @since 2022/10/26 20:52
@ -11,13 +13,13 @@ public class SyncModuleDataRes {
private Long id;
private String moduleName;
private Long moduleId;
private String icon;
private Long templateId;
private String remark;
private String contactUser;
private Integer ownedType;
private SyncTemplateDataRes template;
private Integer bizType;
private List<SyncRouterDataRes> routers;
}

View File

@ -2,6 +2,8 @@ package cn.axzo.msg.center.domain.dto;
import lombok.Data;
import java.util.List;
/**
* @author wangli
* @since 2022/10/26 15:51
@ -18,6 +20,6 @@ public class SyncRelationDataDTO {
private SyncTemplateDataDTO template;
//private List<SyncRouterDataDTO> routers;
private List<SyncRouterDataDTO> routers;
}