From 72aaf45389cd09c206ee1b90f0c7f5bf59782930 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 22 十月 2025 18:27:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 179 insertions(+), 0 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java
index 9ca141c..f37ddc2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java
@@ -1,10 +1,30 @@
package com.ruoyi.system.service.impl;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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>
@@ -17,4 +37,163 @@
@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;
+ }
+
+ @Override
+ public boolean isExit(TSysAppUser dto) {
+ if(StringUtils.isNotEmpty(dto.getId())){
+ // 修改
+ return this.count(Wrappers.lambdaQuery(TSysAppUser.class).ne(TSysAppUser::getId, dto.getId()).eq(TSysAppUser::getPhone, dto.getPhone())) > 0;
+ }else {
+ // 新增
+ 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) {
+ if(sysAppUserVO.getBirthTime() != null){
+ long age = ChronoUnit.YEARS.between(sysAppUserVO.getBirthTime(), LocalDateTime.now());
+ sysAppUserVO.setAge(age);
+ }
+ String chronicDiseaseId = sysAppUserVO.getChronicDiseaseId();
+ if(StringUtils.isNotBlank(chronicDiseaseId)){
+ 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(!CollectionUtils.isEmpty(chronicDiseaseList)){
+ // 最后一位不拼接逗号
+ 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) {
+ if(sysAppUserListExport.getBirthTime() != null){
+ long age = ChronoUnit.YEARS.between(sysAppUserListExport.getBirthTime(), LocalDateTime.now());
+ sysAppUserListExport.setAge(age);
+ }
+ String chronicDiseaseId = sysAppUserListExport.getChronicDiseaseId();
+ if(StringUtils.isNotBlank(chronicDiseaseId)){
+ 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(!CollectionUtils.isEmpty(chronicDiseaseList)){
+ // 最后一位不拼接逗号
+ 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) {
+ if(sysAppUserClinicExport.getBirthTime() != null){
+ long age = ChronoUnit.YEARS.between(sysAppUserClinicExport.getBirthTime(), LocalDateTime.now());
+ sysAppUserClinicExport.setAge(age);
+ }
+ String chronicDiseaseId = sysAppUserClinicExport.getChronicDiseaseId();
+ if(StringUtils.isNotBlank(chronicDiseaseId)){
+ 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(!CollectionUtils.isEmpty(chronicDiseaseList)){
+ // 最后一位不拼接逗号
+ 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;
+ }
}
--
Gitblit v1.7.1