You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
virtual-patient/virtual-patient-model/src/main/java/com/supervision/service/impl/DiseaseServiceImpl.java

76 lines
2.3 KiB
Java

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<DiseaseMapper, Disease>
implements DiseaseService{
@Override
public List<Disease> 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<? extends Disease> queryPageList(Integer pageNum, Integer pageSize, DiseaseReqVo diseaseReqVo) {
return super.getBaseMapper().queryPageList(new Page<>(pageNum, pageSize), diseaseReqVo);
}
@Override
public List<String> queryAllDiseaseListByDiseaseId(List<String> 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);
}
}