Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
Overview
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QianQiXiang
haoban-manage3.0
Commits
0f18d07e
Commit
0f18d07e
authored
May 17, 2021
by
bilingfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix : 销售线索群发任务, 创建企业群发API接口改造, 适配官方的修改
parent
cc7c086e
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
158 additions
and
37 deletions
+158
-37
MemberUnionidRelatedApiService.java
...an/manage/api/service/MemberUnionidRelatedApiService.java
+11
-0
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+147
-37
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/MemberUnionidRelatedApiService.java
View file @
0f18d07e
...
@@ -52,6 +52,17 @@ public interface MemberUnionidRelatedApiService {
...
@@ -52,6 +52,17 @@ public interface MemberUnionidRelatedApiService {
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
String
materialId
);
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
String
materialId
);
/**
* 创建企业群发, 支出素材批量发送
*
* @param wxEnterpriseId : 微信企业id
* @param userId : 用户id
* @param extendUserList : 发送的用户id
* @param materialIdList : 素材id列表
* @return : 返回群发执行结果
*/
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
);
JSONResponse
getMessageStatus
(
String
wxEnterpriseId
,
String
wxMessageId
);
JSONResponse
getMessageStatus
(
String
wxEnterpriseId
,
String
wxMessageId
);
List
<
MemberUnionidRelatedDTO
>
getByWxUserIdListAndWxEnterpriseId
(
List
<
String
>
userIdList
,
String
wxEnterpriseId
);
List
<
MemberUnionidRelatedDTO
>
getByWxUserIdListAndWxEnterpriseId
(
List
<
String
>
userIdList
,
String
wxEnterpriseId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
0f18d07e
...
@@ -1010,51 +1010,161 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1010,51 +1010,161 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return
PageUtil
.
changePageHelperToCurrentPage
(
memberUnionRelatedService
.
pageMemberUnionByParams
(
userIdList
,
sendMemberIds
,
enterpriseId
),
MemberUnionidRelatedDTO
.
class
);
return
PageUtil
.
changePageHelperToCurrentPage
(
memberUnionRelatedService
.
pageMemberUnionByParams
(
userIdList
,
sendMemberIds
,
enterpriseId
),
MemberUnionidRelatedDTO
.
class
);
}
}
// @Override
// public String sendMessage(String wxEnterpriseId,String userId,List<String> extendUserList,String materialId){
// WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
// MaterialDTO material = materialApiService.selectMaterialById(materialId);
// if(material == null){
// return "";
// }
// JSONResponse jp = null;
// if(material.getMaterialType() == 2 || material.getMaterialType() == 4 || material.getMaterialType() == 5){
// Date wxLastTime = material.getWxLastUploadTime();
// String maerialId = material.getMediaId();
// if(DateUtil.addDay(wxLastTime, 3).getTime() < System.currentTimeMillis()){
// maerialId = materialApiService.reUpdalodMetail(materialId);
// }
// QywxImageExternalMessageDTO dto = new QywxImageExternalMessageDTO();
// dto.setMediaId(maerialId);
// dto.setChatType("single");
// dto.setExternalUserid(extendUserList);
// dto.setSenderUserId(userId);
// log.info("【发送消息】dto = {}",JSON.toJSONString(dto));
// jp = qywxSuiteApiService.sendExternalMessage(enterprise.getCorpid(), config.getWxSuiteid(), dto);
// }else if(material.getMaterialType() == 1){
// QywxTextExternalMessageDTO dto = new QywxTextExternalMessageDTO();
// dto.setChatType("single");
// dto.setExternalUserid(extendUserList);
// dto.setSenderUserId(userId);
// dto.setText(material.getMaterialContent());
// log.info("【发送消息】dto = {}",JSON.toJSONString(dto));
// jp = qywxSuiteApiService.sendExternalMessage(enterprise.getCorpid(), config.getWxSuiteid(), dto);
// }else if(material.getMaterialType() == 3){
// QywxIinkExternalMessageDTO dto = new QywxIinkExternalMessageDTO();
// dto.setChatType("single");
// dto.setExternalUserid(extendUserList);
// dto.setSenderUserId(userId);
// dto.setDesc(material.getMaterialDesc());
// dto.setPicurl(material.getWxImgUrl());
// dto.setTitle(material.getMaterialTitle());
// dto.setUrl(material.getLink());
// log.info("【发送消息】dto = {}",JSON.toJSONString(dto));
// jp = qywxSuiteApiService.sendExternalMessage(enterprise.getCorpid(), config.getWxSuiteid(), dto);
// }
// log.info("【发送消息】jp = {}",JSON.toJSONString(jp));
// Map<String,Object> returnMap = jp.getReturnMap();
// return returnMap.get("msgid") == null?"":returnMap.get("msgid").toString();
// }
/**
* 老的单个素材群发的api
*
* @param wxEnterpriseId : 微信企业id
* @param userId : 用户id
* @param extendUserList : 发送的用户id
* @param materialId : 素材id
* @return : 返回群发执行结果
*/
@Override
@Override
public
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
String
materialId
){
public
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
String
materialId
)
{
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
return
this
.
sendMessage
(
wxEnterpriseId
,
userId
,
extendUserList
,
Collections
.
singletonList
(
materialId
));
}
/**
* 创建企业群发, 支出素材批量发送
*
* @param wxEnterpriseId : 微信企业id
* @param userId : 用户id
* @param extendUserList : 发送的用户id
* @param materialIdList : 素材id列表
* @return : 返回群发执行结果
*/
@Override
public
String
sendMessage
(
String
wxEnterpriseId
,
String
userId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
)
{
//群发请求参数
QywxExternalMessageDTO
qywxExternalMessageDTO
=
new
QywxExternalMessageDTO
();
//素材列表
List
<
QywxMessageMaterialDTO
>
messageMaterialList
=
new
ArrayList
<>();
materialIdList
.
forEach
(
materialId
->
{
MaterialDTO
material
=
materialApiService
.
selectMaterialById
(
materialId
);
MaterialDTO
material
=
materialApiService
.
selectMaterialById
(
materialId
);
if
(
material
==
null
){
if
(
material
==
null
)
{
return
;
}
if
(
material
.
getMaterialType
()
==
1
)
{
qywxExternalMessageDTO
.
setContent
(
material
.
getMaterialContent
());
}
else
{
messageMaterialList
.
add
(
this
.
getMessageMaterial
(
material
));
}
});
//素材列表不存在, 并且不存在文本内容, 不执行
if
(
messageMaterialList
.
isEmpty
()
&&
StringUtils
.
isBlank
(
qywxExternalMessageDTO
.
getContent
()))
{
return
""
;
return
""
;
}
}
JSONResponse
jp
=
null
;
//请求参数赋值
if
(
material
.
getMaterialType
()
==
2
||
material
.
getMaterialType
()
==
4
||
material
.
getMaterialType
()
==
5
){
qywxExternalMessageDTO
.
setChatType
(
"single"
);
Date
wxLastTime
=
material
.
getWxLastUploadTime
();
qywxExternalMessageDTO
.
setExternalUserid
(
extendUserList
);
qywxExternalMessageDTO
.
setSenderUserId
(
userId
);
qywxExternalMessageDTO
.
setAttachments
(
messageMaterialList
);
//调接口执行创建群发
JSONResponse
jp
;
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
jp
=
qywxSuiteApiService
.
sendExternalMessage
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
qywxExternalMessageDTO
);
//返回执行结果, msgId
log
.
info
(
"【发送消息】jp = {}"
,
JSON
.
toJSONString
(
jp
));
Map
<
String
,
Object
>
returnMap
=
jp
.
getReturnMap
();
return
returnMap
.
get
(
"msgid"
)
==
null
?
""
:
returnMap
.
get
(
"msgid"
).
toString
();
}
/**
* 素材发送对象构造
*
* @param material : 素材对象
* @return : 返回素材发送对象
*/
private
QywxMessageMaterialDTO
getMessageMaterial
(
MaterialDTO
material
)
{
//素材类型
Integer
materialType
=
material
.
getMaterialType
();
//主键id
String
materialId
=
material
.
getMaterialId
();
//企微对应的id
String
maerialId
=
material
.
getMediaId
();
String
maerialId
=
material
.
getMediaId
();
if
(
DateUtil
.
addDay
(
wxLastTime
,
3
).
getTime
()
<
System
.
currentTimeMillis
()){
//判断企微id是否需要刷新
List
<
Integer
>
materialTypeList
=
Arrays
.
asList
(
2
,
4
,
5
,
6
);
if
(
materialTypeList
.
contains
(
materialType
))
{
Date
wxLastTime
=
material
.
getWxLastUploadTime
();
if
(
DateUtil
.
addDay
(
wxLastTime
,
3
).
getTime
()
<
System
.
currentTimeMillis
())
{
maerialId
=
materialApiService
.
reUpdalodMetail
(
materialId
);
maerialId
=
materialApiService
.
reUpdalodMetail
(
materialId
);
}
}
QywxImageExternalMessageDTO
dto
=
new
QywxImageExternalMessageDTO
();
dto
.
setMediaId
(
maerialId
);
dto
.
setChatType
(
"single"
);
dto
.
setExternalUserid
(
extendUserList
);
dto
.
setSenderUserId
(
userId
);
log
.
info
(
"【发送消息】dto = {}"
,
JSON
.
toJSONString
(
dto
));
jp
=
qywxSuiteApiService
.
sendExternalMessage
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
dto
);
}
else
if
(
material
.
getMaterialType
()
==
1
){
QywxTextExternalMessageDTO
dto
=
new
QywxTextExternalMessageDTO
();
dto
.
setChatType
(
"single"
);
dto
.
setExternalUserid
(
extendUserList
);
dto
.
setSenderUserId
(
userId
);
dto
.
setText
(
material
.
getMaterialContent
());
log
.
info
(
"【发送消息】dto = {}"
,
JSON
.
toJSONString
(
dto
));
jp
=
qywxSuiteApiService
.
sendExternalMessage
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
dto
);
}
else
if
(
material
.
getMaterialType
()
==
3
){
QywxIinkExternalMessageDTO
dto
=
new
QywxIinkExternalMessageDTO
();
dto
.
setChatType
(
"single"
);
dto
.
setExternalUserid
(
extendUserList
);
dto
.
setSenderUserId
(
userId
);
dto
.
setDesc
(
material
.
getMaterialDesc
());
dto
.
setPicurl
(
material
.
getWxImgUrl
());
dto
.
setTitle
(
material
.
getMaterialTitle
());
dto
.
setUrl
(
material
.
getLink
());
log
.
info
(
"【发送消息】dto = {}"
,
JSON
.
toJSONString
(
dto
));
jp
=
qywxSuiteApiService
.
sendExternalMessage
(
enterprise
.
getCorpid
(),
config
.
getWxSuiteid
(),
dto
);
}
log
.
info
(
"【发送消息】jp = {}"
,
JSON
.
toJSONString
(
jp
));
Map
<
String
,
Object
>
returnMap
=
jp
.
getReturnMap
();
return
returnMap
.
get
(
"msgid"
)
==
null
?
""
:
returnMap
.
get
(
"msgid"
).
toString
();
}
}
//素材对象
QywxMessageMaterialDTO
dto
=
new
QywxMessageMaterialDTO
();
if
(
materialType
==
2
||
materialType
==
5
)
{
dto
.
setMsgType
(
"image"
);
QywxImageMaterialDTO
imageMaterialDTO
=
new
QywxImageMaterialDTO
();
imageMaterialDTO
.
setMediaId
(
maerialId
);
}
else
if
(
materialType
==
3
)
{
dto
.
setMsgType
(
"link"
);
QywxLinkMaterialDTO
linkMaterialDTO
=
new
QywxLinkMaterialDTO
();
linkMaterialDTO
.
setTitle
(
material
.
getMaterialTitle
());
linkMaterialDTO
.
setPicurl
(
material
.
getWxImgUrl
());
linkMaterialDTO
.
setDesc
(
material
.
getMaterialDesc
());
linkMaterialDTO
.
setUrl
(
material
.
getLink
());
}
else
if
(
materialType
==
4
)
{
dto
.
setMsgType
(
"video"
);
QywxImageMaterialDTO
imageMaterialDTO
=
new
QywxImageMaterialDTO
();
imageMaterialDTO
.
setMediaId
(
maerialId
);
}
else
if
(
materialType
==
6
)
{
dto
.
setMsgType
(
"miniprogram"
);
QywxMiniprogramMaterialDTO
miniprogramMaterialDTO
=
new
QywxMiniprogramMaterialDTO
();
miniprogramMaterialDTO
.
setTitle
(
material
.
getMaterialTitle
());
//todo : 字段赋值
miniprogramMaterialDTO
.
setPicMediaId
(
maerialId
);
miniprogramMaterialDTO
.
setAppid
(
""
);
miniprogramMaterialDTO
.
setPage
(
""
);
}
return
dto
;
}
@Override
@Override
public
JSONResponse
getMessageStatus
(
String
wxEnterpriseId
,
String
wxMessageId
)
{
public
JSONResponse
getMessageStatus
(
String
wxEnterpriseId
,
String
wxMessageId
)
{
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
WxEnterpriseDTO
enterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
...
...
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