Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
huhu-partner
Project
Overview
Details
Activity
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guanchen
huhu-partner
Commits
2dcd2caf
Commit
2dcd2caf
authored
Jun 28, 2019
by
guanchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加接口: /user/relation/change
刷新缓存数据
parent
9af66f0c
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
250 additions
and
11 deletions
+250
-11
UserController.java
...va/com/lanren/huhu/partner/controller/UserController.java
+14
-0
PartnerAccountMapper.java
...ava/com/lanren/huhu/partner/dao/PartnerAccountMapper.java
+15
-4
UserAgentMapper.java
...ain/java/com/lanren/huhu/partner/dao/UserAgentMapper.java
+4
-3
PartnerAccountManager.java
...om/lanren/huhu/partner/manager/PartnerAccountManager.java
+2
-2
UserManager.java
...ain/java/com/lanren/huhu/partner/manager/UserManager.java
+40
-2
PartnerTree.java
src/main/java/com/lanren/huhu/partner/model/PartnerTree.java
+31
-0
User.java
src/main/java/com/lanren/huhu/partner/model/User.java
+2
-0
PartnerAccountService.java
...om/lanren/huhu/partner/service/PartnerAccountService.java
+10
-0
PartnerAccountServiceImpl.java
.../huhu/partner/service/impl/PartnerAccountServiceImpl.java
+5
-0
PartnerTreeUtil.java
...in/java/com/lanren/huhu/partner/util/PartnerTreeUtil.java
+127
-0
UserAgentMapper.xml
src/main/resources/mapper/UserAgentMapper.xml
+0
-0
No files found.
src/main/java/com/lanren/huhu/partner/controller/UserController.java
View file @
2dcd2caf
...
...
@@ -44,4 +44,18 @@ public class UserController {
result
.
setData
(
"删除成功"
);
return
result
;
}
@RequestMapping
(
value
=
"/relation/change"
,
method
=
RequestMethod
.
POST
)
public
Result
<
String
>
changeRelation
(
@RequestBody
@Valid
User
user
,
@RequestHeader
HttpHeaders
headers
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"changeRelation userId:{},header:{},time:{}"
,
user
.
getUserId
(),
headers
.
keySet
().
toArray
(),
LocalDateTime
.
now
());
}
Result
<
String
>
result
=
new
Result
<
String
>();
if
(
userManager
.
changeRelation
(
user
.
getUserId
()))
{
result
.
setData
(
"用户刷新成功"
);
}
else
{
result
.
setCode
(
500
);
}
return
result
;
}
}
src/main/java/com/lanren/huhu/partner/dao/PartnerAccountMapper.java
View file @
2dcd2caf
...
...
@@ -2,11 +2,12 @@ package com.lanren.huhu.partner.dao;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
@Mapper
public
interface
PartnerAccountMapper
extends
BaseMapper
<
PartnerAccount
>
{
int
updateBatch
(
List
<
PartnerAccount
>
list
);
...
...
@@ -22,9 +23,18 @@ public interface PartnerAccountMapper extends BaseMapper<PartnerAccount> {
* @param userId
* @return
*/
@Select
(
"SELECT b.*
\n
"
+
"FROM partner_invite_relation a
\n
"
+
"JOIN partner_account b on a.invite_user_id=b.user_id
\n
"
+
@Select
(
"SELECT b.* "
+
"FROM partner_invite_relation a
"
+
"JOIN partner_account b on a.invite_user_id=b.user_id
"
+
"WHERE a.user_id=#{userId}"
)
PartnerAccount
getParentByUserId
(
Integer
userId
);
/**
* 按uid查找下级 PartnerAccount
*/
@Select
(
"SELECT b.* "
+
"FROM partner_invite_relation a "
+
"JOIN partner_account b on a.user_id=b.user_id "
+
"WHERE a.invite_user_id=#{userId}"
)
List
<
PartnerAccount
>
getChildrenByUserId
(
Integer
userId
);
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/dao/UserAgentMapper.java
View file @
2dcd2caf
...
...
@@ -26,9 +26,9 @@ public interface UserAgentMapper extends BaseMapper<UserAgent> {
* @param agentId
* @return
*/
@Select
(
"SELECT b.*
\n
"
+
"FROM user_agent a
\n
"
+
"JOIN user_agent b on a.parent_agent_id=b.agent_id
\n
"
+
@Select
(
"SELECT b.*
"
+
"FROM user_agent a "
+
"JOIN user_agent b on a.parent_agent_id=b.agent_id
"
+
"WHERE a.agent_id=#{agentId} and b.agent_level<=4"
)
UserAgent
getParentAgent
(
Integer
agentId
);
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/manager/PartnerAccountManager.java
View file @
2dcd2caf
package
com
.
lanren
.
huhu
.
partner
.
manager
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
import
com.lanren.huhu.partner.model.Partner
;
import
com.lanren.huhu.partner.model.PartnerRsp
;
import
com.lanren.huhu.partner.result.Result
;
import
com.lanren.huhu.partner.service.PartnerAccountService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
/** * @author houseme * @date 2019-06-26 10:56 * @Project partner * @Package com.lanren.huhu.partner.manager * @File: PartnerAccountManager */
@Component
public
class
PartnerAccountManager
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PartnerAccountManager
.
class
);
@Autowired
private
PartnerAccountService
partnerAccountService
;
/*** * 获取合伙人账户信息 * @param userId * @return */
public
Result
<
PartnerAccount
>
findByUserId
(
Integer
userId
)
{
Result
<
PartnerAccount
>
result
=
new
Result
<>();
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"PartnerAccountManager findByUserId userId:{},time:{}"
,
userId
,
LocalDateTime
.
now
());
}
PartnerAccount
partnerAccount
=
partnerAccountService
.
getOneByUserId
(
userId
);
logger
.
info
(
"findByUserId {}"
,
partnerAccount
);
result
.
setData
(
partnerAccount
);
return
result
;
}
/*** * 获取合伙人等级 10 普通, 20 高级, 30 超级 * @param userId * @return */
public
Result
<
PartnerRsp
>
getPartnerLevel
(
Integer
userId
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"PartnerAccountManager getPartnerLevel userId:{},time:{}"
,
userId
,
LocalDateTime
.
now
());
}
Result
<
PartnerRsp
>
result
=
new
Result
<>();
PartnerAccount
partnerAccount
=
partnerAccountService
.
getOneByUserId
(
userId
);
if
(
null
!=
partnerAccount
)
{
int
partnerLevel
;
if
(
partnerAccount
.
getIsSuperPartner
()
==
1
)
{
partnerLevel
=
30
;
}
else
{
partnerLevel
=
partnerAccount
.
getPartnerLevel
();
}
result
.
setData
(
new
PartnerRsp
(
partnerLevel
));
}
else
{
result
.
setCode
(
601
);
}
return
result
;
}
}
\ No newline at end of file
package
com
.
lanren
.
huhu
.
partner
.
manager
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
import
com.lanren.huhu.partner.model.PartnerRsp
;
import
com.lanren.huhu.partner.result.Result
;
import
com.lanren.huhu.partner.service.PartnerAccountService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
/** * @author houseme * @date 2019-06-26 10:56 * @Project partner * @Package com.lanren.huhu.partner.manager * @File: PartnerAccountManager */
@Component
public
class
PartnerAccountManager
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PartnerAccountManager
.
class
);
@Autowired
private
PartnerAccountService
partnerAccountService
;
/*** * 获取合伙人账户信息 * @param userId * @return */
public
Result
<
PartnerAccount
>
findByUserId
(
Integer
userId
)
{
Result
<
PartnerAccount
>
result
=
new
Result
<>();
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"PartnerAccountManager findByUserId userId:{},time:{}"
,
userId
,
LocalDateTime
.
now
());
}
PartnerAccount
partnerAccount
=
partnerAccountService
.
getOneByUserId
(
userId
);
result
.
setData
(
partnerAccount
);
return
result
;
}
/*** * 获取合伙人等级 10 普通, 20 高级, 30 超级 * @param userId * @return */
public
Result
<
PartnerRsp
>
getPartnerLevel
(
Integer
userId
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"PartnerAccountManager getPartnerLevel userId:{},time:{}"
,
userId
,
LocalDateTime
.
now
());
}
Result
<
PartnerRsp
>
result
=
new
Result
<>();
PartnerAccount
partnerAccount
=
partnerAccountService
.
getOneByUserId
(
userId
);
if
(
null
!=
partnerAccount
)
{
int
partnerLevel
;
if
(
partnerAccount
.
getIsSuperPartner
()
==
1
)
{
partnerLevel
=
30
;
}
else
{
partnerLevel
=
partnerAccount
.
getPartnerLevel
();
}
result
.
setData
(
new
PartnerRsp
(
partnerLevel
));
}
else
{
result
.
setCode
(
601
);
}
return
result
;
}
}
\ No newline at end of file
...
...
src/main/java/com/lanren/huhu/partner/manager/UserManager.java
View file @
2dcd2caf
...
...
@@ -5,9 +5,9 @@ import com.lanren.huhu.partner.domain.UserAgent;
import
com.lanren.huhu.partner.model.ParentAgent
;
import
com.lanren.huhu.partner.model.ParentPartner
;
import
com.lanren.huhu.partner.model.User
;
import
com.lanren.huhu.partner.result.Result
;
import
com.lanren.huhu.partner.service.PartnerAccountService
;
import
com.lanren.huhu.partner.service.UserAgentService
;
import
com.lanren.huhu.partner.util.PartnerTreeUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -38,14 +38,16 @@ public class UserManager {
* 缓存不能带有构造方法的Bean 所以只能返回User的Bean
* 包装Result在Cacheable注解的方法之外进行操作
* @param userId
* @return
Result<User>
* @return
User
* @throws
* @author chen
* @date 2019-06-26 20:01
*/
@Cacheable
public
User
getRelationByUserId
(
Integer
userId
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"new a user object "
);
}
User
user
=
new
User
();
user
.
setUserId
(
userId
);
setPartnerList
(
user
);
...
...
@@ -58,8 +60,10 @@ public class UserManager {
*/
@CacheEvict
(
key
=
"#userId"
)
public
void
deleteRalationByUserId
(
Integer
userId
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"delete user relation cache, userId: {}"
,
userId
);
}
}
/**
* @description: 查找一个用户的全部合伙人上级, set到User对象的partnerList中
...
...
@@ -68,7 +72,9 @@ public class UserManager {
* @date 2019-06-26 20:37
*/
private
void
setPartnerList
(
User
user
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"begin setPartnerList for user: {} ......"
,
user
.
getUserId
());
}
if
(
null
==
user
.
getPartnerList
())
{
ArrayList
<
ParentPartner
>
partnerList
=
new
ArrayList
<
ParentPartner
>();
user
.
setPartnerList
(
partnerList
);
...
...
@@ -78,18 +84,24 @@ public class UserManager {
*/
int
loopUserId
=
user
.
getUserId
();
while
(
true
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"now loop uid is {}"
,
loopUserId
);
}
ParentPartner
parentPartner
=
getParentPartner
(
loopUserId
);
if
(
null
==
parentPartner
)
{
break
;
}
else
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"parent is {} "
,
parentPartner
.
getUserId
());
}
user
.
getPartnerList
().
add
(
parentPartner
);
loopUserId
=
parentPartner
.
getUserId
();
}
}
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"setPartnerList for user: {} end"
,
user
.
getUserId
());
}
}
/**
* @description: 查找一个用户的全部代理商上级 set到User对象的agentList中
...
...
@@ -97,7 +109,9 @@ public class UserManager {
* @date 2019-06-27 11:16
*/
private
void
setAgentList
(
User
user
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"begin setAgentList for user: {} ......"
,
user
.
getUserId
());
}
if
(
null
==
user
.
getAgentList
())
{
ArrayList
<
ParentAgent
>
agentList
=
new
ArrayList
<
ParentAgent
>();
user
.
setAgentList
(
agentList
);
...
...
@@ -108,7 +122,9 @@ public class UserManager {
*/
int
loopUserId
=
user
.
getUserId
();
while
(
true
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"now loop uid is {}"
,
loopUserId
);
}
ParentPartner
parentPartner
=
getParentPartner
(
loopUserId
);
/**
* 有上级合伙人
...
...
@@ -122,16 +138,22 @@ public class UserManager {
/**
* 然后开始 无限找 这个人的上级代理商
*/
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"find first agent({}) for user: {}"
,
userAgent
.
getAgentId
(),
user
.
getUserId
());
}
user
.
getAgentList
().
add
(
new
ParentAgent
(
userAgent
.
getUserId
(),
userAgent
.
getAgentId
(),
userAgent
.
getAgentLevel
()));
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop find parent agent start ......"
);
}
int
loogAgentId
=
userAgent
.
getAgentId
();
while
(
true
)
{
ParentAgent
loopUserAgent
=
getParentAgent
(
loogAgentId
);
if
(
null
==
loopUserAgent
)
{
break
;
}
else
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"parent agent is "
,
loopUserAgent
.
getAgentId
());
}
user
.
getAgentList
().
add
(
new
ParentAgent
(
loopUserAgent
.
getUserId
(),
loopUserAgent
.
getAgentId
(),
loopUserAgent
.
getLevel
()));
loogAgentId
=
loopUserAgent
.
getAgentId
();
}
...
...
@@ -139,7 +161,9 @@ public class UserManager {
/**
* 找完 "第一个是代理商的合伙人" 的 全部上级代理后 退出while循环
*/
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop find parent agent end"
);
}
break
;
}
else
{
/**
...
...
@@ -151,12 +175,16 @@ public class UserManager {
/**
* 没有上级合伙人 打印结束信息 跳出循环
*/
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop end with userId: {}"
,
loopUserId
);
}
break
;
}
}
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"setAgentList for user: {} end"
,
user
.
getUserId
());
}
}
/**
* 按userId查找上级合伙人的 userId 和 level
...
...
@@ -187,4 +215,14 @@ public class UserManager {
}
return
parentAgent
;
}
/**
* 根据输入的用户id, 刷新这个用户以及他邀请关系的所有下级的邀请关系
* @param userId
* @return
*/
public
boolean
changeRelation
(
int
userId
)
{
PartnerTreeUtil
partnerTreeUtil
=
new
PartnerTreeUtil
();
return
partnerTreeUtil
.
findPartnerChiledren
(
userId
,
partnerAccountService
,
this
);
}
}
src/main/java/com/lanren/huhu/partner/model/PartnerTree.java
0 → 100644
View file @
2dcd2caf
package
com
.
lanren
.
huhu
.
partner
.
model
;
import
com.lanren.huhu.partner.model.base.BaseModel
;
import
lombok.Data
;
import
java.util.ArrayList
;
/**
* @author chen
* @title: PartnerTree
* @projectName partner
* @description: 存储合伙人的关系树结构, childrenList为其直属下级, parentList为父级关系
* @package com.lanren.huhu.partner.model
* @date 2019-06-28 11:17
*/
@Data
public
class
PartnerTree
extends
BaseModel
{
Integer
userId
;
Integer
level
;
ArrayList
<
ParentPartner
>
parentList
;
ArrayList
<
PartnerTree
>
childrenList
=
new
ArrayList
<
PartnerTree
>();
public
ArrayList
<
ParentPartner
>
cloneParent
()
{
ArrayList
<
ParentPartner
>
copyList
=
new
ArrayList
<
ParentPartner
>();
for
(
ParentPartner
parentPartner
:
this
.
getParentList
())
{
ParentPartner
one
=
new
ParentPartner
(
parentPartner
.
getUserId
(),
parentPartner
.
getLevel
());
copyList
.
add
(
one
);
}
return
copyList
;
}
}
src/main/java/com/lanren/huhu/partner/model/User.java
View file @
2dcd2caf
...
...
@@ -25,6 +25,8 @@ public class User extends BaseModel {
@Min
(
value
=
1
,
message
=
"userId 需要大于0"
)
private
int
userId
;
private
int
level
;
private
ArrayList
<
ParentPartner
>
partnerList
;
private
ArrayList
<
ParentAgent
>
agentList
;
...
...
src/main/java/com/lanren/huhu/partner/service/PartnerAccountService.java
View file @
2dcd2caf
...
...
@@ -59,4 +59,14 @@ public interface PartnerAccountService extends IService<PartnerAccount> {
* @date 2019-06-26 20:13
*/
PartnerAccount
getParentPartner
(
Integer
userId
);
/**
* @description: TODO
* @param ${tags}
* @return ${return_type}
* @throws
* @author chen
* @date 2019-06-28 11:49
*/
List
<
PartnerAccount
>
getChildrenByUserId
(
Integer
userId
);
}
src/main/java/com/lanren/huhu/partner/service/impl/PartnerAccountServiceImpl.java
View file @
2dcd2caf
...
...
@@ -50,4 +50,9 @@ public class PartnerAccountServiceImpl extends ServiceImpl<PartnerAccountMapper,
public
PartnerAccount
getParentPartner
(
Integer
userId
)
{
return
partnerAccountMapper
.
getParentByUserId
(
userId
);
}
@Override
public
List
<
PartnerAccount
>
getChildrenByUserId
(
Integer
userId
)
{
return
partnerAccountMapper
.
getChildrenByUserId
(
userId
);
}
}
src/main/java/com/lanren/huhu/partner/util/PartnerTreeUtil.java
0 → 100644
View file @
2dcd2caf
package
com
.
lanren
.
huhu
.
partner
.
util
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
import
com.lanren.huhu.partner.manager.UserManager
;
import
com.lanren.huhu.partner.model.ParentPartner
;
import
com.lanren.huhu.partner.model.PartnerTree
;
import
com.lanren.huhu.partner.service.PartnerAccountService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.ArrayList
;
/**
* @author chen
* @title: PartnerTreeUtil
* @projectName partner
* @description: 用于构建PartnerTree
* @package com.lanren.huhu.partner.util
* @date 2019-06-28 11:19
*/
public
class
PartnerTreeUtil
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PartnerTreeUtil
.
class
);
private
PartnerAccountService
partnerAccountService
;
private
UserManager
userManager
;
/**
* 根据输入的userId, 完成递归查找
* @param userId
*/
public
boolean
findPartnerChiledren
(
Integer
userId
,
PartnerAccountService
partnerAccountService
,
UserManager
userManager
)
{
try
{
logger
.
info
(
"start findPartnerChiledren for userId: {} ..."
,
userId
);
logger
.
info
(
"partnerAccountService is null ? : {}"
,
partnerAccountService
==
null
);
this
.
partnerAccountService
=
partnerAccountService
;
this
.
userManager
=
userManager
;
PartnerAccount
partnerAccount
=
partnerAccountService
.
getOneByUserId
(
userId
);
int
partnerLevel
=
partnerAccount
.
getIsSuperPartner
()
==
1
?
30
:
partnerAccount
.
getPartnerLevel
();
PartnerTree
root
=
new
PartnerTree
();
root
.
setUserId
(
partnerAccount
.
getUserId
());
root
.
setLevel
(
partnerLevel
);
root
.
setParentList
(
new
ArrayList
<
ParentPartner
>());
recursiveSet
(
root
);
logger
.
info
(
"done findPartnerChiledren for userId: {}"
,
userId
);
return
true
;
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
return
false
;
}
}
/**
* 递归查找, 完成输入的tree的所有下级查找
* @param tree
*/
private
void
recursiveSet
(
PartnerTree
tree
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"do recursiveSet for userId: {}"
,
tree
.
getUserId
());
}
/**
* 先找到直接下级
*/
setChildren
(
tree
);
ArrayList
<
PartnerTree
>
children
=
tree
.
getChildrenList
();
/**
* 如果没有下级了 那么直接输出结果
*/
if
(
children
.
size
()
==
0
)
{
outputTree
(
tree
);
}
else
{
/**
* 如果有直接下级, 遍历下级, 对每个下级再执行recursiveSet
*/
for
(
PartnerTree
child
:
children
)
{
recursiveSet
(
child
);
/**
* 当完成 对每个下级再执行recursiveSet 之后
* 判断一下, 每个下级是否有直接下级
* 如果有 那么在各自的recursiveSet中 应该没有走到 line:52 的outputTree 方法
* 所以要在这里执行一次, 把他们自己输出
*/
if
(
child
.
getChildrenList
().
size
()
>
0
)
{
outputTree
(
child
);
}
}
}
}
/**
* 完成刷新用户缓存数据
* @param tree
*/
private
void
outputTree
(
PartnerTree
tree
)
{
StringBuilder
sb
=
new
StringBuilder
();
ArrayList
<
ParentPartner
>
list
=
tree
.
getParentList
();
for
(
ParentPartner
p
:
list
)
{
sb
.
append
(
p
.
getUserId
()).
append
(
","
);
}
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"begin to refresh cache......"
);
logger
.
info
(
"userId: {}, parent is: {}"
,
tree
.
getUserId
(),
sb
.
toString
());
}
userManager
.
deleteRalationByUserId
(
tree
.
getUserId
());
userManager
.
getRelationByUserId
(
tree
.
getUserId
());
}
/**
* 无递归操作, 只往下查找一级
* 把下级的数据, 设置到输入的tree中的childrenList
* @param tree
*/
private
void
setChildren
(
PartnerTree
tree
)
{
ArrayList
<
PartnerAccount
>
partnerAccountArrayList
=
(
ArrayList
<
PartnerAccount
>)
partnerAccountService
.
getChildrenByUserId
(
tree
.
getUserId
());
for
(
PartnerAccount
partnerAccount
:
partnerAccountArrayList
)
{
Integer
childId
=
partnerAccount
.
getUserId
();
Integer
childLevel
=
partnerAccount
.
getIsSuperPartner
()
==
1
?
30
:
partnerAccount
.
getPartnerLevel
();
if
(!
tree
.
getParentList
().
contains
(
childId
))
{
ArrayList
<
ParentPartner
>
parentList4Child
=
tree
.
cloneParent
();
parentList4Child
.
add
(
new
ParentPartner
(
tree
.
getUserId
(),
tree
.
getLevel
()));
PartnerTree
oneChild
=
new
PartnerTree
();
oneChild
.
setUserId
(
childId
);
oneChild
.
setLevel
(
childLevel
);
oneChild
.
setParentList
(
parentList4Child
);
tree
.
getChildrenList
().
add
(
oneChild
);
}
}
}
}
src/main/resources/mapper/UserAgentMapper.xml
0 → 100644
View file @
2dcd2caf
This diff is collapsed.
Click to expand it.
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