forked from github/dataease
88 lines
3.1 KiB
Java
88 lines
3.1 KiB
Java
![]() |
package io.dataease.service.panel;
|
||
|
|
||
|
import io.dataease.base.domain.*;
|
||
|
import io.dataease.base.mapper.PanelTemplateMapper;
|
||
|
import io.dataease.base.mapper.ext.ExtPanelTemplateMapper;
|
||
|
import io.dataease.commons.constants.PanelConstants;
|
||
|
import io.dataease.commons.utils.BeanUtils;
|
||
|
import io.dataease.controller.request.panel.PanelTemplateRequest;
|
||
|
import io.dataease.dto.panel.PanelTemplateDTO;
|
||
|
import org.apache.commons.lang3.StringUtils;
|
||
|
import org.slf4j.Logger;
|
||
|
import org.slf4j.LoggerFactory;
|
||
|
import org.springframework.stereotype.Service;
|
||
|
import org.springframework.util.Assert;
|
||
|
|
||
|
import javax.annotation.Resource;
|
||
|
import java.util.List;
|
||
|
import java.util.Optional;
|
||
|
import java.util.UUID;
|
||
|
|
||
|
/**
|
||
|
* Author: wangjiahao
|
||
|
* Date: 2021-03-05
|
||
|
* Description:
|
||
|
*/
|
||
|
@Service
|
||
|
public class PanelTemplateService {
|
||
|
|
||
|
private Logger LOGGER = LoggerFactory.getLogger(this.getClass());
|
||
|
|
||
|
@Resource
|
||
|
private PanelTemplateMapper panelTemplateMapper;
|
||
|
@Resource
|
||
|
private ExtPanelTemplateMapper extPanelTemplateMapper;
|
||
|
|
||
|
public List<PanelTemplateDTO> templateList(PanelTemplateRequest panelTemplateRequest) {
|
||
|
List<PanelTemplateDTO> panelTemplateList = extPanelTemplateMapper.panelTemplateList(panelTemplateRequest);
|
||
|
if(panelTemplateRequest.getWithChildren()){
|
||
|
getTreeChildren(panelTemplateList);
|
||
|
}
|
||
|
return panelTemplateList;
|
||
|
}
|
||
|
|
||
|
public void getTreeChildren(List<PanelTemplateDTO> parentPanelTemplateDTO){
|
||
|
Optional.ofNullable(parentPanelTemplateDTO).ifPresent(parent -> parent.forEach(panelTemplateDTO -> {
|
||
|
List<PanelTemplateDTO> panelTemplateDTOChildren = extPanelTemplateMapper.panelTemplateList(new PanelTemplateRequest(panelTemplateDTO.getId()));
|
||
|
panelTemplateDTO.setChildren(panelTemplateDTOChildren);
|
||
|
getTreeChildren(panelTemplateDTOChildren);
|
||
|
}));
|
||
|
}
|
||
|
|
||
|
public List<PanelTemplateDTO> getSystemTemplateType(PanelTemplateRequest panelTemplateRequest){
|
||
|
return extPanelTemplateMapper.panelTemplateList(panelTemplateRequest);
|
||
|
}
|
||
|
|
||
|
|
||
|
public PanelTemplateDTO save(PanelTemplateRequest request) {
|
||
|
if (StringUtils.isEmpty(request.getId())) {
|
||
|
request.setId(UUID.randomUUID().toString());
|
||
|
request.setCreateTime(System.currentTimeMillis());
|
||
|
panelTemplateMapper.insert(request);
|
||
|
} else {
|
||
|
panelTemplateMapper.updateByPrimaryKeySelective(request);
|
||
|
}
|
||
|
PanelTemplateDTO panelTemplateDTO = new PanelTemplateDTO();
|
||
|
BeanUtils.copyBean(panelTemplateDTO, request);
|
||
|
panelTemplateDTO.setLabel(request.getName());
|
||
|
return panelTemplateDTO;
|
||
|
}
|
||
|
|
||
|
|
||
|
public void deleteCircle(String id){
|
||
|
Assert.notNull(id, "id cannot be null");
|
||
|
extPanelTemplateMapper.deleteCircle(id);
|
||
|
}
|
||
|
|
||
|
|
||
|
public PanelTemplateWithBLOBs findOne(String panelId){
|
||
|
return panelTemplateMapper.selectByPrimaryKey(panelId);
|
||
|
}
|
||
|
|
||
|
public List<PanelTemplateDTO> find(PanelTemplateRequest panelTemplateRequest){
|
||
|
List<PanelTemplateDTO> panelTemplateList = extPanelTemplateMapper.panelTemplateList(panelTemplateRequest);
|
||
|
return panelTemplateList;
|
||
|
}
|
||
|
|
||
|
}
|