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
1
Merge Requests
1
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
1e1c4a34
Commit
1e1c4a34
authored
Jun 17, 2025
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群活码-链接调整
parent
169689af
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
88 additions
and
68 deletions
+88
-68
GroupChatActivityHmQDTO.java
.../haoban/manage/api/qdto/chat/GroupChatActivityHmQDTO.java
+11
-0
JoinRuleManager.java
...c/haoban/manage/service/context/chat/JoinRuleManager.java
+12
-8
HmLinkApiServiceImpl.java
...age/service/service/out/impl/hm/HmLinkApiServiceImpl.java
+65
-60
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/qdto/chat/GroupChatActivityHmQDTO.java
View file @
1e1c4a34
...
@@ -49,6 +49,17 @@ public class GroupChatActivityHmQDTO implements Serializable {
...
@@ -49,6 +49,17 @@ public class GroupChatActivityHmQDTO implements Serializable {
private
GroupChatActivityDTO
chatActivity
;
private
GroupChatActivityDTO
chatActivity
;
// 指定门店
private
String
inStoreId
;
public
String
getInStoreId
()
{
return
inStoreId
;
}
public
void
setInStoreId
(
String
inStoreId
)
{
this
.
inStoreId
=
inStoreId
;
}
public
Long
getChatActivityId
()
{
public
Long
getChatActivityId
()
{
return
chatActivityId
;
return
chatActivityId
;
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/context/chat/JoinRuleManager.java
View file @
1e1c4a34
...
@@ -249,15 +249,19 @@ public class JoinRuleManager {
...
@@ -249,15 +249,19 @@ public class JoinRuleManager {
public
List
<
GroupChatHmBO
>
handleMainStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
public
List
<
GroupChatHmBO
>
handleMainStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
if
(
StringUtils
.
isNotBlank
(
activityHmQDTO
.
getInStoreId
()))
{
if
(
memberStoreRelation
==
null
)
{
return
getByStoreIdList
(
enterpriseId
,
wxEnterpriseId
,
Lists
.
newArrayList
(
activityHmQDTO
.
getInStoreId
()));
return
new
ArrayList
<>();
}
else
{
}
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
String
mainStoreId
=
memberStoreRelation
.
getMainStoreId
();
if
(
memberStoreRelation
==
null
)
{
if
(
StringUtils
.
isBlank
(
mainStoreId
))
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
String
mainStoreId
=
memberStoreRelation
.
getMainStoreId
();
if
(
StringUtils
.
isBlank
(
mainStoreId
))
{
return
new
ArrayList
<>();
}
return
getByStoreIdList
(
enterpriseId
,
wxEnterpriseId
,
Lists
.
newArrayList
(
mainStoreId
));
}
}
return
getByStoreIdList
(
enterpriseId
,
wxEnterpriseId
,
Lists
.
newArrayList
(
mainStoreId
));
}
}
/**
/**
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/hm/HmLinkApiServiceImpl.java
View file @
1e1c4a34
...
@@ -195,7 +195,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -195,7 +195,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
// 群链接
// 群链接
private
ServiceResponse
<
HmLinkWxaDTO
>
getLinkChatHmFromWxa
(
String
wxEnterpriseId
,
String
enterpriseId
,
private
ServiceResponse
<
HmLinkWxaDTO
>
getLinkChatHmFromWxa
(
String
wxEnterpriseId
,
String
enterpriseId
,
String
mixPhone
,
String
unionid
,
String
memberId
,
HmLinkBO
link
,
HmLinkWxaDTO
retDTO
,
LinkHmFromWxaQDTO
qdto
)
{
String
mixPhone
,
String
unionid
,
String
memberId
,
HmLinkBO
link
,
HmLinkWxaDTO
retDTO
,
LinkHmFromWxaQDTO
qdto
,
String
inStoreId
)
{
Long
hmId
=
link
.
getOtherChatHmId
();
Long
hmId
=
link
.
getOtherChatHmId
();
Long
linkId
=
link
.
getLinkId
();
Long
linkId
=
link
.
getLinkId
();
if
(
StringUtils
.
isNotEmpty
(
mixPhone
))
{
if
(
StringUtils
.
isNotEmpty
(
mixPhone
))
{
...
@@ -213,76 +213,81 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -213,76 +213,81 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
return
ServiceResponse
.
failure
(
"9999"
,
"群活码不存在"
);
return
ServiceResponse
.
failure
(
"9999"
,
"群活码不存在"
);
}
}
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
JSONArray
arr
=
JSONArray
.
parseArray
(
chatStoreRule
)
;
GroupChatActivityHmQDTO
hmQDTO
=
new
GroupChatActivityHmQDTO
()
;
GroupChatActivityHmQDTO
hmQDTO
=
new
GroupChatActivityHmQDTO
()
;
hmQDTO
.
setEnterpriseId
(
enterpriseId
);
hmQDTO
.
setEnterpriseId
(
enterpriseId
);
hmQDTO
.
setInviteeMemberId
(
memberId
);
hmQDTO
.
setInviteeMemberId
(
memberId
);
GroupChatActivityDTO
chatActivity
=
new
GroupChatActivityDTO
()
;
GroupChatActivityDTO
chatActivity
=
new
GroupChatActivityDTO
()
;
chatActivity
.
setWxEnterpriseId
(
wxEnterpriseId
);
chatActivity
.
setWxEnterpriseId
(
wxEnterpriseId
);
hmQDTO
.
setChatActivity
(
chatActivity
);
hmQDTO
.
setChatActivity
(
chatActivity
);
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
if
(
StringUtils
.
isNotBlank
(
inStoreId
))
{
JSONObject
json
=
arr
.
getJSONObject
(
i
)
;
hmQDTO
.
setInStoreId
(
inStoreId
);
int
open
=
json
.
getIntValue
(
"open"
)
;
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleMainStore
(
hmQDTO
);
if
(
open
==
1
)
{
}
else
{
int
type
=
json
.
getIntValue
(
"type"
)
;
JSONArray
arr
=
JSONArray
.
parseArray
(
chatStoreRule
)
;
if
(
type
==
1
)
{
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleMainStore
(
hmQDTO
);
JSONObject
json
=
arr
.
getJSONObject
(
i
)
;
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
int
open
=
json
.
getIntValue
(
"open"
)
;
hmId
=
hmBOList
.
get
(
0
).
getChatHmId
()
;
if
(
open
==
1
)
{
break
;
int
type
=
json
.
getIntValue
(
"type"
)
;
}
if
(
type
==
1
)
{
}
else
if
(
type
==
2
)
{
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleMainStore
(
hmQDTO
);
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleOtherStore
(
hmQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
hmId
=
hmBOList
.
get
(
0
).
getChatHmId
()
;
hmId
=
hmBOList
.
get
(
0
).
getChatHmId
()
;
break
;
}
}
else
if
(
type
==
3
)
{
if
(
StringUtils
.
isNotEmpty
(
qdto
.
getLatitude
())
&&
StringUtils
.
isNotEmpty
(
qdto
.
getLongitude
())
&&
StringUtils
.
isNotEmpty
(
qdto
.
getDistrictCode
()))
{
Page
<
StoreDTO
>
page
=
new
Page
<>()
;
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"latitude"
,
qdto
.
getLatitude
());
params
.
put
(
"longitude"
,
qdto
.
getLongitude
());
params
.
put
(
"enterpriseId"
,
enterpriseId
)
;
params
.
put
(
"areaId"
,
qdto
.
getDistrictCode
())
;
params
.
put
(
"brandType"
,
1
);
page
.
setParams
(
params
);
page
.
setPageSize
(
1000
);
page
.
setCurrentPage
(
1
);
page
=
this
.
wechatStoreService
.
getActiveStoresByPage
(
page
)
;
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
break
;
break
;
}
}
List
<
String
>
storeIds
=
page
.
getResult
().
stream
().
map
(
StoreDTO:
:
getStoreId
).
collect
(
Collectors
.
toList
());
}
else
if
(
type
==
2
)
{
//获取storeId对应活码
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleOtherStore
(
hmQDTO
);
Map
<
String
,
List
<
GroupChatHmBO
>>
storeToHmMap
=
this
.
joinRuleManager
.
getStoreIdToGroupChatHmBOMap
(
enterpriseId
,
wxEnterpriseId
,
storeIds
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
if
(
MapUtil
.
isEmpty
(
storeToHmMap
))
{
hmId
=
hmBOList
.
get
(
0
).
getChatHmId
()
;
break
;
break
;
}
}
if
(
storeToHmMap
.
size
()==
1
)
{
}
else
if
(
type
==
3
)
{
hmId
=
storeToHmMap
.
values
().
iterator
().
next
().
get
(
0
).
getChatHmId
();
if
(
StringUtils
.
isNotEmpty
(
qdto
.
getLatitude
())
&&
StringUtils
.
isNotEmpty
(
qdto
.
getLongitude
())
&&
StringUtils
.
isNotEmpty
(
qdto
.
getDistrictCode
()))
{
break
;
Page
<
StoreDTO
>
page
=
new
Page
<>()
;
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"latitude"
,
qdto
.
getLatitude
());
params
.
put
(
"longitude"
,
qdto
.
getLongitude
());
params
.
put
(
"enterpriseId"
,
enterpriseId
)
;
params
.
put
(
"areaId"
,
qdto
.
getDistrictCode
())
;
params
.
put
(
"brandType"
,
1
);
page
.
setParams
(
params
);
page
.
setPageSize
(
1000
);
page
.
setCurrentPage
(
1
);
page
=
this
.
wechatStoreService
.
getActiveStoresByPage
(
page
)
;
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
break
;
}
List
<
String
>
storeIds
=
page
.
getResult
().
stream
().
map
(
StoreDTO:
:
getStoreId
).
collect
(
Collectors
.
toList
());
//获取storeId对应活码
Map
<
String
,
List
<
GroupChatHmBO
>>
storeToHmMap
=
this
.
joinRuleManager
.
getStoreIdToGroupChatHmBOMap
(
enterpriseId
,
wxEnterpriseId
,
storeIds
);
if
(
MapUtil
.
isEmpty
(
storeToHmMap
))
{
break
;
}
if
(
storeToHmMap
.
size
()==
1
)
{
hmId
=
storeToHmMap
.
values
().
iterator
().
next
().
get
(
0
).
getChatHmId
();
break
;
}
else
{
List
<
HmLinkStoreDTO
>
storeList
=
page
.
getResult
().
stream
().
map
(
store
->
{
HmLinkStoreDTO
storeDTO
=
EntityUtil
.
changeEntityByJSON
(
HmLinkStoreDTO
.
class
,
store
)
;
return
storeDTO
;
}).
collect
(
Collectors
.
toList
())
;
retDTO
.
setStoreList
(
storeList
);
return
ServiceResponse
.
success
(
retDTO
);
}
}
else
{
}
else
{
List
<
HmLinkStoreDTO
>
storeList
=
page
.
getResult
().
stream
().
map
(
store
->
{
log
.
info
(
"无经纬度"
);
HmLinkStoreDTO
storeDTO
=
EntityUtil
.
changeEntityByJSON
(
HmLinkStoreDTO
.
class
,
store
)
;
return
storeDTO
;
}).
collect
(
Collectors
.
toList
())
;
retDTO
.
setStoreList
(
storeList
);
return
ServiceResponse
.
success
(
retDTO
);
}
}
}
else
{
}
else
if
(
type
==
4
)
{
log
.
info
(
"无经纬度"
);
List
<
HmLinkChatDTO
>
hmList
=
this
.
hmLinkChatService
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
);
}
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
}
else
if
(
type
==
4
)
{
for
(
HmLinkChatDTO
item
:
hmList
)
{
List
<
HmLinkChatDTO
>
hmList
=
this
.
hmLinkChatService
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
);
boolean
flag
=
this
.
memberCondition
(
enterpriseId
,
memberId
,
item
,
link
.
getCreatorId
(),
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
link
.
getUpdateTime
());
for
(
HmLinkChatDTO
item
:
hmList
)
{
if
(
flag
)
{
boolean
flag
=
this
.
memberCondition
(
enterpriseId
,
memberId
,
item
,
link
.
getCreatorId
(),
log
.
info
(
"使用特殊群活码={}"
,
item
.
getChatHmId
());
link
.
getUpdateTime
());
hmId
=
item
.
getChatHmId
();
if
(
flag
)
{
break
;
log
.
info
(
"使用特殊群活码={}"
,
item
.
getChatHmId
());
}
hmId
=
item
.
getChatHmId
();
break
;
}
}
}
}
}
}
...
@@ -360,7 +365,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -360,7 +365,7 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
return
ServiceResponse
.
success
(
retDTO
)
;
return
ServiceResponse
.
success
(
retDTO
)
;
}
}
}
}
ServiceResponse
<
HmLinkWxaDTO
>
resp
=
this
.
getLinkChatHmFromWxa
(
wxEnterpriseId
,
enterpriseId
,
mixPhone
,
unionid
,
memberId
,
link
,
retDTO
,
qdto
);
ServiceResponse
<
HmLinkWxaDTO
>
resp
=
this
.
getLinkChatHmFromWxa
(
wxEnterpriseId
,
enterpriseId
,
mixPhone
,
unionid
,
memberId
,
link
,
retDTO
,
qdto
,
inStoreId
);
if
(
null
!=
resp
.
getResult
())
{
if
(
null
!=
resp
.
getResult
())
{
resp
.
getResult
().
setGroupChatHm
(
true
);
resp
.
getResult
().
setGroupChatHm
(
true
);
}
}
...
...
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