|
@@ -2,17 +2,24 @@ package cn.iocoder.yudao.module.system.service.home;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
|
|
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeElderlyInfoDetailRespVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeElderlyInfoPageReqVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeElderlyInfoPageReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeElderlyInfoPageRespVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeElderlyInfoPageRespVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeElderlyInfoSaveReqVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.home.vo.HomeElderlyInfoSaveReqVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.home.HomeElderlyFamilyDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.home.HomeElderlyInfoDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.home.HomeElderlyInfoDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.mysql.home.HomeElderlyFamilyMapper;
|
|
|
import cn.iocoder.yudao.module.system.dal.mysql.home.HomeElderlyInfoMapper;
|
|
import cn.iocoder.yudao.module.system.dal.mysql.home.HomeElderlyInfoMapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
|
@Validated
|
|
@Validated
|
|
@@ -21,10 +28,14 @@ public class HomeElderlyInfoServiceImpl implements HomeElderlyInfoService {
|
|
|
@Resource
|
|
@Resource
|
|
|
private HomeElderlyInfoMapper homeElderlyInfoMapper;
|
|
private HomeElderlyInfoMapper homeElderlyInfoMapper;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private HomeElderlyFamilyMapper homeElderlyFamilyMapper;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public Long createHomeElderlyInfo(HomeElderlyInfoSaveReqVO createReqVO) {
|
|
public Long createHomeElderlyInfo(HomeElderlyInfoSaveReqVO createReqVO) {
|
|
|
HomeElderlyInfoDO doObj = BeanUtils.toBean(createReqVO, HomeElderlyInfoDO.class);
|
|
HomeElderlyInfoDO doObj = BeanUtils.toBean(createReqVO, HomeElderlyInfoDO.class);
|
|
|
homeElderlyInfoMapper.insert(doObj);
|
|
homeElderlyInfoMapper.insert(doObj);
|
|
|
|
|
+ saveOrUpdateFamilyList(doObj.getId(), createReqVO);
|
|
|
return doObj.getId();
|
|
return doObj.getId();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -32,16 +43,28 @@ public class HomeElderlyInfoServiceImpl implements HomeElderlyInfoService {
|
|
|
public void updateHomeElderlyInfo(HomeElderlyInfoSaveReqVO updateReqVO) {
|
|
public void updateHomeElderlyInfo(HomeElderlyInfoSaveReqVO updateReqVO) {
|
|
|
HomeElderlyInfoDO updateObj = BeanUtils.toBean(updateReqVO, HomeElderlyInfoDO.class);
|
|
HomeElderlyInfoDO updateObj = BeanUtils.toBean(updateReqVO, HomeElderlyInfoDO.class);
|
|
|
homeElderlyInfoMapper.updateById(updateObj);
|
|
homeElderlyInfoMapper.updateById(updateObj);
|
|
|
|
|
+ saveOrUpdateFamilyList(updateObj.getId(), updateReqVO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void deleteHomeElderlyInfo(Long id) {
|
|
public void deleteHomeElderlyInfo(Long id) {
|
|
|
homeElderlyInfoMapper.deleteById(id);
|
|
homeElderlyInfoMapper.deleteById(id);
|
|
|
|
|
+ homeElderlyFamilyMapper.delete(new LambdaQueryWrapperX<HomeElderlyFamilyDO>()
|
|
|
|
|
+ .eq(HomeElderlyFamilyDO::getHomeElderId, id));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public HomeElderlyInfoDO getHomeElderlyInfo(Long id) {
|
|
|
|
|
- return homeElderlyInfoMapper.selectById(id);
|
|
|
|
|
|
|
+ public HomeElderlyInfoDetailRespVO getHomeElderlyInfo(Long id) {
|
|
|
|
|
+ HomeElderlyInfoDO infoDO = homeElderlyInfoMapper.selectById(id);
|
|
|
|
|
+ if (infoDO == null) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ List<HomeElderlyFamilyDO> familyList = homeElderlyFamilyMapper.selectList(new LambdaQueryWrapperX<HomeElderlyFamilyDO>()
|
|
|
|
|
+ .eq(HomeElderlyFamilyDO::getHomeElderId, id));
|
|
|
|
|
+ HomeElderlyInfoDetailRespVO respVO = BeanUtils.toBean(infoDO, HomeElderlyInfoDetailRespVO.class);
|
|
|
|
|
+ respVO.setFamilyList(familyList.stream().filter(item -> Objects.equals(item.getIsEmergency(), 0)).collect(Collectors.toList()));
|
|
|
|
|
+ respVO.setEmergencyPerson(familyList.stream().filter(item -> Objects.equals(item.getIsEmergency(), 1)).findFirst().orElse(null));
|
|
|
|
|
+ return respVO;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -50,4 +73,34 @@ public class HomeElderlyInfoServiceImpl implements HomeElderlyInfoService {
|
|
|
List<HomeElderlyInfoPageRespVO> list = homeElderlyInfoMapper.selectPageWithAccountInfo(page, pageReqVO);
|
|
List<HomeElderlyInfoPageRespVO> list = homeElderlyInfoMapper.selectPageWithAccountInfo(page, pageReqVO);
|
|
|
return new PageResult<>(list, page.getTotal());
|
|
return new PageResult<>(list, page.getTotal());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private void saveOrUpdateFamilyList(Long homeElderId, HomeElderlyInfoSaveReqVO reqVO) {
|
|
|
|
|
+ homeElderlyFamilyMapper.delete(new LambdaQueryWrapperX<HomeElderlyFamilyDO>()
|
|
|
|
|
+ .eq(HomeElderlyFamilyDO::getHomeElderId, homeElderId));
|
|
|
|
|
+ List<HomeElderlyFamilyDO> saveList = new ArrayList<>();
|
|
|
|
|
+ if (reqVO.getFamilyList() != null) {
|
|
|
|
|
+ reqVO.getFamilyList().forEach(item -> {
|
|
|
|
|
+ if (item == null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ HomeElderlyFamilyDO familyDO = BeanUtils.toBean(item, HomeElderlyFamilyDO.class);
|
|
|
|
|
+ familyDO.setId(null);
|
|
|
|
|
+ familyDO.setHomeElderId(homeElderId);
|
|
|
|
|
+ familyDO.setTenantId(reqVO.getTenantId());
|
|
|
|
|
+ familyDO.setIsEmergency(0);
|
|
|
|
|
+ saveList.add(familyDO);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ if (reqVO.getEmergencyPerson() != null) {
|
|
|
|
|
+ HomeElderlyFamilyDO emergencyPerson = BeanUtils.toBean(reqVO.getEmergencyPerson(), HomeElderlyFamilyDO.class);
|
|
|
|
|
+ emergencyPerson.setId(null);
|
|
|
|
|
+ emergencyPerson.setHomeElderId(homeElderId);
|
|
|
|
|
+ emergencyPerson.setTenantId(reqVO.getTenantId());
|
|
|
|
|
+ emergencyPerson.setIsEmergency(1);
|
|
|
|
|
+ saveList.add(emergencyPerson);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!saveList.isEmpty()) {
|
|
|
|
|
+ homeElderlyFamilyMapper.insertBatch(saveList);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|