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
b35769df
Commit
b35769df
authored
Apr 26, 2021
by
bilingfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 新增消息单人发送通用接口
parent
3ad13fed
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
80 additions
and
18 deletions
+80
-18
StaffDepartmentRelatedApiService.java
.../manage/api/service/StaffDepartmentRelatedApiService.java
+12
-0
StaffDepartmentRelatedApiServiceImpl.java
...ervice/out/impl/StaffDepartmentRelatedApiServiceImpl.java
+68
-18
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/StaffDepartmentRelatedApiService.java
View file @
b35769df
...
@@ -36,6 +36,18 @@ public interface StaffDepartmentRelatedApiService {
...
@@ -36,6 +36,18 @@ public interface StaffDepartmentRelatedApiService {
//发送消息,单人发送
//发送消息,单人发送
boolean
sendSingleMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
);
boolean
sendSingleMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
);
/**
* 单人消息发送通用方法
*
* @param clerkId : 接收人id
* @param title : 通知标题
* @param contentMap : 时间集合, key 为类型, value : 内容(例如 接收事件 : 事件内容)
* @param pageUrl : 跳转地址
* @return : 返回是否发送成功
*/
Boolean
sendSingleMessage
(
String
clerkId
,
String
title
,
Map
<
String
,
String
>
contentMap
,
String
pageUrl
);
//发送消息,带审核理由
//发送消息,带审核理由
public
boolean
sendAuditMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
,
int
auditStatus
,
String
auditReason
);
public
boolean
sendAuditMessage
(
String
clerkId
,
String
title
,
String
content
,
String
pageUrl
,
int
auditStatus
,
String
auditReason
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffDepartmentRelatedApiServiceImpl.java
View file @
b35769df
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.client.utils.URLEncodedUtils
;
import
org.apache.http.client.utils.URLEncodedUtils
;
...
@@ -47,8 +43,9 @@ import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
...
@@ -47,8 +43,9 @@ import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
@Service
@Service
public
class
StaffDepartmentRelatedApiServiceImpl
implements
StaffDepartmentRelatedApiService
{
public
class
StaffDepartmentRelatedApiServiceImpl
implements
StaffDepartmentRelatedApiService
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffDepartmentRelatedApiServiceImpl
.
class
);
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
StaffDepartmentRelatedApiServiceImpl
.
class
);
...
@@ -72,7 +69,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -72,7 +69,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
private
TabHaobanStaffClerkRelationMapper
tabHaobanStaffClerkRelationMapper
;
private
TabHaobanStaffClerkRelationMapper
tabHaobanStaffClerkRelationMapper
;
@Autowired
@Autowired
private
StaffApiService
staffApiService
;
private
StaffApiService
staffApiService
;
@Override
@Override
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentId
(
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentId
(
String
departmentId
)
{
String
departmentId
)
{
...
@@ -80,7 +77,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -80,7 +77,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
List
<
StaffDepartmentRelatedDTO
>
resultList
=
EntityUtil
.
changeEntityListByJSON
(
StaffDepartmentRelatedDTO
.
class
,
list
);
List
<
StaffDepartmentRelatedDTO
>
resultList
=
EntityUtil
.
changeEntityListByJSON
(
StaffDepartmentRelatedDTO
.
class
,
list
);
return
resultList
;
return
resultList
;
}
}
@Override
@Override
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentIds
(
public
List
<
StaffDepartmentRelatedDTO
>
listByDepartmentIds
(
List
<
String
>
departmentIds
)
{
List
<
String
>
departmentIds
)
{
...
@@ -96,7 +93,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -96,7 +93,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
@Override
@Override
public
void
deleteCode
(
StaffDepartmentRelatedDTO
dto
)
{
public
void
deleteCode
(
StaffDepartmentRelatedDTO
dto
)
{
staffDepartmentRelatedMapper
.
deleteCode
(
EntityUtil
.
changeEntityByJSON
(
TabHaobanStaffDepartmentRelated
.
class
,
dto
));
staffDepartmentRelatedMapper
.
deleteCode
(
EntityUtil
.
changeEntityByJSON
(
TabHaobanStaffDepartmentRelated
.
class
,
dto
));
}
}
@Override
@Override
...
@@ -118,7 +115,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -118,7 +115,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
List
<
StaffDepartmentRelatedDTO
>
resultList
=
EntityUtil
.
changeEntityListByJSON
(
StaffDepartmentRelatedDTO
.
class
,
list
);
List
<
StaffDepartmentRelatedDTO
>
resultList
=
EntityUtil
.
changeEntityListByJSON
(
StaffDepartmentRelatedDTO
.
class
,
list
);
return
resultList
;
return
resultList
;
}
}
@Override
@Override
public
List
<
StaffDepartmentRelatedDTO
>
listByStaffIds
(
List
<
String
>
staffIds
)
{
public
List
<
StaffDepartmentRelatedDTO
>
listByStaffIds
(
List
<
String
>
staffIds
)
{
List
<
TabHaobanStaffDepartmentRelated
>
list
=
staffDepartmentRelatedMapper
.
listStaffDepartmentByStaffIds
(
staffIds
);
List
<
TabHaobanStaffDepartmentRelated
>
list
=
staffDepartmentRelatedMapper
.
listStaffDepartmentByStaffIds
(
staffIds
);
...
@@ -151,7 +148,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -151,7 +148,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
@Override
@Override
public
Map
<
String
,
String
>
getWxUserIdByClerkId
(
String
clerkId
)
{
public
Map
<
String
,
String
>
getWxUserIdByClerkId
(
String
clerkId
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
TabHaobanStaffClerkRelation
tab
=
tabHaobanStaffClerkRelationMapper
.
getOneByClerkId
(
clerkId
);
TabHaobanStaffClerkRelation
tab
=
tabHaobanStaffClerkRelationMapper
.
getOneByClerkId
(
clerkId
);
if
(
tab
==
null
){
if
(
tab
==
null
){
return
map
;
return
map
;
...
@@ -167,7 +164,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -167,7 +164,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
map
.
put
(
"clerkName"
,
clerkDTO
.
getClerkName
());
map
.
put
(
"clerkName"
,
clerkDTO
.
getClerkName
());
return
map
;
return
map
;
}
}
public
Map
<
String
,
String
>
getWxUserIdByStaffId
(
String
staffId
)
{
public
Map
<
String
,
String
>
getWxUserIdByStaffId
(
String
staffId
)
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
StaffDTO
staffDTO
=
staffApiService
.
selectById
(
staffId
);
StaffDTO
staffDTO
=
staffApiService
.
selectById
(
staffId
);
...
@@ -235,7 +232,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -235,7 +232,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
messageDTO
.
setItems
(
items
);
messageDTO
.
setItems
(
items
);
logger
.
info
(
"发送参数为corpId============:{},suitId============:{},messageDTO============:{},"
,
corpId
,
config
.
getWxSuiteid
(),
JSONObject
.
toJSONString
(
messageDTO
));
logger
.
info
(
"发送参数为corpId============:{},suitId============:{},messageDTO============:{},"
,
corpId
,
config
.
getWxSuiteid
(),
JSONObject
.
toJSONString
(
messageDTO
));
boolean
b
=
qywxSuiteApiService
.
sendMessage
(
corpId
,
config
.
getWxSuiteid
(),
messageDTO
);
boolean
b
=
qywxSuiteApiService
.
sendMessage
(
corpId
,
config
.
getWxSuiteid
(),
messageDTO
);
logger
.
info
(
"发送===============》{}"
,
b
);
logger
.
info
(
"发送===============》{}"
,
b
);
}
}
...
@@ -256,8 +253,8 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -256,8 +253,8 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
String
pageUrl
=
this
.
getPageUrl
(
AppPageType
.
MY_RELATED_RECORD
.
getCode
(),
data
);
String
pageUrl
=
this
.
getPageUrl
(
AppPageType
.
MY_RELATED_RECORD
.
getCode
(),
data
);
this
.
sendAuditMessage
(
staffId
,
messageTitle
,
messageContent
,
pageUrl
,
auditStatus
,
auditReason
);
this
.
sendAuditMessage
(
staffId
,
messageTitle
,
messageContent
,
pageUrl
,
auditStatus
,
auditReason
);
}
}
//导购新增,,审核记录,,消息发送
//导购新增,,审核记录,,消息发送
@Override
@Override
public
void
sendClerkAdd
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
){
public
void
sendClerkAdd
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
){
...
@@ -280,7 +277,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -280,7 +277,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
String
pageUrl
=
this
.
getPageUrl
(
AppPageType
.
STORE_RELATED_RECORD
.
getCode
(),
data
);
String
pageUrl
=
this
.
getPageUrl
(
AppPageType
.
STORE_RELATED_RECORD
.
getCode
(),
data
);
this
.
sendAuditMessage
(
tab
.
getStaffId
(),
messageTitle
,
messageContent
,
pageUrl
,
auditStatus
,
auditReason
);
this
.
sendAuditMessage
(
tab
.
getStaffId
(),
messageTitle
,
messageContent
,
pageUrl
,
auditStatus
,
auditReason
);
}
}
//导购删除,,审核记录,,消息发送
//导购删除,,审核记录,,消息发送
public
void
sendClerkDel
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
){
public
void
sendClerkDel
(
String
clerkName
,
String
clerkCode
,
String
storeId
,
int
auditStatus
,
String
auditReason
){
//TODO huang 发送店长,门店关联记录列表
//TODO huang 发送店长,门店关联记录列表
...
@@ -342,11 +339,64 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -342,11 +339,64 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
messageDTO
.
setItems
(
items
);
messageDTO
.
setItems
(
items
);
logger
.
info
(
"发送参数为corpId============:{},suitId============:{},messageDTO============:{},"
,
corpId
,
config
.
getWxSuiteid
(),
JSONObject
.
toJSONString
(
messageDTO
));
logger
.
info
(
"发送参数为corpId============:{},suitId============:{},messageDTO============:{},"
,
corpId
,
config
.
getWxSuiteid
(),
JSONObject
.
toJSONString
(
messageDTO
));
boolean
b
=
qywxSuiteApiService
.
sendMessage
(
corpId
,
config
.
getWxSuiteid
(),
messageDTO
);
boolean
b
=
qywxSuiteApiService
.
sendMessage
(
corpId
,
config
.
getWxSuiteid
(),
messageDTO
);
logger
.
info
(
"发送===============》{}"
,
b
);
logger
.
info
(
"发送===============》{}"
,
b
);
return
b
;
return
b
;
}
}
/**
* 单人消息发送通用方法
*
* @param clerkId : 接收人id
* @param title : 通知标题
* @param contentMap : 时间集合, key 为类型, value : 内容(例如 接收事件 : 事件内容)
* @param pageUrl : 跳转地址
* @return : 返回是否发送成功
*/
@Override
public
Boolean
sendSingleMessage
(
String
clerkId
,
String
title
,
Map
<
String
,
String
>
contentMap
,
String
pageUrl
)
{
if
(
StringUtils
.
isEmpty
(
clerkId
)){
logger
.
info
(
"消息接收人不存在"
);
return
Boolean
.
FALSE
;
}
if
(
CollectionUtils
.
isEmpty
(
contentMap
)){
logger
.
info
(
"发送事件内容不存在"
);
return
Boolean
.
FALSE
;
}
Map
<
String
,
String
>
map
=
this
.
getWxUserIdByClerkId
(
clerkId
);
String
wxUserId
=
map
.
get
(
"wxUserId"
);
String
corpId
=
map
.
get
(
"corpId"
);
String
name
=
map
.
get
(
"clerkName"
);
if
(
jodd
.
util
.
StringUtil
.
isEmpty
(
wxUserId
)){
logger
.
info
(
"接收人wxUserId不存在, clerkId : {}"
,
clerkId
);
return
Boolean
.
FALSE
;
}
//组装发送内容
List
<
ItemDTO
>
contentList
=
new
ArrayList
<>();
ItemDTO
dto
=
new
ItemDTO
();
dto
.
setKey
(
"接收人"
);
dto
.
setValue
(
name
);
contentList
.
add
(
dto
);
contentMap
.
forEach
((
key
,
value
)
->
{
ItemDTO
itemDTO
=
new
ItemDTO
();
itemDTO
.
setKey
(
key
);
String
content
=
value
.
length
()
>
30
?
value
.
substring
(
0
,
26
)
+
"..."
:
value
;
itemDTO
.
setValue
(
content
);
});
QywxXcxSendMessageDTO
messageDTO
=
new
QywxXcxSendMessageDTO
();
messageDTO
.
setAppid
(
this
.
config
.
getAppid
());
messageDTO
.
setUserIds
(
Collections
.
singletonList
(
wxUserId
));
messageDTO
.
setTitle
(
title
);
messageDTO
.
setItems
(
contentList
);
messageDTO
.
setPage
(
pageUrl
);
logger
.
info
(
"消息发送, corpId : {}, suitId : {}, messageDTO : {}"
,
corpId
,
config
.
getWxSuiteid
(),
JSONObject
.
toJSONString
(
messageDTO
));
boolean
sendResult
=
qywxSuiteApiService
.
sendMessage
(
corpId
,
config
.
getWxSuiteid
(),
messageDTO
);
logger
.
info
(
"消息发送结果, sendResult : {}"
,
sendResult
);
return
sendResult
;
}
@Override
@Override
public
boolean
sendAuditMessage
(
String
staffId
,
String
title
,
public
boolean
sendAuditMessage
(
String
staffId
,
String
title
,
String
content
,
String
pageUrl
,
int
auditStatus
,
String
auditReason
)
{
String
content
,
String
pageUrl
,
int
auditStatus
,
String
auditReason
)
{
...
@@ -394,7 +444,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
...
@@ -394,7 +444,7 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
messageDTO
.
setItems
(
items
);
messageDTO
.
setItems
(
items
);
logger
.
info
(
"发送参数为corpId============:{},suitId============:{},messageDTO============:{},"
,
corpId
,
config
.
getWxSuiteid
(),
JSONObject
.
toJSONString
(
messageDTO
));
logger
.
info
(
"发送参数为corpId============:{},suitId============:{},messageDTO============:{},"
,
corpId
,
config
.
getWxSuiteid
(),
JSONObject
.
toJSONString
(
messageDTO
));
boolean
b
=
qywxSuiteApiService
.
sendMessage
(
corpId
,
config
.
getWxSuiteid
(),
messageDTO
);
boolean
b
=
qywxSuiteApiService
.
sendMessage
(
corpId
,
config
.
getWxSuiteid
(),
messageDTO
);
logger
.
info
(
"发送===============》{}"
,
b
);
logger
.
info
(
"发送===============》{}"
,
b
);
return
b
;
return
b
;
...
...
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