package com.supervision.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.Disease; import com.supervision.service.DiseaseService; import com.supervision.mapper.DiseaseMapper; import com.supervision.vo.manage.DiseaseReqVo; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** * @author flevance * @description 针对表【vp_disease(疾病名称)】的数据库操作Service实现 * @createDate 2023-10-20 17:19:21 */ @Service public class DiseaseServiceImpl extends ServiceImpl implements DiseaseService{ @Override public List listDiseaseNestIfComposite(String id) { Assert.notEmpty(id, "id is not allow empty"); Disease disease = super.getById(id); if (!isCompositeDisease(disease) || CollUtil.isEmpty(disease.getContainDiseaseIds())){ return CollUtil.newArrayList(disease); } return super.listByIds(disease.getContainDiseaseIds()); } @Override public IPage queryPageList(Integer pageNum, Integer pageSize, DiseaseReqVo diseaseReqVo) { return super.getBaseMapper().queryPageList(new Page<>(pageNum, pageSize), diseaseReqVo); } @Override public List queryAllDiseaseListByDiseaseId(List diseaseId) { if (CollUtil.isEmpty(diseaseId)){ return new ArrayList<>(); } return this.baseMapper.queryAllDiseaseListByDiseaseId(diseaseId); } /** * 是否是复合疾病 * @param disease 疾病 * @return true 是复合疾病 false 不是复合疾病 */ private boolean isCompositeDisease(Disease disease){ if (Objects.isNull(disease)){ return false; } return isCompositeDisease(disease.getDiseaseType()); } private boolean isCompositeDisease(Integer integer){ if (Objects.isNull(integer)){ return false; } return Integer.valueOf(1).equals(integer); } }