package com.gkhy.safePlatform.equipment.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.query.PageQuery;
|
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import com.gkhy.safePlatform.commons.vo.SearchResultVO;
|
import com.gkhy.safePlatform.equipment.entity.EquipmentTypeMng;
|
import com.gkhy.safePlatform.equipment.model.dto.req.EquipmentTypeMngQueryCriteria;
|
import com.gkhy.safePlatform.equipment.model.dto.resp.EquipmentTypeMngDto;
|
import com.gkhy.safePlatform.equipment.repository.EquipmentTypeMngRepository;
|
import com.gkhy.safePlatform.equipment.service.EquipmentTypeMngService;
|
import com.gkhy.safePlatform.equipment.utils.QueryHelpPlus;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* 设备设施类型管理(EquipmentTypeMng)表服务实现类
|
*
|
* @author xurui
|
* @since 2022-07-19 08:35:02
|
*/
|
@Service("equipmentTypeMngService")
|
public class EquipmentTypeMngServiceImpl extends ServiceImpl<EquipmentTypeMngRepository, EquipmentTypeMng> implements EquipmentTypeMngService {
|
|
@Autowired
|
private EquipmentTypeMngRepository equipmentTypeMngRepository;
|
|
|
|
@Override
|
public ResultVO queryAll(PageQuery<EquipmentTypeMngQueryCriteria> pageQuery) {
|
Long pageIndex = pageQuery.getPageIndex();
|
Long pageSize = pageQuery.getPageSize();
|
Page<EquipmentTypeMng> page = new Page<>(pageIndex, pageSize);
|
page.addOrder(OrderItem.asc("sort_num"));
|
|
page = baseMapper.selectPage(page,
|
QueryHelpPlus.getPredicate(EquipmentTypeMng.class, pageQuery.getSearchParams()));
|
List<EquipmentTypeMngDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), EquipmentTypeMngDto.class);
|
|
return new SearchResultVO<>(
|
true,
|
pageIndex,
|
pageSize,page.getPages(),
|
page.getTotal(),
|
respList,
|
ResultCodes.OK
|
);
|
}
|
|
|
@Override
|
public List<EquipmentTypeMng> queryAll(EquipmentTypeMngQueryCriteria criteria) {
|
return baseMapper.selectList(QueryHelpPlus.getPredicate(EquipmentTypeMng.class, criteria).orderBy(true,true,"sort_num"));
|
}
|
|
@Override
|
public List<EquipmentTypeMngDto> treeData(Long parentId) {
|
EquipmentTypeMngQueryCriteria criteria = new EquipmentTypeMngQueryCriteria();
|
criteria.setParentId(parentId);
|
List<EquipmentTypeMng> list = queryAll(criteria);
|
List<EquipmentTypeMngDto> rsList = list.stream().map(f->{
|
EquipmentTypeMngDto response = new EquipmentTypeMngDto(f);
|
return response;
|
}).collect(Collectors.toList());
|
for(EquipmentTypeMngDto info: rsList){
|
List<EquipmentTypeMngDto> children = treeData(info.getId());
|
if(!children.isEmpty()){
|
info.setChildList(children);
|
}
|
}
|
return rsList;
|
}
|
}
|