Toggle navigation
Toggle navigation
This project
Loading...
Sign in
YOHOBUY
/
yohobuy-union
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
mingdan.ge
6 years ago
Commit
1cdd60e1e2a260e60760eea87880056e74f554b4
1 parent
7130c0e3
cps活动时间段支持到具体时间点
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
22 deletions
common/src/main/java/com/yoho/unions/common/enums/ShareOrdersKeyEnum.java
dal/src/main/java/com/yoho/unions/dal/UnionShareOrdersActivityMapper.java
dal/src/main/resources/META-INF/mybatis/UnionShareOrdersActivityMapper.xml
server/src/main/java/com/yoho/unions/server/service/IUnionShareService.java
server/src/main/java/com/yoho/unions/server/service/impl/UnionShareServiceImpl.java
server/src/main/java/com/yoho/unions/server/task/CpsNewUserActivityTask.java
common/src/main/java/com/yoho/unions/common/enums/ShareOrdersKeyEnum.java
View file @
1cdd60e
...
...
@@ -16,7 +16,7 @@ public enum ShareOrdersKeyEnum {
SETTLEMENT_LIST
(
"yh:union:share:settlementList:"
,
"key:{}:page:{}:limit:{}"
,
600
,
"提现列表"
),
UNION_TYPE
(
"yh:union:share:unionType:"
,
"key:{}"
,
600
,
"用户登录时获取对应的渠道号"
),
RECENTLY_ORDER_LIMIT_TEN
(
"yh:union:share:recentlyOrderLimitTen:"
,
"key:{}"
,
600
,
"用户前台获取个人推广近期订单(10个)"
),
ACTIVITY_ING_LIST
(
"yh:union:share:activity:ing:list:"
,
null
,
120
,
"某天进行中的活动"
),
ACTIVITY_ING_LIST
(
"yh:union:share:activity:ing:list:"
,
"type:{}"
,
120
,
"某天进行中的活动"
),
ACTIVITY
(
"yh:union:share:activity:"
,
"type:{}:id:{}"
,
120
,
"活动"
),
ACTIVITY_PAGE
(
"yh:union:share:activityPage:"
,
"id:{}"
,
300
,
"活动落地页详情"
),
ORDER_STATISTICS_INFO
(
"yh:union:share:statisticsInfo:"
,
"queryTimeType:{}"
,
600
,
"统计数据"
),
...
...
dal/src/main/java/com/yoho/unions/dal/UnionShareOrdersActivityMapper.java
View file @
1cdd60e
...
...
@@ -15,7 +15,7 @@ public interface UnionShareOrdersActivityMapper {
UnionShareOrdersActivity
selectByPrimaryKey
(
Integer
id
);
List
<
UnionShareOrdersActivity
>
selectByDate
(
@Param
(
"time"
)
Integer
time
);
List
<
UnionShareOrdersActivity
>
selectWaitListByDate
(
@Param
(
"time"
)
Integer
time
);
List
<
UnionShareOrdersActivity
>
selectLastDaysIngActivity
(
@Param
(
"startTime"
)
Integer
startTime
,
@Param
(
"endTime"
)
Integer
endTime
);
List
<
UnionShareOrdersActivity
>
selectLastDaysIngActivity
(
@Param
(
"
type"
)
Integer
type
,
@Param
(
"
startTime"
)
Integer
startTime
,
@Param
(
"endTime"
)
Integer
endTime
);
int
updateByPrimaryKeySelective
(
UnionShareOrdersActivity
record
);
...
...
dal/src/main/resources/META-INF/mybatis/UnionShareOrdersActivityMapper.xml
View file @
1cdd60e
...
...
@@ -48,7 +48,7 @@
select
<include
refid=
"Base_Column_List"
/>
from union_share_orders_activity
where status=1 and type=
4
and start_time
<
= #{endTime,jdbcType=INTEGER} and end_time >= #{startTime,jdbcType=INTEGER}
where status=1 and type=
#{type,jdbcType=INTEGER}
and start_time
<
= #{endTime,jdbcType=INTEGER} and end_time >= #{startTime,jdbcType=INTEGER}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Integer"
>
delete from union_share_orders_activity
...
...
server/src/main/java/com/yoho/unions/server/service/IUnionShareService.java
View file @
1cdd60e
...
...
@@ -27,7 +27,7 @@ public interface IUnionShareService {
List
<
UnionShareOrdersActivity
>
queryWaitActivity
();
List
<
UnionShareOrdersActivity
>
queryLastDaysIngActivity
(
int
beginTime
,
int
endTime
);
List
<
UnionShareOrdersActivity
>
queryLastDaysIngActivity
(
int
type
,
int
beginTime
,
int
endTime
);
void
dealWithCpsNewUserActivity
(
UnionShareOrdersActivity
activity
,
int
beginTime
,
int
endTime
,
int
orderEndTime
);
...
...
server/src/main/java/com/yoho/unions/server/service/impl/UnionShareServiceImpl.java
View file @
1cdd60e
...
...
@@ -15,7 +15,6 @@ import java.util.Random;
import
java.util.Set
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
...
...
@@ -1111,6 +1110,10 @@ public class UnionShareServiceImpl implements IUnionShareService,IBusinessExport
//已有申请中的
throw
new
ServiceException
(
ServiceError
.
UNION_HAS_APPLY_ERROR
);
}
// 校验姓名
if
(!
ChineseNameUtils
.
checkName
(
req
.
getName
()))
{
throw
new
ServiceException
(
ServiceError
.
UNION_CHINESE_NAME_ERROR
);
}
req
.
setSocialMediaList
(
filterSocialMedia
(
req
.
getSocialMediaList
()));
// if (CollectionUtils.isEmpty(req.getSocialMediaList())) {
// throw new ServiceException(ServiceError.UNION_SOCIALMEDIA_ERROR);
...
...
@@ -2229,39 +2232,44 @@ public class UnionShareServiceImpl implements IUnionShareService,IBusinessExport
return
activities
;
}
//查询过去startDays天到过去endDays内有进行中状态的的
新人额外返活动(startDays>endDays)
//查询过去startDays天到过去endDays内有进行中状态的的
活动(startDays>endDays),如新人额外返、加倍返
@Override
public
List
<
UnionShareOrdersActivity
>
queryLastDaysIngActivity
(
int
beginTime
,
int
endTime
)
{
public
List
<
UnionShareOrdersActivity
>
queryLastDaysIngActivity
(
int
type
,
int
beginTime
,
int
endTime
)
{
logger
.
info
(
"queryLastDaysActivity.beginTime is {},endTime is {}."
,
beginTime
,
endTime
);
if
(
beginTime
>=
endTime
)
{
return
null
;
}
List
<
UnionShareOrdersActivity
>
activities
=
unionShareOrdersActivityMapper
.
selectLastDaysIngActivity
(
beginTime
,
endTime
);
//type活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返
List
<
UnionShareOrdersActivity
>
activities
=
unionShareOrdersActivityMapper
.
selectLastDaysIngActivity
(
type
,
beginTime
,
endTime
);
return
activities
;
}
//查询某时间为进行中的活动
private
List
<
UnionShareOrdersActivity
>
queryActivityByDate
(
int
date
)
{
logger
.
info
(
"queryActivityByDate.date is {}."
,
date
);
String
dateStr
=
DateUtil
.
getDateStrBySecond
(
date
,
"yyyyMMdd"
);
String
activitiesCache
=
redisValueCache
.
get
(
ShareOrdersKeyEnum
.
ACTIVITY_ING_LIST
.
getPreKey
()+
dateStr
,
String
.
class
);
//type活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返
private
List
<
UnionShareOrdersActivity
>
queryActivityByDate
(
Integer
type
,
int
date
)
{
logger
.
info
(
"queryActivityByDate.date is {},type is {}."
,
date
,
type
);
int
dateInt
=
Integer
.
valueOf
(
DateUtil
.
getDateStrBySecond
(
date
,
"yyyyMMdd"
));
String
activitiesCache
=
getFromRedis
(
ShareOrdersKeyEnum
.
ACTIVITY_ING_LIST
,
dateInt
,
String
.
class
,
type
.
toString
());
// String activitiesCache = redisValueCache.get(ShareOrdersKeyEnum.ACTIVITY_ING_LIST.getPreKey()+dateStr, String.class);
List
<
UnionShareOrdersActivity
>
activities
;
if
(
activitiesCache
!=
null
)
{
activities
=
JSONObject
.
parseArray
(
activitiesCache
,
UnionShareOrdersActivity
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
activities
))
{
logger
.
info
(
"queryActivityByDate.date is {},date
Str is {},get chache {}"
,
date
,
dateStr
,
activities
);
logger
.
info
(
"queryActivityByDate.date is {},date
Int is {},get chache {}"
,
date
,
dateInt
,
activities
);
return
activities
;
}
}
activities
=
unionShareOrdersActivityMapper
.
selectByDate
(
date
);
int
beginTime
=
DateUtil
.
getLastDayStartInt
(
date
,
0
);
int
endTime
=
DateUtil
.
getLastDayEndInt
(
date
,
0
);
// activities=unionShareOrdersActivityMapper.selectByDate(date);
//type活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返
activities
=
queryLastDaysIngActivity
(
type
,
beginTime
,
endTime
);
if
(
CollectionUtils
.
isEmpty
(
activities
))
{
return
new
ArrayList
<>();
}
logger
.
info
(
"queryActivityByDate.add to redis.value is {}"
,
activities
);
redisValueCache
.
set
(
ShareOrdersKeyEnum
.
ACTIVITY_ING_LIST
.
getPreKey
()+
dateStr
,
activities
,
ShareOrdersKeyEnum
.
ACTIVITY_ING_LIST
.
getCacheTime
(),
TimeUnit
.
SECONDS
);
addToRedis
(
ShareOrdersKeyEnum
.
ACTIVITY_ING_LIST
,
dateInt
,
activities
,
type
.
toString
());
// redisValueCache.set(ShareOrdersKeyEnum.ACTIVITY_ING_LIST.getPreKey()+dateStr,activities,ShareOrdersKeyEnum.ACTIVITY_ING_LIST.getCacheTime(),TimeUnit.SECONDS);
return
activities
;
}
//获取某时间段可参与活动的单数
...
...
@@ -2666,7 +2674,8 @@ public class UnionShareServiceImpl implements IUnionShareService,IBusinessExport
}
//活动返利
try
{
List
<
UnionShareOrdersActivity
>
activityList
=
queryActivityByDate
(
order
.
getOrderTime
());
//type活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返
List
<
UnionShareOrdersActivity
>
activityList
=
queryActivityByDate
(
2
,
order
.
getOrderTime
());
for
(
UnionShareOrdersActivity
a
:
activityList
)
{
if
(
participateActivity
(
order
,
a
))
{
//参加了活动,参加一个加返活动就可以了
...
...
@@ -2715,7 +2724,8 @@ public class UnionShareServiceImpl implements IUnionShareService,IBusinessExport
//1.4拼团订单处理:0-不做处理,1-剔除拼团订单,2-拼团参与
//activitiesId为14的,表示为拼团订单
if
((
activity
.
getCollage
()
==
1
&&
14
==
order
.
getActivitiesId
())
||
(
activity
.
getCollage
()
==
2
&&
14
!=
order
.
getActivitiesId
()))
{
if
((
activity
.
getCollage
()
==
1
&&
order
.
getActivitiesId
()
!=
null
&&
14
==
order
.
getActivitiesId
())
||
(
activity
.
getCollage
()
==
2
&&
(
order
.
getActivitiesId
()
==
null
||
14
!=
order
.
getActivitiesId
())))
{
return
false
;
}
//1.5这组skn作用:0-不筛选skn,1-指定可参与活动的skn,2-剔除可参与活动的skn
...
...
@@ -2833,7 +2843,8 @@ public class UnionShareServiceImpl implements IUnionShareService,IBusinessExport
//活动返利
try
{
List
<
UnionShareOrdersActivity
>
activityList
=
queryActivityByDate
(
bo
.
getOrderTime
());
//type活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返
List
<
UnionShareOrdersActivity
>
activityList
=
queryActivityByDate
(
2
,
bo
.
getOrderTime
());
for
(
UnionShareOrdersActivity
a
:
activityList
)
{
if
(
participateActivity
(
insertReq
,
a
))
{
//参加了活动,参加一个加返活动就可以了
...
...
server/src/main/java/com/yoho/unions/server/task/CpsNewUserActivityTask.java
View file @
1cdd60e
...
...
@@ -30,7 +30,8 @@ public class CpsNewUserActivityTask {
//查询6天前一天为进行中状态的新用户满x单返活动
int
endTime
=
DateUtil
.
getLastDayStartInt
(
6
);
int
beginTime
=
DateUtil
.
getLastDayStartInt
(
7
);
List
<
UnionShareOrdersActivity
>
activities
=
unionShareService
.
queryLastDaysIngActivity
(
beginTime
,
endTime
);
//type活动类型:1-特殊返,2-订单返利翻x倍,3-额外返,4-cps新人额外返
List
<
UnionShareOrdersActivity
>
activities
=
unionShareService
.
queryLastDaysIngActivity
(
4
,
beginTime
,
endTime
);
if
(
CollectionUtils
.
isEmpty
(
activities
))
{
return
;
}
...
...
Please
register
or
login
to post a comment