|
@@ -5,6 +5,7 @@ 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.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -14,7 +15,9 @@ import com.ruoyi.app.domain.TbFamilyMember;
|
|
|
import com.ruoyi.app.service.ITbFamilyMemberService;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
/**
|
|
|
* 家族成员Service业务层处理
|
|
@@ -64,6 +67,55 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 添加成员到家族树
|
|
|
+ * @param member
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean addFamilyTree(TbMemberMiddle member){
|
|
|
+ TbMemberMiddle middle = memberMiddleService.getOne(new LambdaQueryWrapper<TbMemberMiddle>()
|
|
|
+ .eq(TbMemberMiddle::getFamilyId,member.getFamilyId())
|
|
|
+ .eq(TbMemberMiddle::getMemberId,member.getMemberId())
|
|
|
+ .last("limit 1")
|
|
|
+ );
|
|
|
+ middle.setParentId(member.getParentId());
|
|
|
+ return memberMiddleService.updateById(middle);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 逻辑删除多条成员
|
|
|
+ * @param ids
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public AjaxResult delMember(String familyId, Long[] ids){
|
|
|
+ List<Long> idList = Arrays.asList(ids);
|
|
|
+ List<TbMemberMiddle> middleList = memberMiddleService.list(new LambdaQueryWrapper<TbMemberMiddle>()
|
|
|
+ .eq(TbMemberMiddle::getFamilyId,familyId)
|
|
|
+ .in(TbMemberMiddle::getMemberId, idList)
|
|
|
+ );
|
|
|
+ if (middleList.size() <= 0){
|
|
|
+ return AjaxResult.error("删除失败,没有找到要删除的数据");
|
|
|
+ }
|
|
|
+ AtomicInteger ck = new AtomicInteger(0);
|
|
|
+ List<Long> mIds = Arrays.asList(ids);
|
|
|
+ middleList.forEach(item -> {
|
|
|
+ if (item.getParentId() != null) {
|
|
|
+ ck.set(1);
|
|
|
+ }
|
|
|
+ mIds.add(item.getId());
|
|
|
+ });
|
|
|
+ // 如果成员已加入家族树,则需要先从家族树删除,才能删除成员
|
|
|
+ if(ck.intValue() > 0) {
|
|
|
+ return AjaxResult.error("删除失败,成员已加入家族树");
|
|
|
+ }
|
|
|
+ if(!memberMiddleService.removeByIds(mIds)) {
|
|
|
+ return AjaxResult.error("删除失败");
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<AppMemberVo> selectFamilyMember(AppMemberVo memberVo) {
|
|
|
LambdaQueryWrapper<AppMemberVo> lqw = new LambdaQueryWrapper<>();
|
|
@@ -83,6 +135,7 @@ public class TbFamilyMemberServiceImpl extends ServiceImpl<TbFamilyMemberMapper,
|
|
|
|
|
|
@Override
|
|
|
public TbMemberMiddle getFamilyTree(Long familyId){
|
|
|
+
|
|
|
return getChildNode(zeroParent(familyId),allList(familyId));
|
|
|
}
|
|
|
|