package com.gkhy.labRiskManage.api.controller.sysAdmin.converter; import com.gkhy.labRiskManage.api.controller.model.dto.resp.MenuItemApiDTO; import com.gkhy.labRiskManage.api.controller.model.dto.resp.MenuItemMetaApiDTO; import com.gkhy.labRiskManage.api.controller.sysAdmin.dto.req.AddAndUpdateMenuItemApiDTO; import com.gkhy.labRiskManage.application.sysAdmin.model.dto.req.AddAndUpdateMenuItemAppDTO; import com.gkhy.labRiskManage.application.sysAdmin.model.dto.req.NewMenuItemAppDTO; import com.gkhy.labRiskManage.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 toMenuItemApiDTOList(List dtoList){ if(dtoList == null) return null; List 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 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; } }