From bdb42a12e203372fa18f7e50c8f7b43597532fdc Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 15 五月 2024 15:05:01 +0800 Subject: [PATCH] 优化 --- meiya-admin/src/main/java/com/sinata/modular/member/service/impl/MemUserRelationServiceImpl.java | 39 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 38 insertions(+), 1 deletions(-) diff --git a/meiya-admin/src/main/java/com/sinata/modular/member/service/impl/MemUserRelationServiceImpl.java b/meiya-admin/src/main/java/com/sinata/modular/member/service/impl/MemUserRelationServiceImpl.java index f8e86b8..68ad142 100644 --- a/meiya-admin/src/main/java/com/sinata/modular/member/service/impl/MemUserRelationServiceImpl.java +++ b/meiya-admin/src/main/java/com/sinata/modular/member/service/impl/MemUserRelationServiceImpl.java @@ -147,5 +147,42 @@ } return array; } - + @Override + public MemUser[] getParentV4V5ByRelationPath2(String relationPath, Integer memberGradeId) { + MemUser[] array = new MemUser[]{null, null}; + if (relationPath != null) { + String[] pathArray = relationPath.split("/"); + String parentId = pathArray[pathArray.length - 2]; + MemUser parentUser = memUserService.selectById(parentId); + findParents(parentUser, pathArray, array); + } + return array; + } + private void findParents(MemUser user, String[] pathArray, MemUser[] array) { + if (user != null) { + Integer memberGradeId = user.getMemberGradeId(); + if (memberGradeId == EnumMemberGrade.G_3.index) { + String grandParentId = pathArray[pathArray.length - 3]; + MemUser grandParent = memUserService.selectById(grandParentId); + if (grandParent != null && grandParent.getMemberGradeId() == EnumMemberGrade.G_4.index) { + array[0] = grandParent; + String greatGrandParentId = pathArray[pathArray.length - 3]; + MemUser greatGrandParent = memUserService.selectById(greatGrandParentId); + if (greatGrandParent != null && greatGrandParent.getMemberGradeId() == EnumMemberGrade.G_5.index) { + array[1] = greatGrandParent; + } + } + } else if (memberGradeId == EnumMemberGrade.G_4.index) { + array[0] = user; + String parentId = pathArray[pathArray.length - 3]; + MemUser parent = memUserService.selectById(parentId); + if (parent != null && parent.getMemberGradeId() == EnumMemberGrade.G_5.index) { + array[1] = parent; + } + } else if (memberGradeId == EnumMemberGrade.G_5.index) { + array[0] = user; + array[1] = user; + } + } + } } -- Gitblit v1.7.1