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
fbbbab62
Commit
fbbbab62
authored
Jun 17, 2025
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/xgh/202506迭代' into developer
parents
29478d6b
e4b65ec4
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
578 additions
and
72 deletions
+578
-72
GroupChatHmDTO.java
...va/com/gic/haoban/manage/api/dto/chat/GroupChatHmDTO.java
+39
-2
GroupChatOwnerDTO.java
...com/gic/haoban/manage/api/dto/chat/GroupChatOwnerDTO.java
+11
-1
HmLinkDTO.java
...main/java/com/gic/haoban/manage/api/dto/hm/HmLinkDTO.java
+11
-0
QwMomentPlanDTO.java
...com/gic/haoban/manage/api/dto/moment/QwMomentPlanDTO.java
+20
-0
ChatHmSearchQDTO.java
...gic/haoban/manage/api/dto/qdto/chat/ChatHmSearchQDTO.java
+11
-0
OwnerSearchQDTO.java
.../gic/haoban/manage/api/dto/qdto/chat/OwnerSearchQDTO.java
+23
-1
JoinRuleManager.java
...c/haoban/manage/service/context/chat/JoinRuleManager.java
+41
-7
TabHaobanStaffClerkRelationMapper.java
...service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
+4
-0
GroupChatHmMapper.java
...ban/manage/service/dao/mapper/chat/GroupChatHmMapper.java
+6
-0
WxUserAddLogMapper.java
...oban/manage/service/dao/mapper/hm/WxUserAddLogMapper.java
+4
-0
TabGroupChatHm.java
...gic/haoban/manage/service/entity/chat/TabGroupChatHm.java
+9
-0
TabHmLink.java
...va/com/gic/haoban/manage/service/entity/hm/TabHmLink.java
+10
-0
TabQwMomentPlan.java
.../haoban/manage/service/entity/moment/TabQwMomentPlan.java
+19
-0
HmStoreNumBO.java
...java/com/gic/haoban/manage/service/pojo/HmStoreNumBO.java
+26
-0
StaffStoreNumBO.java
...a/com/gic/haoban/manage/service/pojo/StaffStoreNumBO.java
+26
-0
GroupChatHmBO.java
...gic/haoban/manage/service/pojo/bo/chat/GroupChatHmBO.java
+10
-0
HmLinkBO.java
...va/com/gic/haoban/manage/service/pojo/bo/hm/HmLinkBO.java
+10
-0
StaffClerkRelationService.java
...ban/manage/service/service/StaffClerkRelationService.java
+2
-0
GroupChatHmService.java
...aoban/manage/service/service/chat/GroupChatHmService.java
+9
-0
GroupChatHmServiceImpl.java
...age/service/service/chat/impl/GroupChatHmServiceImpl.java
+17
-8
StaffClerkRelationServiceImpl.java
...e/service/service/impl/StaffClerkRelationServiceImpl.java
+14
-0
HmLinkApiServiceImpl.java
...age/service/service/out/impl/hm/HmLinkApiServiceImpl.java
+62
-9
TabHaobanStaffClerkRelationMapper.xml
...in/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
+10
-0
GroupChatHmMapper.xml
...vice/src/main/resources/mapper/chat/GroupChatHmMapper.xml
+29
-4
GroupChatOwnerMapper.xml
...e/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
+1
-1
HmLinkMapper.xml
...ge3-service/src/main/resources/mapper/hm/HmLinkMapper.xml
+5
-4
WxUserAddLogMapper.xml
...rvice/src/main/resources/mapper/hm/WxUserAddLogMapper.xml
+8
-0
HalfFriendTest.java
haoban-manage3-service/src/test/java/HalfFriendTest.java
+42
-35
GroupChatController.java
...aoban/manage/web/controller/chat/GroupChatController.java
+18
-0
GroupChatHmController.java
...ban/manage/web/controller/chat/GroupChatHmController.java
+24
-0
QwMomentPlanQO.java
...a/com/gic/haoban/manage/web/qo/moment/QwMomentPlanQO.java
+20
-0
GroupChatHmVO.java
...java/com/gic/haoban/manage/web/vo/chat/GroupChatHmVO.java
+37
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatHmDTO.java
View file @
fbbbab62
...
...
@@ -47,8 +47,45 @@ public class GroupChatHmDTO implements Serializable {
private
Integer
statusFlag
;
// 可以群数
private
Integer
usableChatCount
;
private
String
storeId
;
private
String
storeName
;
private
String
storeCode
;
// 0已删除 1有效
private
int
storeStatus
;
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
int
getStoreStatus
()
{
return
storeStatus
;
}
public
void
setStoreStatus
(
int
storeStatus
)
{
this
.
storeStatus
=
storeStatus
;
}
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
Integer
getUsableChatCount
()
{
return
usableChatCount
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatOwnerDTO.java
View file @
fbbbab62
...
...
@@ -28,7 +28,17 @@ public class GroupChatOwnerDTO implements Serializable {
private
String
wxOpenUserId
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
private
String
storeNames
;
public
String
getStoreNames
()
{
return
storeNames
;
}
public
void
setStoreNames
(
String
storeNames
)
{
this
.
storeNames
=
storeNames
;
}
public
String
getWxUserId
()
{
return
wxUserId
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/hm/HmLinkDTO.java
View file @
fbbbab62
...
...
@@ -46,6 +46,17 @@ public class HmLinkDTO implements Serializable {
// 群活码配置
private
List
<
HmLinkChatDTO
>
linkChatList
;
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
private
String
chatStoreRule
;
public
String
getChatStoreRule
()
{
return
chatStoreRule
;
}
public
void
setChatStoreRule
(
String
chatStoreRule
)
{
this
.
chatStoreRule
=
chatStoreRule
;
}
public
List
<
HmLinkChatDTO
>
getLinkChatList
()
{
return
linkChatList
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/moment/QwMomentPlanDTO.java
View file @
fbbbab62
...
...
@@ -78,6 +78,26 @@ public class QwMomentPlanDTO implements Serializable{
*/
private
List
<
QwMomentPlanAttendDTO
>
clerkList
;
private
Integer
analyseFlag
;
private
Integer
analyseDay
;
public
Integer
getAnalyseFlag
()
{
return
analyseFlag
;
}
public
void
setAnalyseFlag
(
Integer
analyseFlag
)
{
this
.
analyseFlag
=
analyseFlag
;
}
public
Integer
getAnalyseDay
()
{
return
analyseDay
;
}
public
void
setAnalyseDay
(
Integer
analyseDay
)
{
this
.
analyseDay
=
analyseDay
;
}
public
Integer
getMediaLinkFlag
()
{
return
mediaLinkFlag
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/ChatHmSearchQDTO.java
View file @
fbbbab62
...
...
@@ -23,6 +23,17 @@ public class ChatHmSearchQDTO extends PageQo implements Serializable {
private
List
<
String
>
creatorIdList
;
private
Integer
linkCount
;
private
int
allFlag
;
private
String
storeId
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getSearchParamsCode
()
{
return
searchParamsCode
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/OwnerSearchQDTO.java
View file @
fbbbab62
...
...
@@ -26,7 +26,29 @@ public class OwnerSearchQDTO implements Serializable {
private
List
<
String
>
departmentIdList
;
// 1查询在职 2查离职
private
int
status
=
1
;
// 选择的企业id
private
String
paramsEnterpriseId
;
// 是否需要显示门店名称
private
int
showStoreNames
;
public
int
getShowStoreNames
()
{
return
showStoreNames
;
}
public
void
setShowStoreNames
(
int
showStoreNames
)
{
this
.
showStoreNames
=
showStoreNames
;
}
public
String
getParamsEnterpriseId
()
{
return
paramsEnterpriseId
;
}
public
void
setParamsEnterpriseId
(
String
paramsEnterpriseId
)
{
this
.
paramsEnterpriseId
=
paramsEnterpriseId
;
}
public
List
<
String
>
getDepartmentIdList
()
{
return
departmentIdList
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/context/chat/JoinRuleManager.java
View file @
fbbbab62
...
...
@@ -10,6 +10,7 @@ import com.gic.api.base.commons.Constant;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.dto.StoreGroupDTO
;
import
com.gic.enterprise.api.dto.StoreSearchDTO
;
...
...
@@ -22,10 +23,12 @@ import com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityJoinEnum
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityJoinRuleEnum
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatHmMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatHmRelationMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChat
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatHm
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatUser
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
...
...
@@ -79,6 +82,8 @@ public class JoinRuleManager {
private
ESMemberInfoService
esMemberInfoService
;
@Autowired
private
MemberTagGroupApiService
memberTagGroupApiService
;
@Autowired
private
GroupChatHmMapper
groupChatHmMapper
;
private
final
Map
<
ChatActivityJoinRuleEnum
,
FunctionWithException
<
GroupChatActivityHmQDTO
,
List
<
GroupChatHmBO
>>>
ruleHandlers
=
new
HashMap
<>();
...
...
@@ -241,7 +246,7 @@ public class JoinRuleManager {
* @param activityHmQDTO qdto
* @return
*/
p
rivate
List
<
GroupChatHmBO
>
handleMainStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
p
ublic
List
<
GroupChatHmBO
>
handleMainStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
...
...
@@ -260,7 +265,7 @@ public class JoinRuleManager {
* @param activityHmQDTO qdto
* @return
*/
p
rivate
List
<
GroupChatHmBO
>
handleOtherStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
p
ublic
List
<
GroupChatHmBO
>
handleOtherStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
...
...
@@ -280,7 +285,7 @@ public class JoinRuleManager {
* @return
* @throws BusinessException
*/
p
rivate
List
<
GroupChatHmBO
>
handleLbs
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
{
p
ublic
List
<
GroupChatHmBO
>
handleLbs
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
{
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
boolean
skipArea
=
activityHmQDTO
.
isSkipArea
();
...
...
@@ -336,6 +341,10 @@ public class JoinRuleManager {
*/
private
List
<
GroupChatHmBO
>
getByStoreIdList
(
String
enterpriseId
,
String
wxEnterpriseId
,
List
<
String
>
storeIdList
)
{
logger
.
info
(
"门店id列表:{}"
,
JSON
.
toJSONString
(
storeIdList
));
List
<
TabGroupChatHm
>
hmList
=
this
.
groupChatHmMapper
.
listByStoreIdList
(
storeIdList
)
;
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
return
EntityUtil
.
changeEntityListByJSON
(
GroupChatHmBO
.
class
,
hmList
)
;
}
// 获取导购列表
Page
<
ClerkDTO
>
page
=
clerkService
.
pageClerkByNameOrCode
(
enterpriseId
,
""
,
storeIdList
,
1
,
1000
);
List
<
ClerkDTO
>
clerkList
=
page
.
getResult
();
...
...
@@ -355,6 +364,13 @@ public class JoinRuleManager {
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
ArrayList
<>();
}
// 过滤绑定多个门店的成员
Map
<
String
,
Boolean
>
map
=
this
.
staffClerkRelationService
.
staffManyStore
(
staffIdList
)
;
staffIdList
=
staffIdList
.
stream
().
filter
(
item
->
null
==
map
.
get
(
item
)
||
!
map
.
get
(
item
)).
collect
(
Collectors
.
toList
())
;
logger
.
info
(
"过滤有多个门店的成员后={}"
,
staffIdList
);
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
ArrayList
<>();
}
// 通过staffId查询群
List
<
TabGroupChat
>
groupChatList
=
groupChatMapper
.
listByStaffIds
(
enterpriseId
,
staffIdList
);
if
(
CollectionUtils
.
isEmpty
(
groupChatList
))
{
...
...
@@ -377,7 +393,13 @@ public class JoinRuleManager {
hmSearchQDTO
.
setChatHmIdList
(
chatHmIdList
);
hmSearchQDTO
.
setStatus
(
1
);
Page
<
GroupChatHmBO
>
listPage
=
groupChatHmService
.
listPage
(
hmSearchQDTO
,
basePageInfo
);
return
listPage
.
getResult
();
logger
.
info
(
"群活码列表:{}"
,
JSON
.
toJSONString
(
listPage
));
List
<
GroupChatHmBO
>
retList
=
listPage
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
retList
))
{
Map
<
Long
,
Boolean
>
hmMap
=
this
.
groupChatHmService
.
hasManyOwnerStore
(
wxEnterpriseId
,
retList
.
stream
().
map
(
o
->
o
.
getChatHmId
()).
collect
(
Collectors
.
toList
()))
;
retList
=
retList
.
stream
().
filter
(
item
->
null
==
hmMap
.
get
(
item
.
getChatHmId
())
||
!
hmMap
.
get
(
item
.
getChatHmId
())).
collect
(
Collectors
.
toList
())
;
}
return
retList
;
}
...
...
@@ -407,6 +429,13 @@ public class JoinRuleManager {
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
HashMap
<>();
}
// 过滤绑定多个门店的成员
Map
<
String
,
Boolean
>
map
=
this
.
staffClerkRelationService
.
staffManyStore
(
staffIdList
)
;
staffIdList
=
staffIdList
.
stream
().
filter
(
item
->
null
==
map
.
get
(
item
)
||
!
map
.
get
(
item
)).
collect
(
Collectors
.
toList
())
;
logger
.
info
(
"过滤有多个门店的成员后={}"
,
staffIdList
);
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
HashMap
<>();
}
Map
<
String
,
Set
<
String
>>
storeToStaffMap
=
relationDTOList
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStoreId
,
Collectors
.
mapping
(
StaffClerkRelationDTO:
:
getStaffId
,
Collectors
.
toSet
())));
//通过staffId查询群
...
...
@@ -436,11 +465,16 @@ public class JoinRuleManager {
hmSearchQDTO
.
setChatHmIdList
(
chatHmIdList
);
hmSearchQDTO
.
setStatus
(
1
);
Page
<
GroupChatHmBO
>
listPage
=
groupChatHmService
.
listPage
(
hmSearchQDTO
,
basePageInfo
);
if
(
CollectionUtils
.
isEmpty
(
listPage
.
getResult
()))
{
List
<
GroupChatHmBO
>
hmList
=
listPage
.
getResult
();
if
(
CollectionUtils
.
isEmpty
(
hmList
))
{
return
new
HashMap
<>();
}
Map
<
Long
,
Boolean
>
hmMap
=
this
.
groupChatHmService
.
hasManyOwnerStore
(
wxEnterpriseId
,
hmList
.
stream
().
map
(
o
->
o
.
getChatHmId
()).
collect
(
Collectors
.
toList
()))
;
hmList
=
hmList
.
stream
().
filter
(
item
->
null
==
hmMap
.
get
(
item
.
getChatHmId
())
||
!
hmMap
.
get
(
item
.
getChatHmId
())).
collect
(
Collectors
.
toList
())
;
Map
<
Long
,
GroupChatHmBO
>
groupHmMap
=
hmList
.
stream
().
collect
(
Collectors
.
toMap
(
GroupChatHmBO:
:
getChatHmId
,
v
->
v
,
(
e
,
x
)
->
e
));
if
(
CollectionUtils
.
isEmpty
(
hmList
))
{
return
new
HashMap
<>();
}
Map
<
Long
,
GroupChatHmBO
>
groupHmMap
=
listPage
.
getResult
().
stream
().
collect
(
Collectors
.
toMap
(
GroupChatHmBO:
:
getChatHmId
,
v
->
v
,
(
e
,
x
)
->
e
));
Map
<
String
,
List
<
GroupChatHmBO
>>
storeIdToGroupChatHmBOMap
=
convertMap
(
storeToStaffMap
,
staffToGroupChatMap
,
groupChatToHmMap
,
groupHmMap
);
return
storeIdToGroupChatHmBOMap
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
View file @
fbbbab62
...
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.dao.mapper;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation
;
import
com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO
;
import
com.gic.haoban.manage.service.pojo.StaffStoreNumBO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Date
;
...
...
@@ -150,4 +151,6 @@ public interface TabHaobanStaffClerkRelationMapper {
List
<
TabHaobanStaffClerkRelation
>
taskoverClerkIdListAll
(
@Param
(
"staffId"
)
String
staffId
)
;
List
<
String
>
listAllStaffIdForOpenStaff
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"clerkId"
)
String
clerkId
,
@Param
((
"storeIdList"
))
List
<
String
>
storeIdList
);
List
<
StaffStoreNumBO
>
staffStoreNum
(
@Param
(
"staffIdList"
)
List
<
String
>
staffIdList
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatHmMapper.java
View file @
fbbbab62
...
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
import
java.util.List
;
import
com.gic.haoban.manage.service.pojo.HmStoreNumBO
;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO
;
...
...
@@ -33,5 +34,9 @@ public interface GroupChatHmMapper {
public
List
<
TabGroupChatHm
>
list
(
ChatHmSearchQDTO
qdto
);
List
<
TabGroupChatHm
>
listByStoreIdList
(
@Param
(
"storeIdList"
)
List
<
String
>
storeIdList
)
;
List
<
TabGroupChatHm
>
listAvailableByEnterpriseId
(
@Param
(
"enterpriseId"
)
String
enterpriseId
);
List
<
HmStoreNumBO
>
hasManyOwnerStore
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"chatHmIdList"
)
List
<
Long
>
chatHmIdList
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/hm/WxUserAddLogMapper.java
View file @
fbbbab62
...
...
@@ -54,6 +54,10 @@ public interface WxUserAddLogMapper {
public
TabWxUserAddLog
selectNewLog
(
@Param
(
"externalUserid"
)
String
externalUserid
,
@Param
(
"staffId"
)
String
staffId
);
public
TabWxUserAddLog
listNewLog
(
@Param
(
"externalUserid"
)
String
externalUserid
,
@Param
(
"staffId"
)
String
staffId
,
@Param
(
"friendClerkId"
)
String
friendClerkId
);
/**
*
* @Title: listAllForDel
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatHm.java
View file @
fbbbab62
...
...
@@ -41,6 +41,15 @@ public class TabGroupChatHm implements Serializable{
// 1有效 2作废 3待生效
private
Integer
statusFlag
;
private
Integer
linkCount
;
private
String
storeId
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
Integer
getLinkCount
()
{
return
linkCount
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/hm/TabHmLink.java
View file @
fbbbab62
...
...
@@ -43,6 +43,16 @@ public class TabHmLink implements Serializable {
private
Long
otherChatHmId
;
private
String
chatStoreRule
;
public
String
getChatStoreRule
()
{
return
chatStoreRule
;
}
public
void
setChatStoreRule
(
String
chatStoreRule
)
{
this
.
chatStoreRule
=
chatStoreRule
;
}
public
Long
getOtherChatHmId
()
{
return
otherChatHmId
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/moment/TabQwMomentPlan.java
View file @
fbbbab62
...
...
@@ -82,6 +82,25 @@ public class TabQwMomentPlan implements Serializable{
*/
private
Integer
mediaLinkFlag
;
private
Integer
analyseFlag
;
private
Integer
analyseDay
;
public
Integer
getAnalyseFlag
()
{
return
analyseFlag
;
}
public
void
setAnalyseFlag
(
Integer
analyseFlag
)
{
this
.
analyseFlag
=
analyseFlag
;
}
public
Integer
getAnalyseDay
()
{
return
analyseDay
;
}
public
void
setAnalyseDay
(
Integer
analyseDay
)
{
this
.
analyseDay
=
analyseDay
;
}
public
Integer
getMediaLinkFlag
()
{
return
mediaLinkFlag
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/HmStoreNumBO.java
0 → 100644
View file @
fbbbab62
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
;
import
java.io.Serializable
;
public
class
HmStoreNumBO
implements
Serializable
{
private
Long
chatHmId
;
private
int
num
;
public
Long
getChatHmId
()
{
return
chatHmId
;
}
public
void
setChatHmId
(
Long
chatHmId
)
{
this
.
chatHmId
=
chatHmId
;
}
public
int
getNum
()
{
return
num
;
}
public
void
setNum
(
int
num
)
{
this
.
num
=
num
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/StaffStoreNumBO.java
0 → 100644
View file @
fbbbab62
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
;
import
java.io.Serializable
;
public
class
StaffStoreNumBO
implements
Serializable
{
private
String
staffId
;
private
int
num
;
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
int
getNum
()
{
return
num
;
}
public
void
setNum
(
int
num
)
{
this
.
num
=
num
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/chat/GroupChatHmBO.java
View file @
fbbbab62
...
...
@@ -44,6 +44,16 @@ public class GroupChatHmBO implements Serializable{
private
Integer
statusFlag
;
// 可以群数
private
Integer
usableChatCount
;
private
String
storeId
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
Integer
getUsableChatCount
()
{
return
usableChatCount
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/hm/HmLinkBO.java
View file @
fbbbab62
...
...
@@ -41,6 +41,16 @@ public class HmLinkBO implements Serializable {
/**0删除 1正常*/
private
Integer
statusFlag
;
private
Long
otherChatHmId
;
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
private
String
chatStoreRule
;
public
String
getChatStoreRule
()
{
return
chatStoreRule
;
}
public
void
setChatStoreRule
(
String
chatStoreRule
)
{
this
.
chatStoreRule
=
chatStoreRule
;
}
public
Long
getOtherChatHmId
()
{
return
otherChatHmId
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffClerkRelationService.java
View file @
fbbbab62
...
...
@@ -204,4 +204,6 @@ public interface StaffClerkRelationService {
List
<
String
>
listAllStaffIdForOpenStaff
(
String
enterpriseId
,
String
wxEnterpriseId
,
String
clerkId
,
List
<
String
>
storeIdList
);
ServiceResponse
<
Map
<
String
,
List
<
String
>>>
listClerkForCanvas
(
String
wxEnterpriseId
,
String
enterpriseId
,
String
creatorId
,
String
storeFilterId
);
Map
<
String
,
Boolean
>
staffManyStore
(
List
<
String
>
staffIdList
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatHmService.java
View file @
fbbbab62
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
;
import
java.util.List
;
import
java.util.Map
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.Page
;
...
...
@@ -63,4 +64,11 @@ public interface GroupChatHmService {
Page
<
GroupChatHmMemberRelationDTO
>
memberGroupChatHmPage
(
String
enterpriseId
,
String
memberId
,
BasePageInfo
basePageInfo
);
Integer
memberJoinGroupChatHmCount
(
String
enterpriseId
,
String
memberId
);
/**
* 活码包含的群主有多个门店
* @param wxEnterpriseId
* @return
*/
Map
<
Long
,
Boolean
>
hasManyOwnerStore
(
String
wxEnterpriseId
,
List
<
Long
>
chatHmIdList
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatHmServiceImpl.java
View file @
fbbbab62
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
.
impl
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmMemberRelationDTO
;
import
com.gic.haoban.manage.service.dao.mapper.chat.*
;
import
com.gic.haoban.manage.service.pojo.HmStoreNumBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmMemberRelationBO
;
import
com.gic.haoban.manage.service.service.chat.GroupChatUserService
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -471,4 +465,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
public
Integer
memberJoinGroupChatHmCount
(
String
enterpriseId
,
String
memberId
)
{
return
groupChatUserMapper
.
getMemberJoinChatGroupCountByHmName
(
enterpriseId
,
memberId
,
"骑行"
);
}
@Override
public
Map
<
Long
,
Boolean
>
hasManyOwnerStore
(
String
wxEnterpriseId
,
List
<
Long
>
chatHmIdList
)
{
Map
<
Long
,
Boolean
>
map
=
new
HashMap
<>()
;
List
<
HmStoreNumBO
>
list
=
this
.
groupChatHmMapper
.
hasManyOwnerStore
(
wxEnterpriseId
,
chatHmIdList
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
list
.
forEach
(
item
->
{
map
.
put
(
item
.
getChatHmId
(),
item
.
getNum
()>
1
)
;
})
;
}
return
map
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkRelationServiceImpl.java
View file @
fbbbab62
...
...
@@ -15,6 +15,7 @@ import com.gic.api.base.commons.ServiceResponse;
import
com.gic.commons.util.DateUtil
;
import
com.gic.enterprise.api.service.StoreWidgetService
;
import
com.gic.haoban.manage.service.entity.*
;
import
com.gic.haoban.manage.service.pojo.StaffStoreNumBO
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -682,4 +683,17 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
map
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStoreId
,
Collectors
.
mapping
(
StaffClerkRelationDTO:
:
getClerkId
,
Collectors
.
toList
())))
;
return
ServiceResponse
.
success
(
map
)
;
}
// 成员是否绑定多加家门店
@Override
public
Map
<
String
,
Boolean
>
staffManyStore
(
List
<
String
>
staffIdList
)
{
Map
<
String
,
Boolean
>
map
=
new
HashMap
<>()
;
List
<
StaffStoreNumBO
>
list
=
this
.
tabHaobanStaffClerkRelationMapper
.
staffStoreNum
(
staffIdList
)
;
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
list
.
forEach
(
item
->
{
map
.
put
(
item
.
getStaffId
(),
item
.
getNum
()>
1
)
;
})
;
}
return
map
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/hm/HmLinkApiServiceImpl.java
View file @
fbbbab62
...
...
@@ -9,6 +9,11 @@ import java.util.Map;
import
java.util.Random
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONArray
;
import
com.gic.api.base.commons.BusinessException
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.service.context.chat.JoinRuleManager
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
...
...
@@ -121,6 +126,8 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
private
GroupChatHmService
groupChatHmService
;
@Autowired
private
TabHaobanStaffClerkRelationMapper
staffClerkRelationMapper
;
@Autowired
private
JoinRuleManager
joinRuleManager
;
@Override
public
ServiceResponse
<
String
>
getHmLinkUrl
()
{
...
...
@@ -184,7 +191,6 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
String
mixPhone
,
String
unionid
,
String
memberId
,
HmLinkBO
link
,
HmLinkWxaDTO
retDTO
)
{
Long
hmId
=
link
.
getOtherChatHmId
();
Long
linkId
=
link
.
getLinkId
();
List
<
HmLinkChatDTO
>
hmList
=
this
.
hmLinkChatService
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
);
if
(
StringUtils
.
isNotEmpty
(
mixPhone
))
{
String
mobile
=
this
.
keyDataService
.
getMobile
(
mixPhone
,
link
.
getShortCode
());
log
.
info
(
"查询手机号,mobile={},mixPhone={}"
,
mobile
,
mixPhone
);
...
...
@@ -193,14 +199,61 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
memberId
=
mobileMemberId
;
}
}
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
for
(
HmLinkChatDTO
item
:
hmList
)
{
boolean
flag
=
this
.
memberCondition
(
enterpriseId
,
memberId
,
item
,
link
.
getCreatorId
(),
link
.
getUpdateTime
());
if
(
flag
)
{
log
.
info
(
"使用特殊群活码={}"
,
item
.
getChatHmId
());
hmId
=
item
.
getChatHmId
();
break
;
String
chatStoreRule
=
link
.
getChatStoreRule
()
;
log
.
info
(
"活码规则={},memberId={}"
,
chatStoreRule
,
memberId
);
if
(
StringUtils
.
isBlank
(
chatStoreRule
))
{
log
.
info
(
"无活码规则配置"
);
return
ServiceResponse
.
failure
(
"9999"
,
"群活码不存在"
);
}
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
JSONArray
arr
=
JSONArray
.
parseArray
(
chatStoreRule
)
;
GroupChatActivityHmQDTO
hmQDTO
=
new
GroupChatActivityHmQDTO
()
;
hmQDTO
.
setEnterpriseId
(
enterpriseId
);
hmQDTO
.
setInviteeMemberId
(
memberId
);
GroupChatActivityDTO
chatActivity
=
new
GroupChatActivityDTO
()
;
chatActivity
.
setWxEnterpriseId
(
wxEnterpriseId
);
hmQDTO
.
setChatActivity
(
chatActivity
);
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
JSONObject
json
=
arr
.
getJSONObject
(
i
)
;
int
open
=
json
.
getIntValue
(
"open"
)
;
if
(
open
==
1
)
{
int
type
=
json
.
getIntValue
(
"type"
)
;
if
(
type
==
1
)
{
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleMainStore
(
hmQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
hmId
=
hmBOList
.
get
(
0
).
getChatHmId
()
;
break
;
}
}
else
if
(
type
==
2
)
{
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleOtherStore
(
hmQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
hmId
=
hmBOList
.
get
(
0
).
getChatHmId
()
;
break
;
}
}
else
if
(
type
==
3
)
{
try
{
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleLbs
(
hmQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
hmId
=
hmBOList
.
get
(
0
).
getChatHmId
()
;
break
;
}
}
catch
(
BusinessException
e
)
{
log
.
info
(
"获取lbs失败"
);
continue
;
}
}
else
if
(
type
==
4
)
{
List
<
HmLinkChatDTO
>
hmList
=
this
.
hmLinkChatService
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
);
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
for
(
HmLinkChatDTO
item
:
hmList
)
{
boolean
flag
=
this
.
memberCondition
(
enterpriseId
,
memberId
,
item
,
link
.
getCreatorId
(),
link
.
getUpdateTime
());
if
(
flag
)
{
log
.
info
(
"使用特殊群活码={}"
,
item
.
getChatHmId
());
hmId
=
item
.
getChatHmId
();
break
;
}
}
}
}
}
}
...
...
haoban-manage3-service/src/main/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
View file @
fbbbab62
...
...
@@ -514,5 +514,14 @@
</if>
GROUP BY a.staff_id
</select>
<select
id=
"staffStoreNum"
resultType=
"com.gic.haoban.manage.service.pojo.StaffStoreNumBO"
>
select a.staff_id staffId, count(a.store_id) num from tab_haoban_staff_clerk_relation a
where a.status_flag = 1 and a.staff_id in
<foreach
collection=
"staffIdList"
item=
"item"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
and a.store_id is not null
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatHmMapper.xml
View file @
fbbbab62
...
...
@@ -25,6 +25,7 @@
<result
column=
"chat_count"
property=
"chatCount"
/>
<result
column=
"link_count"
property=
"linkCount"
/>
<result
column=
"status_flag"
property=
"statusFlag"
/>
<result
column=
"store_id"
property=
"storeId"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
chat_hm_id,
...
...
@@ -46,7 +47,7 @@
create_time,
update_time,
chat_count, link_count ,
status_flag
status_flag
, store_id
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
...
...
@@ -72,7 +73,7 @@
create_time,
update_time,
chat_count,
status_flag
status_flag
, store_id
)VALUES(
#{chatHmId},
#{chatHmCode},
...
...
@@ -93,7 +94,7 @@
now(),
now(),
#{chatCount},
1
1
, #{storeId}
)
]]>
</insert>
...
...
@@ -118,7 +119,7 @@
modifier_id=#{modifierId},
modifier_name=#{modifierName},
update_time=now(),
chat_count=#{chatCount}
chat_count=#{chatCount}
, store_id = #{storeId}
where chat_hm_id = #{chatHmId}
]]>
</update>
...
...
@@ -169,6 +170,9 @@
#{id}
</foreach>
</if>
<if
test=
"null != storeId and ''!=storeId"
>
and store_id = #{storeId}
</if>
order by create_time desc
</select>
<select
id=
"listAvailableByEnterpriseId"
...
...
@@ -183,4 +187,24 @@
order by create_time desc
</select>
<select
id=
"listByStoreIdList"
resultMap=
"result-map-tabHaobanGroupChatHm"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_group_chat_hm where store_id in
<foreach
collection=
"storeIdList"
item=
"item"
index=
"index"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
and status_flag = 1 and delete_flag = 0
</select>
<select
id=
"hasManyOwnerStore"
resultType=
"com.gic.haoban.manage.service.pojo.HmStoreNumBO"
>
SELECT chat_hm_id , COUNT(1) FROM (
SELECT a.chat_hm_id , c.store_id FROM `tab_haoban_group_chat_hm_relation` a
LEFT JOIN tab_haoban_group_chat b ON a.group_chat_id = b.group_chat_id
LEFT JOIN `tab_haoban_staff_clerk_relation` c ON c.staff_id = b.staff_id AND c.status_flag = 1
WHERE a.delete_flag = 0 AND a.status_flag = 1 AND b.delete_flag = 0 AND c.`store_id`
<![CDATA[ <> ]]>
'' AND a.chat_hm_id in
<foreach
collection=
"chatHmIdList"
item=
"item"
index=
"index"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
GROUP BY a.`chat_hm_id` , c.`store_id` ) t GROUP BY chat_hm_id
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
View file @
fbbbab62
...
...
@@ -94,7 +94,7 @@
</foreach>
</if>
<if
test=
"null != searchParams and ''!=searchParams "
>
and b.staff_name like #{searchParams}
and b.staff_name like #{searchParams}
g
</if>
and b.status_flag = 1
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
...
...
haoban-manage3-service/src/main/resources/mapper/hm/HmLinkMapper.xml
View file @
fbbbab62
...
...
@@ -23,6 +23,7 @@
<result
column=
"status_flag"
property=
"statusFlag"
/>
<result
column=
"short_code"
property=
"shortCode"
/>
<result
column=
"other_chat_hm_id"
property=
"otherChatHmId"
/>
<result
column=
"chat_store_rule"
property=
"chatStoreRule"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
link_id,
...
...
@@ -43,7 +44,7 @@
store_rule_json,
custom_rule_json,
member_label_id,
status_flag,short_code , other_chat_hm_id
status_flag,short_code , other_chat_hm_id
, chat_store_rule
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.hm.TabHmLink"
>
...
...
@@ -67,7 +68,7 @@
store_rule_json,
custom_rule_json,
member_label_id,
status_flag , short_code , other_chat_hm_id
status_flag , short_code , other_chat_hm_id
, chat_store_rule
)VALUES(
#{linkId,jdbcType=BIGINT},
#{linkCode,jdbcType=VARCHAR},
...
...
@@ -87,7 +88,7 @@
#{storeRuleJson,jdbcType=VARCHAR},
#{customRuleJson,jdbcType=VARCHAR},
#{memberLabelId,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER} , #{shortCode} , #{otherChatHmId}
#{statusFlag,jdbcType=INTEGER} , #{shortCode} , #{otherChatHmId}
, #{chatStoreRule}
)
]]>
</insert>
...
...
@@ -105,7 +106,7 @@
update_time=now(),
store_rule_json=#{storeRuleJson,jdbcType=VARCHAR},
custom_rule_json=#{customRuleJson,jdbcType=VARCHAR},
member_label_id=#{memberLabelId,jdbcType=VARCHAR} , other_chat_hm_id = #{otherChatHmId}
member_label_id=#{memberLabelId,jdbcType=VARCHAR} , other_chat_hm_id = #{otherChatHmId}
, chat_store_rule = #{chatStoreRule}
WHERE link_id = #{linkId}
]]>
</update>
...
...
haoban-manage3-service/src/main/resources/mapper/hm/WxUserAddLogMapper.xml
View file @
fbbbab62
...
...
@@ -188,6 +188,14 @@
status_flag != 0 order by create_time desc limit 1
</select>
<select
id=
"listNewLog"
resultMap=
"result-map-tabHaobanWxUserAddLog"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_wx_user_add_log where
external_userid=#{externalUserid} and staff_id =#{staffId} and
status_flag != 0 and friend_clerk_id = #{friendClerkId} order by create_time desc limit 1
</select>
<select
id=
"listForPage"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogSearchQDTO"
resultMap=
"result-map-tabHaobanWxUserAddLog"
>
select
...
...
haoban-manage3-service/src/test/java/HalfFriendTest.java
View file @
fbbbab62
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum
;
import
com.gic.haoban.manage.api.qdto.OpenStaffPageQDTO
;
import
com.gic.haoban.manage.api.service.HaobanTimerApiService
;
import
com.gic.haoban.manage.api.service.notify.NoticeMessageApiService
;
import
com.gic.haoban.manage.api.service.role.HaobanRoleApiService
;
import
com.gic.haoban.manage.api.util.notify.NoticeMessageUtil
;
import
com.gic.haoban.manage.service.service.OpenStaffService
;
import
com.gic.weimob.common.Md5Util
;
import
com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper
;
import
com.gic.haoban.manage.service.dao.mapper.hm.WxUserAddLogMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated
;
import
com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog
;
import
com.gic.haoban.manage.service.service.hm.WxUserAddLogService
;
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.lang.reflect.Array
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
public
class
HalfFriendTest
{
@Autowired
private
OpenStaffService
openStaffService
;
private
TabHaobanExternalClerkRelatedMapper
haobanExternalClerkRelatedMapper
;
@Autowired
private
NoticeMessageApiService
noticeMessageApiService
;
private
WxUserAddLogMapper
wxUserAddLogMapper
;
@Autowired
private
WxUserAddLogService
wxUserAddLogService
;
@Test
public
void
tt
()
{
Map
<
String
,
String
>
map
=
new
HashMap
<>()
;
map
.
put
(
"accountName"
,
"111222333111K"
)
;
map
.
put
(
"errorTime"
,
"2024年4月20日 22:22"
)
;
map
.
put
(
"reason"
,
"异常断开"
)
;
this
.
noticeMessageApiService
.
sendMessageForOpenStaff
(
"ff8080815dacd3a2015dacd3ef5c0000"
,
"xgh"
,
"首次托管,需要二次验证"
);
/*OpenStaffPageQDTO qdto = new OpenStaffPageQDTO() ;
qdto.setWxEnterpriseId("ca66a01b79474c40b3e7c7f93daf1a3b");
qdto.setEnterpriseId("ff8080815dacd3a2015dacd3ef5c0000");
qdto.setClerkId("b2ef17cce11f476b996d0b27ebadf7fb");
qdto.setStoreGroupIdList(Arrays.asList("ff8080815dacd3a2015dacd3f4fc0033"));
qdto.setStaffParams("徐高华");
BasePageInfo basePageInfo = new BasePageInfo() ;
basePageInfo.setPageSize(11);
basePageInfo.setPageNum(1);
this.openStaffService.page(qdto,basePageInfo) ;*/
int
messageType
=
NoticeMessageTypeEnum
.
HAOBAN_OPEN_STAFF_LOGOUT
.
getType
();
// NoticeMessageUtil.sendNoticeMessageByStaff("ff8080815dacd3a2015dacd3ef5c0000","52995ea8c81c4cc286a9b82bc36a7081","-1",messageType,null,map,null);
String
wxEnterpriseId
=
"b8f2f238e73844219d8c1ac563cec0db"
;
String
staffId
=
"c153778c9ec24c189ac31e67748677e3"
;
List
<
TabHaobanExternalClerkRelated
>
list
=
this
.
haobanExternalClerkRelatedMapper
.
listByWxEnterpriseIdAndWxUserIdAndStatus
(
wxEnterpriseId
,
staffId
,
Arrays
.
asList
(
2
))
;
int
count
=
0
;
for
(
TabHaobanExternalClerkRelated
item
:
list
)
{
String
externalUserId
=
item
.
getExternalUserId
()
;
// a2d6b466a4fc436099a949db3756f6c1
// 8be4cae54aec4dbe90079d824f3c1490
String
clerkId
=
"8be4cae54aec4dbe90079d824f3c1490"
;
TabWxUserAddLog
log
=
this
.
wxUserAddLogMapper
.
listNewLog
(
externalUserId
,
staffId
,
clerkId
)
;
if
(
null
==
log
||
log
.
getStatusFlag
()!=
3
)
{
continue
;
}
count
++
;
System
.
err
.
println
(
"insert"
+
externalUserId
+
" "
+
count
);
//添加日志
WxUserAddLogQDTO
wxUserAddLogQDTO
=
new
WxUserAddLogQDTO
();
wxUserAddLogQDTO
.
setWxEnterpriseId
(
wxEnterpriseId
);
wxUserAddLogQDTO
.
setEnterpriseId
(
item
.
getEnterpriseId
());
wxUserAddLogQDTO
.
setMemberId
(
item
.
getMemberId
());
wxUserAddLogQDTO
.
setUnionid
(
item
.
getUnionid
());
wxUserAddLogQDTO
.
setDelFlag
(
true
);
wxUserAddLogQDTO
.
setExternalUserid
(
item
.
getExternalUserId
());
wxUserAddLogQDTO
.
setStaffId
(
item
.
getStaffId
());
wxUserAddLogQDTO
.
setClerkId
(
log
.
getFriendClerkId
());
if
(
null
!=
item
.
getAddTime
())
{
wxUserAddLogQDTO
.
setQwAddTime
(
item
.
getAddTime
());
}
wxUserAddLogQDTO
.
setFriendClerkId
(
log
.
getFriendClerkId
());
wxUserAddLogQDTO
.
setFriendStoreId
(
log
.
getFriendStoreId
());
this
.
wxUserAddLogService
.
save
(
wxUserAddLogQDTO
);
}
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatController.java
View file @
fbbbab62
...
...
@@ -14,6 +14,7 @@ import com.gic.commons.util.ExcelUtils;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.api.dto.EnterpriseDetailDTO
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO
;
...
...
@@ -23,6 +24,7 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO;
import
com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO
;
import
com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService
;
import
com.gic.haoban.manage.api.service.chat.GroupChatApiService
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.log.LogRecordUserServiceImpl
;
...
...
@@ -68,6 +70,8 @@ public class GroupChatController {
private
GroupChatUserExcelHandler
groupChatUserExcelHandler
;
@Autowired
private
GroupChatUserQuitExcelHandler
groupChatUserQuitExcelHandler
;
@Autowired
private
WxEnterpriseRelatedApiService
wxEnterpriseRelatedApiService
;
@RequestMapping
(
"get-set-gic-flag"
)
public
RestResponse
<
Object
>
getFlag
()
{
...
...
@@ -268,6 +272,20 @@ public class GroupChatController {
public
RestResponse
<
Object
>
ownerPage
(
OwnerSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
// 是否需要显示门店名称
String
paramsEnterpriseId
=
qdto
.
getParamsEnterpriseId
()
;
if
(
StringUtils
.
isNotBlank
(
paramsEnterpriseId
))
{
qdto
.
setShowStoreNames
(
1
);
}
else
{
List
<
EnterpriseDetailDTO
>
list
=
this
.
wxEnterpriseRelatedApiService
.
listEnterpriseByWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
(),
loginUser
.
getPhoneNumber
(),
false
)
;
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
RestResponse
.
failure
(
"-1"
,
"未关联gic商户"
);
}
if
(
list
.
size
()==
1
)
{
qdto
.
setShowStoreNames
(
1
);
}
qdto
.
setParamsEnterpriseId
(
list
.
get
(
0
).
getEnterpriseId
());
}
ServiceResponse
<
Page
<
GroupChatOwnerDTO
>>
resp
=
this
.
groupChatApiService
.
listOwnerPage
(
qdto
,
basePageInfo
);
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatHmController.java
View file @
fbbbab62
...
...
@@ -15,6 +15,8 @@ import java.util.stream.Collectors;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipOutputStream
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.StoreService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang.StringUtils
;
...
...
@@ -88,6 +90,8 @@ public class GroupChatHmController {
private
DownloadReportService
downloadReportService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
StoreService
storeService
;
@RequestMapping
(
"add"
)
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
HB_QHM
,
optType
=
GicLogRecordOptTypeEnum
.
HB_1002_01
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"群活码-新建活码"
)
...
...
@@ -283,6 +287,16 @@ public class GroupChatHmController {
if
(
vo
.
getUsableChatCount
()
==
0
)
{
vo
.
setUseRemark
(
"无可加入的群聊"
);
}
if
(
StringUtils
.
isNotBlank
(
vo
.
getStoreId
()))
{
StoreDTO
storeDTO
=
this
.
storeService
.
getStoreByIdNoStatus
(
vo
.
getStoreId
());
if
(
null
!=
storeDTO
)
{
vo
.
setStoreName
(
storeDTO
.
getStoreName
());
vo
.
setStoreCode
(
storeDTO
.
getStoreCode
());
if
(
null
!=
storeDTO
.
getStatus
()
&&
storeDTO
.
getStatus
()!=
0
)
{
vo
.
setStoreStatus
(
1
);
}
}
}
});
}
return
RestResponse
.
successResult
(
retPage
);
...
...
@@ -298,6 +312,16 @@ public class GroupChatHmController {
return
RestResponse
.
failure
(
"1"
,
"群活码不存在"
);
}
GroupChatHmDTO
hm
=
linkResp
.
getResult
();
if
(
StringUtils
.
isNotBlank
(
hm
.
getStoreId
()))
{
StoreDTO
storeDTO
=
this
.
storeService
.
getStoreByIdNoStatus
(
hm
.
getStoreId
());
if
(
null
!=
storeDTO
)
{
hm
.
setStoreName
(
storeDTO
.
getStoreName
());
hm
.
setStoreCode
(
storeDTO
.
getStoreCode
());
if
(
null
!=
storeDTO
.
getStatus
()
&&
storeDTO
.
getStatus
()!=
0
)
{
hm
.
setStoreStatus
(
1
);
}
}
}
return
RestResponse
.
successResult
(
hm
);
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/moment/QwMomentPlanQO.java
View file @
fbbbab62
...
...
@@ -69,6 +69,26 @@ public class QwMomentPlanQO implements Serializable {
*/
private
Integer
mediaLinkFlag
;
private
Integer
analyseFlag
;
private
Integer
analyseDay
;
public
Integer
getAnalyseFlag
()
{
return
analyseFlag
;
}
public
void
setAnalyseFlag
(
Integer
analyseFlag
)
{
this
.
analyseFlag
=
analyseFlag
;
}
public
Integer
getAnalyseDay
()
{
return
analyseDay
;
}
public
void
setAnalyseDay
(
Integer
analyseDay
)
{
this
.
analyseDay
=
analyseDay
;
}
public
Integer
getMediaLinkFlag
()
{
return
mediaLinkFlag
;
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatHmVO.java
View file @
fbbbab62
...
...
@@ -42,6 +42,43 @@ public class GroupChatHmVO implements Serializable {
// 可以群数
private
Integer
usableChatCount
;
private
String
useRemark
;
private
String
storeId
;
private
String
storeName
;
private
String
storeCode
;
// 0已删除 1有效
private
int
storeStatus
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
int
getStoreStatus
()
{
return
storeStatus
;
}
public
void
setStoreStatus
(
int
storeStatus
)
{
this
.
storeStatus
=
storeStatus
;
}
public
String
getUseRemark
()
{
return
useRemark
;
...
...
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