Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
operate-customer-service
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
沈振路
operate-customer-service
Commits
16b65c18
提交
16b65c18
authored
9月 28, 2022
作者:
沈振路
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
根据人群包找用户
上级
b835bc88
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
141 行增加
和
0 行删除
+141
-0
KanbanCommonMapper.java
...java/com/yaoyaozw/customer/mapper/KanbanCommonMapper.java
+10
-0
CrowdPackageConditionMatchService.java
...w/customer/service/CrowdPackageConditionMatchService.java
+12
-0
CustomerServiceCommonService.java
...oyaozw/customer/service/CustomerServiceCommonService.java
+21
-0
CrowdPackageConditionMatchServiceImpl.java
...r/service/impl/CrowdPackageConditionMatchServiceImpl.java
+52
-0
CustomerGraphicsServiceImpl.java
...zw/customer/service/impl/CustomerGraphicsServiceImpl.java
+6
-0
CustomerServiceCommonServiceImpl.java
...stomer/service/impl/CustomerServiceCommonServiceImpl.java
+29
-0
KanbanCommonMapper.xml
src/main/resources/mapper/KanbanCommonMapper.xml
+11
-0
没有找到文件。
src/main/java/com/yaoyaozw/customer/mapper/KanbanCommonMapper.java
浏览文件 @
16b65c18
...
@@ -24,4 +24,14 @@ public interface KanbanCommonMapper {
...
@@ -24,4 +24,14 @@ public interface KanbanCommonMapper {
*/
*/
List
<
CommonOptionResponseVO
>
getConditionOptionByConfig
(
@Param
(
"conditionItem"
)
CrowdPackageCondition
conditionItem
);
List
<
CommonOptionResponseVO
>
getConditionOptionByConfig
(
@Param
(
"conditionItem"
)
CrowdPackageCondition
conditionItem
);
/**
* 得到从静态条件设置id列表
*
* @param expressList 表达列表
* @return {@link List}<{@link Long}>
*/
List
<
Long
>
getSetupIdListFromStaticCondition
(
@Param
(
"expressList"
)
List
<
String
>
expressList
);
}
}
src/main/java/com/yaoyaozw/customer/service/CrowdPackageConditionMatchService.java
浏览文件 @
16b65c18
...
@@ -2,10 +2,22 @@ package com.yaoyaozw.customer.service;
...
@@ -2,10 +2,22 @@ package com.yaoyaozw.customer.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yaoyaozw.customer.entity.CrowdPackageConditionMatch
;
import
com.yaoyaozw.customer.entity.CrowdPackageConditionMatch
;
import
com.yaoyaozw.customer.entity.RegisterUserEntity
;
import
java.util.List
;
/**
/**
* @author darker
* @author darker
* @date 2022/9/21 15:08
* @date 2022/9/21 15:08
*/
*/
public
interface
CrowdPackageConditionMatchService
extends
IService
<
CrowdPackageConditionMatch
>
{
public
interface
CrowdPackageConditionMatchService
extends
IService
<
CrowdPackageConditionMatch
>
{
/**
* 从包中获取用户列表
*
* @param packageId 包id
* @return {@link List}<{@link RegisterUserEntity}>
*/
List
<
RegisterUserEntity
>
getUserListFromPackage
(
Long
packageId
);
}
}
src/main/java/com/yaoyaozw/customer/service/CustomerServiceCommonService.java
0 → 100644
浏览文件 @
16b65c18
package
com
.
yaoyaozw
.
customer
.
service
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @author darker
* @date 2022/9/28 19:01
*/
public
interface
CustomerServiceCommonService
{
/**
* 得到从静态条件设置id列表
*
* @param expressList 表达列表
* @return {@link List}<{@link Long}>
*/
List
<
Long
>
getSetupIdListFromStaticCondition
(
List
<
String
>
expressList
);
}
src/main/java/com/yaoyaozw/customer/service/impl/CrowdPackageConditionMatchServiceImpl.java
浏览文件 @
16b65c18
package
com
.
yaoyaozw
.
customer
.
service
.
impl
;
package
com
.
yaoyaozw
.
customer
.
service
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
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.yaoyaozw.customer.constants.CrowdPackageCommonConstant
;
import
com.yaoyaozw.customer.entity.CrowdPackageConditionMatch
;
import
com.yaoyaozw.customer.entity.CrowdPackageConditionMatch
;
import
com.yaoyaozw.customer.entity.RegisterUserEntity
;
import
com.yaoyaozw.customer.mapper.KanbanCommonMapper
;
import
com.yaoyaozw.customer.mapper.MaterialCrowdConditionMatchMapper
;
import
com.yaoyaozw.customer.mapper.MaterialCrowdConditionMatchMapper
;
import
com.yaoyaozw.customer.service.CrowdPackageConditionMatchService
;
import
com.yaoyaozw.customer.service.CrowdPackageConditionMatchService
;
import
com.yaoyaozw.customer.service.CustomerServiceCommonService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
/**
* @author darker
* @author darker
* @date 2022/9/21 15:09
* @date 2022/9/21 15:09
*/
*/
@Service
@Service
public
class
CrowdPackageConditionMatchServiceImpl
extends
ServiceImpl
<
MaterialCrowdConditionMatchMapper
,
CrowdPackageConditionMatch
>
implements
CrowdPackageConditionMatchService
{
public
class
CrowdPackageConditionMatchServiceImpl
extends
ServiceImpl
<
MaterialCrowdConditionMatchMapper
,
CrowdPackageConditionMatch
>
implements
CrowdPackageConditionMatchService
{
private
final
static
Logger
LOCAL_LOG
=
LoggerFactory
.
getLogger
(
CrowdPackageConditionMatchServiceImpl
.
class
);
@Autowired
private
CustomerServiceCommonService
commonService
;
@Override
public
List
<
RegisterUserEntity
>
getUserListFromPackage
(
Long
packageId
)
{
long
startTime
=
System
.
currentTimeMillis
();
// 获取人群包下的条件
List
<
CrowdPackageConditionMatch
>
packageConditionList
=
super
.
list
(
new
QueryWrapper
<
CrowdPackageConditionMatch
>().
eq
(
"package_id"
,
packageId
));
List
<
String
>
staticConditionList
=
packageConditionList
.
stream
().
filter
(
item
->
CrowdPackageCommonConstant
.
STATIC_CONDITION
.
equals
(
item
.
getIsStatic
())).
map
(
CrowdPackageConditionMatch:
:
getOperatorExpression
).
collect
(
Collectors
.
toList
());
List
<
String
>
nonStaticConditionList
=
packageConditionList
.
stream
().
filter
(
item
->
CrowdPackageCommonConstant
.
NON_STATIC_CONDITION
.
equals
(
item
.
getIsStatic
())).
map
(
CrowdPackageConditionMatch:
:
getOperatorExpression
).
collect
(
Collectors
.
toList
());
LOCAL_LOG
.
info
(
"静态条件: {}条, 动态条件: {}条"
,
staticConditionList
.
size
(),
nonStaticConditionList
.
size
());
long
getConditionTime
=
System
.
currentTimeMillis
();
LOCAL_LOG
.
info
(
"获取条件列表耗时 {}ms"
,
getConditionTime
-
startTime
);
// 根据静态条件获取setupId
List
<
Long
>
setupIdList
=
commonService
.
getSetupIdListFromStaticCondition
(
staticConditionList
);
long
getSetupIdTime
=
System
.
currentTimeMillis
();
LOCAL_LOG
.
info
(
"获取SetupId列表耗时 {}ms, setupId列表长度: {}"
,
getSetupIdTime
-
getConditionTime
,
setupIdList
.
size
());
// 根据动态条件获取用户列表
List
<
RegisterUserEntity
>
userList
=
new
ArrayList
<>();
long
dynamicUserTime
=
System
.
currentTimeMillis
();
LOCAL_LOG
.
info
(
"获取SetupId列表符合动态条件的用户耗时 {}ms, 符合动态条件的用户: {}个"
,
dynamicUserTime
-
getSetupIdTime
,
userList
.
size
());
// 筛选所属setupId在列表中的用户
if
(
CollectionUtil
.
isNotEmpty
(
setupIdList
))
{
userList
=
userList
.
stream
().
filter
(
item
->
setupIdList
.
contains
(
item
.
getSetupId
())).
collect
(
Collectors
.
toList
());
}
long
allUserTime
=
System
.
currentTimeMillis
();
LOCAL_LOG
.
info
(
"获取符合全部条件的用户耗时: {}ms, 符合全部条件的用户: {}个"
,
allUserTime
-
dynamicUserTime
,
userList
.
size
());
return
userList
;
}
}
}
src/main/java/com/yaoyaozw/customer/service/impl/CustomerGraphicsServiceImpl.java
浏览文件 @
16b65c18
...
@@ -5,6 +5,8 @@ import com.yaoyaozw.customer.common.GenericsResult;
...
@@ -5,6 +5,8 @@ import com.yaoyaozw.customer.common.GenericsResult;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageQueryDTO
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageQueryDTO
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageSaveDTO
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageSaveDTO
;
import
com.yaoyaozw.customer.vo.customer.CustomerMessageListVO
;
import
com.yaoyaozw.customer.vo.customer.CustomerMessageListVO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
@@ -21,9 +23,13 @@ import com.yaoyaozw.customer.service.CustomerGraphicsService;
...
@@ -21,9 +23,13 @@ import com.yaoyaozw.customer.service.CustomerGraphicsService;
@Service
@Service
public
class
CustomerGraphicsServiceImpl
extends
ServiceImpl
<
CustomerGraphicsMapper
,
CustomerGraphics
>
implements
CustomerGraphicsService
{
public
class
CustomerGraphicsServiceImpl
extends
ServiceImpl
<
CustomerGraphicsMapper
,
CustomerGraphics
>
implements
CustomerGraphicsService
{
private
final
static
Logger
LOCAL_LOG
=
LoggerFactory
.
getLogger
(
CustomerGraphicsServiceImpl
.
class
);
@Override
@Override
public
BaseResult
insertCustomerMessage
(
CustomerMessageSaveDTO
saveDto
)
{
public
BaseResult
insertCustomerMessage
(
CustomerMessageSaveDTO
saveDto
)
{
LOCAL_LOG
.
info
(
"根据人群包找到符合条件的用户数据"
);
// TODO: 2022/9/28 根据人群包找到下面的人所在的公众号,进行链接获取
// TODO: 2022/9/28 根据人群包找到下面的人所在的公众号,进行链接获取
...
...
src/main/java/com/yaoyaozw/customer/service/impl/CustomerServiceCommonServiceImpl.java
0 → 100644
浏览文件 @
16b65c18
package
com
.
yaoyaozw
.
customer
.
service
.
impl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.yaoyaozw.customer.mapper.KanbanCommonMapper
;
import
com.yaoyaozw.customer.service.CustomerServiceCommonService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author darker
* @date 2022/9/28 19:01
*/
@Service
public
class
CustomerServiceCommonServiceImpl
implements
CustomerServiceCommonService
{
@Autowired
private
KanbanCommonMapper
kanbanCommonMapper
;
@Override
public
List
<
Long
>
getSetupIdListFromStaticCondition
(
List
<
String
>
expressList
)
{
if
(
CollectionUtil
.
isEmpty
(
expressList
))
{
return
new
ArrayList
<>();
}
return
kanbanCommonMapper
.
getSetupIdListFromStaticCondition
(
expressList
);
}
}
src/main/resources/mapper/KanbanCommonMapper.xml
浏览文件 @
16b65c18
...
@@ -14,4 +14,14 @@
...
@@ -14,4 +14,14 @@
</if>
</if>
</select>
</select>
<select
id=
"getSetupIdListFromStaticCondition"
resultType=
"java.lang.Long"
>
select distinct id
from account_cost_setup
<where>
<foreach
collection=
"expressList"
item=
"express"
separator=
" and "
>
${express}
</foreach>
</where>
</select>
</mapper>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论