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
305146d3
Commit
305146d3
authored
Mar 21, 2023
by
songyinghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 素材分享日志 及客户触达日志
parent
29e4d6bc
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
597 additions
and
6 deletions
+597
-6
ClerkShareMaterialLogDTO.java
.../manage/api/dto/content/log/ClerkShareMaterialLogDTO.java
+14
-0
TriggerCustomerDetailLogDTO.java
...nage/api/dto/content/log/TriggerCustomerDetailLogDTO.java
+98
-0
TriggerCustomerChannelType.java
.../manage/api/enums/content/TriggerCustomerChannelType.java
+1
-1
QywxGroupMsgTaskApiService.java
.../api/service/content/task/QywxGroupMsgTaskApiService.java
+7
-0
TabHaobanExternalClerkRelatedMapper.java
...rvice/dao/mapper/TabHaobanExternalClerkRelatedMapper.java
+6
-0
GroupChatUserMapper.java
...n/manage/service/dao/mapper/chat/GroupChatUserMapper.java
+9
-0
TabHaobanClerkShareLogMapper.java
...vice/dao/mapper/content/TabHaobanClerkShareLogMapper.java
+8
-0
GroupChatUserBO.java
...c/haoban/manage/service/pojo/bo/chat/GroupChatUserBO.java
+70
-0
ClerkShareLogBO.java
...aoban/manage/service/pojo/bo/content/ClerkShareLogBO.java
+25
-0
GroupMessageInfoBo.java
...an/manage/service/pojo/bo/content/GroupMessageInfoBo.java
+13
-0
GroupChatUserQO.java
...c/haoban/manage/service/pojo/qo/chat/GroupChatUserQO.java
+42
-0
ClerkShareLogQO.java
...aoban/manage/service/pojo/qo/content/ClerkShareLogQO.java
+14
-0
ExternalClerkRelatedService.java
...n/manage/service/service/ExternalClerkRelatedService.java
+7
-0
StaffService.java
...a/com/gic/haoban/manage/service/service/StaffService.java
+7
-1
GroupChatUserService.java
...ban/manage/service/service/chat/GroupChatUserService.java
+9
-1
GroupChatUserServiceImpl.java
...e/service/service/chat/impl/GroupChatUserServiceImpl.java
+34
-0
ClerkShareLogService.java
.../manage/service/service/content/ClerkShareLogService.java
+5
-0
ClerkShareLogServiceImpl.java
...ervice/service/content/impl/ClerkShareLogServiceImpl.java
+16
-0
GroupMessageServiceImpl.java
...service/service/content/impl/GroupMessageServiceImpl.java
+0
-0
ExternalClerkRelatedServiceImpl.java
...service/service/impl/ExternalClerkRelatedServiceImpl.java
+11
-0
StaffServiceImpl.java
.../haoban/manage/service/service/impl/StaffServiceImpl.java
+17
-1
MaterialShareLogApiServiceImpl.java
...vice/out/impl/content/MaterialShareLogApiServiceImpl.java
+25
-0
QywxGroupMsgTaskApiServiceImpl.java
...out/impl/content/task/QywxGroupMsgTaskApiServiceImpl.java
+49
-1
TabHaobanExternalClerkRelatedMapper.xml
.../resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
+7
-0
GroupChatUserMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatUserMapper.xml
+18
-0
TabHaobanClerkShareLogDao.xml
...in/resources/mapper/content/TabHaobanClerkShareLogDao.xml
+11
-1
GroupMessageServiceTest.java
...anage3-service/src/test/java/GroupMessageServiceTest.java
+73
-0
ClerkMaterialShareController.java
.../web/controller/content/ClerkMaterialShareController.java
+1
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/content/log/ClerkShareMaterialLogDTO.java
View file @
305146d3
...
...
@@ -17,6 +17,12 @@ public class ClerkShareMaterialLogDTO implements Serializable {
*/
private
String
enterpriseId
;
/**
* 微信企业id
*/
private
String
wxEnterpriseId
;
/**
* 导购id
*/
...
...
@@ -91,4 +97,12 @@ public class ClerkShareMaterialLogDTO implements Serializable {
public
void
setBizType
(
Integer
bizType
)
{
this
.
bizType
=
bizType
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/content/log/TriggerCustomerDetailLogDTO.java
0 → 100644
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
content
.
log
;
import
com.tencentcloudapi.vpc.v20170312.models.LocalGateway
;
import
java.io.Serializable
;
/**
* @Author MUSI
* @Date 2023/3/20 4:27 PM
* @Description
* @Version
**/
public
class
TriggerCustomerDetailLogDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5149812263567137819L
;
/**
* 微信企业id
*/
private
String
wxEnterpriseId
;
/**
* 企业id
*/
private
String
enterpriseId
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 类型
*
* @see com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType
*/
private
Integer
shareType
;
/**
* 分享到朋友圈
*/
private
SharePYQ
sharePYQ
;
public
static
class
SharePYQ
implements
Serializable
{
private
static
final
long
serialVersionUID
=
273212828851672738L
;
/**
* 导购分享日志id
*/
private
Long
shareLogId
;
public
Long
getShareLogId
()
{
return
shareLogId
;
}
public
void
setShareLogId
(
Long
shareLogId
)
{
this
.
shareLogId
=
shareLogId
;
}
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
Integer
getShareType
()
{
return
shareType
;
}
public
void
setShareType
(
Integer
shareType
)
{
this
.
shareType
=
shareType
;
}
public
SharePYQ
getSharePYQ
()
{
return
sharePYQ
;
}
public
void
setSharePYQ
(
SharePYQ
sharePYQ
)
{
this
.
sharePYQ
=
sharePYQ
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/content/TriggerCustomerChannelType.java
View file @
305146d3
...
...
@@ -11,7 +11,7 @@ public enum TriggerCustomerChannelType {
PYQ
(
1
,
"朋友圈"
),
CUSTOMER_GROUP
(
2
,
"客户群"
),
DIALOG_BOX
(
3
,
"对话框"
),
DIALOG_BOX
(
3
,
"对话框
/群发给客户
"
),
CONTENT_COPY
(
4
,
"复制文案"
),
CONTENT_DOWNLOAD
(
5
,
"下载素材"
)
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/content/task/QywxGroupMsgTaskApiService.java
View file @
305146d3
...
...
@@ -19,4 +19,11 @@ public interface QywxGroupMsgTaskApiService {
* @return
*/
ServiceResponse
<
Void
>
groupMsgTaskJob
(
String
params
);
/**
* 处理客户触达日志明细
* @param params
* @return
*/
ServiceResponse
<
Void
>
handlerTriggerCustomerDetailLog
(
String
params
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanExternalClerkRelatedMapper.java
View file @
305146d3
...
...
@@ -389,4 +389,9 @@ public interface TabHaobanExternalClerkRelatedMapper {
TabHaobanExternalClerkRelated
getMemberForExternalId
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"externalUserId"
)
String
externalUserId
);
/**
* 查询成员的好友列表
*/
List
<
String
>
queryExternalUserIdWithStaffId
(
@Param
(
"staffId"
)
String
staffId
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatUserMapper.java
View file @
305146d3
...
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
import
java.util.List
;
import
com.gic.haoban.manage.service.pojo.qo.chat.GroupChatUserQO
;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO
;
...
...
@@ -55,4 +56,11 @@ public interface GroupChatUserMapper {
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"externalUserid"
)
String
externalUserid
,
@Param
(
"memberId"
)
String
memberId
);
/**
* 查询群组成员列表
* @param groupChatUserQO
* @return
*/
List
<
TabGroupChatUser
>
queryGroupChatUserList
(
GroupChatUserQO
groupChatUserQO
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/content/TabHaobanClerkShareLogMapper.java
View file @
305146d3
...
...
@@ -79,5 +79,13 @@ public interface TabHaobanClerkShareLogMapper {
*/
int
deleteById
(
Long
id
);
/**
* 标记分享日志为已处理
* @param enterpriseId
* @param ids
* @return
*/
int
markShareLogWithDone
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"ids"
)
List
<
Long
>
ids
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/chat/GroupChatUserBO.java
0 → 100644
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
bo
.
chat
;
/**
* @Author MUSI
* @Date 2023/3/20 8:00 PM
* @Description
* @Version
**/
public
class
GroupChatUserBO
{
private
Long
chatUserId
;
/**微信企业id*/
private
String
wxEnterpriseId
;
private
String
enterpriseId
;
/**1企业成员2外部联系人3客户*/
private
Integer
userType
;
/**群成员id*/
private
String
userId
;
/**群id*/
private
Long
groupChatId
;
public
Long
getChatUserId
()
{
return
chatUserId
;
}
public
void
setChatUserId
(
Long
chatUserId
)
{
this
.
chatUserId
=
chatUserId
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
Integer
getUserType
()
{
return
userType
;
}
public
void
setUserType
(
Integer
userType
)
{
this
.
userType
=
userType
;
}
public
String
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
String
userId
)
{
this
.
userId
=
userId
;
}
public
Long
getGroupChatId
()
{
return
groupChatId
;
}
public
void
setGroupChatId
(
Long
groupChatId
)
{
this
.
groupChatId
=
groupChatId
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/content/ClerkShareLogBO.java
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
bo
.
content
;
import
java.util.Date
;
/**
* @Author MUSI
* @Date 2023/3/18 9:02 PM
...
...
@@ -8,6 +10,8 @@ package com.gic.haoban.manage.service.pojo.bo.content;
**/
public
class
ClerkShareLogBO
{
private
Long
id
;
/**
* 企业id
*/
...
...
@@ -45,6 +49,11 @@ public class ClerkShareLogBO {
*/
private
Integer
bizType
;
/**
* 创建时间
*/
private
Date
createTime
;
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
...
...
@@ -100,4 +109,20 @@ public class ClerkShareLogBO {
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/content/GroupMessageInfoBo.java
View file @
305146d3
...
...
@@ -30,6 +30,11 @@ public class GroupMessageInfoBo {
*/
private
Date
endTime
;
/**
* 分享日志
*/
private
Long
shareLogId
;
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
...
...
@@ -61,4 +66,12 @@ public class GroupMessageInfoBo {
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
Long
getShareLogId
()
{
return
shareLogId
;
}
public
void
setShareLogId
(
Long
shareLogId
)
{
this
.
shareLogId
=
shareLogId
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/qo/chat/GroupChatUserQO.java
0 → 100644
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
qo
.
chat
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
/**
* @Author MUSI
* @Date 2023/3/20 8:07 PM
* @Description
* @Version
**/
public
class
GroupChatUserQO
extends
BasePageInfo
{
private
String
wxEnterpriseId
;
private
String
enterpriseId
;
private
Long
chatId
;
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
Long
getChatId
()
{
return
chatId
;
}
public
void
setChatId
(
Long
chatId
)
{
this
.
chatId
=
chatId
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/qo/content/ClerkShareLogQO.java
View file @
305146d3
...
...
@@ -15,6 +15,11 @@ public class ClerkShareLogQO extends BasePageInfo {
private
static
final
long
serialVersionUID
=
-
2919045329617420361L
;
/**
* 分享日志id
*/
private
Long
shareLogId
;
/**
* 企业id
*/
private
String
enterpriseId
;
...
...
@@ -83,4 +88,13 @@ public class ClerkShareLogQO extends BasePageInfo {
this
.
clerkId
=
clerkId
;
return
this
;
}
public
Long
getShareLogId
()
{
return
shareLogId
;
}
public
ClerkShareLogQO
setShareLogId
(
Long
shareLogId
)
{
this
.
shareLogId
=
shareLogId
;
return
this
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/ExternalClerkRelatedService.java
View file @
305146d3
...
...
@@ -83,4 +83,11 @@ public interface ExternalClerkRelatedService {
void
updateClerkInfo
(
String
staffId
,
String
oldClerkId
,
String
newClerkId
);
/**
* 外部联系人
* @param staffId
* @return
*/
List
<
String
>
queryExternalRelatedWithStaffId
(
String
staffId
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffService.java
View file @
305146d3
...
...
@@ -136,5 +136,11 @@ public interface StaffService {
Integer
getOccupyNum
(
String
wxEnterpriseId
);
/**
* 查询成员列表
* @param wxEnterpriseId
* @param staffIds
* @return
*/
List
<
TabHaobanStaff
>
listStaffWithIds
(
List
<
String
>
staffIds
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatUserService.java
View file @
305146d3
...
...
@@ -4,9 +4,16 @@ import com.gic.api.base.commons.BasePageInfo;
import
com.gic.api.base.commons.Page
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO
;
import
com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatUserBO
;
import
java.util.List
;
public
interface
GroupChatUserService
{
Page
<
GroupChatUserDTO
>
listPage
(
GroupChatUserSearchQDTO
qdto
,
BasePageInfo
basePageInfo
);
/**
* 查询群组内群成员
*/
List
<
GroupChatUserBO
>
queryGroupMemberWithChatId
(
String
enterpriseId
,
String
wxEnterpriseId
,
Long
groupChatId
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatUserServiceImpl.java
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
.
impl
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatUser
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatUserBO
;
import
com.gic.haoban.manage.service.pojo.qo.chat.GroupChatUserQO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -34,4 +41,30 @@ public class GroupChatUserServiceImpl implements GroupChatUserService {
return
retPage
;
}
/**
* 查询群组内群成员
*
* @param enterpriseId
* @param wxEnterpriseId
* @param groupChatId
*/
@Override
public
List
<
GroupChatUserBO
>
queryGroupMemberWithChatId
(
String
enterpriseId
,
String
wxEnterpriseId
,
Long
groupChatId
)
{
GroupChatUserQO
search
=
new
GroupChatUserQO
();
search
.
setChatId
(
groupChatId
);
search
.
setEnterpriseId
(
enterpriseId
);
search
.
setWxEnterpriseId
(
wxEnterpriseId
);
List
<
TabGroupChatUser
>
tabGroupChatUsers
=
groupChatUserMapper
.
queryGroupChatUserList
(
search
);
if
(
CollectionUtils
.
isEmpty
(
tabGroupChatUsers
))
{
return
Collections
.
emptyList
();
}
return
tabGroupChatUsers
.
stream
()
.
map
(
item
->
{
GroupChatUserBO
temp
=
new
GroupChatUserBO
();
BeanUtils
.
copyProperties
(
item
,
temp
);
return
temp
;
})
.
collect
(
Collectors
.
toList
());
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/ClerkShareLogService.java
View file @
305146d3
...
...
@@ -26,4 +26,9 @@ public interface ClerkShareLogService {
* @return
*/
List
<
ClerkShareLogBO
>
queryClerkShareLog
(
ClerkShareLogQO
clerkShareLogQO
);
/**
* 标记分享日志已处理
*/
void
markClerkShareDone
(
String
enterpriseId
,
List
<
Long
>
ids
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/impl/ClerkShareLogServiceImpl.java
View file @
305146d3
...
...
@@ -7,7 +7,9 @@ import com.gic.haoban.manage.service.entity.content.TabHaobanClerkShareLog;
import
com.gic.haoban.manage.service.pojo.bo.content.ClerkShareLogBO
;
import
com.gic.haoban.manage.service.pojo.qo.content.ClerkShareLogQO
;
import
com.gic.haoban.manage.service.service.content.ClerkShareLogService
;
import
jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -69,4 +71,18 @@ public class ClerkShareLogServiceImpl implements ClerkShareLogService {
})
.
collect
(
Collectors
.
toList
());
}
/**
* 标记分享日志已处理
*
* @param enterpriseId
* @param ids
*/
@Override
public
void
markClerkShareDone
(
String
enterpriseId
,
List
<
Long
>
ids
)
{
if
(
StringUtils
.
isBlank
(
enterpriseId
)
||
CollectionUtils
.
isEmpty
(
ids
))
{
return
;
}
clerkShareLogMapper
.
markShareLogWithDone
(
enterpriseId
,
ids
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/impl/GroupMessageServiceImpl.java
View file @
305146d3
This diff is collapsed.
Click to expand it.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/ExternalClerkRelatedServiceImpl.java
View file @
305146d3
...
...
@@ -490,4 +490,15 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
ClerkDTO
clerk
=
this
.
clerkService
.
getclerkById
(
newClerkId
);
this
.
mapper
.
updateClerkInfo
(
staffId
,
oldClerkId
,
newClerkId
,
clerk
.
getStoreId
());
}
/**
* 外部联系人
*
* @param staffId
* @return
*/
@Override
public
List
<
String
>
queryExternalRelatedWithStaffId
(
String
staffId
)
{
return
this
.
mapper
.
queryExternalUserIdWithStaffId
(
staffId
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffServiceImpl.java
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
impl
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -248,5 +250,19 @@ public class StaffServiceImpl implements StaffService {
this
.
haobanQywxFeeAccountStaffService
.
save
(
accountStaff
);
}
}
/**
* 查询成员列表
*
* @param wxEnterpriseId
* @param staffIds
* @return
*/
@Override
public
List
<
TabHaobanStaff
>
listStaffWithIds
(
List
<
String
>
staffIds
)
{
if
(
CollectionUtils
.
isEmpty
(
staffIds
))
{
return
Collections
.
emptyList
();
}
return
this
.
mapper
.
listByIds
(
staffIds
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/MaterialShareLogApiServiceImpl.java
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
.
content
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.haoban.manage.api.dto.content.log.ClerkShareMaterialLogDTO
;
import
com.gic.haoban.manage.api.dto.content.log.TriggerCustomerDetailLogDTO
;
import
com.gic.haoban.manage.api.enums.content.ClerkShareMaterialType
;
import
com.gic.haoban.manage.api.service.content.MaterialShareLogApiService
;
import
com.gic.haoban.manage.service.pojo.bo.content.ClerkShareLogBO
;
import
com.gic.haoban.manage.service.service.content.ClerkShareLogService
;
...
...
@@ -21,6 +25,12 @@ import org.springframework.stereotype.Component;
public
class
MaterialShareLogApiServiceImpl
implements
MaterialShareLogApiService
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
MaterialShareLogApiServiceImpl
.
class
);
/**
* 导购分享素材 客户触达日志
* @see com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService#handlerTriggerCustomerDetailLog(String)
*/
private
static
final
String
SHARE_MATERIAL_DETAIL_LOG
=
"SHARE_MATERIAL_DETAIL_LOG"
;
@Autowired
private
ClerkShareLogService
clerkShareLogService
;
...
...
@@ -30,6 +40,21 @@ public class MaterialShareLogApiServiceImpl implements MaterialShareLogApiServic
ClerkShareLogBO
clerkShareLogBO
=
new
ClerkShareLogBO
();
BeanUtils
.
copyProperties
(
clerkShareMaterialLogDTO
,
clerkShareLogBO
);
Long
logId
=
clerkShareLogService
.
saveClerkShareLog
(
clerkShareLogBO
);
if
(
logId
!=
null
){
// MQ 通知处理导购分享日志
TriggerCustomerDetailLogDTO
triggerCustomerDetailLog
=
new
TriggerCustomerDetailLogDTO
();
triggerCustomerDetailLog
.
setEnterpriseId
(
clerkShareLogBO
.
getEnterpriseId
());
triggerCustomerDetailLog
.
setClerkId
(
clerkShareLogBO
.
getClerkId
());
triggerCustomerDetailLog
.
setShareType
(
ClerkShareMaterialType
.
SHARE_PYQ
.
getCode
());
TriggerCustomerDetailLogDTO
.
SharePYQ
sharePYQ
=
new
TriggerCustomerDetailLogDTO
.
SharePYQ
();
sharePYQ
.
setShareLogId
(
logId
);
triggerCustomerDetailLog
.
setSharePYQ
(
sharePYQ
);
try
{
GICMQClientUtil
.
getClientInstance
().
sendMessage
(
SHARE_MATERIAL_DETAIL_LOG
,
JSON
.
toJSONString
(
triggerCustomerDetailLog
));
}
catch
(
Exception
ex
){
log
.
warn
(
"客户分享素材 触达日志MQ异常 {}"
,
JSON
.
toJSONString
(
triggerCustomerDetailLog
),
ex
);
}
}
return
ServiceResponse
.
success
(
logId
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/task/QywxGroupMsgTaskApiServiceImpl.java
View file @
305146d3
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
.
content
.
task
;
import
com.alibaba.fastjson.JSON
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.haoban.manage.api.dto.content.log.TriggerCustomerDetailLogDTO
;
import
com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType
;
import
com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService
;
import
com.gic.haoban.manage.service.pojo.bo.content.GroupMessageInfoBo
;
import
com.gic.haoban.manage.service.service.content.GroupMessageService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -16,14 +26,52 @@ import java.util.List;
@Component
(
"qywxGroupMsgTaskApiServiceImpl"
)
public
class
QywxGroupMsgTaskApiServiceImpl
implements
QywxGroupMsgTaskApiService
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
QywxGroupMsgTaskApiServiceImpl
.
class
);
@Autowired
private
GroupMessageService
groupMessageService
;
@Override
public
ServiceResponse
<
Void
>
groupMsgTaskJob
(
String
params
)
{
// 获取开启【内容】权限的企业id
List
<
String
>
enterpriseIds
=
new
ArrayList
<>();
// 获取企业 (当前时间 - 30分钟, 当前时间)范围内的 导购分享记录。按创建时间排序
Date
currentTime
=
new
Date
();
for
(
String
enterpriseId
:
enterpriseIds
)
{
GroupMessageInfoBo
groupMessageInfoBo
=
new
GroupMessageInfoBo
();
groupMessageInfoBo
.
setEnterpriseId
(
enterpriseId
);
groupMessageInfoBo
.
setStartTime
(
DateUtil
.
addNumForMinute
(
currentTime
,
-
30
));
groupMessageInfoBo
.
setEndTime
(
currentTime
);
groupMessageService
.
handlerGroupMessage
(
groupMessageInfoBo
);
}
// 获取当前时间段内的数据
return
ServiceResponse
.
success
();
}
/**
* 处理客户触达日志明细
*
* @param params
* @return
*/
@Override
public
ServiceResponse
<
Void
>
handlerTriggerCustomerDetailLog
(
String
params
)
{
log
.
info
(
"处理客户触达日志 {}"
,
params
);
TriggerCustomerDetailLogDTO
customerDetailLog
=
JSON
.
parseObject
(
params
,
TriggerCustomerDetailLogDTO
.
class
);
if
(
customerDetailLog
==
null
)
{
return
ServiceResponse
.
success
();
}
GroupMessageInfoBo
groupMessageInfoBo
=
new
GroupMessageInfoBo
();
groupMessageInfoBo
.
setEnterpriseId
(
customerDetailLog
.
getEnterpriseId
());
if
(
TriggerCustomerChannelType
.
PYQ
.
getCode
().
equals
(
customerDetailLog
.
getShareType
()))
{
if
(
customerDetailLog
.
getSharePYQ
()
==
null
)
{
log
.
info
(
"handlerTriggerCustomerDetailLog 分享朋友圈类型 参数异常 {}"
,
params
);
return
ServiceResponse
.
success
();
}
groupMessageInfoBo
.
setShareLogId
(
customerDetailLog
.
getSharePYQ
().
getShareLogId
());
}
groupMessageService
.
handlerGroupMessage
(
groupMessageInfoBo
);
return
ServiceResponse
.
success
();
}
}
haoban-manage3-service/src/main/resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
View file @
305146d3
...
...
@@ -751,4 +751,10 @@
limit 1
</select>
<select
id=
"queryExternalUserIdWithStaffId"
resultType=
"java.lang.String"
>
SELECT external_user_id from tab_haoban_external_clerk_related
WHERE staff_id = #{staffId}
and status_flag in (1, 3, 4);
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatUserMapper.xml
View file @
305146d3
...
...
@@ -282,5 +282,22 @@
</otherwise>
</choose>
</select>
<select
id=
"queryGroupChatUserList"
resultMap=
"result-map-tabHaobanGroupChatUser"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_group_chat_user
<where>
status_flag = 1 and delete_flag = 0
<if
test=
"wxEnterpriseId != null and wxEnterpriseId != ''"
>
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if
test=
"enterpriseId != null and enterpriseId != ''"
>
and enterprise_id = #{enterpriseId}
</if>
<if
test=
"chatId != null and chatId != ''"
>
and group_chat_id = #{chatId}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/content/TabHaobanClerkShareLogDao.xml
View file @
305146d3
...
...
@@ -61,8 +61,10 @@
<if
test=
"endTime != null"
>
and create_time
<![CDATA[ <= ]]>
#{endTime}
</if>
<if
test=
"shareLogId != null"
>
and id = #{shareLogId}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
<!--统计总行数-->
...
...
@@ -187,5 +189,13 @@
where id = #{id}
</delete>
<update
id=
"markShareLogWithDone"
>
update tab_haoban_clerk_share_log set delete_flag = 1
where enterprise_id = #{enterpriseId} and id in
<foreach
collection=
"ids"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
</update>
</mapper>
haoban-manage3-service/src/test/java/GroupMessageServiceTest.java
0 → 100644
View file @
305146d3
import
com.alibaba.fastjson.JSON
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.haoban.manage.api.dto.content.log.TriggerCustomerDetailLogDTO
;
import
com.gic.haoban.manage.api.enums.content.ClerkShareMaterialType
;
import
com.gic.haoban.manage.api.enums.content.ShareBizType
;
import
com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType
;
import
com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService
;
import
com.gic.haoban.manage.service.pojo.bo.content.ClerkShareLogBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.GroupMessageInfoBo
;
import
com.gic.haoban.manage.service.service.content.ClerkShareLogService
;
import
com.gic.haoban.manage.service.service.content.GroupMessageService
;
import
com.squareup.moshi.Json
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.util.Date
;
/**
* @Author MUSI
* @Date 2023/3/20 8:57 PM
* @Description
* @Version
**/
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
public
class
GroupMessageServiceTest
{
@Autowired
private
GroupMessageService
groupMessageService
;
@Autowired
private
ClerkShareLogService
clerkShareLogService
;
@Autowired
private
QywxGroupMsgTaskApiService
qywxGroupMsgTaskApiService
;
String
eid
=
"ff8080815dacd3a2015dacd3ef5c0000"
;
String
wxEid
=
"ca66a01b79474c40b3e7c7f93daf1a3b"
;
@Test
public
void
shareLogTest
()
{
ClerkShareLogBO
clerkShareLogBO
=
new
ClerkShareLogBO
();
clerkShareLogBO
.
setEnterpriseId
(
eid
);
clerkShareLogBO
.
setWxEnterpriseId
(
wxEid
);
clerkShareLogBO
.
setClerkId
(
"fbc508e395f846ef9005852c420e1c4f"
);
clerkShareLogBO
.
setStaffId
(
"e608b51b267e4943b87e222a343b4f25"
);
clerkShareLogBO
.
setShareType
(
ClerkShareMaterialType
.
SHARE_PYQ
.
getCode
());
clerkShareLogBO
.
setBizId
(
eid
);
clerkShareLogBO
.
setBizType
(
ShareBizType
.
MATERIAL
.
getCode
());
clerkShareLogService
.
saveClerkShareLog
(
clerkShareLogBO
);
}
@Test
public
void
shareWithPyq
()
{
TriggerCustomerDetailLogDTO
customerDetailLog
=
new
TriggerCustomerDetailLogDTO
();
customerDetailLog
.
setEnterpriseId
(
eid
);
customerDetailLog
.
setShareType
(
TriggerCustomerChannelType
.
PYQ
.
getCode
());
TriggerCustomerDetailLogDTO
.
SharePYQ
sharePYQ
=
new
TriggerCustomerDetailLogDTO
.
SharePYQ
();
sharePYQ
.
setShareLogId
(
511216759709786113L
);
customerDetailLog
.
setSharePYQ
(
sharePYQ
);
qywxGroupMsgTaskApiService
.
handlerTriggerCustomerDetailLog
(
JSON
.
toJSONString
(
customerDetailLog
));
}
@Test
public
void
groupMessageTest
()
{
Date
currentTime
=
new
Date
();
GroupMessageInfoBo
groupMessageInfoBo
=
new
GroupMessageInfoBo
();
groupMessageInfoBo
.
setEnterpriseId
(
eid
);
groupMessageInfoBo
.
setStartTime
(
DateUtil
.
addNumForMinute
(
currentTime
,
-
100
));
groupMessageInfoBo
.
setEndTime
(
currentTime
);
groupMessageService
.
handlerGroupMessage
(
groupMessageInfoBo
);
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/ClerkMaterialShareController.java
View file @
305146d3
...
...
@@ -43,6 +43,7 @@ public class ClerkMaterialShareController {
}
ClerkShareMaterialLogDTO
temp
=
new
ClerkShareMaterialLogDTO
();
temp
.
setEnterpriseId
(
materialShareLogQo
.
getEnterpriseId
());
temp
.
setWxEnterpriseId
(
materialShareLogQo
.
getWxEnterpriseId
());
temp
.
setClerkId
(
materialShareLogQo
.
getClerkId
());
temp
.
setStaffId
(
materialShareLogQo
.
getStaffId
());
temp
.
setShareType
(
materialShareLogQo
.
getShareType
());
...
...
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