package com.ruoyi.app.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.app.domain.TbMemberMiddle; import com.ruoyi.app.domain.vo.AppMemberVo; import com.ruoyi.app.service.ITbAppUserService; import com.ruoyi.app.service.ITbMemberMiddleService; import com.ruoyi.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.app.mapper.TbFamilyMemberMapper; import com.ruoyi.app.domain.TbFamilyMember; import com.ruoyi.app.service.ITbFamilyMemberService; import java.util.ArrayList; import java.util.List; /** * 家族成员Service业务层处理 * * @author Alex * @date 2020-09-29 */ @Service public class TbFamilyMemberServiceImpl extends ServiceImpl implements ITbFamilyMemberService { @Autowired private ITbAppUserService userService; @Autowired private ITbMemberMiddleService memberMiddleService; /** * 添加家族成员 * @param memberVo * @return */ @Override public boolean saveOrUpdate(AppMemberVo memberVo){ if(!userService.saveOrUpdate(memberVo)){ return false; } TbMemberMiddle memberMiddle = memberMiddleService.getOne(new LambdaQueryWrapper() .eq(TbMemberMiddle::getFamilyId, memberVo.getFamilyId()) .eq(TbMemberMiddle::getMemberId, memberVo.getMemberId()) ); //新增 if (memberMiddle == null) { TbMemberMiddle item = new TbMemberMiddle(); item.setFamilyId(memberVo.getFamilyId()); item.setMemberId(memberVo.getMemberId()); memberMiddleService.save(item); } return true; } @Override public List selectFamilyMember(AppMemberVo memberVo) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); if (memberVo.getFamilyId() == null) { return new ArrayList<>(); } lqw.eq(AppMemberVo::getFamilyId, memberVo.getFamilyId()); if (StringUtils.isNotBlank(memberVo.getSearchValue())) { lqw.like(AppMemberVo::getName,memberVo.getSearchValue()).or() .like(AppMemberVo::getNickName,memberVo.getSearchValue()).or() .like(AppMemberVo::getMobile,memberVo.getSearchValue()).or() .like(AppMemberVo::getQrcode,memberVo.getSearchValue()); } return baseMapper.selectFamilyMember(lqw); } //test public List allList(Long familyId){ List list = memberMiddleService.selectApplyMember(new LambdaQueryWrapper() .eq(TbMemberMiddle::getFamilyId,familyId) .eq(TbMemberMiddle::getStatus,"2") ); return list; } public TbMemberMiddle zeroParent(Long familyId){ return memberMiddleService.getOne(new LambdaQueryWrapper() .eq(TbMemberMiddle::getFamilyId,familyId) .eq(TbMemberMiddle::getStatus,"2") .eq(TbMemberMiddle::getParentId, 0).last("limit 1") ); } public List listTree(TbMemberMiddle zero,List list) { List middles = new ArrayList<>(); // for(TbMemberMiddle item : list) { // if(zero.getId().equals(item.getParentId())){ // middles = listTree(item, list); // item.setList(middles); // } // } return middles; } }