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
a42f375c
Commit
a42f375c
authored
Jul 02, 2019
by
guanchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复互为邀请人导致的死循环bug
处理平推奖励时, 按平推id查找上级
parent
fb959665
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
76 additions
and
12 deletions
+76
-12
UserAgentMapper.java
...ain/java/com/lanren/huhu/partner/dao/UserAgentMapper.java
+3
-4
UserAgent.java
src/main/java/com/lanren/huhu/partner/domain/UserAgent.java
+1
-1
ParentPartner.java
...ain/java/com/lanren/huhu/partner/model/ParentPartner.java
+19
-0
AgentRewardQueueTask.java
...om/lanren/huhu/partner/schedule/AgentRewardQueueTask.java
+7
-3
UserAgentService.java
...ava/com/lanren/huhu/partner/service/UserAgentService.java
+16
-1
UserService.java
...ain/java/com/lanren/huhu/partner/service/UserService.java
+2
-2
UserAgentServiceImpl.java
...anren/huhu/partner/service/impl/UserAgentServiceImpl.java
+28
-1
UserServiceImpl.java
...com/lanren/huhu/partner/service/impl/UserServiceImpl.java
+0
-0
No files found.
src/main/java/com/lanren/huhu/partner/dao/UserAgentMapper.java
View file @
a42f375c
...
@@ -8,9 +8,6 @@ import org.apache.ibatis.annotations.Select;
...
@@ -8,9 +8,6 @@ import org.apache.ibatis.annotations.Select;
import
java.util.List
;
import
java.util.List
;
/**
* @author houseme
*/
@Mapper
@Mapper
public
interface
UserAgentMapper
extends
BaseMapper
<
UserAgent
>
{
public
interface
UserAgentMapper
extends
BaseMapper
<
UserAgent
>
{
int
updateBatch
(
List
<
UserAgent
>
list
);
int
updateBatch
(
List
<
UserAgent
>
list
);
...
@@ -23,12 +20,13 @@ public interface UserAgentMapper extends BaseMapper<UserAgent> {
...
@@ -23,12 +20,13 @@ public interface UserAgentMapper extends BaseMapper<UserAgent> {
/**
/**
* 按agentId查找上级 UserAgent
* 按agentId查找上级 UserAgent
* 注意!!!!!!!!!!!! 查找上级用的是字段 presenter_id
* @param agentId
* @param agentId
* @return
* @return
*/
*/
@Select
(
"SELECT b.* "
+
@Select
(
"SELECT b.* "
+
"FROM user_agent a "
+
"FROM user_agent a "
+
"JOIN user_agent b on a.p
arent_agent
_id=b.agent_id "
+
"JOIN user_agent b on a.p
resenter
_id=b.agent_id "
+
"WHERE a.agent_id=#{agentId} and b.agent_level<=4"
)
"WHERE a.agent_id=#{agentId} and b.agent_level<=4"
)
UserAgent
getParentAgent
(
Integer
agentId
);
UserAgent
getParentAgent
(
Integer
agentId
);
}
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/domain/UserAgent.java
View file @
a42f375c
...
@@ -11,7 +11,7 @@ import lombok.Data;
...
@@ -11,7 +11,7 @@ import lombok.Data;
@Data
@Data
@TableName
(
value
=
"user_agent"
)
@TableName
(
value
=
"user_agent"
)
public
class
UserAgent
implements
Serializable
{
public
class
UserAgent
implements
Serializable
{
@TableId
(
value
=
"agent_id"
,
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"agent_id"
,
type
=
IdType
.
AUTO
)
private
Integer
agentId
;
private
Integer
agentId
;
@TableField
(
value
=
"user_id"
)
@TableField
(
value
=
"user_id"
)
...
...
src/main/java/com/lanren/huhu/partner/model/ParentPartner.java
View file @
a42f375c
...
@@ -20,4 +20,23 @@ public class ParentPartner extends BaseModel {
...
@@ -20,4 +20,23 @@ public class ParentPartner extends BaseModel {
this
.
userId
=
userId
;
this
.
userId
=
userId
;
this
.
level
=
level
;
this
.
level
=
level
;
}
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
{
return
false
;
}
if
(
this
==
obj
)
{
return
true
;
}
if
(
obj
instanceof
ParentPartner
){
ParentPartner
parentPartner
=
(
ParentPartner
)
obj
;
if
(
parentPartner
.
userId
==
this
.
userId
)
{
return
true
;
}
else
{
return
false
;
}
}
return
false
;
}
}
}
src/main/java/com/lanren/huhu/partner/schedule/AgentRewardQueueTask.java
View file @
a42f375c
...
@@ -6,7 +6,6 @@ import com.lanren.huhu.partner.domain.AgentReward;
...
@@ -6,7 +6,6 @@ import com.lanren.huhu.partner.domain.AgentReward;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.model.AgentRewardMessage
;
import
com.lanren.huhu.partner.model.AgentRewardMessage
;
import
com.lanren.huhu.partner.model.ParentAgent
;
import
com.lanren.huhu.partner.model.ParentAgent
;
import
com.lanren.huhu.partner.model.User
;
import
com.lanren.huhu.partner.service.AgentRewardService
;
import
com.lanren.huhu.partner.service.AgentRewardService
;
import
com.lanren.huhu.partner.service.PartnerAccountService
;
import
com.lanren.huhu.partner.service.PartnerAccountService
;
import
com.lanren.huhu.partner.service.UserAgentService
;
import
com.lanren.huhu.partner.service.UserAgentService
;
...
@@ -109,8 +108,13 @@ public class AgentRewardQueueTask {
...
@@ -109,8 +108,13 @@ public class AgentRewardQueueTask {
logger
.
info
(
"代理商id: {} 不是城市代理, 跳过不处理"
,
message
);
logger
.
info
(
"代理商id: {} 不是城市代理, 跳过不处理"
,
message
);
return
;
return
;
}
}
User
user
=
userService
.
getRelationByUserId
(
userAgent
.
getUserId
());
/**
ArrayList
<
ParentAgent
>
parentList
=
user
.
getAgentList
();
* 这里的逻辑有问题, 不能用这个接口找上级, 因为会先找一次直接邀请人,
* 只能按message.getAgentId()的代理商id, 找user_agent表里的上级
*/
// User user = userService.getRelationByUserId(userAgent.getUserId());
// ArrayList<ParentAgent> parentList = user.getAgentList();
ArrayList
<
ParentAgent
>
parentList
=
(
ArrayList
<
ParentAgent
>)
userAgentService
.
getParentAgentListByAgentId
(
userAgent
.
getAgentId
());
ArrayList
<
ParentAgent
>
level4List
=
new
ArrayList
<
ParentAgent
>();
ArrayList
<
ParentAgent
>
level4List
=
new
ArrayList
<
ParentAgent
>();
if
(
parentList
.
size
()
>
0
)
{
if
(
parentList
.
size
()
>
0
)
{
/**
/**
...
...
src/main/java/com/lanren/huhu/partner/service/UserAgentService.java
View file @
a42f375c
...
@@ -2,10 +2,11 @@ package com.lanren.huhu.partner.service;
...
@@ -2,10 +2,11 @@ package com.lanren.huhu.partner.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.model.ParentAgent
;
import
java.util.List
;
import
java.util.List
;
public
interface
UserAgentService
extends
IService
<
UserAgent
>{
public
interface
UserAgentService
extends
IService
<
UserAgent
>
{
int
updateBatch
(
List
<
UserAgent
>
list
);
int
updateBatch
(
List
<
UserAgent
>
list
);
...
@@ -21,4 +22,18 @@ public interface UserAgentService extends IService<UserAgent>{
...
@@ -21,4 +22,18 @@ public interface UserAgentService extends IService<UserAgent>{
* @return
* @return
*/
*/
UserAgent
getOneByAgentId
(
Integer
agentId
);
UserAgent
getOneByAgentId
(
Integer
agentId
);
/**
* @description: 查找一个用户的全部代理商上级, 根据字段presenter_id
* @param agentId
* @return List<ParentAgent>
*/
List
<
ParentAgent
>
getParentAgentListByAgentId
(
Integer
agentId
);
/**
* @description: 查找一个用户的直接代理商上级, 根据字段presenter_id
* @param agentId
* @return ParentAgent
*/
ParentAgent
getParentAgentByAgentId
(
Integer
agentId
);
}
}
src/main/java/com/lanren/huhu/partner/service/UserService.java
View file @
a42f375c
package
com
.
lanren
.
huhu
.
partner
.
service
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.model.User
;
import
java.util.List
;
/** * @author houseme * @date 2019-06-28 18:35 * @Project partner * @Package com.lanren.huhu.partner.service * @File: UserService */
public
interface
UserService
{
/** * @description: 根据用户id, 查找一个用户的全部合伙人上级 和 代理商上级 * 缓存用户邀请关系和代理商关系数据 * 缓存不能带有构造方法的Bean 所以只能返回User的Bean * 包装Result在Cacheable注解的方法之外进行操作 * @param userId * @return User * @throws * @author chen * @date 2019-06-26 20:01 */
User
getRelationByUserId
(
Integer
userId
);
/** * 清理用户缓存 */
boolean
deleteRalationByUserId
(
Integer
userId
);
/*** * PartnerAccount * * 根据用户id查询账户信息 * @param userId * @return PartnerAccount */
PartnerAccount
getPartnerAccountByUserId
(
Integer
userId
);
/** * @description: 根据用户id查询全部下级合伙人 * @param userId * @return List<PartnerAccount> * @author chen * @date 2019-06-28 11:49 */
List
<
PartnerAccount
>
getPartnerAccountChildrenByUserId
(
Integer
userId
);
/*** * UserAgent * 根据用户id查询账户信息 * @param userId * @return */
UserAgent
getUserAgentByUserId
(
Integer
userId
);
// /** // * 按userId查找上级合伙人的 userId 和 level // * @param userId // * @return // */ // ParentPartner getParentPartner(Integer userId); // /** // * @description: 查找一个用户的全部合伙人上级, set到User对象的partnerList中 // * @param userId // * @author chen // * @return List<ParentPartner> // */ // List<ParentPartner> getPartnerListByUserId(Integer userId); // /** // * 按agentId 查找上级代理商的 agentId 和 level // * @param agentId // * @return // */ // ParentAgent getParentAgent(Integer agentId); // /** // * @description: 查找一个用户的全部代理商上级 set到User对象的agentList中 // * @param userId // * @return List<ParentAgent> // */ // List<ParentAgent> getAgentListByUserId(Integer userId); }
package
com
.
lanren
.
huhu
.
partner
.
service
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.model.User
;
import
java.util.List
;
/** * @author houseme * @date 2019-06-28 18:35 * @Project partner * @Package com.lanren.huhu.partner.service * @File: UserService */
public
interface
UserService
{
/** * @description: 根据用户id, 查找一个用户的全部合伙人上级 和 代理商上级 * 缓存用户邀请关系和代理商关系数据 * 缓存不能带有构造方法的Bean 所以只能返回User的Bean * 包装Result在Cacheable注解的方法之外进行操作 * 注意 !!!!!!!! 这个方法是按输入用户的邀请关系链上查找 第一个有agent_level<=4的代理商身份的邀请人, 然后再走他的代理关系 * 注意 !!!!!!!! 如果需要获取一个代理商的上级代理 需要从UserAgentService里的方法获取 * @param userId * @return User * @throws * @author chen * @date 2019-06-26 20:01 */
User
getRelationByUserId
(
Integer
userId
);
/** * 清理用户缓存 */
boolean
deleteRalationByUserId
(
Integer
userId
);
/*** * PartnerAccount * * 根据用户id查询账户信息 * @param userId * @return PartnerAccount */
PartnerAccount
getPartnerAccountByUserId
(
Integer
userId
);
/** * @description: 根据用户id查询全部下级合伙人 * @param userId * @return List<PartnerAccount> * @author chen * @date 2019-06-28 11:49 */
List
<
PartnerAccount
>
getPartnerAccountChildrenByUserId
(
Integer
userId
);
/*** * UserAgent * 根据用户id查询账户信息 * @param userId * @return */
UserAgent
getUserAgentByUserId
(
Integer
userId
);
// /** // * 按userId查找上级合伙人的 userId 和 level // * @param userId // * @return // */ // ParentPartner getParentPartner(Integer userId); // /** // * @description: 查找一个用户的全部合伙人上级, set到User对象的partnerList中 // * @param userId // * @author chen // * @return List<ParentPartner> // */ // List<ParentPartner> getPartnerListByUserId(Integer userId); // /** // * 按agentId 查找上级代理商的 agentId 和 level // * @param agentId // * @return // */ // ParentAgent getParentAgent(Integer agentId); // /** // * @description: 查找一个用户的全部代理商上级 set到User对象的agentList中 // * @param userId // * @return List<ParentAgent> // */ // List<ParentAgent> getAgentListByUserId(Integer userId); }
\ No newline at end of file
\ No newline at end of file
...
...
src/main/java/com/lanren/huhu/partner/service/impl/UserAgentServiceImpl.java
View file @
a42f375c
...
@@ -4,17 +4,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...
@@ -4,17 +4,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.lanren.huhu.partner.dao.UserAgentMapper
;
import
com.lanren.huhu.partner.dao.UserAgentMapper
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.model.ParentAgent
;
import
com.lanren.huhu.partner.service.UserAgentService
;
import
com.lanren.huhu.partner.service.UserAgentService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* @author chen
* @author chen
*/
*/
@Service
@Service
public
class
UserAgentServiceImpl
extends
ServiceImpl
<
UserAgentMapper
,
UserAgent
>
implements
UserAgentService
{
public
class
UserAgentServiceImpl
extends
ServiceImpl
<
UserAgentMapper
,
UserAgent
>
implements
UserAgentService
{
@Autowired
@Autowired
UserAgentMapper
userAgentMapper
;
UserAgentMapper
userAgentMapper
;
...
@@ -23,14 +25,17 @@ public class UserAgentServiceImpl extends ServiceImpl<UserAgentMapper, UserAgent
...
@@ -23,14 +25,17 @@ public class UserAgentServiceImpl extends ServiceImpl<UserAgentMapper, UserAgent
public
int
updateBatch
(
List
<
UserAgent
>
list
)
{
public
int
updateBatch
(
List
<
UserAgent
>
list
)
{
return
baseMapper
.
updateBatch
(
list
);
return
baseMapper
.
updateBatch
(
list
);
}
}
@Override
@Override
public
int
batchInsert
(
List
<
UserAgent
>
list
)
{
public
int
batchInsert
(
List
<
UserAgent
>
list
)
{
return
baseMapper
.
batchInsert
(
list
);
return
baseMapper
.
batchInsert
(
list
);
}
}
@Override
@Override
public
int
insertOrUpdate
(
UserAgent
record
)
{
public
int
insertOrUpdate
(
UserAgent
record
)
{
return
baseMapper
.
insertOrUpdate
(
record
);
return
baseMapper
.
insertOrUpdate
(
record
);
}
}
@Override
@Override
public
int
insertOrUpdateSelective
(
UserAgent
record
)
{
public
int
insertOrUpdateSelective
(
UserAgent
record
)
{
return
baseMapper
.
insertOrUpdateSelective
(
record
);
return
baseMapper
.
insertOrUpdateSelective
(
record
);
...
@@ -44,4 +49,26 @@ public class UserAgentServiceImpl extends ServiceImpl<UserAgentMapper, UserAgent
...
@@ -44,4 +49,26 @@ public class UserAgentServiceImpl extends ServiceImpl<UserAgentMapper, UserAgent
;
;
return
baseMapper
.
selectOne
(
queryWrapper
);
return
baseMapper
.
selectOne
(
queryWrapper
);
}
}
@Override
public
List
<
ParentAgent
>
getParentAgentListByAgentId
(
Integer
agentId
)
{
List
<
ParentAgent
>
returnList
=
new
ArrayList
<
ParentAgent
>();
int
loogAgentId
=
agentId
;
while
(
true
)
{
ParentAgent
parentAgent
=
getParentAgentByAgentId
(
loogAgentId
);
if
(
null
==
parentAgent
)
{
break
;
}
else
{
returnList
.
add
(
parentAgent
);
loogAgentId
=
parentAgent
.
getAgentId
();
}
}
return
returnList
;
}
@Override
public
ParentAgent
getParentAgentByAgentId
(
Integer
agentId
)
{
UserAgent
userAgent
=
baseMapper
.
getParentAgent
(
agentId
);
return
new
ParentAgent
(
userAgent
.
getUserId
(),
userAgent
.
getAgentId
(),
userAgent
.
getAgentLevel
());
}
}
}
src/main/java/com/lanren/huhu/partner/service/impl/UserServiceImpl.java
View file @
a42f375c
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