Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
f81f2e0c
Commit
f81f2e0c
authored
Nov 07, 2020
by
unset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员分成记录信息
parent
3394c653
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
86 additions
and
5 deletions
+86
-5
BaseUserMemberBiz.java
.../github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
+70
-5
BaseUserMemberMapper.java
...b/wxiaoqi/security/admin/mapper/BaseUserMemberMapper.java
+4
-0
BaseUserMemberController.java
...wxiaoqi/security/admin/rest/BaseUserMemberController.java
+7
-0
BaseUserMemberMapper.xml
...-admin/src/main/resources/mapper/BaseUserMemberMapper.xml
+5
-0
No files found.
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
View file @
f81f2e0c
...
...
@@ -327,19 +327,84 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper, BaseUserMem
//处理上级会员等级初始化
public
void
executeParentMemberLevel
(
BaseUserMember
baseUserMember
)
{
log
.
info
(
"【处理上级会员等级】: {}"
,
baseUserMember
);
AppUserRelation
appUserRelation
=
appUserRelationBiz
.
getRelationByUserId
(
baseUserMember
.
getUserId
());
log
.
info
(
"【处理上级会员等级】: {}"
,
baseUserMember
);
Example
example
=
new
Example
(
BaseUserMemberLevel
.
class
);
example
.
createCriteria
().
andEqualTo
(
"isdel"
,
0
);
example
.
orderBy
(
"level"
);
List
<
BaseUserMemberLevel
>
userMemberLevelList
=
BaseUserMemberLevelMapper
.
selectByExample
(
example
);
if
(
userMemberLevelList
!=
null
&&
userMemberLevelList
.
size
()
>
0
)
{
generateParentLevel
(
baseUserMember
.
getUserId
(),
userMemberLevelList
);
}
}
private
void
generateParentLevel
(
Integer
userId
,
List
<
BaseUserMemberLevel
>
userMemberLevelList
)
{
AppUserRelation
appUserRelation
=
appUserRelationBiz
.
getRelationByUserId
(
userId
);
if
(
appUserRelation
!=
null
&&
appUserRelation
.
getIsDel
()
!=
1
)
{
//查询上级当前等级
Integer
parentId
=
appUserRelation
.
getParentId
();
BaseUserMemberVO
parentUser
=
findOneByUserId
(
parentId
);
if
(
parentUser
!=
null
)
{
List
<
AppUserRelation
>
appUserRelationList
=
appUserRelationBiz
.
findMemberPageByLeaderId
(
parentId
);
log
.
info
(
"【上级会员信息】: {}"
,
parentUser
);
if
(
parentUser
!=
null
&&
parentId
!=
0
)
{
//查询当前会员需要变更到的级别
Integer
parentNewLevel
=
generateUserLevel
(
parentId
,
parentUser
.
getMemberLevel
(),
userMemberLevelList
);
//如果返回为空,或者当前级别和需要更新的级别相等,不做处理
log
.
info
(
"【上级需要修改等级为: {}】"
,
parentNewLevel
);
if
(
parentNewLevel
!=
null
&&
!
parentNewLevel
.
equals
(
parentUser
.
getMemberLevel
()))
{
Example
example1
=
new
Example
(
BaseUserMember
.
class
);
example1
.
createCriteria
().
andEqualTo
(
"userId"
,
parentId
).
andEqualTo
(
"isDel"
,
0
);
BaseUserMember
parent
=
mapper
.
selectOneByExample
(
example1
);
if
(
parent
!=
null
)
{
parent
.
setMemberLevel
(
parentNewLevel
);
updateSelectiveByIdRe
(
parent
);
}
generateParentLevel
(
parentId
,
userMemberLevelList
);
}
}
}
}
/**
* 获取用户需要修改的等级
* @param userId
* @param level
* @param userMemberLevelList
*/
private
Integer
generateUserLevel
(
Integer
userId
,
Integer
level
,
List
<
BaseUserMemberLevel
>
userMemberLevelList
)
{
BaseUserMemberLevel
currentLevel
=
null
;
BaseUserMemberLevel
subLevel
=
null
;
for
(
int
i
=
0
;
i
<
userMemberLevelList
.
size
();
i
++
)
{
if
(
level
.
equals
(
userMemberLevelList
.
get
(
i
).
getLevel
()))
{
currentLevel
=
userMemberLevelList
.
get
(
i
);
if
((
i
+
1
)
<
userMemberLevelList
.
size
())
{
subLevel
=
userMemberLevelList
.
get
(
i
+
1
);
}
}
}
//当前会员不存在,直接返回
if
(
currentLevel
==
null
)
{
return
null
;
}
//当前会员不分成且下一级也是不分成,直接返回
if
(
currentLevel
.
getIsShare
()
!=
null
&&
currentLevel
.
getIsShare
()
==
0
)
{
//下一级不存在、或者下一级不分成,就直接返回
if
(
subLevel
==
null
||
(
subLevel
!=
null
&&
subLevel
.
getIsShare
()
!=
null
&&
subLevel
.
getIsShare
()
==
0
))
{
return
currentLevel
.
getLevel
();
}
}
//需要分成,则查询当前用户的下级是否符合条件,符合条件level+1
List
<
BaseUserMember
>
baseUserMemberList
=
mapper
.
selectAllChildrenByLevel
(
userId
,
level
-
1
);
if
(
baseUserMemberList
!=
null
&&
baseUserMemberList
.
size
()
>
getLimitNumber
())
{
return
generateUserLevel
(
userId
,
level
+
1
,
userMemberLevelList
);
}
else
{
return
level
;
}
}
private
Integer
getLimitNumber
()
{
return
3
;
}
public
void
deleteByUserIds
(
Collection
<
Integer
>
userIds
)
{
Example
example
=
new
Example
(
BaseUserMember
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/mapper/BaseUserMemberMapper.java
View file @
f81f2e0c
...
...
@@ -6,6 +6,8 @@ import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 用户会员表
*
...
...
@@ -19,4 +21,6 @@ public interface BaseUserMemberMapper extends Mapper<BaseUserMember> {
public
UserMemberVo
getInfoByUserId
(
@Param
(
"userId"
)
Integer
userId
);
BaseUserMemberVO
getBaseUserMemberVOByUserId
(
@Param
(
"userId"
)
Integer
userId
);
List
<
BaseUserMember
>
selectAllChildrenByLevel
(
@Param
(
"userId"
)
Integer
userId
,
@Param
(
"level"
)
Integer
level
);
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/BaseUserMemberController.java
View file @
f81f2e0c
...
...
@@ -140,4 +140,11 @@ public class BaseUserMemberController extends BaseController<BaseUserMemberBiz,
public
ObjectRestResponse
updateUserLevel
(
@RequestBody
BaseUserMember
baseUserMember
)
{
return
baseBiz
.
updateUserLevel
(
baseUserMember
);
}
@GetMapping
(
value
=
"/app/unauth/executeParentMemberLevel"
)
public
void
executeParentMemberLevel
(
BaseUserMember
baseUserMember
)
{
baseBiz
.
executeParentMemberLevel
(
baseUserMember
);
}
}
ace-modules/ace-admin/src/main/resources/mapper/BaseUserMemberMapper.xml
View file @
f81f2e0c
...
...
@@ -27,6 +27,11 @@
select * from base_user_member where user_id=#{userId} and is_del=0 limit 1
</select>
<select
id=
"selectAllChildrenByLevel"
resultType=
"com.github.wxiaoqi.security.admin.entity.BaseUserMember"
>
select bum.* from app_user_relation aur
LEFT JOIN base_user_member bum on bum.user_id = aur.user_id
where aur.parent_id = #{userId} and bum.member_level
>
= #{level}
</select>
<select
id=
"getBaseUserMemberVOByUserId"
parameterType=
"Integer"
resultType=
"com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment