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
191eaec9
Commit
191eaec9
authored
Mar 15, 2025
by
王祖波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
互动记录
parent
a01456b9
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
117 additions
and
25 deletions
+117
-25
MemberLastInteractDTO.java
.../haoban/manage/api/dto/content/MemberLastInteractDTO.java
+36
-0
InteractRecordInfoDTO.java
...aoban/manage/api/enums/content/InteractRecordInfoDTO.java
+12
-0
InteractRecordApiService.java
.../manage/api/service/content/InteractRecordApiService.java
+23
-0
InteractRecordService.java
...manage/service/service/content/InteractRecordService.java
+1
-3
InteractRecordServiceImpl.java
...rvice/service/content/impl/InteractRecordServiceImpl.java
+3
-6
InteractRecordApiServiceImpl.java
...ervice/out/impl/content/InteractRecordApiServiceImpl.java
+40
-14
ContactTest.java
...an-manage3-service/src/test/java/contact/ContactTest.java
+2
-2
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/content/MemberLastInteractDTO.java
0 → 100644
View file @
191eaec9
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
content
;
import
java.util.Date
;
/**
* Created by wangzubo on 2025/3/15.
*/
public
class
MemberLastInteractDTO
{
/**
* 会员id
*/
private
String
memberId
;
/**
* 最新访问时间
*/
private
Date
lastAccessTime
;
// Getters and Setters
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
Date
getLastAccessTime
()
{
return
lastAccessTime
;
}
public
void
setLastAccessTime
(
Date
lastAccessTime
)
{
this
.
lastAccessTime
=
lastAccessTime
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/content/InteractRecordInfoDTO.java
View file @
191eaec9
...
@@ -14,6 +14,10 @@ public class InteractRecordInfoDTO implements Serializable {
...
@@ -14,6 +14,10 @@ public class InteractRecordInfoDTO implements Serializable {
private
static
final
long
serialVersionUID
=
-
170525928535773136L
;
private
static
final
long
serialVersionUID
=
-
170525928535773136L
;
/**
/**
* 会员id
*/
private
String
memberId
;
/**
* 互动记录id
* 互动记录id
*/
*/
private
Long
interactRecordId
;
private
Long
interactRecordId
;
...
@@ -78,6 +82,14 @@ public class InteractRecordInfoDTO implements Serializable {
...
@@ -78,6 +82,14 @@ public class InteractRecordInfoDTO implements Serializable {
*/
*/
private
InteractRecordExtendInfoDTO
extendInfo
;
private
InteractRecordExtendInfoDTO
extendInfo
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
Long
getInteractRecordId
()
{
public
Long
getInteractRecordId
()
{
return
interactRecordId
;
return
interactRecordId
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/content/InteractRecordApiService.java
View file @
191eaec9
...
@@ -2,9 +2,14 @@ package com.gic.haoban.manage.api.service.content;
...
@@ -2,9 +2,14 @@ package com.gic.haoban.manage.api.service.content;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.content.MemberLastInteractDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.InteractRecordQDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.InteractRecordQDTO
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordInfoDTO
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordInfoDTO
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @Author MUSI
* @Author MUSI
* @Date 2023/3/29 12:45 PM
* @Date 2023/3/29 12:45 PM
...
@@ -22,6 +27,24 @@ public interface InteractRecordApiService {
...
@@ -22,6 +27,24 @@ public interface InteractRecordApiService {
ServiceResponse
<
Page
<
InteractRecordInfoDTO
>>
queryInteractRecordList
(
InteractRecordQDTO
interactRecordQDTO
);
ServiceResponse
<
Page
<
InteractRecordInfoDTO
>>
queryInteractRecordList
(
InteractRecordQDTO
interactRecordQDTO
);
/**
/**
* 查询会员对应时间后最新的互动记录
* @param enterpriseId
* @param clerkId
* @param list
* @return
*/
ServiceResponse
<
Map
<
String
,
InteractRecordInfoDTO
>>
mapInteractRecord
(
String
enterpriseId
,
String
clerkId
,
List
<
MemberLastInteractDTO
>
list
);
/**
* 查询对应时间后会员最新的互动记录
* @param clerkId
* @param lastAccessTime
* @return
*/
ServiceResponse
<
List
<
MemberLastInteractDTO
>>
queryMemberIdsByTime
(
String
clerkId
,
Date
lastAccessTime
);
/**
* 处理member信息变化的MQ
* 处理member信息变化的MQ
* routeName: memberIdChangeNotify
* routeName: memberIdChangeNotify
* @param params
* @param params
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/InteractRecordService.java
View file @
191eaec9
...
@@ -5,11 +5,9 @@ import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO;
...
@@ -5,11 +5,9 @@ import com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO;
import
com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerStaticsBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.PotentialCustomerStaticsBO
;
import
com.gic.haoban.manage.service.pojo.bo.potential.MemberLastInteractBO
;
import
com.gic.haoban.manage.service.pojo.bo.potential.MemberLastInteractBO
;
import
com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO
;
import
com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 互动记录明细(TabHaobanInteractRecord)表服务接口
* 互动记录明细(TabHaobanInteractRecord)表服务接口
...
@@ -85,7 +83,7 @@ public interface InteractRecordService {
...
@@ -85,7 +83,7 @@ public interface InteractRecordService {
* @param list
* @param list
* @return
* @return
*/
*/
Map
<
String
,
InteractRecordBO
>
map
InteractRecord
(
String
enterpriseId
,
String
clerkId
,
List
<
MemberLastInteractBO
>
list
);
List
<
InteractRecordBO
>
last
InteractRecord
(
String
enterpriseId
,
String
clerkId
,
List
<
MemberLastInteractBO
>
list
);
/**
/**
* 查询对应时间后会员最新的互动记录
* 查询对应时间后会员最新的互动记录
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/impl/InteractRecordServiceImpl.java
View file @
191eaec9
...
@@ -262,9 +262,9 @@ public class InteractRecordServiceImpl implements InteractRecordService {
...
@@ -262,9 +262,9 @@ public class InteractRecordServiceImpl implements InteractRecordService {
}
}
@Override
@Override
public
Map
<
String
,
InteractRecordBO
>
map
InteractRecord
(
String
enterpriseId
,
String
clerkId
,
List
<
MemberLastInteractBO
>
list
)
{
public
List
<
InteractRecordBO
>
last
InteractRecord
(
String
enterpriseId
,
String
clerkId
,
List
<
MemberLastInteractBO
>
list
)
{
if
(
CollectionUtils
.
isEmpty
(
list
))
{
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
new
HashMap
<>();
return
new
ArrayList
<>();
}
}
List
<
TabHaobanInteractRecord
>
records
=
tabHaobanInteractRecordMapper
.
selectLastByMemberIds
(
clerkId
,
list
);
List
<
TabHaobanInteractRecord
>
records
=
tabHaobanInteractRecordMapper
.
selectLastByMemberIds
(
clerkId
,
list
);
List
<
InteractRecordBO
>
recordBOList
=
records
.
stream
()
List
<
InteractRecordBO
>
recordBOList
=
records
.
stream
()
...
@@ -277,10 +277,7 @@ public class InteractRecordServiceImpl implements InteractRecordService {
...
@@ -277,10 +277,7 @@ public class InteractRecordServiceImpl implements InteractRecordService {
return
temp
;
return
temp
;
})
})
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
Map
<
String
,
InteractRecordBO
>
map
=
recordBOList
.
stream
()
return
recordBOList
;
.
collect
(
Collectors
.
toMap
(
InteractRecordBO:
:
getMemberId
,
Function
.
identity
(),
(
e
,
x
)
->
e
));
return
map
;
}
}
@Override
@Override
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/InteractRecordApiServiceImpl.java
View file @
191eaec9
...
@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON;
...
@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.haoban.manage.api.dto.content.MemberLastInteractDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.InteractRecordQDTO
;
import
com.gic.haoban.manage.api.dto.qdto.content.InteractRecordQDTO
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordExtendInfoDTO
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordExtendInfoDTO
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordInfoDTO
;
import
com.gic.haoban.manage.api.enums.content.InteractRecordInfoDTO
;
...
@@ -12,6 +14,7 @@ import com.gic.haoban.manage.api.service.content.InteractRecordApiService;
...
@@ -12,6 +14,7 @@ import com.gic.haoban.manage.api.service.content.InteractRecordApiService;
import
com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.InteractRecordBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.binlog.MemberOrderBo
;
import
com.gic.haoban.manage.service.pojo.bo.content.binlog.MemberOrderBo
;
import
com.gic.haoban.manage.service.pojo.bo.potential.MemberLastInteractBO
;
import
com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO
;
import
com.gic.haoban.manage.service.pojo.qo.content.InteractRecordQO
;
import
com.gic.haoban.manage.service.service.content.InteractRecordService
;
import
com.gic.haoban.manage.service.service.content.InteractRecordService
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
...
@@ -35,7 +38,9 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -35,7 +38,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -82,20 +87,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
...
@@ -82,20 +87,7 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
// 组装扩展信息
// 组装扩展信息
List
<
InteractRecordInfoDTO
>
recordInfos
=
pageResult
.
getResult
()
List
<
InteractRecordInfoDTO
>
recordInfos
=
pageResult
.
getResult
()
.
stream
()
.
stream
()
.
map
(
item
->
{
.
map
(
this
::
getInteractRecordInfoDTO
)
InteractRecordInfoDTO
temp
=
new
InteractRecordInfoDTO
();
BeanUtils
.
copyProperties
(
item
,
temp
);
if
(
item
.
getLastAccessTime
()
!=
null
)
{
temp
.
setCreateTime
(
item
.
getLastAccessTime
());
}
temp
.
setInteractRecordId
(
item
.
getId
());
if
(
item
.
getExtendInfo
()
!=
null
)
{
InteractRecordExtendInfoDTO
extendInfo
=
new
InteractRecordExtendInfoDTO
();
BeanUtils
.
copyProperties
(
item
.
getExtendInfo
(),
extendInfo
);
temp
.
setExtendInfo
(
extendInfo
);
}
return
temp
;
})
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
result
.
setTotalCount
(
pageResult
.
getTotalCount
());
result
.
setTotalCount
(
pageResult
.
getTotalCount
());
result
.
setResult
(
recordInfos
);
result
.
setResult
(
recordInfos
);
...
@@ -104,6 +96,40 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
...
@@ -104,6 +96,40 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
return
ServiceResponse
.
success
(
result
);
return
ServiceResponse
.
success
(
result
);
}
}
private
InteractRecordInfoDTO
getInteractRecordInfoDTO
(
InteractRecordBO
item
)
{
InteractRecordInfoDTO
temp
=
new
InteractRecordInfoDTO
();
BeanUtils
.
copyProperties
(
item
,
temp
);
if
(
item
.
getLastAccessTime
()
!=
null
)
{
temp
.
setCreateTime
(
item
.
getLastAccessTime
());
}
temp
.
setInteractRecordId
(
item
.
getId
());
if
(
item
.
getExtendInfo
()
!=
null
)
{
InteractRecordExtendInfoDTO
extendInfo
=
new
InteractRecordExtendInfoDTO
();
BeanUtils
.
copyProperties
(
item
.
getExtendInfo
(),
extendInfo
);
temp
.
setExtendInfo
(
extendInfo
);
}
return
temp
;
}
@Override
public
ServiceResponse
<
Map
<
String
,
InteractRecordInfoDTO
>>
mapInteractRecord
(
String
enterpriseId
,
String
clerkId
,
List
<
MemberLastInteractDTO
>
list
)
{
List
<
InteractRecordBO
>
recordBOS
=
interactRecordService
.
lastInteractRecord
(
enterpriseId
,
clerkId
,
EntityUtil
.
changeEntityListByJSON
(
MemberLastInteractBO
.
class
,
list
));
List
<
InteractRecordInfoDTO
>
recordInfos
=
recordBOS
.
stream
()
.
map
(
this
::
getInteractRecordInfoDTO
)
.
collect
(
Collectors
.
toList
());
Map
<
String
,
InteractRecordInfoDTO
>
map
=
recordInfos
.
stream
().
collect
(
Collectors
.
toMap
(
InteractRecordInfoDTO:
:
getMemberId
,
v
->
v
,
(
e
,
x
)
->
e
));
return
ServiceResponse
.
success
(
map
);
}
@Override
public
ServiceResponse
<
List
<
MemberLastInteractDTO
>>
queryMemberIdsByTime
(
String
clerkId
,
Date
lastAccessTime
)
{
List
<
MemberLastInteractBO
>
list
=
interactRecordService
.
queryMemberIdsByTime
(
clerkId
,
lastAccessTime
);
List
<
MemberLastInteractDTO
>
dtoList
=
EntityUtil
.
changeEntityListByJSON
(
MemberLastInteractDTO
.
class
,
list
);
return
ServiceResponse
.
success
(
dtoList
);
}
/**
/**
* 处理member信息变化的MQ
* 处理member信息变化的MQ
*
*
...
...
haoban-manage3-service/src/test/java/contact/ContactTest.java
View file @
191eaec9
...
@@ -102,8 +102,8 @@ public class ContactTest {
...
@@ -102,8 +102,8 @@ public class ContactTest {
memberLastInteractBO
.
setMemberId
(
memberId
);
memberLastInteractBO
.
setMemberId
(
memberId
);
memberLastInteractBO
.
setLastAccessTime
(
new
Date
(
"2024/01/01 00:00:00"
));
memberLastInteractBO
.
setLastAccessTime
(
new
Date
(
"2024/01/01 00:00:00"
));
list
.
add
(
memberLastInteractBO
);
list
.
add
(
memberLastInteractBO
);
Map
<
String
,
InteractRecordBO
>
map
=
interactRecordService
.
map
InteractRecord
(
eid
,
"26efaa8144e14f60b2f4d48ffe9f708c"
,
list
);
List
<
InteractRecordBO
>
res
=
interactRecordService
.
last
InteractRecord
(
eid
,
"26efaa8144e14f60b2f4d48ffe9f708c"
,
list
);
System
.
out
.
println
(
JSON
.
toJSONString
(
map
));
System
.
out
.
println
(
JSON
.
toJSONString
(
res
));
}
}
@Test
@Test
...
...
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