PinanbaoContactService.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.care.client.service;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.collection.CollUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.care.client.vo.HouseContactVO;
  6. import com.care.common.entity.*;
  7. import com.care.common.enums.RelationTypeEnum;
  8. import com.care.common.service.*;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.apache.commons.compress.utils.Lists;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import javax.annotation.Resource;
  14. import java.util.Date;
  15. import java.util.List;
  16. /**
  17. * @Author: lilt
  18. * @Date: 2021/6/7
  19. * @Desc:
  20. */
  21. @Slf4j
  22. @Service
  23. public class PinanbaoContactService {
  24. @Resource
  25. private CareMemberInfoService careMemberInfoService;
  26. @Resource
  27. private CareHouseContactService careHouseContactService;
  28. /**
  29. * 查询紧急联系人
  30. * @param memberId
  31. * @return
  32. */
  33. public List<HouseContactVO> queryContactByMemberId(Long memberId){
  34. List<HouseContactVO> vos = Lists.newArrayList();
  35. QueryWrapper<CareHouseContact> queryWrapper = new QueryWrapper<>();
  36. queryWrapper.lambda().eq(CareHouseContact::getMemberId, memberId)
  37. .orderByAsc(CareHouseContact::getContactLevel);
  38. List<CareHouseContact> contacts = this.careHouseContactService.list(queryWrapper);
  39. if (CollUtil.isNotEmpty(contacts)){
  40. contacts.forEach(item -> {
  41. HouseContactVO vo = new HouseContactVO();
  42. BeanUtil.copyProperties(item,vo);
  43. vo.setRelationTypeDesc(RelationTypeEnum.getCodeToName(vo.getRelationType()));
  44. vo.setName(item.getContactName());
  45. vo.setPhone(item.getContactPhone());
  46. vos.add(vo);
  47. });
  48. }
  49. return vos;
  50. }
  51. /**
  52. * 新增紧急联系人
  53. * @param memberId
  54. * @return
  55. */
  56. @Transactional(rollbackFor = Exception.class)
  57. public Boolean createMyContact(Long memberId,HouseContactVO vo){
  58. //保存被监护人
  59. CareHouseContact careContact = new CareHouseContact();
  60. BeanUtil.copyProperties(vo,careContact);
  61. careContact.setMemberId(memberId);
  62. careContact.setCreateTime(new Date());
  63. return this.careHouseContactService.save(careContact);
  64. }
  65. /**
  66. * 查询紧急联系人详情
  67. * @param id
  68. * @return
  69. */
  70. public HouseContactVO getContactInfo(Long id){
  71. CareHouseContact careContact = this.careHouseContactService.getById(id);
  72. HouseContactVO vo = new HouseContactVO();
  73. BeanUtil.copyProperties(careContact,vo);
  74. vo.setRelationTypeDesc(RelationTypeEnum.getCodeToName(vo.getRelationType()));
  75. return vo;
  76. }
  77. /**
  78. * 修改紧急联系人
  79. * @param vo
  80. */
  81. @Transactional(rollbackFor = Exception.class)
  82. public Boolean updateMyContact(HouseContactVO vo){
  83. //修改紧急联系人
  84. CareHouseContact careContact = this.careHouseContactService.getById(vo.getId());
  85. BeanUtil.copyProperties(vo,careContact);
  86. careContact.setModifyTime(new Date());
  87. return this.careHouseContactService.updateById(careContact);
  88. }
  89. /**
  90. * 删除紧急联系人
  91. * @param id
  92. * @return
  93. */
  94. public boolean deleteById(Long id){
  95. return this.careHouseContactService.removeById(id);
  96. }
  97. }