package com.care.client.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.care.client.vo.OlderVO; import com.care.common.entity.*; import com.care.common.enums.OlderLiveTypeEnum; import com.care.common.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.compress.utils.Lists; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @Author: lilt * @Date: 2021/6/7 * @Desc: */ @Slf4j @Service public class PinanbaoOlderService { @Resource private CareMemberInfoService careMemberInfoService; @Resource private CareOlderService careOlderService; /** * 查询老人 * @param memberId * @return */ public List queryOlderByMemberId(Long memberId){ List vos = Lists.newArrayList(); CareMemberInfo memberInfo = this.careMemberInfoService.getById(memberId); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(CareOlder::getMemberId, memberInfo.getId()); List olders = this.careOlderService.list(queryWrapper); if (CollUtil.isNotEmpty(olders)){ olders.forEach(item -> { OlderVO vo = new OlderVO(); BeanUtil.copyProperties(item,vo); vo.setLiveTypeDesc(OlderLiveTypeEnum.getCodeToName(vo.getLiveType())); vos.add(vo); }); } return vos; } /** * 新增老人 * @param memberId * @return */ @Transactional(rollbackFor = Exception.class) public Boolean createMyOlder(Long memberId,OlderVO vo){ //保存被监护人 CareOlder careOlder = new CareOlder(); BeanUtil.copyProperties(vo,careOlder); careOlder.setMemberId(memberId); careOlder.setCreateTime(new Date()); return this.careOlderService.save(careOlder); } /** * 查询老人详情 * @param id * @return */ public OlderVO getOlderInfo(Long id){ CareOlder careOlder = this.careOlderService.getById(id); OlderVO vo = new OlderVO(); BeanUtil.copyProperties(careOlder,vo); vo.setLiveTypeDesc(OlderLiveTypeEnum.getCodeToName(vo.getLiveType())); return vo; } /** * 修改老人 * @param vo */ @Transactional(rollbackFor = Exception.class) public Boolean updateMyOlder(OlderVO vo){ //修改老人 CareOlder careOlder = this.careOlderService.getById(vo.getId()); BeanUtil.copyProperties(vo,careOlder); careOlder.setModifyTime(new Date()); return this.careOlderService.updateById(careOlder); } /** * 删除老人 * @param id * @return */ public boolean deleteById(Long id){ return this.careOlderService.removeById(id); } }