|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
|---|
|  |  |  | import com.ruoyi.common.basic.PageInfo; | 
|---|
|  |  |  | import com.ruoyi.common.utils.StringUtils; | 
|---|
|  |  |  | import com.ruoyi.system.export.TSysAppUserClinicExport; | 
|---|
|  |  |  | import com.ruoyi.system.export.TSysAppUserExport; | 
|---|
|  |  |  | import com.ruoyi.system.export.TSysAppUserListExport; | 
|---|
|  |  |  | import com.ruoyi.system.mapper.TSysAppUserMapper; | 
|---|
|  |  |  | import com.ruoyi.system.mapper.TSysChronicDiseaseMapper; | 
|---|
|  |  |  | import com.ruoyi.system.model.TSysAppUser; | 
|---|
|  |  |  | import com.ruoyi.system.model.TSysActivity; | 
|---|
|  |  |  | import com.ruoyi.system.model.TSysAppUser; | 
|---|
|  |  |  | import com.ruoyi.system.model.TSysChronicDisease; | 
|---|
|  |  |  | import com.ruoyi.system.query.TCrmClinicQuery; | 
|---|
|  |  |  | import com.ruoyi.system.query.TSysAppUserQuery; | 
|---|
|  |  |  | import com.ruoyi.system.service.TSysAppUserService; | 
|---|
|  |  |  | import com.ruoyi.system.vo.TSysAppUserVO; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.time.LocalDateTime; | 
|---|
|  |  |  | import java.time.temporal.ChronoUnit; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.stream.Collectors; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * <p> | 
|---|
|  |  |  | 
|---|
|  |  |  | @Service | 
|---|
|  |  |  | public class TSysAppUserServiceImpl extends ServiceImpl<TSysAppUserMapper, TSysAppUser> implements TSysAppUserService { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private TSysChronicDiseaseMapper sysChronicDiseaseMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageInfo<TSysAppUserVO> pageList(TSysAppUserQuery query) { | 
|---|
|  |  |  | PageInfo<TSysAppUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); | 
|---|
|  |  |  | List<TSysAppUserVO> list = this.baseMapper.pageList(query,pageInfo); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(list)){ | 
|---|
|  |  |  | return pageInfo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 年龄计算 | 
|---|
|  |  |  | list.forEach(tSysAppUserVO -> { | 
|---|
|  |  |  | if(tSysAppUserVO.getBirthTime() != null){ | 
|---|
|  |  |  | long age = ChronoUnit.YEARS.between(tSysAppUserVO.getBirthTime(), LocalDateTime.now()); | 
|---|
|  |  |  | tSysAppUserVO.setAge(age); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(tSysAppUserVO.getChronicDiseaseId())){ | 
|---|
|  |  |  | tSysAppUserVO.setIsInspection(1); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | tSysAppUserVO.setIsInspection(0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | pageInfo.setRecords(list); | 
|---|
|  |  |  | return pageInfo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return this.count(Wrappers.lambdaQuery(TSysAppUser.class).eq(TSysAppUser::getPhone, dto.getPhone())) > 0; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageInfo<TSysAppUserVO> pageChronicDiseaseUserList(TSysAppUserQuery query) { | 
|---|
|  |  |  | PageInfo<TSysAppUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); | 
|---|
|  |  |  | List<TSysAppUserVO> list = this.baseMapper.pageChronicDiseaseUserList(query,pageInfo); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(list)){ | 
|---|
|  |  |  | return pageInfo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<TSysChronicDisease> sysChronicDiseaseList = sysChronicDiseaseMapper.selectList(Wrappers.lambdaQuery(TSysChronicDisease.class)); | 
|---|
|  |  |  | for (TSysAppUserVO sysAppUserVO : list) { | 
|---|
|  |  |  | String chronicDiseaseId = sysAppUserVO.getChronicDiseaseId(); | 
|---|
|  |  |  | String[] split = chronicDiseaseId.split(","); | 
|---|
|  |  |  | StringBuilder stringBuilder = new StringBuilder(); | 
|---|
|  |  |  | for (String diseaseId : split) { | 
|---|
|  |  |  | List<TSysChronicDisease> chronicDiseaseList = sysChronicDiseaseList.stream().filter(disease -> disease.getId().equals(diseaseId)).collect(Collectors.toList()); | 
|---|
|  |  |  | // 最后一位不拼接逗号 | 
|---|
|  |  |  | if(diseaseId.equals(split[split.length-1])){ | 
|---|
|  |  |  | stringBuilder.append(chronicDiseaseList.get(0).getChronicName()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | stringBuilder.append(chronicDiseaseList.get(0).getChronicName()).append(","); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sysAppUserVO.setSysChronicDiseaseNames(stringBuilder.toString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | pageInfo.setRecords(list); | 
|---|
|  |  |  | return pageInfo; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<TSysAppUserListExport> exportList(TSysAppUserQuery query) { | 
|---|
|  |  |  | List<TSysAppUserListExport> list = this.baseMapper.exportList(query); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(list)){ | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<TSysChronicDisease> sysChronicDiseaseList = sysChronicDiseaseMapper.selectList(Wrappers.lambdaQuery(TSysChronicDisease.class)); | 
|---|
|  |  |  | for (TSysAppUserListExport sysAppUserListExport : list) { | 
|---|
|  |  |  | String chronicDiseaseId = sysAppUserListExport.getChronicDiseaseId(); | 
|---|
|  |  |  | String[] split = chronicDiseaseId.split(","); | 
|---|
|  |  |  | StringBuilder stringBuilder = new StringBuilder(); | 
|---|
|  |  |  | for (String diseaseId : split) { | 
|---|
|  |  |  | List<TSysChronicDisease> chronicDiseaseList = sysChronicDiseaseList.stream().filter(disease -> disease.getId().equals(diseaseId)).collect(Collectors.toList()); | 
|---|
|  |  |  | // 最后一位不拼接逗号 | 
|---|
|  |  |  | if(diseaseId.equals(split[split.length-1])){ | 
|---|
|  |  |  | stringBuilder.append(chronicDiseaseList.get(0).getChronicName()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | stringBuilder.append(chronicDiseaseList.get(0).getChronicName()).append(","); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sysAppUserListExport.setSysChronicDiseaseNames(stringBuilder.toString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<TSysAppUserClinicExport> exportListClinic(TSysAppUserQuery query) { | 
|---|
|  |  |  | List<TSysAppUserClinicExport> list = this.baseMapper.exportListClinic(query); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(list)){ | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<TSysChronicDisease> sysChronicDiseaseList = sysChronicDiseaseMapper.selectList(Wrappers.lambdaQuery(TSysChronicDisease.class)); | 
|---|
|  |  |  | for (TSysAppUserClinicExport sysAppUserClinicExport : list) { | 
|---|
|  |  |  | String chronicDiseaseId = sysAppUserClinicExport.getChronicDiseaseId(); | 
|---|
|  |  |  | String[] split = chronicDiseaseId.split(","); | 
|---|
|  |  |  | StringBuilder stringBuilder = new StringBuilder(); | 
|---|
|  |  |  | for (String diseaseId : split) { | 
|---|
|  |  |  | List<TSysChronicDisease> chronicDiseaseList = sysChronicDiseaseList.stream().filter(disease -> disease.getId().equals(diseaseId)).collect(Collectors.toList()); | 
|---|
|  |  |  | // 最后一位不拼接逗号 | 
|---|
|  |  |  | if(diseaseId.equals(split[split.length-1])){ | 
|---|
|  |  |  | stringBuilder.append(chronicDiseaseList.get(0).getChronicName()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | stringBuilder.append(chronicDiseaseList.get(0).getChronicName()).append(","); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | sysAppUserClinicExport.setSysChronicDiseaseNames(stringBuilder.toString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public List<TSysAppUserExport> exportListAppUser(TSysAppUserQuery query) { | 
|---|
|  |  |  | List<TSysAppUserExport> list = this.baseMapper.exportListAppUser(query); | 
|---|
|  |  |  | if(CollectionUtils.isEmpty(list)){ | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 年龄计算 | 
|---|
|  |  |  | list.forEach(tSysAppUserVO -> { | 
|---|
|  |  |  | if(tSysAppUserVO.getBirthTime() != null){ | 
|---|
|  |  |  | long age = ChronoUnit.YEARS.between(tSysAppUserVO.getBirthTime(), LocalDateTime.now()); | 
|---|
|  |  |  | tSysAppUserVO.setAge(age); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(tSysAppUserVO.getChronicDiseaseId())){ | 
|---|
|  |  |  | tSysAppUserVO.setIsInspection(1); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | tSysAppUserVO.setIsInspection(0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|