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
haoban3.0
haoban-manage3.0
Commits
1ed40a97
Commit
1ed40a97
authored
Dec 10, 2024
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
画布-群发
parent
59475986
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
90 additions
and
18 deletions
+90
-18
CanvasInfoQDTO.java
...n/java/com/gic/haoban/manage/api/qdto/CanvasInfoQDTO.java
+56
-0
QywxSendService.java
...om/gic/haoban/manage/service/service/QywxSendService.java
+8
-0
QywxSendServiceImpl.java
...oban/manage/service/service/impl/QywxSendServiceImpl.java
+26
-18
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/qdto/CanvasInfoQDTO.java
0 → 100644
View file @
1ed40a97
package
com
.
gic
.
haoban
.
manage
.
api
.
qdto
;
import
java.io.Serializable
;
public
class
CanvasInfoQDTO
implements
Serializable
{
private
Long
canvasId
;
private
Long
nodeId
;
private
Long
execLogId
;
private
String
clerkId
;
private
Long
taskTime
;
public
Long
getCanvasId
()
{
return
canvasId
;
}
public
void
setCanvasId
(
Long
canvasId
)
{
this
.
canvasId
=
canvasId
;
}
public
Long
getNodeId
()
{
return
nodeId
;
}
public
void
setNodeId
(
Long
nodeId
)
{
this
.
nodeId
=
nodeId
;
}
public
Long
getExecLogId
()
{
return
execLogId
;
}
public
void
setExecLogId
(
Long
execLogId
)
{
this
.
execLogId
=
execLogId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
Long
getTaskTime
()
{
return
taskTime
;
}
public
void
setTaskTime
(
Long
taskTime
)
{
this
.
taskTime
=
taskTime
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/QywxSendService.java
View file @
1ed40a97
...
...
@@ -4,6 +4,7 @@ import java.util.List;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.ContentMaterialDTO
;
import
com.gic.haoban.manage.api.qdto.CanvasInfoQDTO
;
public
interface
QywxSendService
{
...
...
@@ -13,6 +14,13 @@ public interface QywxSendService {
public
ServiceResponse
<
String
>
sendMessage
(
String
wxEnterpriseId
,
String
staffId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
,
String
planId
);
/**
* 画布
*/
public
ServiceResponse
<
String
>
sendMessage
(
String
wxEnterpriseId
,
String
staffId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
,
String
planId
,
CanvasInfoQDTO
canvas
);
/**
* 素材-分享
*/
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/QywxSendServiceImpl.java
View file @
1ed40a97
...
...
@@ -3,11 +3,10 @@ package com.gic.haoban.manage.service.service.impl;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.enterprise.api.dto.EnterpriseWxaRelationDTO
;
import
com.gic.enterprise.api.service.EnterpriseService
;
import
com.gic.enterprise.api.service.EnterpriseWxaLinkService
;
import
com.gic.haoban.manage.api.qdto.CanvasInfoQDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
...
...
@@ -82,26 +81,31 @@ public class QywxSendServiceImpl implements QywxSendService {
@Override
public
ServiceResponse
<
String
>
sendMessage
(
String
wxEnterpriseId
,
String
staffId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
,
String
planId
)
{
return
this
.
send
(
wxEnterpriseId
,
staffId
,
extendUserList
,
materialIdList
,
null
,
1
,
single
,
planId
,
1
);
return
this
.
send
(
wxEnterpriseId
,
staffId
,
extendUserList
,
materialIdList
,
null
,
1
,
single
,
planId
,
1
,
null
);
}
@Override
public
ServiceResponse
<
String
>
sendMessage
(
String
wxEnterpriseId
,
String
staffId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
,
String
planId
,
CanvasInfoQDTO
canvas
)
{
return
this
.
send
(
wxEnterpriseId
,
staffId
,
extendUserList
,
materialIdList
,
null
,
1
,
single
,
planId
,
1
,
canvas
);
}
@Override
public
ServiceResponse
<
String
>
sendMessageShare
(
String
wxEnterpriseId
,
String
staffId
,
List
<
String
>
extendUserList
,
List
<
ContentMaterialDTO
>
imageList
,
String
message
)
{
List
<
String
>
materialIdList
=
this
.
materialService
.
getImageMediaId
(
wxEnterpriseId
,
imageList
,
1
);
return
this
.
send
(
wxEnterpriseId
,
staffId
,
extendUserList
,
materialIdList
,
message
,
2
,
null
,
null
,
null
);
return
this
.
send
(
wxEnterpriseId
,
staffId
,
extendUserList
,
materialIdList
,
message
,
2
,
null
,
null
,
null
,
null
);
}
// 群发发送
private
ServiceResponse
<
String
>
send
(
String
wxEnterpriseId
,
String
staffId
,
List
<
String
>
extendUserList
,
List
<
String
>
materialIdList
,
String
message
,
int
from
,
String
chatType
,
String
planId
,
Integer
planType
)
{
List
<
String
>
materialIdList
,
String
message
,
int
from
,
String
chatType
,
String
planId
,
Integer
planType
,
CanvasInfoQDTO
canvas
)
{
TabHaobanStaff
tabHaobanStaff
=
staffService
.
selectById
(
staffId
);
if
(
null
==
tabHaobanStaff
)
{
log
.
info
(
"staff不存在,staffId={}"
,
staffId
);
return
ServiceResponse
.
failure
(
"9999"
,
"群发失败,成员不存在"
);
}
// 群发请求参数
QywxExternalMessageDTO
messageDTO
=
this
.
getMessage
(
from
,
message
,
materialIdList
,
chatType
,
planId
,
planType
);
QywxExternalMessageDTO
messageDTO
=
this
.
getMessage
(
from
,
message
,
materialIdList
,
chatType
,
planId
,
planType
,
canvas
);
log
.
info
(
"群发信息={}"
,
JSON
.
toJSONString
(
messageDTO
));
if
(
messageDTO
.
getAttachments
().
isEmpty
()
&&
StringUtils
.
isBlank
(
messageDTO
.
getContent
()))
{
log
.
info
(
"群发素材不存在, 群发创建失败"
);
...
...
@@ -140,7 +144,7 @@ public class QywxSendServiceImpl implements QywxSendService {
List
<
ContentMaterialDTO
>
imageList
)
{
WxEnterpriseQwDTO
qwDTO
=
this
.
wxEnterpriseService
.
getQwInfo
(
wxEnterpriseId
);
List
<
String
>
materialIdList
=
this
.
materialService
.
getImageMediaId
(
wxEnterpriseId
,
imageList
,
2
);
QywxExternalMessageDTO
dto
=
this
.
getMessage
(
2
,
message
,
materialIdList
,
null
,
null
,
null
);
QywxExternalMessageDTO
dto
=
this
.
getMessage
(
2
,
message
,
materialIdList
,
null
,
null
,
null
,
null
);
MomentTaskDTO
moment
=
EntityUtil
.
changeEntity
(
MomentTaskDTO
.
class
,
dto
);
Text
text
=
new
Text
();
text
.
setContent
(
dto
.
getContent
());
...
...
@@ -174,7 +178,7 @@ public class QywxSendServiceImpl implements QywxSendService {
}
// from 1好办素材 2内容中台
private
QywxExternalMessageDTO
getMessage
(
int
from
,
String
message
,
List
<
String
>
materialIdList
,
String
chatType
,
String
planId
,
Integer
planType
)
{
private
QywxExternalMessageDTO
getMessage
(
int
from
,
String
message
,
List
<
String
>
materialIdList
,
String
chatType
,
String
planId
,
Integer
planType
,
CanvasInfoQDTO
canvas
)
{
QywxExternalMessageDTO
messageDTO
=
new
QywxExternalMessageDTO
();
messageDTO
.
setChatType
(
chatType
);
List
<
QywxMessageMaterialDTO
>
attachList
=
new
ArrayList
<>();
...
...
@@ -193,7 +197,7 @@ public class QywxSendServiceImpl implements QywxSendService {
if
(
material
.
getMaterialType
()
==
1
)
{
messageDTO
.
setContent
(
material
.
getMaterialContent
());
}
else
{
attachList
.
add
(
this
.
getMessageMaterial
(
material
,
planId
,
planType
));
attachList
.
add
(
this
.
getMessageMaterial
(
material
,
planId
,
planType
,
canvas
));
}
});
}
...
...
@@ -204,7 +208,10 @@ public class QywxSendServiceImpl implements QywxSendService {
/**
* 素材发送对象构造
*/
private
QywxMessageMaterialDTO
getMessageMaterial
(
MaterialDTO
material
,
String
planId
,
Integer
planType
)
{
private
QywxMessageMaterialDTO
getMessageMaterial
(
MaterialDTO
material
,
String
planId
,
Integer
planType
,
CanvasInfoQDTO
canvas
)
{
if
(
null
==
canvas
)
{
canvas
=
new
CanvasInfoQDTO
()
;
}
// 素材类型
Integer
materialType
=
material
.
getMaterialType
();
// 企微对应的id
...
...
@@ -237,13 +244,14 @@ public class QywxSendServiceImpl implements QywxSendService {
miniprogramMaterialDTO
.
setPage
(
material
.
getLink
());
// 卡券
if
(
materialType
==
7
)
{
String
nodeId
=
"736591066084777985"
;
String
canvasId
=
"1123"
;
String
execLogId
=
"111"
;
Long
sendTime
=
DateUtil
.
getStartTimeOfDay
().
getTime
()
;
String
str
=
"{\"id\":48,\"url\":\"/pages/member-center/coupon/coupon-group-get/coupon-group-get?execLogId="
+
execLogId
+
"&canvasId="
+
canvasId
+
"&time="
+
sendTime
+
"&nodeId="
+
nodeId
+
"\"}"
;
Long
canvasId
=
canvas
.
getCanvasId
();
Long
nodeId
=
canvas
.
getNodeId
();
Long
execLogId
=
canvas
.
getExecLogId
()
;
Long
clerkTaskTime
=
canvas
.
getTaskTime
();
String
clerkId
=
canvas
.
getClerkId
()
;
String
str
=
"{\"id\":48,\"url\":\"/pages/member-center/coupon/coupon-group-get/coupon-group-get?execLogId="
+
execLogId
+
"&canvasId="
+
canvasId
+
"&time="
+
clerkTaskTime
+
"&nodeId="
+
nodeId
+
"\"}"
;
EnterpriseWxaRelationDTO
en
=
this
.
enterpriseService
.
getByWxappkey
(
material
.
getAppId
())
;
Map
<
String
,
Object
>
map
=
this
.
enterpriseWxaLinkService
.
getWxaLinkAndQrCodeWithChannelAndSceneOfNotUrl
(
en
.
getEnterpriseId
(),
str
,
canvasId
,
"canvas"
,
node
Id
)
;
Map
<
String
,
Object
>
map
=
this
.
enterpriseWxaLinkService
.
getWxaLinkAndQrCodeWithChannelAndSceneOfNotUrl
(
en
.
getEnterpriseId
(),
str
,
canvasId
+
""
,
"canvas"
,
nodeId
+
"_"
+
execLogId
+
"_"
+
clerkTaskTime
+
"_"
+
clerk
Id
)
;
miniprogramMaterialDTO
.
setPage
(
map
.
get
(
"link"
).
toString
());
}
if
(
null
!=
planType
&&
StringUtils
.
isNotBlank
(
planId
))
{
...
...
@@ -264,12 +272,12 @@ public class QywxSendServiceImpl implements QywxSendService {
@Override
public
ServiceResponse
<
String
>
sendChatMessage
(
String
wxEnterpriseId
,
String
staffId
,
List
<
String
>
materialIdList
,
int
planType
,
String
planId
)
{
return
this
.
send
(
wxEnterpriseId
,
staffId
,
null
,
materialIdList
,
null
,
1
,
group
,
planId
,
planType
);
return
this
.
send
(
wxEnterpriseId
,
staffId
,
null
,
materialIdList
,
null
,
1
,
group
,
planId
,
planType
,
null
);
}
@Override
public
ServiceResponse
<
String
>
sendChatMessage
(
String
wxEnterpriseId
,
String
staffId
,
List
<
ContentMaterialDTO
>
imageList
,
String
message
)
{
List
<
String
>
materialIdList
=
this
.
materialService
.
getImageMediaId
(
wxEnterpriseId
,
imageList
,
1
);
return
this
.
send
(
wxEnterpriseId
,
staffId
,
null
,
materialIdList
,
message
,
2
,
group
,
null
,
null
);
return
this
.
send
(
wxEnterpriseId
,
staffId
,
null
,
materialIdList
,
message
,
2
,
group
,
null
,
null
,
null
);
}
}
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