Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
仟微科技
Link Wechat
提交
78681384
Link Wechat
项目概览
仟微科技
/
Link Wechat
通知
48
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Link Wechat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
78681384
编写于
11月 18, 2020
作者:
S
sunxiwang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
员工活码列表查询sql调整,添加发送欢迎语
上级
33b70c3c
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
186 addition
and
9 deletion
+186
-9
linkwe-admin/src/main/resources/application.yml
linkwe-admin/src/main/resources/application.yml
+1
-0
linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeCustomerClient.java
...in/java/com/linkwechat/wecom/client/WeCustomerClient.java
+9
-0
linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeEmpleCodeDto.java
.../java/com/linkwechat/wecom/domain/dto/WeEmpleCodeDto.java
+39
-0
linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeWelcomeMsg.java
...in/java/com/linkwechat/wecom/domain/dto/WeWelcomeMsg.java
+26
-0
linkwe-wecom/src/main/java/com/linkwechat/wecom/factory/impl/WeEventChangeExternalContactImpl.java
.../wecom/factory/impl/WeEventChangeExternalContactImpl.java
+43
-1
linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeEmpleCodeMapper.java
...n/java/com/linkwechat/wecom/mapper/WeEmpleCodeMapper.java
+10
-2
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCustomerService.java
...java/com/linkwechat/wecom/service/IWeCustomerService.java
+8
-0
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeEmpleCodeService.java
...ava/com/linkwechat/wecom/service/IWeEmpleCodeService.java
+7
-2
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerServiceImpl.java
.../linkwechat/wecom/service/impl/WeCustomerServiceImpl.java
+7
-0
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeEmpleCodeServiceImpl.java
...linkwechat/wecom/service/impl/WeEmpleCodeServiceImpl.java
+14
-2
linkwe-wecom/src/main/resources/mapper/wecom/WeEmpleCodeMapper.xml
...com/src/main/resources/mapper/wecom/WeEmpleCodeMapper.xml
+22
-2
未找到文件。
linkwe-admin/src/main/resources/application.yml
浏览文件 @
78681384
...
...
@@ -156,6 +156,7 @@ wecome:
-
/externalcontact/transfer
-
/externalcontact/groupchat/transfer
-
/externalcontact/get_unassigned_list
-
/externalcontact/send_welcome_msg
fileUplodUrl
:
/media/upload,/media/uploadimg
needProviderTokenUrl
:
-
/service/get_login_info
...
...
linkwe-wecom/src/main/java/com/linkwechat/wecom/client/WeCustomerClient.java
浏览文件 @
78681384
...
...
@@ -5,11 +5,13 @@ import com.dtflys.forest.annotation.Query;
import
com.dtflys.forest.annotation.Request
;
import
com.linkwechat.wecom.domain.dto.WeCustomerDto
;
import
com.linkwechat.wecom.domain.dto.WeResultDto
;
import
com.linkwechat.wecom.domain.dto.WeWelcomeMsg
;
import
com.linkwechat.wecom.domain.dto.customer.CutomerTagEdit
;
import
com.linkwechat.wecom.domain.dto.customer.ExternalUserDetail
;
import
com.linkwechat.wecom.domain.dto.customer.ExternalUserList
;
import
com.linkwechat.wecom.domain.dto.customer.FollowUserList
;
import
java.util.Map
;
/**
...
...
@@ -74,4 +76,11 @@ public interface WeCustomerClient {
WeResultDto
makeCustomerLabel
(
@DataObject
CutomerTagEdit
cutomerTagEdit
);
/**
* 客户发送欢迎语
*/
@Request
(
url
=
"/externalcontact/send_welcome_msg"
,
type
=
"POST"
)
WeResultDto
sendWelcomeMsg
(
@DataObject
WeWelcomeMsg
wxCpWelcomeMsg
);
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeEmpleCodeDto.java
0 → 100644
浏览文件 @
78681384
package
com.linkwechat.wecom.domain.dto
;
import
lombok.Data
;
@Data
public
class
WeEmpleCodeDto
{
/**
* 欢迎语
*/
private
String
welcomeMsg
;
/**
* 欢迎语模板类型:1:员工欢迎语;2:部门员工欢迎语;3:客户群欢迎语
*/
private
Integer
welcomeMsgTplType
;
/**
* 分类id
*/
private
String
categoryId
;
/**
* 本地资源文件地址
*/
private
String
materialUrl
;
/**
* 文本内容、图片文案
*/
private
String
content
;
/**
* 图片名称
*/
private
String
materialName
;
/**
* 摘要
*/
private
String
digest
;
/**
* 封面本地资源文件
*/
private
String
coverUrl
;
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/domain/dto/WeWelcomeMsg.java
0 → 100644
浏览文件 @
78681384
package
com.linkwechat.wecom.domain.dto
;
import
lombok.Builder
;
import
lombok.Data
;
import
me.chanjar.weixin.cp.bean.external.msg.Image
;
import
me.chanjar.weixin.cp.bean.external.msg.Link
;
import
me.chanjar.weixin.cp.bean.external.msg.MiniProgram
;
import
me.chanjar.weixin.cp.bean.external.msg.Text
;
/**
* @author admin
* @date 2020-11-18
*/
@Data
@Builder
public
class
WeWelcomeMsg
{
private
String
welcome_code
;
private
Text
text
;
private
Image
image
;
private
Link
link
;
private
MiniProgram
miniprogram
;
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/factory/impl/WeEventChangeExternalContactImpl.java
浏览文件 @
78681384
package
com.linkwechat.wecom.factory.impl
;
import
com.linkwechat.common.utils.StringUtils
;
import
com.linkwechat.common.utils.Threads
;
import
com.linkwechat.wecom.domain.dto.WeEmpleCodeDto
;
import
com.linkwechat.wecom.domain.dto.WeWelcomeMsg
;
import
com.linkwechat.wecom.domain.vo.WxCpXmlMessageVO
;
import
com.linkwechat.wecom.factory.WeCallBackEventFactory
;
import
com.linkwechat.wecom.service.IWeCustomerService
;
import
com.linkwechat.wecom.service.IWeEmpleCodeService
;
import
com.linkwechat.wecom.service.IWeFlowerCustomerRelService
;
import
com.linkwechat.wecom.service.IWeMsgTlpScopeService
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.cp.bean.external.msg.Image
;
import
me.chanjar.weixin.cp.bean.external.msg.Text
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -17,6 +25,10 @@ import org.springframework.stereotype.Service;
@Service
@Slf4j
public
class
WeEventChangeExternalContactImpl
implements
WeCallBackEventFactory
{
@Autowired
private
IWeEmpleCodeService
weEmpleCodeService
;
@Autowired
private
IWeMsgTlpScopeService
weMsgTlpScopeService
;
@Autowired
private
IWeCustomerService
weCustomerService
;
@Autowired
...
...
@@ -62,7 +74,7 @@ public class WeEventChangeExternalContactImpl implements WeCallBackEventFactory
private
void
delFollowUser
(
WxCpXmlMessageVO
message
)
{
if
(
message
.
getUserId
()
!=
null
&&
message
.
getExternalUserId
()
!=
null
)
{
weFlowerCustomerRelService
.
deleteFollowUser
(
message
.
getUserId
(),
message
.
getExternalUserId
());
weFlowerCustomerRelService
.
deleteFollowUser
(
message
.
getUserId
(),
message
.
getExternalUserId
());
}
}
...
...
@@ -88,5 +100,35 @@ public class WeEventChangeExternalContactImpl implements WeCallBackEventFactory
if
(
message
.
getExternalUserId
()
!=
null
)
{
weCustomerService
.
getCustomersInfoAndSynchWeCustomer
(
message
.
getExternalUserId
());
}
try
{
Threads
.
SINGLE_THREAD_POOL
.
submit
(
new
Runnable
()
{
@Override
public
void
run
()
{
//向扫码客户发送欢迎语
if
(
message
.
getState
()
!=
null
&&
message
.
getWelcomeCode
()
!=
null
)
{
log
.
info
(
"执行发送欢迎语>>>>>>>>>>>>>>>"
);
WeWelcomeMsg
.
WeWelcomeMsgBuilder
weWelcomeMsgBuilder
=
WeWelcomeMsg
.
builder
().
welcome_code
(
message
.
getWelcomeCode
());
WeEmpleCodeDto
messageMap
=
weEmpleCodeService
.
selectWelcomeMsgByActivityScene
(
message
.
getState
());
if
(
messageMap
!=
null
)
{
if
(
StringUtils
.
isNotEmpty
(
messageMap
.
getWelcomeMsg
())){
Text
text
=
new
Text
();
text
.
setContent
(
messageMap
.
getWelcomeMsg
());
weWelcomeMsgBuilder
.
text
(
text
);
}
if
(
StringUtils
.
isNotEmpty
(
messageMap
.
getCategoryId
())){
Image
image
=
new
Image
();
image
.
setMediaId
(
messageMap
.
getCategoryId
());
image
.
setPicUrl
(
messageMap
.
getMaterialUrl
());
weWelcomeMsgBuilder
.
image
(
image
);
}
weCustomerService
.
sendWelcomeMsg
(
weWelcomeMsgBuilder
.
build
());
}
}
}
});
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"执行发送欢迎语失败!"
,
e
);
}
}
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/mapper/WeEmpleCodeMapper.java
浏览文件 @
78681384
package
com.linkwechat.wecom.mapper
;
import
java.util.List
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.linkwechat.wecom.domain.WeEmpleCode
;
import
com.linkwechat.wecom.domain.dto.WeEmpleCodeDto
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 员工活码Mapper接口
*
...
...
@@ -77,4 +78,11 @@ public interface WeEmpleCodeMapper extends BaseMapper<WeEmpleCode>
* @return 结果
*/
public
int
batchRemoveWeEmpleCodeIds
(
@Param
(
"ids"
)
List
<
String
>
ids
);
/**
* 通过活动场景获取客户欢迎语
* @param activityScene 活动场景
* @return
*/
public
WeEmpleCodeDto
selectWelcomeMsgByActivityScene
(
@Param
(
"activityScene"
)
String
activityScene
);
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeCustomerService.java
浏览文件 @
78681384
...
...
@@ -3,9 +3,11 @@ package com.linkwechat.wecom.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.linkwechat.wecom.domain.WeCustomer
;
import
com.linkwechat.wecom.domain.WeUser
;
import
com.linkwechat.wecom.domain.dto.WeWelcomeMsg
;
import
com.linkwechat.wecom.domain.vo.WeLeaveUserInfoAllocateVo
;
import
com.linkwechat.wecom.domain.vo.WeMakeCustomerTag
;
import
java.util.List
;
/**
...
...
@@ -89,4 +91,10 @@ public interface IWeCustomerService extends IService<WeCustomer>
*/
public
void
deleteCustomersByEid
(
String
externalUserid
);
/**
* 向客户发送欢迎语
* @param weWelcomeMsg
*/
public
void
sendWelcomeMsg
(
WeWelcomeMsg
weWelcomeMsg
);
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/IWeEmpleCodeService.java
浏览文件 @
78681384
...
...
@@ -2,6 +2,7 @@ package com.linkwechat.wecom.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.linkwechat.wecom.domain.WeEmpleCode
;
import
com.linkwechat.wecom.domain.dto.WeEmpleCodeDto
;
import
java.util.List
;
...
...
@@ -71,6 +72,10 @@ public interface IWeEmpleCodeService extends IService<WeEmpleCode>
*/
public
int
batchRemoveWeEmpleCodeIds
(
List
<
String
>
ids
);
/**
* 通过活动场景获取客户欢迎语
* @param activityScene 活动场景
* @return
*/
public
WeEmpleCodeDto
selectWelcomeMsgByActivityScene
(
String
activityScene
);
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeCustomerServiceImpl.java
浏览文件 @
78681384
...
...
@@ -15,6 +15,7 @@ import com.linkwechat.wecom.client.WeCustomerClient;
import
com.linkwechat.wecom.client.WeUserClient
;
import
com.linkwechat.wecom.domain.*
;
import
com.linkwechat.wecom.domain.dto.AllocateWeCustomerDto
;
import
com.linkwechat.wecom.domain.dto.WeWelcomeMsg
;
import
com.linkwechat.wecom.domain.dto.customer.*
;
import
com.linkwechat.wecom.domain.dto.tag.WeCropGroupTagDto
;
import
com.linkwechat.wecom.domain.dto.tag.WeCropGroupTagListDto
;
...
...
@@ -24,6 +25,7 @@ import com.linkwechat.wecom.domain.vo.WeLeaveUserInfoAllocateVo;
import
com.linkwechat.wecom.domain.vo.WeMakeCustomerTag
;
import
com.linkwechat.wecom.mapper.WeCustomerMapper
;
import
com.linkwechat.wecom.service.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.core.context.SecurityContext
;
import
org.springframework.security.core.context.SecurityContextHolder
;
...
...
@@ -605,5 +607,10 @@ public class WeCustomerServiceImpl extends ServiceImpl<WeCustomerMapper, WeCusto
this
.
removeById
(
externalUserid
);
}
@Override
public
void
sendWelcomeMsg
(
WeWelcomeMsg
weWelcomeMsg
)
{
weCustomerClient
.
sendWelcomeMsg
(
weWelcomeMsg
);
}
}
linkwe-wecom/src/main/java/com/linkwechat/wecom/service/impl/WeEmpleCodeServiceImpl.java
浏览文件 @
78681384
...
...
@@ -2,9 +2,12 @@ package com.linkwechat.wecom.service.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.linkwechat.common.utils.SecurityUtils
;
import
com.linkwechat.common.utils.StringUtils
;
import
com.linkwechat.wecom.client.WeExternalContactClient
;
import
com.linkwechat.wecom.domain.WeEmpleCode
;
import
com.linkwechat.wecom.domain.WeEmpleCodeUseScop
;
import
com.linkwechat.wecom.domain.dto.WeEmpleCodeDto
;
import
com.linkwechat.wecom.domain.dto.WeExternalContactDto
;
import
com.linkwechat.wecom.mapper.WeEmpleCodeMapper
;
import
com.linkwechat.wecom.service.IWeEmpleCodeService
;
...
...
@@ -14,7 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -62,10 +67,10 @@ public class WeEmpleCodeServiceImpl extends ServiceImpl<WeEmpleCodeMapper, WeEmp
List
<
WeEmpleCodeUseScop
>
weEmpleCodeUseScopList
=
empleCode
.
getWeEmpleCodeUseScops
();
if
(
CollectionUtil
.
isNotEmpty
(
weEmpleCodeUseScopList
)){
String
useUserName
=
weEmpleCodeUseScopList
.
stream
().
map
(
WeEmpleCodeUseScop:
:
getBusinessName
)
.
collect
(
Collectors
.
joining
(
","
));
.
filter
(
StringUtils:
:
isNotEmpty
).
collect
(
Collectors
.
joining
(
","
));
empleCode
.
setUseUserName
(
useUserName
);
String
mobile
=
weEmpleCodeUseScopList
.
stream
().
map
(
WeEmpleCodeUseScop:
:
getMobile
)
.
collect
(
Collectors
.
joining
(
","
));
.
filter
(
StringUtils:
:
isNotEmpty
).
collect
(
Collectors
.
joining
(
","
));
empleCode
.
setMobile
(
mobile
);
}
});
...
...
@@ -82,6 +87,8 @@ public class WeEmpleCodeServiceImpl extends ServiceImpl<WeEmpleCodeMapper, WeEmp
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
insertWeEmpleCode
(
WeEmpleCode
weEmpleCode
)
{
weEmpleCode
.
setCreateTime
(
new
Date
());
weEmpleCode
.
setCreateBy
(
SecurityUtils
.
getUsername
());
WeExternalContactDto
.
WeContactWay
weContactWay
=
getWeContactWay
(
weEmpleCode
);
try
{
WeExternalContactDto
weExternalContactDto
=
weExternalContactClient
.
addContactWay
(
weContactWay
);
...
...
@@ -172,6 +179,11 @@ public class WeEmpleCodeServiceImpl extends ServiceImpl<WeEmpleCodeMapper, WeEmp
return
this
.
baseMapper
.
batchRemoveWeEmpleCodeIds
(
ids
);
}
@Override
public
WeEmpleCodeDto
selectWelcomeMsgByActivityScene
(
String
activityScene
)
{
return
this
.
baseMapper
.
selectWelcomeMsgByActivityScene
(
activityScene
);
}
private
WeExternalContactDto
.
WeContactWay
getWeContactWay
(
WeEmpleCode
weEmpleCode
)
{
WeExternalContactDto
.
WeContactWay
weContactWay
=
new
WeExternalContactDto
.
WeContactWay
();
List
<
WeEmpleCodeUseScop
>
weEmpleCodeUseScops
=
weEmpleCode
.
getWeEmpleCodeUseScops
();
...
...
linkwe-wecom/src/main/resources/mapper/wecom/WeEmpleCodeMapper.xml
浏览文件 @
78681384
...
...
@@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"qrCode"
column=
"qr_code"
/>
<collection
property=
"weEmpleCodeUseScops"
ofType=
"com.linkwechat.wecom.domain.WeEmpleCodeUseScop"
>
<result
property=
"businessId"
column=
"business_id"
/>
<result
property=
"businessName"
column=
"business_ame"
/>
<result
property=
"businessName"
column=
"business_
n
ame"
/>
<result
property=
"mobile"
column=
"mobile"
/>
</collection>
<collection
property=
"weEmpleCodeTags"
ofType=
"com.linkwechat.wecom.domain.WeEmpleCodeTag"
>
...
...
@@ -177,6 +177,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<select
id=
"selectWelcomeMsgByActivityScene"
parameterType=
"String"
resultType=
"com.linkwechat.wecom.domain.dto.WeEmpleCodeDto"
>
select
wmt.welcome_msg ,
wmt.welcome_msg_tpl_type,
wm.category_id,
wm.material_url,
wm.content,
wm.material_name,
wm.digest,
wm.cover_url
from
we_emple_code wecode
left join
we_msg_tlp_scope wmts on wecode.welcome_msg = wmts .msg_tlp_id
left join we_msg_tlp wmt on wmt.id = wmts .msg_tlp_id
left join we_material wm on wm .id = wmt.media_id
where wmt.del_flag =0
<if
test=
"activityScene != null and activityScene != ''"
>
and wecode.activity_scene = #{activityScene}
</if>
</select>
</mapper>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录