Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
operate-customer-service
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
沈振路
operate-customer-service
Commits
2c7e25f2
提交
2c7e25f2
authored
11月 01, 2022
作者:
沈振路
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master'
上级
7582910f
7e4cf8cc
全部展开
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
23 行增加
和
2 行删除
+23
-2
SchedulingTask.java
...java/com/yaoyaozw/customer/scheduling/SchedulingTask.java
+3
-1
AccountOrderServiceImpl.java
...oyaozw/customer/service/impl/AccountOrderServiceImpl.java
+9
-1
CustomerDelayPublishServiceImpl.java
...ustomer/service/impl/CustomerDelayPublishServiceImpl.java
+1
-0
CustomerGraphicsServiceImpl.java
...zw/customer/service/impl/CustomerGraphicsServiceImpl.java
+2
-0
WeChatServiceImpl.java
...zw/customer/service/wechat/service/WeChatServiceImpl.java
+8
-0
YYZWDateUtil.java
src/main/java/com/yaoyaozw/customer/utils/YYZWDateUtil.java
+0
-0
没有找到文件。
src/main/java/com/yaoyaozw/customer/scheduling/SchedulingTask.java
浏览文件 @
2c7e25f2
...
@@ -63,8 +63,9 @@ public class SchedulingTask {
...
@@ -63,8 +63,9 @@ public class SchedulingTask {
}
}
/**
/**
* 更新付费用户近一月平均充值(每天一次)
* 更新付费用户近一月平均充值(每天一次
:4点10分
)
*/
*/
@Scheduled
(
cron
=
"0 10 4 * * *"
)
public
void
retrieveMonthOrder
(){
public
void
retrieveMonthOrder
(){
Calendar
calendar
=
Calendar
.
getInstance
();
Calendar
calendar
=
Calendar
.
getInstance
();
...
@@ -85,6 +86,7 @@ public class SchedulingTask {
...
@@ -85,6 +86,7 @@ public class SchedulingTask {
/**
/**
* 每10min扫描一次正常客服
* 每10min扫描一次正常客服
*/
*/
@Scheduled
(
cron
=
"0 0/10 * * * *"
)
public
void
publishCustomerMessage
(){
public
void
publishCustomerMessage
(){
Calendar
calendar
=
Calendar
.
getInstance
();
Calendar
calendar
=
Calendar
.
getInstance
();
...
...
src/main/java/com/yaoyaozw/customer/service/impl/AccountOrderServiceImpl.java
浏览文件 @
2c7e25f2
package
com
.
yaoyaozw
.
customer
.
service
.
impl
;
package
com
.
yaoyaozw
.
customer
.
service
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yaoyaozw.customer.dto.integration.IntegrationRequestDTO
;
import
com.yaoyaozw.customer.dto.integration.IntegrationRequestDTO
;
import
com.yaoyaozw.customer.entity.RegisterUserEntity
;
import
com.yaoyaozw.customer.entity.RegisterUserEntity
;
...
@@ -43,6 +44,7 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
...
@@ -43,6 +44,7 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
Map
<
String
,
List
<
AccountOrder
>>
userOrderMap
=
runtimeOrders
.
stream
().
collect
(
Collectors
.
groupingBy
(
AccountOrder:
:
getOpenId
));
Map
<
String
,
List
<
AccountOrder
>>
userOrderMap
=
runtimeOrders
.
stream
().
collect
(
Collectors
.
groupingBy
(
AccountOrder:
:
getOpenId
));
Calendar
instance
=
Calendar
.
getInstance
();
if
(!
openIdSet
.
isEmpty
()){
if
(!
openIdSet
.
isEmpty
()){
//获取注册用户信息
//获取注册用户信息
List
<
RegisterUserEntity
>
userList
=
registerUserEntityService
.
list
(
new
QueryWrapper
<
RegisterUserEntity
>().
in
(
RegisterUserEntity
.
COL_OPEN_ID
,
openIdSet
));
List
<
RegisterUserEntity
>
userList
=
registerUserEntityService
.
list
(
new
QueryWrapper
<
RegisterUserEntity
>().
in
(
RegisterUserEntity
.
COL_OPEN_ID
,
openIdSet
));
...
@@ -63,8 +65,11 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
...
@@ -63,8 +65,11 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
Double
sum
=
registerUser
.
getPayAmount
()!=
null
?
registerUser
.
getPayAmount
():
0
;
Double
sum
=
registerUser
.
getPayAmount
()!=
null
?
registerUser
.
getPayAmount
():
0
;
for
(
AccountOrder
accountOrder
:
accountOrders
)
{
for
(
AccountOrder
accountOrder
:
accountOrders
)
{
//下单时间推5min
instance
.
setTime
(
accountOrder
.
getFinishTime
());
instance
.
add
(
Calendar
.
MINUTE
,
5
);
//最近活跃时间
//最近活跃时间
lastFinishTime
=
(
lastFinishTime
!=
null
&&
lastFinishTime
.
compareTo
(
accountOrder
.
getFinishTime
())
>
0
)
?
lastFinishTime
:
accountOrder
.
getFinish
Time
();
lastFinishTime
=
(
lastFinishTime
!=
null
&&
lastFinishTime
.
compareTo
(
accountOrder
.
getFinishTime
())
>
0
)
?
lastFinishTime
:
instance
.
get
Time
();
//最大类型
//最大类型
type
=
Math
.
max
(
accountOrder
.
getType
()
+
1
,
type
);
type
=
Math
.
max
(
accountOrder
.
getType
()
+
1
,
type
);
sum
+=
accountOrder
.
getProfit
();
sum
+=
accountOrder
.
getProfit
();
...
@@ -96,6 +101,7 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
...
@@ -96,6 +101,7 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
public
void
calculateAvgMonth
(
IntegrationRequestDTO
integrationRequestDTO
)
{
public
void
calculateAvgMonth
(
IntegrationRequestDTO
integrationRequestDTO
)
{
//获取近一月每个用户的平均充值
//获取近一月每个用户的平均充值
List
<
UserAvgAmountVO
>
userAvgAmountVos
=
baseMapper
.
findMonthDailyAccountOrder
();
List
<
UserAvgAmountVO
>
userAvgAmountVos
=
baseMapper
.
findMonthDailyAccountOrder
();
if
(!
userAvgAmountVos
.
isEmpty
()){
Map
<
String
,
Double
>
userAvgAmountMap
=
userAvgAmountVos
.
stream
().
collect
(
Collectors
.
toMap
(
UserAvgAmountVO:
:
getOpenId
,
UserAvgAmountVO:
:
getAvgAmount
,
(
v1
,
v2
)
->
v1
));
Map
<
String
,
Double
>
userAvgAmountMap
=
userAvgAmountVos
.
stream
().
collect
(
Collectors
.
toMap
(
UserAvgAmountVO:
:
getOpenId
,
UserAvgAmountVO:
:
getAvgAmount
,
(
v1
,
v2
)
->
v1
));
//获取付费用户信息
//获取付费用户信息
List
<
RegisterUserEntity
>
userList
=
registerUserEntityService
.
list
(
new
QueryWrapper
<
RegisterUserEntity
>().
gt
(
RegisterUserEntity
.
COL_PAY_TYPE
,
0
));
List
<
RegisterUserEntity
>
userList
=
registerUserEntityService
.
list
(
new
QueryWrapper
<
RegisterUserEntity
>().
gt
(
RegisterUserEntity
.
COL_PAY_TYPE
,
0
));
...
@@ -110,6 +116,8 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
...
@@ -110,6 +116,8 @@ public class AccountOrderServiceImpl extends ServiceImpl<AccountOrderMapper, Acc
registerUserEntityService
.
updateBatchById
(
userList
);
registerUserEntityService
.
updateBatchById
(
userList
);
}
}
}
/**
/**
...
...
src/main/java/com/yaoyaozw/customer/service/impl/CustomerDelayPublishServiceImpl.java
浏览文件 @
2c7e25f2
...
@@ -6,6 +6,7 @@ import com.yaoyaozw.customer.entity.AuthorizerToken;
...
@@ -6,6 +6,7 @@ import com.yaoyaozw.customer.entity.AuthorizerToken;
import
com.yaoyaozw.customer.service.AuthorizerTokenService
;
import
com.yaoyaozw.customer.service.AuthorizerTokenService
;
import
com.yaoyaozw.customer.service.CustomerGraphicsDelayService
;
import
com.yaoyaozw.customer.service.CustomerGraphicsDelayService
;
import
com.yaoyaozw.customer.service.wechat.service.WeChatService
;
import
com.yaoyaozw.customer.service.wechat.service.WeChatService
;
import
com.yaoyaozw.customer.utils.YYZWDateUtil
;
import
com.yaoyaozw.customer.vo.customer.CustomerDelayItemVO
;
import
com.yaoyaozw.customer.vo.customer.CustomerDelayItemVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
...
src/main/java/com/yaoyaozw/customer/service/impl/CustomerGraphicsServiceImpl.java
浏览文件 @
2c7e25f2
...
@@ -221,6 +221,7 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
...
@@ -221,6 +221,7 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
List
<
CustomerGraphics
>
customerGraphicsList
=
list
(
new
QueryWrapper
<
CustomerGraphics
>().
eq
(
CustomerGraphics
.
COL_POST_TIME
,
requestDate
).
eq
(
CustomerGraphics
.
COL_SEND_STATUS
,
9
));
List
<
CustomerGraphics
>
customerGraphicsList
=
list
(
new
QueryWrapper
<
CustomerGraphics
>().
eq
(
CustomerGraphics
.
COL_POST_TIME
,
requestDate
).
eq
(
CustomerGraphics
.
COL_SEND_STATUS
,
9
));
if
(!
customerGraphicsList
.
isEmpty
()){
for
(
CustomerGraphics
customerGraphics
:
customerGraphicsList
)
{
for
(
CustomerGraphics
customerGraphics
:
customerGraphicsList
)
{
//人群包id
//人群包id
Long
packId
=
customerGraphics
.
getPackId
();
Long
packId
=
customerGraphics
.
getPackId
();
...
@@ -255,6 +256,7 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
...
@@ -255,6 +256,7 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
}
}
updateBatchById
(
customerGraphicsList
);
updateBatchById
(
customerGraphicsList
);
}
}
}
private
BaseResult
checkExtendBook
(
String
storeType
,
CrowdPackageConditionMatch
storeConditionMatch
)
{
private
BaseResult
checkExtendBook
(
String
storeType
,
CrowdPackageConditionMatch
storeConditionMatch
)
{
// 判断有没有选书城条件
// 判断有没有选书城条件
...
...
src/main/java/com/yaoyaozw/customer/service/wechat/service/WeChatServiceImpl.java
浏览文件 @
2c7e25f2
...
@@ -41,6 +41,8 @@ public class WeChatServiceImpl implements WeChatService{
...
@@ -41,6 +41,8 @@ public class WeChatServiceImpl implements WeChatService{
private
static
final
Integer
EXPIRED_CODE
=
40001
;
private
static
final
Integer
EXPIRED_CODE
=
40001
;
private
static
final
Integer
FORBID_Time
=
6
;
private
static
final
ThreadPoolExecutor
EXECUTOR
=
new
ThreadPoolExecutor
(
20
,
100
,
60L
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(
2
),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
private
static
final
ThreadPoolExecutor
EXECUTOR
=
new
ThreadPoolExecutor
(
20
,
100
,
60L
,
TimeUnit
.
SECONDS
,
new
LinkedBlockingQueue
<>(
2
),
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
private
final
static
Object
CUSTOMER_LOCK
=
new
Object
();
private
final
static
Object
CUSTOMER_LOCK
=
new
Object
();
...
@@ -57,6 +59,11 @@ public class WeChatServiceImpl implements WeChatService{
...
@@ -57,6 +59,11 @@ public class WeChatServiceImpl implements WeChatService{
public
Future
<
CustomerDelayPublish
>
sendCustomerDelayMessage
(
AuthorizerToken
authorizerToken
,
CustomerDelayPublish
user
,
public
Future
<
CustomerDelayPublish
>
sendCustomerDelayMessage
(
AuthorizerToken
authorizerToken
,
CustomerDelayPublish
user
,
Map
<
Integer
,
List
<
CustomerDelayItemVO
>>
delaySortMap
,
Map
<
Integer
,
List
<
CustomerDelayItemVO
>>
delaySortMap
,
Set
<
CustomerDelayItemVO
>
needUpdateVoList
)
{
Set
<
CustomerDelayItemVO
>
needUpdateVoList
)
{
//获取当前小时数
Calendar
instance
=
Calendar
.
getInstance
();
int
i
=
instance
.
get
(
Calendar
.
HOUR_OF_DAY
);
//早上0-6点不发
if
(
i
<
FORBID_Time
){
//token
//token
UriComponentsBuilder
uriComponentsBuilder
=
UriComponentsBuilder
.
fromHttpUrl
(
customerPath
).
queryParam
(
"access_token"
,
authorizerToken
.
getAuthorizerAccessToken
());
UriComponentsBuilder
uriComponentsBuilder
=
UriComponentsBuilder
.
fromHttpUrl
(
customerPath
).
queryParam
(
"access_token"
,
authorizerToken
.
getAuthorizerAccessToken
());
//找到延时序列
//找到延时序列
...
@@ -97,6 +104,7 @@ public class WeChatServiceImpl implements WeChatService{
...
@@ -97,6 +104,7 @@ public class WeChatServiceImpl implements WeChatService{
}
}
}
}
}
}
}
//用户首次活跃时间
//用户首次活跃时间
Long
subscribeTimestamp
=
user
.
getFirstActive
()!=
null
?
user
.
getFirstActive
().
getTime
():
user
.
getGmtCreate
().
getTime
();
Long
subscribeTimestamp
=
user
.
getFirstActive
()!=
null
?
user
.
getFirstActive
().
getTime
():
user
.
getGmtCreate
().
getTime
();
...
...
src/main/java/com/yaoyaozw/customer/utils/YYZWDateUtil.java
0 → 100644
浏览文件 @
2c7e25f2
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论