package com.gkhy.testFourierSpecialGasMonitor.api.controller.sysAdmin.converter;
|
|
import com.gkhy.testFourierSpecialGasMonitor.api.controller.model.dto.resp.MenuItemApiDTO;
|
import com.gkhy.testFourierSpecialGasMonitor.api.controller.model.dto.resp.MenuItemMetaApiDTO;
|
import com.gkhy.testFourierSpecialGasMonitor.api.controller.sysAdmin.dto.req.AddAndUpdateMenuItemApiDTO;
|
import com.gkhy.testFourierSpecialGasMonitor.application.sysAdmin.model.dto.req.AddAndUpdateMenuItemAppDTO;
|
import com.gkhy.testFourierSpecialGasMonitor.application.sysAdmin.model.dto.req.NewMenuItemAppDTO;
|
import com.gkhy.testFourierSpecialGasMonitor.application.sysAdmin.model.dto.resp.MenuItemAppDTO;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
public class MenuInfoApiConverter {
|
|
public MenuItemApiDTO toMenuItemApiDTO(MenuItemAppDTO menuItemAppDTO){
|
if(menuItemAppDTO == null)
|
return null;
|
MenuItemApiDTO apiDTO = new MenuItemApiDTO();
|
copyMenuItemInfoProperities(menuItemAppDTO,apiDTO);
|
apiDTO.setChildren(toMenuItemApiDTOList(menuItemAppDTO.getSubMenuItemList()));
|
return apiDTO;
|
}
|
|
private List<MenuItemApiDTO> toMenuItemApiDTOList(List<MenuItemAppDTO> dtoList){
|
if(dtoList == null)
|
return null;
|
List<MenuItemApiDTO> targetList = new ArrayList<>();
|
dtoList.forEach(d -> {
|
MenuItemApiDTO apiDTO = new MenuItemApiDTO();
|
copyMenuItemInfoProperities(d,apiDTO);
|
if(d.getSubMenuItemList() != null){
|
apiDTO.setChildren(toMenuItemApiDTOList(d.getSubMenuItemList()));
|
}
|
targetList.add(apiDTO);
|
});
|
return targetList;
|
}
|
|
private void copyMenuItemInfoProperities(MenuItemAppDTO orignDTO, MenuItemApiDTO targetDTO){
|
if(orignDTO == null || targetDTO == null)
|
return;
|
targetDTO.setId(orignDTO.getId());
|
targetDTO.setLevel(orignDTO.getLevel());
|
targetDTO.setParentId(orignDTO.getParentId());
|
targetDTO.setName(orignDTO.getName());
|
targetDTO.setPath(orignDTO.getPath());
|
targetDTO.setRedirect(orignDTO.getRedirect());
|
targetDTO.setDescription(orignDTO.getDescInfo());
|
targetDTO.setComponent(orignDTO.getComponent());
|
targetDTO.setPriority(orignDTO.getPriority());
|
targetDTO.setPublic(orignDTO.getPublicable());
|
MenuItemMetaApiDTO meta = new MenuItemMetaApiDTO();
|
meta.setTitle(orignDTO.getTitle());
|
meta.setIcon(orignDTO.getIcon());
|
meta.setIsHide(orignDTO.getVisiable());
|
meta.setIsAffix(orignDTO.getAffixable());
|
meta.setIsIframe(orignDTO.getIframeable());
|
meta.setIsKeepAlive(orignDTO.getAliveable());
|
meta.setIsLink(orignDTO.getLink());
|
meta.setRoles(orignDTO.getRoles());
|
if(meta.getIsLink() == null)
|
meta.setIsLink("");
|
targetDTO.setMeta(meta);
|
if(orignDTO.getSubMenuItemList() != null && !orignDTO.getSubMenuItemList().isEmpty()){
|
List<MenuItemApiDTO> childs = new ArrayList<>();
|
orignDTO.getSubMenuItemList().forEach(orign -> {
|
MenuItemApiDTO dd = new MenuItemApiDTO();
|
copyMenuItemInfoProperities(orign,dd);
|
childs.add(dd);
|
});
|
targetDTO.setChildren(childs);
|
}
|
}
|
|
public NewMenuItemAppDTO toCreateMenuDto(AddAndUpdateMenuItemApiDTO addAndUpdateMenuItemApiDTO){
|
if(addAndUpdateMenuItemApiDTO == null)
|
return null;
|
NewMenuItemAppDTO dto = new NewMenuItemAppDTO();
|
BeanUtils.copyProperties(addAndUpdateMenuItemApiDTO,dto);
|
//
|
dto.setDescInfo(addAndUpdateMenuItemApiDTO.getDescription());
|
//
|
if(addAndUpdateMenuItemApiDTO.getMeta() != null){
|
dto.setLink(addAndUpdateMenuItemApiDTO.getMeta().getIsLink());
|
dto.setTitle(addAndUpdateMenuItemApiDTO.getMeta().getTitle());
|
dto.setVisiable(addAndUpdateMenuItemApiDTO.getMeta().getIsHide());
|
dto.setIframeable(addAndUpdateMenuItemApiDTO.getMeta().getIsIframe());
|
dto.setAliveable(addAndUpdateMenuItemApiDTO.getMeta().getIsKeepAlive());
|
dto.setAffixable(addAndUpdateMenuItemApiDTO.getMeta().getIsAffix());
|
dto.setIcon(addAndUpdateMenuItemApiDTO.getMeta().getIcon());
|
dto.setRoles(addAndUpdateMenuItemApiDTO.getMeta().getRoles());
|
}
|
//
|
return dto;
|
}
|
|
public AddAndUpdateMenuItemAppDTO toAddAndUpdateAppDTO(AddAndUpdateMenuItemApiDTO addAndUpdateMenuItemApiDTO){
|
if(addAndUpdateMenuItemApiDTO == null)
|
return null;
|
AddAndUpdateMenuItemAppDTO appDTO = new AddAndUpdateMenuItemAppDTO();
|
BeanUtils.copyProperties(addAndUpdateMenuItemApiDTO,appDTO);
|
appDTO.setMenuItemId(addAndUpdateMenuItemApiDTO.getId());
|
appDTO.setDescInfo(addAndUpdateMenuItemApiDTO.getDescription());
|
if(addAndUpdateMenuItemApiDTO.getMeta() != null){
|
appDTO.setLink(addAndUpdateMenuItemApiDTO.getMeta().getIsLink());
|
appDTO.setTitle(addAndUpdateMenuItemApiDTO.getMeta().getTitle());
|
appDTO.setVisiable(addAndUpdateMenuItemApiDTO.getMeta().getIsHide());
|
appDTO.setIframeable(addAndUpdateMenuItemApiDTO.getMeta().getIsIframe());
|
appDTO.setAliveable(addAndUpdateMenuItemApiDTO.getMeta().getIsKeepAlive());
|
appDTO.setAffixable(addAndUpdateMenuItemApiDTO.getMeta().getIsAffix());
|
appDTO.setIcon(addAndUpdateMenuItemApiDTO.getMeta().getIcon());
|
appDTO.setRoles(addAndUpdateMenuItemApiDTO.getMeta().getRoles());
|
}
|
return appDTO;
|
}
|
}
|