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

62 lines
1.7 KiB
Java

package com.supervision.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.exception.BusinessException;
import com.supervision.model.Disease;
import com.supervision.service.DiseaseService;
import com.supervision.mapper.DiseaseMapper;
import org.springframework.stereotype.Service;
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());
}
/**
*
* @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);
}
}