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
1a141efa
Commit
1a141efa
authored
Jul 12, 2019
by
guanchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新汇总拓展用户
parent
b5d62299
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
127 additions
and
116 deletions
+127
-116
RedisConfiguration.java
...va/com/lanren/huhu/partner/config/RedisConfiguration.java
+3
-1
Constants.java
...ain/java/com/lanren/huhu/partner/constants/Constants.java
+0
-1
PartnerInviteRelationMapper.java
.../lanren/huhu/partner/dao/PartnerInviteRelationMapper.java
+15
-5
PartnerInviteRelationSqlProvider.java
...en/huhu/partner/dao/PartnerInviteRelationSqlProvider.java
+0
-22
UserAgentMapper.java
...ain/java/com/lanren/huhu/partner/dao/UserAgentMapper.java
+1
-1
AgentManager.java
...in/java/com/lanren/huhu/partner/manager/AgentManager.java
+1
-0
AgentRewardMessage.java
...ava/com/lanren/huhu/partner/model/AgentRewardMessage.java
+1
-0
AgentDailyExpandTask.java
...om/lanren/huhu/partner/schedule/AgentDailyExpandTask.java
+50
-37
AgentRewardQueueTask.java
...om/lanren/huhu/partner/schedule/AgentRewardQueueTask.java
+6
-3
PartnerSettleTask.java
...a/com/lanren/huhu/partner/schedule/PartnerSettleTask.java
+1
-2
PartnerInviteRelationService.java
...en/huhu/partner/service/PartnerInviteRelationService.java
+5
-7
PartnerInviteRelationServiceImpl.java
...artner/service/impl/PartnerInviteRelationServiceImpl.java
+13
-10
UserServiceImpl.java
...com/lanren/huhu/partner/service/impl/UserServiceImpl.java
+2
-2
application.yml
src/main/resources/application.yml
+1
-1
logback.xml
src/main/resources/logback.xml
+3
-3
PartnerInviteRelationMapper.xml
src/main/resources/mapper/PartnerInviteRelationMapper.xml
+25
-21
No files found.
src/main/java/com/lanren/huhu/partner/config/RedisConfiguration.java
View file @
1a141efa
...
...
@@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Scope
;
import
org.springframework.data.redis.cache.RedisCacheConfiguration
;
import
org.springframework.data.redis.cache.RedisCacheManager
;
import
org.springframework.data.redis.cache.RedisCacheWriter
;
...
...
@@ -19,7 +20,6 @@ import org.springframework.data.redis.connection.lettuce.LettucePoolingClientCon
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.RedisSerializationContext
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
import
org.springframework.util.ObjectUtils
;
/**
* @author houseme
...
...
@@ -47,6 +47,7 @@ public class RedisConfiguration {
}
@Bean
@Scope
(
"prototype"
)
public
RedisTemplate
redisTemplate
(
RedisConnectionFactory
redisConnectionFactory
)
{
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
redisTemplate
.
setConnectionFactory
(
redisConnectionFactory
);
...
...
@@ -68,6 +69,7 @@ public class RedisConfiguration {
}
@Bean
@Scope
(
"prototype"
)
public
RedisTemplate
redisTemplatePush
(
@Value
(
"${spring.redis.database2}"
)
int
pushDb
,
@Value
(
"${spring.redis.host}"
)
String
host
,
@Value
(
"${spring.redis.port}"
)
int
port
,
...
...
src/main/java/com/lanren/huhu/partner/constants/Constants.java
View file @
1a141efa
...
...
@@ -35,7 +35,6 @@ public class Constants {
public
static
final
int
AGENT_LEVEL_2
=
2
;
public
static
final
int
AGENT_LEVEL_3
=
3
;
public
static
final
int
AGENT_LEVEL_4
=
4
;
public
static
final
String
DATE_FORMAT
=
"yyyy-MM-dd hh:mm:ss"
;
public
static
final
String
DISTRIBUTE_REDIS_LOCK_KEY
=
"huhu:partner:distribute:redis:key"
;
public
static
final
String
PARENT_COLUMN_NAME_CENGJI
=
"parent_agent_id"
;
public
static
final
String
PARENT_COLUMN_NAME_PINGTUI
=
"presenter_id"
;
...
...
src/main/java/com/lanren/huhu/partner/dao/PartnerInviteRelationMapper.java
View file @
1a141efa
package
com
.
lanren
.
huhu
.
partner
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.lanren.huhu.partner.domain.PartnerInviteRelation
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.SelectProvider
;
import
java.util.List
;
@Mapper
public
interface
PartnerInviteRelationMapper
extends
BaseMapper
<
PartnerInviteRelation
>
{
...
...
@@ -18,6 +19,14 @@ public interface PartnerInviteRelationMapper extends BaseMapper<PartnerInviteRel
int
insertOrUpdateSelective
(
PartnerInviteRelation
record
);
@SelectProvider
(
type
=
PartnerInviteRelationSqlProvider
.
class
,
method
=
"getPartnerInviteRelationListByRegDay"
)
List
<
PartnerInviteRelation
>
getPartnerInviteRelationListByRegDay
(
String
datStr
);
/**
* <p>
* 查询 : 根据state状态查询用户列表,分页显示
* 注意!!: 如果入参是有多个,需要加注解指定参数名才能在xml中取值
* </p>
*
* @param page 分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承Page实现自己的分页对象)
* @return 分页对象
*/
IPage
<
PartnerInviteRelation
>
selectPageByTs
(
Page
<
PartnerInviteRelation
>
page
,
@Param
(
"beginTs"
)
Long
beginTs
,
@Param
(
"endTs"
)
Long
endTs
);
}
\ No newline at end of file
src/main/java/com/lanren/huhu/partner/dao/PartnerInviteRelationSqlProvider.java
deleted
100644 → 0
View file @
b5d62299
package
com
.
lanren
.
huhu
.
partner
.
dao
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
/**
* @author chen
* @title: PartnerInviteRelationSqlProvider
* @projectName partner
* @description: TODO
* @package com.lanren.huhu.partner.dao
* @date 2019-07-08 17:57
*/
public
class
PartnerInviteRelationSqlProvider
{
public
String
getPartnerInviteRelationListByRegDay
(
@Param
(
"datStr"
)
String
datStr
)
{
return
"SELECT * "
+
"FROM partner_invite_relation "
+
"WHERE regiter_time "
+
"BETWEEN UNIX_TIMESTAMP('"
+
datStr
+
" 00:00:00') "
+
"AND UNIX_TIMESTAMP('"
+
datStr
+
" 23:59:59');"
;
}
}
src/main/java/com/lanren/huhu/partner/dao/UserAgentMapper.java
View file @
1a141efa
...
...
@@ -39,7 +39,7 @@ public interface UserAgentMapper extends BaseMapper<UserAgent> {
// @Select("SELECT b.* " +
// "FROM user_agent a " +
// "JOIN user_agent b on a.#{parentColumnName}=b.agent_id " +
// "WHERE
a
.user_id=#{userId}")
// "WHERE
b
.user_id=#{userId}")
// List<UserAgent> getChildListByUserId(Integer userId, String parentColumnName);
@SelectProvider
(
type
=
UserAgentSqlProvider
.
class
,
method
=
"getChildListByUserId"
)
...
...
src/main/java/com/lanren/huhu/partner/manager/AgentManager.java
View file @
1a141efa
...
...
@@ -71,6 +71,7 @@ public class AgentManager {
agentRewardMessage
.
setOrderSn
(
"507596802910534728"
);
agentRewardMessage
.
setSubOrderSn
(
"507596802910534728"
);
agentRewardMessage
.
setOrderCommission
(
new
BigDecimal
(
"35.400000"
));
agentRewardMessage
.
setSourceOrder
(
"8888"
);
logger
.
info
(
"写入队列"
);
ops
.
leftPush
(
AGENT_REWARD_QUEUE_KEY
,
JSON
.
toJSONString
(
agentRewardMessage
));
return
new
Result
<>();
...
...
src/main/java/com/lanren/huhu/partner/model/AgentRewardMessage.java
View file @
1a141efa
...
...
@@ -31,6 +31,7 @@ public class AgentRewardMessage extends BaseModel {
String
orderTitle
;
String
rewardTypeChild
;
String
orderRateArray
;
String
sourceOrder
;
// public AgentRewardMessage(int rewardType, String rechargeTime, int sourceUserId, String referenceId, int agentId, BigDecimal agentReward, int settleState, String orderType, String orderSn, String subOrderSn, BigDecimal orderCommission) {
// this.rewardType = rewardType;
// this.rechargeTime = rechargeTime;
...
...
src/main/java/com/lanren/huhu/partner/schedule/AgentDailyExpandTask.java
View file @
1a141efa
package
com
.
lanren
.
huhu
.
partner
.
schedule
;
import
com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties
;
import
com.lanren.huhu.partner.constants.Constants
;
import
com.lanren.huhu.partner.domain.AgentExpandDaily
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.lanren.huhu.partner.domain.AgentExpandDetail
;
import
com.lanren.huhu.partner.domain.PartnerInviteRelation
;
import
com.lanren.huhu.partner.domain.UserAgent
;
import
com.lanren.huhu.partner.model.User
;
import
com.lanren.huhu.partner.model.ParentAgent
;
import
com.lanren.huhu.partner.service.AgentExpandDailyService
;
import
com.lanren.huhu.partner.service.AgentExpandDetailService
;
import
com.lanren.huhu.partner.service.PartnerInviteRelationService
;
import
com.lanren.huhu.partner.service.UserService
;
import
com.lanren.huhu.partner.util.DateUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -18,9 +17,6 @@ import org.springframework.scheduling.annotation.Async;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -37,6 +33,8 @@ import static com.lanren.huhu.partner.constants.Constants.PARENT_COLUMN_NAME_CEN
@Component
public
class
AgentDailyExpandTask
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
AgentDailyExpandTask
.
class
);
private
static
final
int
PAGE_SIZE
=
1000
;
private
static
final
long
DELAY
=
2
*
60
*
60
*
1000L
;
@Autowired
PartnerInviteRelationService
partnerInviteRelationService
;
...
...
@@ -46,41 +44,56 @@ public class AgentDailyExpandTask {
AgentExpandDetailService
agentExpandDetailService
;
@Autowired
AgentExpandDailyService
agentExpandDailyService
;
@Autowired
MybatisPlusProperties
mybatisPlusProperties
;
// @Scheduled(cron="0 5 */2 * * *")
@Scheduled
(
fixedDelay
=
10000L
)
@Scheduled
(
fixedDelay
=
DELAY
)
public
void
runScheduledTask
()
{
logger
.
info
(
"MapperLocations is: {}"
,
mybatisPlusProperties
.
getMapperLocations
());
// logger.info("run AgentDailyExpandTask");
// runSummary();
try
{
Date
dat
=
new
Date
(
System
.
currentTimeMillis
()
-
DELAY
);
String
datStr
=
DateUtils
.
format
(
dat
,
DateUtils
.
FORMAT_SHORT
);
logger
.
info
(
"run AgentDailyExpandTask {}"
,
datStr
);
runSummary
(
datStr
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
@Async
public
void
runSummary
()
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
int
now
=
(
int
)(
System
.
currentTimeMillis
()
/
1000L
);
Date
dat
=
new
Date
(
System
.
currentTimeMillis
()
-
10
*
60
*
1000L
);
String
datStr
=
df
.
format
(
dat
);
datStr
=
"2019-07-06"
;
List
<
PartnerInviteRelation
>
partnerInviteRelationList
=
partnerInviteRelationService
.
getPartnerInviteRelationListByRegDay
(
datStr
);
for
(
PartnerInviteRelation
partnerInviteRelation
:
partnerInviteRelationList
)
{
List
<
UserAgent
>
userAgentList
=
userService
.
getUserAgentChildListByUserId
(
partnerInviteRelation
.
getUserId
(),
PARENT_COLUMN_NAME_CENGJI
);
for
(
UserAgent
userAgent
:
userAgentList
)
{
AgentExpandDetail
detail
=
new
AgentExpandDetail
();
detail
.
setDat
(
dat
);
detail
.
setAgentId
(
userAgent
.
getAgentId
());
detail
.
setUserId
(
userAgent
.
getUserId
());
detail
.
setExpandUserId
(
partnerInviteRelation
.
getUserId
());
detail
.
setExpandUserRegTime
(
new
Date
(
partnerInviteRelation
.
getRegiterTime
()
*
1000L
));
detail
.
setCreatedAt
(
now
);
detail
.
setUpdatedAt
(
now
);
agentExpandDetailService
.
insertOrUpdate
(
detail
);
public
void
runSummary
(
String
datStr
)
{
try
{
Date
dat
=
DateUtils
.
parse
(
datStr
,
DateUtils
.
FORMAT_SHORT
);
int
now
=
(
int
)(
System
.
currentTimeMillis
()
/
1000L
);
int
pageNo
=
1
;
long
beginTs
=
DateUtils
.
parse
(
datStr
,
DateUtils
.
FORMAT_SHORT
).
getTime
()
/
1000L
;
long
endTs
=
beginTs
+
24
*
60
*
60L
-
1L
;
while
(
true
)
{
Page
<
PartnerInviteRelation
>
page
=
new
Page
<
PartnerInviteRelation
>(
pageNo
,
PAGE_SIZE
);
IPage
<
PartnerInviteRelation
>
ipage
=
partnerInviteRelationService
.
selectPageByTs
(
page
,
beginTs
,
endTs
);
List
<
PartnerInviteRelation
>
partnerInviteRelationList
=
ipage
.
getRecords
();
if
(
partnerInviteRelationList
!=
null
&&
partnerInviteRelationList
.
size
()
>
0
)
{
for
(
PartnerInviteRelation
partnerInviteRelation
:
partnerInviteRelationList
)
{
List
<
ParentAgent
>
parentAgentList
=
userService
.
getAgentListByUserId
(
partnerInviteRelation
.
getUserId
(),
PARENT_COLUMN_NAME_CENGJI
);
for
(
ParentAgent
parentAgent
:
parentAgentList
)
{
AgentExpandDetail
detail
=
new
AgentExpandDetail
();
detail
.
setDat
(
dat
);
detail
.
setAgentId
(
parentAgent
.
getAgentId
());
detail
.
setUserId
(
parentAgent
.
getUserId
());
detail
.
setExpandUserId
(
partnerInviteRelation
.
getUserId
());
detail
.
setExpandUserRegTime
(
new
Date
(
partnerInviteRelation
.
getRegiterTime
()
*
1000L
));
detail
.
setCreatedAt
(
now
);
detail
.
setUpdatedAt
(
now
);
agentExpandDetailService
.
insertOrUpdate
(
detail
);
}
}
if
(
partnerInviteRelationList
.
size
()
>
0
)
{
agentExpandDailyService
.
updateByDatByDetail
(
datStr
);
}
pageNo
++;
}
else
{
break
;
}
}
}
if
(
partnerInviteRelationList
.
size
()
>
0
)
{
agentExpandDailyService
.
updateByDatByDetail
(
datStr
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
}
src/main/java/com/lanren/huhu/partner/schedule/AgentRewardQueueTask.java
View file @
1a141efa
...
...
@@ -25,8 +25,7 @@ import org.springframework.scheduling.annotation.Scheduled;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.TransactionDefinition
;
import
org.springframework.transaction.TransactionStatus
;
import
org.springframework.transaction.annotation.Transactional
;
import
sun.management.resources.agent
;
import
org.springframework.util.StringUtils
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
...
...
@@ -240,7 +239,11 @@ public class AgentRewardQueueTask {
agentReward
.
setAgentLevel
(
agent
.
getLevel
());
agentReward
.
setUserId
(
agent
.
getUserId
());
agentReward
.
setRewardRemark
(
AGENT_REWARD_REMARK
.
get
(
message
.
getRewardType
()));
agentReward
.
setSourceOrder
(
message
.
getReferenceId
());
if
(
StringUtils
.
isEmpty
(
message
.
getSourceOrder
()))
{
agentReward
.
setSourceOrder
(
message
.
getReferenceId
());
}
else
{
agentReward
.
setSourceOrder
(
message
.
getSourceOrder
());
}
agentReward
.
setSourceUserLevel
(
sourceUserLevel
);
agentReward
.
setCreatedAt
(
System
.
currentTimeMillis
()
/
1000L
);
agentReward
.
setCommissionRate
(
commissionRate
);
...
...
src/main/java/com/lanren/huhu/partner/schedule/PartnerSettleTask.java
View file @
1a141efa
...
...
@@ -2,7 +2,6 @@ package com.lanren.huhu.partner.schedule;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Component
;
/**
* @author chen
...
...
@@ -12,7 +11,7 @@ import org.springframework.stereotype.Component;
* @package com.lanren.huhu.partner.schedule
* @date 2019-07-02 15:45
*/
@Component
//
@Component
public
class
PartnerSettleTask
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PartnerSettleTask
.
class
);
...
...
src/main/java/com/lanren/huhu/partner/service/PartnerInviteRelationService.java
View file @
1a141efa
package
com
.
lanren
.
huhu
.
partner
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.lanren.huhu.partner.domain.PartnerInviteRelation
;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* @title: ${NAME}
* @projectName partner
...
...
@@ -22,10 +25,5 @@ public interface PartnerInviteRelationService extends IService<PartnerInviteRela
int
insertOrUpdateSelective
(
PartnerInviteRelation
record
);
/**
* 根据日期查找新增用户
* @param datStr
* @return
*/
List
<
PartnerInviteRelation
>
getPartnerInviteRelationListByRegDay
(
String
datStr
);
IPage
<
PartnerInviteRelation
>
selectPageByTs
(
Page
<
PartnerInviteRelation
>
page
,
Long
beginTs
,
Long
endTs
);
}
src/main/java/com/lanren/huhu/partner/service/impl/PartnerInviteRelationServiceImpl.java
View file @
1a141efa
package
com
.
lanren
.
huhu
.
partner
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.lanren.huhu.partner.dao.PartnerInviteRelationMapper
;
import
com.lanren.huhu.partner.domain.PartnerInviteRelation
;
import
com.lanren.huhu.partner.service.PartnerInviteRelationService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.lanren.huhu.partner.domain.PartnerInviteRelation
;
import
java.util.List
;
import
com.lanren.huhu.partner.dao.PartnerInviteRelationMapper
;
import
com.lanren.huhu.partner.service.PartnerInviteRelationService
;
/**
* @title: ${NAME}
* @projectName partner
...
...
@@ -41,8 +41,11 @@ public class PartnerInviteRelationServiceImpl extends ServiceImpl<PartnerInviteR
}
@Override
public
List
<
PartnerInviteRelation
>
getPartnerInviteRelationListByRegDay
(
String
datStr
)
{
logger
.
info
(
"datStr is: {}"
,
datStr
);
return
baseMapper
.
getPartnerInviteRelationListByRegDay
(
datStr
);
public
IPage
<
PartnerInviteRelation
>
selectPageByTs
(
Page
<
PartnerInviteRelation
>
page
,
Long
beginTs
,
Long
endTs
)
{
// 不进行 count sql 优化,解决 MP 无法自动优化 SQL 问题,这时候你需要自己查询 count 部分
// page.setOptimizeCountSql(false);
// 当 total 为非 0 时(默认为 0),分页插件不会进行 count 查询
// 要点!! 分页返回的对象与传入的对象是同一个
return
baseMapper
.
selectPageByTs
(
page
,
beginTs
,
endTs
);
}
}
src/main/java/com/lanren/huhu/partner/service/impl/UserServiceImpl.java
View file @
1a141efa
package
com
.
lanren
.
huhu
.
partner
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.lanren.huhu.partner.dao.PartnerAccountMapper
;
import
com.lanren.huhu.partner.dao.UserAgentMapper
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
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.service.UserService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheConfig
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
com
.
lanren
.
huhu
.
partner
.
constants
.
Constants
.
PARENT_COLUMN_NAME_CENGJI
;
import
static
com
.
lanren
.
huhu
.
partner
.
constants
.
Constants
.
PARENT_COLUMN_NAME_PINGTUI
;
/** * @author houseme * @date 2019-06-28 18:36 * @Project partner * @Package com.lanren.huhu.partner.service.impl * @File: UserServiceImpl */
@Service
@CacheConfig
(
cacheNames
=
"user:relation:cache"
)
public
class
UserServiceImpl
implements
UserService
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
UserServiceImpl
.
class
);
@Autowired
private
UserAgentMapper
userAgentMapper
;
@Autowired
private
PartnerAccountMapper
partnerAccountMapper
;
/** * ****************************************分割线****用户邀请关系*************************************************************** */
/** * 用户上级 合伙人 和 代理 关系 * @param userId * @return */
@Override
@Cacheable
public
User
getRelationByUserId
(
Integer
userId
)
{
logger
.
info
(
"UserServiceImpl get user relation from database, userId: {}"
,
userId
);
User
user
=
new
User
();
user
.
setUserId
(
userId
);
user
.
setPartnerList
((
ArrayList
<
ParentPartner
>)
getPartnerListByUserId
(
userId
));
user
.
setAgentList
((
ArrayList
<
ParentAgent
>)
getAgentListByUserId
(
userId
,
PARENT_COLUMN_NAME_CENGJI
));
user
.
setPingtuiAgentList
((
ArrayList
<
ParentAgent
>)
getAgentListByUserId
(
userId
,
PARENT_COLUMN_NAME_PINGTUI
));
return
user
;
}
@Override
@CacheEvict
(
key
=
"#userId"
)
public
boolean
deleteRalationByUserId
(
Integer
userId
)
{
logger
.
info
(
"UserServiceImpl delete user relation cache, userId: {}"
,
userId
);
return
true
;
}
/** * ****************************************分割线****合伙人*************************************************************** */
/** * 合伙人数据 * @param userId * @return */
@Override
public
PartnerAccount
getPartnerAccountByUserId
(
Integer
userId
)
{
QueryWrapper
<
PartnerAccount
>
queryWrapper
=
new
QueryWrapper
<
PartnerAccount
>();
queryWrapper
.
eq
(
"user_id"
,
userId
);
return
partnerAccountMapper
.
selectOne
(
queryWrapper
);
}
@Override
public
List
<
PartnerAccount
>
getPartnerAccountChildListByUserId
(
Integer
userId
)
{
return
partnerAccountMapper
.
getChildListByUserId
(
userId
);
}
/** * 按userId查找上级合伙人的 userId 和 level * @param userId * @return */
private
ParentPartner
getParentPartner
(
Integer
userId
)
{
PartnerAccount
partnerAccount
=
partnerAccountMapper
.
getParentByUserId
(
userId
);
ParentPartner
parentPartner
=
null
;
if
(
null
!=
partnerAccount
)
{
int
partnerLevel
=
partnerAccount
.
getIsSuperPartner
()
==
1
?
30
:
partnerAccount
.
getPartnerLevel
();
parentPartner
=
new
ParentPartner
(
partnerAccount
.
getUserId
(),
partnerLevel
);
}
return
parentPartner
;
}
/** * @description: 查找一个用户的全部合伙人上级 * @param userId * @author chen * @return List<ParentPartner> */
private
List
<
ParentPartner
>
getPartnerListByUserId
(
Integer
userId
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"UserServiceImpl getPartnerListByUserId for user: {} ......"
,
userId
);
}
ArrayList
<
ParentPartner
>
partnerList
=
new
ArrayList
<
ParentPartner
>();
/** * 无限找 */
int
loopUserId
=
userId
;
int
loopTimes
=
0
;
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
());
}
if
(
partnerList
.
contains
(
parentPartner
)
||
parentPartner
.
getUserId
()
==
userId
)
{
logger
.
info
(
"发现互相邀请的关系 用户({})"
,
parentPartner
.
getUserId
());
logger
.
info
(
"退出循环, 不再继续查找"
);
break
;
}
partnerList
.
add
(
parentPartner
);
loopUserId
=
parentPartner
.
getUserId
();
loopTimes
++;
if
(
loopTimes
>
500
)
{
partnerList
.
clear
();
logger
.
error
(
"用户:{} 邀请关系异常, 已超500层"
,
userId
);
break
;
}
}
}
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"setPartnerList for user: {} end"
,
userId
);
}
return
partnerList
;
}
/** * ****************************************分割线****代理商*************************************************************** */
/** * 代理商数据 * @param userId * @return */
@Override
public
UserAgent
getUserAgentByUserId
(
Integer
userId
)
{
QueryWrapper
<
UserAgent
>
queryWrapper
=
new
QueryWrapper
<
UserAgent
>();
queryWrapper
.
eq
(
"user_id"
,
userId
).
le
(
"agent_level"
,
4
);
return
userAgentMapper
.
selectOne
(
queryWrapper
);
}
@Override
public
List
<
UserAgent
>
getUserAgentChildListByUserId
(
Integer
userId
,
String
parentColumnName
)
{
return
userAgentMapper
.
getChildListByUserId
(
userId
,
parentColumnName
);
}
/** * 按agentId 查找上级代理商的 agentId 和 level * @param agentId * @return */
private
ParentAgent
getParentAgent
(
Integer
agentId
,
String
parentColumnName
)
{
UserAgent
userAgent
=
userAgentMapper
.
getParentAgent
(
agentId
,
parentColumnName
);
ParentAgent
parentAgent
=
null
;
if
(
null
!=
userAgent
)
{
int
agentLevel
=
userAgent
.
getAgentLevel
();
parentAgent
=
new
ParentAgent
(
userAgent
.
getUserId
(),
userAgent
.
getAgentId
(),
agentLevel
);
}
return
parentAgent
;
}
/** * @description: 查找一个用户的全部代理商上级 * 注意 !!!!!!!! 这个方法是按输入用户的邀请关系链上查找 第一个有agent_level<=4的代理商身份的邀请人, 然后再走他的代理关系 * 注意 !!!!!!!! 如果需要获取一个代理商的上级代理 需要从UserAgentService里的方法获取 * @param userId * @return List<ParentAgent> */
@Override
public
List
<
ParentAgent
>
getAgentListByUserId
(
Integer
userId
,
String
parentColumnName
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"getAgentListByUserId for user: {} ......"
,
userId
);
}
ArrayList
<
ParentAgent
>
agentList
=
new
ArrayList
<
ParentAgent
>();
/** * 无限找 * 先无限找上级合伙人, 直到找到第一个是代理商的合伙人 */
/** * 要改成从自己开始找 所以添加判断 看自己是不是 */
UserAgent
selfAgent
=
getUserAgentByUserId
(
userId
);
int
loopUserId
=
userId
;
int
loopTimes
=
0
;
while
(
true
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"now loop uid is {}"
,
loopUserId
);
}
ParentPartner
parentPartner
=
getParentPartner
(
loopUserId
);
/** * 有上级合伙人 或者 自己就是代理商 */
if
(
null
!=
selfAgent
||
null
!=
parentPartner
)
{
UserAgent
firstAgent
;
if
(
null
!=
selfAgent
)
{
firstAgent
=
selfAgent
;
}
else
{
firstAgent
=
getUserAgentByUserId
(
parentPartner
.
getUserId
());
}
/** * 找到了第一个是代理商的合伙人 */
if
(
null
!=
firstAgent
)
{
/** * 然后开始 无限找 这个人的上级代理商 */
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"find first agent({}) for user: {}"
,
firstAgent
.
getAgentId
(),
userId
);
}
agentList
.
add
(
new
ParentAgent
(
firstAgent
.
getUserId
(),
firstAgent
.
getAgentId
(),
firstAgent
.
getAgentLevel
()));
loopTimes
++;
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop find parent agent start ......"
);
}
int
loogAgentId
=
firstAgent
.
getAgentId
();
while
(
true
)
{
ParentAgent
loopUserAgent
=
getParentAgent
(
loogAgentId
,
parentColumnName
);
if
(
null
==
loopUserAgent
)
{
break
;
}
else
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"parent agent is "
,
loopUserAgent
.
getAgentId
());
}
if
(
agentList
.
contains
(
loopUserAgent
)
||
loopUserAgent
.
getAgentId
()
==
firstAgent
.
getAgentId
())
{
logger
.
info
(
"发现互为上级的代理关系 代理商({})"
,
loopUserAgent
.
getAgentId
());
logger
.
info
(
"退出循环, 不再继续查找"
);
break
;
}
agentList
.
add
(
new
ParentAgent
(
loopUserAgent
.
getUserId
(),
loopUserAgent
.
getAgentId
(),
loopUserAgent
.
getLevel
()));
loogAgentId
=
loopUserAgent
.
getAgentId
();
loopTimes
++;
if
(
loopTimes
>
500
)
{
agentList
.
clear
();
logger
.
error
(
"用户ID:{} 代理商关系异常, 已超500层"
,
userId
);
break
;
}
}
}
/** * 找完 "第一个是代理商的合伙人" 的 全部上级代理后 退出while循环 */
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop find parent agent end"
);
}
break
;
}
else
{
/** * 这个人不是代理商 继续往上找 */
loopUserId
=
parentPartner
.
getUserId
();
}
}
else
{
/** * 没有上级合伙人 打印结束信息 跳出循环 */
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop end with userId: {}"
,
loopUserId
);
}
break
;
}
}
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"setAgentList for user: {} end"
,
userId
);
}
return
agentList
;
}
}
\ No newline at end of file
package
com
.
lanren
.
huhu
.
partner
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.lanren.huhu.partner.dao.PartnerAccountMapper
;
import
com.lanren.huhu.partner.dao.UserAgentMapper
;
import
com.lanren.huhu.partner.domain.PartnerAccount
;
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.service.UserService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheConfig
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
static
com
.
lanren
.
huhu
.
partner
.
constants
.
Constants
.
PARENT_COLUMN_NAME_CENGJI
;
import
static
com
.
lanren
.
huhu
.
partner
.
constants
.
Constants
.
PARENT_COLUMN_NAME_PINGTUI
;
/** * @author houseme * @date 2019-06-28 18:36 * @Project partner * @Package com.lanren.huhu.partner.service.impl * @File: UserServiceImpl */
@Service
@CacheConfig
(
cacheNames
=
"user:relation:cache"
)
public
class
UserServiceImpl
implements
UserService
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
UserServiceImpl
.
class
);
@Autowired
private
UserAgentMapper
userAgentMapper
;
@Autowired
private
PartnerAccountMapper
partnerAccountMapper
;
/** * ****************************************分割线****用户邀请关系*************************************************************** */
/** * 用户上级 合伙人 和 代理 关系 * @param userId * @return */
@Override
@Cacheable
public
User
getRelationByUserId
(
Integer
userId
)
{
logger
.
info
(
"UserServiceImpl get user relation from database, userId: {}"
,
userId
);
User
user
=
new
User
();
user
.
setUserId
(
userId
);
user
.
setPartnerList
((
ArrayList
<
ParentPartner
>)
getPartnerListByUserId
(
userId
));
user
.
setAgentList
((
ArrayList
<
ParentAgent
>)
getAgentListByUserId
(
userId
,
PARENT_COLUMN_NAME_CENGJI
));
user
.
setPingtuiAgentList
((
ArrayList
<
ParentAgent
>)
getAgentListByUserId
(
userId
,
PARENT_COLUMN_NAME_PINGTUI
));
return
user
;
}
@Override
@CacheEvict
(
key
=
"#userId"
)
public
boolean
deleteRalationByUserId
(
Integer
userId
)
{
logger
.
info
(
"UserServiceImpl delete user relation cache, userId: {}"
,
userId
);
return
true
;
}
/** * ****************************************分割线****合伙人*************************************************************** */
/** * 合伙人数据 * @param userId * @return */
@Override
public
PartnerAccount
getPartnerAccountByUserId
(
Integer
userId
)
{
QueryWrapper
<
PartnerAccount
>
queryWrapper
=
new
QueryWrapper
<
PartnerAccount
>();
queryWrapper
.
eq
(
"user_id"
,
userId
);
return
partnerAccountMapper
.
selectOne
(
queryWrapper
);
}
@Override
public
List
<
PartnerAccount
>
getPartnerAccountChildListByUserId
(
Integer
userId
)
{
return
partnerAccountMapper
.
getChildListByUserId
(
userId
);
}
/** * 按userId查找上级合伙人的 userId 和 level * @param userId * @return */
private
ParentPartner
getParentPartner
(
Integer
userId
)
{
PartnerAccount
partnerAccount
=
partnerAccountMapper
.
getParentByUserId
(
userId
);
ParentPartner
parentPartner
=
null
;
if
(
null
!=
partnerAccount
)
{
int
partnerLevel
=
partnerAccount
.
getIsSuperPartner
()
==
1
?
30
:
partnerAccount
.
getPartnerLevel
();
parentPartner
=
new
ParentPartner
(
partnerAccount
.
getUserId
(),
partnerLevel
);
}
return
parentPartner
;
}
/** * @description: 查找一个用户的全部合伙人上级 * @param userId * @author chen * @return List<ParentPartner> */
private
List
<
ParentPartner
>
getPartnerListByUserId
(
Integer
userId
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"UserServiceImpl getPartnerListByUserId for user: {} ......"
,
userId
);
}
ArrayList
<
ParentPartner
>
partnerList
=
new
ArrayList
<
ParentPartner
>();
/** * 无限找 */
int
loopUserId
=
userId
;
int
loopTimes
=
0
;
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
());
}
if
(
partnerList
.
contains
(
parentPartner
)
||
parentPartner
.
getUserId
()
==
userId
)
{
logger
.
info
(
"发现互相邀请的关系 用户({})"
,
parentPartner
.
getUserId
());
logger
.
info
(
"退出循环, 不再继续查找"
);
break
;
}
partnerList
.
add
(
parentPartner
);
loopUserId
=
parentPartner
.
getUserId
();
loopTimes
++;
if
(
loopTimes
>
500
)
{
partnerList
.
clear
();
logger
.
error
(
"用户:{} 邀请关系异常, 已超500层"
,
userId
);
break
;
}
}
}
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"setPartnerList for user: {} end"
,
userId
);
}
return
partnerList
;
}
/** * ****************************************分割线****代理商*************************************************************** */
/** * 代理商数据 * @param userId * @return */
@Override
public
UserAgent
getUserAgentByUserId
(
Integer
userId
)
{
QueryWrapper
<
UserAgent
>
queryWrapper
=
new
QueryWrapper
<
UserAgent
>();
queryWrapper
.
eq
(
"user_id"
,
userId
).
le
(
"agent_level"
,
4
);
return
userAgentMapper
.
selectOne
(
queryWrapper
);
}
@Override
public
List
<
UserAgent
>
getUserAgentChildListByUserId
(
Integer
userId
,
String
parentColumnName
)
{
return
userAgentMapper
.
getChildListByUserId
(
userId
,
parentColumnName
);
}
/** * 按agentId 查找上级代理商的 agentId 和 level * @param agentId * @return */
private
ParentAgent
getParentAgent
(
Integer
agentId
,
String
parentColumnName
)
{
UserAgent
userAgent
=
userAgentMapper
.
getParentAgent
(
agentId
,
parentColumnName
);
ParentAgent
parentAgent
=
null
;
if
(
null
!=
userAgent
)
{
int
agentLevel
=
userAgent
.
getAgentLevel
();
parentAgent
=
new
ParentAgent
(
userAgent
.
getUserId
(),
userAgent
.
getAgentId
(),
agentLevel
);
}
return
parentAgent
;
}
/** * @description: 查找一个用户的全部代理商上级 * 注意 !!!!!!!! 这个方法是按输入用户的邀请关系链上查找 第一个有agent_level<=4的代理商身份的邀请人, 然后再走他的代理关系 * 注意 !!!!!!!! 如果需要获取一个代理商的上级代理 需要从UserAgentService里的方法获取 * @param userId * @return List<ParentAgent> */
@Override
public
List
<
ParentAgent
>
getAgentListByUserId
(
Integer
userId
,
String
parentColumnName
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"getAgentListByUserId for user: {} ......"
,
userId
);
}
ArrayList
<
ParentAgent
>
agentList
=
new
ArrayList
<
ParentAgent
>();
/** * 无限找 * 先无限找上级合伙人, 直到找到第一个是代理商的合伙人 */
int
loopUserId
=
userId
;
int
loopTimes
=
0
;
while
(
true
)
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"now loop uid is {}"
,
loopUserId
);
}
ParentPartner
parentPartner
=
getParentPartner
(
loopUserId
);
/** * 有上级合伙人 */
if
(
null
!=
parentPartner
)
{
UserAgent
firstAgent
=
getUserAgentByUserId
(
parentPartner
.
getUserId
());
/** * 找到了第一个是代理商的合伙人 */
if
(
null
!=
firstAgent
)
{
/** * 然后开始 无限找 这个人的上级代理商 */
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"find first agent({}) for user: {}"
,
firstAgent
.
getAgentId
(),
userId
);
}
agentList
.
add
(
new
ParentAgent
(
firstAgent
.
getUserId
(),
firstAgent
.
getAgentId
(),
firstAgent
.
getAgentLevel
()));
loopTimes
++;
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop find parent agent start ......"
);
}
int
loogAgentId
=
firstAgent
.
getAgentId
();
while
(
true
)
{
ParentAgent
loopUserAgent
=
getParentAgent
(
loogAgentId
,
parentColumnName
);
if
(
null
==
loopUserAgent
)
{
break
;
}
else
{
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"parent agent is "
,
loopUserAgent
.
getAgentId
());
}
if
(
agentList
.
contains
(
loopUserAgent
)
||
loopUserAgent
.
getAgentId
()
==
firstAgent
.
getAgentId
())
{
logger
.
info
(
"发现互为上级的代理关系 代理商({})"
,
loopUserAgent
.
getAgentId
());
logger
.
info
(
"退出循环, 不再继续查找"
);
break
;
}
agentList
.
add
(
new
ParentAgent
(
loopUserAgent
.
getUserId
(),
loopUserAgent
.
getAgentId
(),
loopUserAgent
.
getLevel
()));
loogAgentId
=
loopUserAgent
.
getAgentId
();
loopTimes
++;
if
(
loopTimes
>
500
)
{
agentList
.
clear
();
logger
.
error
(
"用户ID:{} 代理商关系异常, 已超500层"
,
userId
);
break
;
}
}
}
/** * 找完 "第一个是代理商的合伙人" 的 全部上级代理后 退出while循环 */
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop find parent agent end"
);
}
break
;
}
else
{
/** * 这个人不是代理商 继续往上找 */
loopUserId
=
parentPartner
.
getUserId
();
}
}
else
{
/** * 没有上级合伙人 打印结束信息 跳出循环 */
if
(
logger
.
isDebugEnabled
())
{
logger
.
info
(
"loop end with userId: {}"
,
loopUserId
);
}
break
;
}
}
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"setAgentList for user: {} end"
,
userId
);
}
return
agentList
;
}
}
\ No newline at end of file
...
...
src/main/resources/application.yml
View file @
1a141efa
...
...
@@ -102,7 +102,7 @@ mybatis-plus:
logging
:
level
:
#打印SQL信息
com.lanren.huhu.partner.dao
:
debug
com.lanren.huhu.partner.dao
:
info
...
...
src/main/resources/logback.xml
View file @
1a141efa
...
...
@@ -2,9 +2,9 @@
<configuration>
<property
name=
"pattern"
value=
"[%level] %d{yy-MM-dd HH:mm:ss.SSS} [%thread] %logger{50}:%line - %msg%n"
/>
<property
name=
"log_file"
value=
"@logfile_path@/@profiles.active@/@artifactId@-@profiles.active@"
/>
<property
name=
"MaxHistory"
value=
"
15
"
/>
<!--日志保留天数-->
<property
name=
"MaxFileSize"
value=
"
1024
MB"
/>
<!--单个文件大小-->
<property
name=
"totalSizeCap"
value=
"
1024
MB"
/>
<!--单个文件大小-->
<property
name=
"MaxHistory"
value=
"
7
"
/>
<!--日志保留天数-->
<property
name=
"MaxFileSize"
value=
"
256
MB"
/>
<!--单个文件大小-->
<property
name=
"totalSizeCap"
value=
"
256
MB"
/>
<!--单个文件大小-->
<appender
name=
"stdout"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
...
...
src/main/resources/mapper/PartnerInviteRelationMapper.xml
View file @
1a141efa
...
...
@@ -37,11 +37,11 @@
</resultMap>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
id, user_id, direct_num, indirect_num, partner_level, invite_type, regiter_time,
agent_id, parent_agent_list, active_order_id, invite_user_id, invite_partner_level,
amount, reward_type, coupon_id, indirect_invite_uid, indirect_partner_level, indirect_amount,
indirect_reward_type, indirect_coupon_id, `state`, active_time, settle_time, created_at,
updated_at, last_active_order_id, agent_level_one, agent_level_two, agent_level_three,
id, user_id, direct_num, indirect_num, partner_level, invite_type, regiter_time,
agent_id, parent_agent_list, active_order_id, invite_user_id, invite_partner_level,
amount, reward_type, coupon_id, indirect_invite_uid, indirect_partner_level, indirect_amount,
indirect_reward_type, indirect_coupon_id, `state`, active_time, settle_time, created_at,
updated_at, last_active_order_id, agent_level_one, agent_level_two, agent_level_three,
agent_level_four, agent_level_five
</sql>
<update
id=
"updateBatch"
parameterType=
"java.util.List"
>
...
...
@@ -207,22 +207,22 @@
<insert
id=
"batchInsert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"map"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into partner_invite_relation
(user_id, direct_num, indirect_num, partner_level, invite_type, regiter_time, agent_id,
parent_agent_list, active_order_id, invite_user_id, invite_partner_level, amount,
reward_type, coupon_id, indirect_invite_uid, indirect_partner_level, indirect_amount,
indirect_reward_type, indirect_coupon_id, `state`, active_time, settle_time, created_at,
updated_at, last_active_order_id, agent_level_one, agent_level_two, agent_level_three,
agent_level_four, agent_level_five)
(user_id, direct_num, indirect_num, partner_level, invite_type, regiter_time, agent_id,
parent_agent_list, active_order_id, invite_user_id, invite_partner_level, amount,
reward_type, coupon_id, indirect_invite_uid, indirect_partner_level, indirect_amount,
indirect_reward_type, indirect_coupon_id, `state`, active_time, settle_time, created_at,
updated_at, last_active_order_id, agent_level_one, agent_level_two, agent_level_three,
agent_level_four, agent_level_five)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.userId}, #{item.directNum}, #{item.indirectNum}, #{item.partnerLevel}, #{item.inviteType},
#{item.regiterTime}, #{item.agentId}, #{item.parentAgentList}, #{item.activeOrderId},
#{item.inviteUserId}, #{item.invitePartnerLevel}, #{item.amount}, #{item.rewardType},
#{item.couponId}, #{item.indirectInviteUid}, #{item.indirectPartnerLevel}, #{item.indirectAmount},
#{item.indirectRewardType}, #{item.indirectCouponId}, #{item.state}, #{item.activeTime},
#{item.settleTime}, #{item.createdAt}, #{item.updatedAt}, #{item.lastActiveOrderId},
#{item.agentLevelOne}, #{item.agentLevelTwo}, #{item.agentLevelThree}, #{item.agentLevelFour},
#{item.agentLevelFive})
(#{item.userId}, #{item.directNum}, #{item.indirectNum}, #{item.partnerLevel}, #{item.inviteType},
#{item.regiterTime}, #{item.agentId}, #{item.parentAgentList}, #{item.activeOrderId},
#{item.inviteUserId}, #{item.invitePartnerLevel}, #{item.amount}, #{item.rewardType},
#{item.couponId}, #{item.indirectInviteUid}, #{item.indirectPartnerLevel}, #{item.indirectAmount},
#{item.indirectRewardType}, #{item.indirectCouponId}, #{item.state}, #{item.activeTime},
#{item.settleTime}, #{item.createdAt}, #{item.updatedAt}, #{item.lastActiveOrderId},
#{item.agentLevelOne}, #{item.agentLevelTwo}, #{item.agentLevelThree}, #{item.agentLevelFour},
#{item.agentLevelFive})
</foreach>
</insert>
<insert
id=
"insertOrUpdate"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.lanren.huhu.partner.domain.PartnerInviteRelation"
useGeneratedKeys=
"true"
>
...
...
@@ -299,7 +299,7 @@
#{agentLevelFour},
#{agentLevelFive},
</trim>
on duplicate key update
on duplicate key update
<trim
suffixOverrides=
","
>
<if
test=
"id != null"
>
id = #{id},
...
...
@@ -530,7 +530,7 @@
#{agentLevelFive},
</if>
</trim>
on duplicate key update
on duplicate key update
<trim
suffixOverrides=
","
>
<if
test=
"id != null"
>
id = #{id},
...
...
@@ -627,4 +627,7 @@
</if>
</trim>
</insert>
<select
id=
"selectPageByTs"
resultType=
"com.lanren.huhu.partner.domain.PartnerInviteRelation"
>
SELECT * FROM partner_invite_relation WHERE regiter_time BETWEEN #{beginTs} AND #{endTs}
</select>
</mapper>
\ No newline at end of file
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