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
50e3e303
Commit
50e3e303
authored
Dec 21, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
其他链接保存逻辑
parent
9545c8cf
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
45 additions
and
51 deletions
+45
-51
HmLinkMapper.java
...gic/haoban/manage/service/dao/mapper/hm/HmLinkMapper.java
+0
-5
TabHmLinkChat.java
...om/gic/haoban/manage/service/entity/hm/TabHmLinkChat.java
+10
-1
GroupChatHmServiceImpl.java
...age/service/service/chat/impl/GroupChatHmServiceImpl.java
+8
-29
HmLinkChatServiceImpl.java
...manage/service/service/hm/impl/HmLinkChatServiceImpl.java
+20
-0
HmLinkChatMapper.xml
...service/src/main/resources/mapper/hm/HmLinkChatMapper.xml
+7
-6
HmLinkMapper.xml
...ge3-service/src/main/resources/mapper/hm/HmLinkMapper.xml
+0
-10
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/hm/HmLinkMapper.java
View file @
50e3e303
...
...
@@ -5,7 +5,6 @@ import java.util.List;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO
;
import
com.gic.haoban.manage.service.entity.hm.TabHmLink
;
/**
...
...
@@ -65,7 +64,4 @@ public interface HmLinkMapper {
public
List
<
TabHmLink
>
queryPageRelationList
(
@Param
(
"pageId"
)
Long
pageId
,
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"searchText"
)
String
searchText
);
public
List
<
HmLinkChatDTO
>
getLinkCountForHm
(
@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/entity/hm/TabHmLinkChat.java
View file @
50e3e303
...
...
@@ -30,8 +30,17 @@ public class TabHmLinkChat implements Serializable{
private
java
.
util
.
Date
updateTime
;
private
Integer
deleteFlag
;
private
Long
linkId
;
private
Integer
otherFlag
=
0
;
public
Long
getLinkId
()
{
public
Integer
getOtherFlag
()
{
return
otherFlag
;
}
public
void
setOtherFlag
(
Integer
otherFlag
)
{
this
.
otherFlag
=
otherFlag
;
}
public
Long
getLinkId
()
{
return
linkId
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatHmServiceImpl.java
View file @
50e3e303
...
...
@@ -386,35 +386,14 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
Set
<
Long
>
set
=
new
HashSet
<>(
chatHmIdList
);
List
<
HmLinkChatDTO
>
linkGroup
=
this
.
hmLinkChatService
.
getLinkCountForHm
(
wxEnterpriseId
,
new
ArrayList
<>(
set
));
List
<
String
>
otherIdList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
linkGroup
))
{
for
(
HmLinkChatDTO
item
:
linkGroup
)
{
otherIdList
.
add
(
item
.
getChatHmId
()
+
"_"
+
item
.
getLinkId
());
}
}
List
<
HmLinkChatDTO
>
otherList
=
this
.
hmLinkMapper
.
getLinkCountForHm
(
wxEnterpriseId
,
chatHmIdList
);
for
(
HmLinkChatDTO
dto
:
otherList
)
{
String
tmp
=
dto
.
getChatHmId
()
+
"_"
+
dto
.
getLinkId
();
if
(!
otherIdList
.
contains
(
tmp
))
{
linkGroup
.
add
(
dto
);
}
}
Map
<
Long
,
List
<
HmLinkChatDTO
>>
map
=
linkGroup
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
HmLinkChatDTO:
:
getChatHmId
));
Set
<
Long
>
allSet
=
map
.
keySet
();
Iterator
<
Long
>
it
=
allSet
.
iterator
();
while
(
it
.
hasNext
())
{
Long
key
=
it
.
next
();
int
count
=
0
;
for
(
HmLinkChatDTO
item
:
map
.
get
(
key
))
{
count
+=
item
.
getLinkCount
();
}
this
.
groupChatHmMapper
.
updateLinkCount
(
key
,
count
);
}
for
(
Long
id
:
chatHmIdList
)
{
if
(!
allSet
.
contains
(
id
))
{
List
<
Long
>
allList
=
linkGroup
.
stream
().
map
(
dto
->
dto
.
getLinkChatId
()).
collect
(
Collectors
.
toList
());
linkGroup
.
forEach
(
dto
->
{
Long
hmId
=
dto
.
getChatHmId
();
int
count
=
dto
.
getLinkCount
();
this
.
groupChatHmMapper
.
updateLinkCount
(
hmId
,
count
);
});
for
(
Long
id
:
chatHmIdList
)
{
if
(!
allList
.
contains
(
id
))
{
this
.
groupChatHmMapper
.
updateLinkCount
(
id
,
0
);
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/hm/impl/HmLinkChatServiceImpl.java
View file @
50e3e303
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
hm
.
impl
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -82,13 +83,32 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
// 更新其他链接
List
<
Long
>
idList
=
list
.
stream
().
map
(
dto
->
dto
.
getChatHmId
()).
collect
(
Collectors
.
toList
());
idList
.
add
(
otherHmId
);
boolean
addOther
=
false
;
if
(
null
!=
link
)
{
idList
.
add
(
link
.
getOtherChatHmId
());
if
(
otherHmId
.
equals
(
link
.
getOtherChatHmId
()))
{
this
.
hmLinkChatMapper
.
delete
(
linkId
,
Arrays
.
asList
(
link
.
getOtherChatHmId
()));
addOther
=
true
;
}
}
else
{
addOther
=
true
;
}
if
(
addOther
)
{
TabHmLinkChat
other
=
new
TabHmLinkChat
();
other
.
setOtherFlag
(
1
);
other
.
setWxEnterpriseId
(
wxEnterpriseId
);
other
.
setEnterpriseId
(
enterpriseId
);
other
.
setLinkId
(
linkId
);
other
.
setLinkChatId
(
UniqueIdUtils
.
uniqueLong
());
this
.
hmLinkChatMapper
.
insert
(
other
);
}
// 统计活码关联的链接数量
for
(
HmLinkChatDTO
old
:
oldList
)
{
idList
.
add
(
old
.
getChatHmId
());
}
this
.
groupChatHmService
.
updateLinkCount
(
wxEnterpriseId
,
idList
);
return
0
;
}
...
...
haoban-manage3-service/src/main/resources/mapper/hm/HmLinkChatMapper.xml
View file @
50e3e303
...
...
@@ -14,6 +14,7 @@
<result
column=
"update_time"
property=
"updateTime"
/>
<result
column=
"delete_flag"
property=
"deleteFlag"
/>
<result
column=
"link_id"
property=
"linkId"
/>
<result
column=
"other_flag"
property=
"otherFlag"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
link_chat_id,
...
...
@@ -25,7 +26,7 @@
sort_num,
create_time,
update_time,
delete_flag , link_id
delete_flag , link_id
, other_flag
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
...
...
@@ -41,7 +42,7 @@
sort_num,
create_time,
update_time,
delete_flag , link_id
delete_flag , link_id
, other_flag
)VALUES(
#{linkChatId},
#{wxEnterpriseId},
...
...
@@ -53,7 +54,7 @@
now(),
now(),
0 ,
#{linkId}
#{linkId}
, #{otherFlag}
)
]]>
</insert>
...
...
@@ -90,17 +91,17 @@
filter_json filterJson ,
chat_hm_id chatHmId,
member_type memberType
from tab_haoban_hm_link_chat where link_id = #{linkId} and wx_enterprise_id = #{wxEnterpriseId} and enterprise_id = #{enterpriseId}
from tab_haoban_hm_link_chat where link_id = #{linkId} and wx_enterprise_id = #{wxEnterpriseId} and enterprise_id = #{enterpriseId}
and other_flag = 0
</select>
<select
id=
"getLinkCountForHm"
resultType=
"com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO"
>
select chat_hm_id chatHmId,
link_id linkId , COUNT(*)
linkCount from tab_haoban_hm_link_chat where wx_enterprise_id = #{wxEnterpriseId}
select chat_hm_id chatHmId,
COUNT(DISTINCT(link_id)) linkCount
linkCount from tab_haoban_hm_link_chat where wx_enterprise_id = #{wxEnterpriseId}
and chat_hm_id in
<foreach
collection=
"chatHmIdList"
item=
"item"
separator=
","
index=
"index"
close=
")"
open=
"("
>
#{item}
</foreach>
and delete_flag = 0 group by chat_hm_id
, link_id
and delete_flag = 0 group by chat_hm_id
</select>
...
...
haoban-manage3-service/src/main/resources/mapper/hm/HmLinkMapper.xml
View file @
50e3e303
...
...
@@ -164,14 +164,5 @@
and ( link_code = #{searchText} or name like CONCAT('%', #{searchText},'%'))
</if>
</select>
<select
id=
"getLinkCountForHm"
resultType=
"com.gic.haoban.manage.api.dto.hm.HmLinkChatDTO"
>
select other_chat_hm_id chatHmId, link_id linkId , 1 linkCount from tab_haoban_hm_link where wx_enterprise_id = #{wxEnterpriseId}
and other_chat_hm_id in
<foreach
collection=
"chatHmIdList"
item=
"item"
separator=
","
index=
"index"
close=
")"
open=
"("
>
#{item}
</foreach>
</select>
</mapper>
\ No newline at end of file
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