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
9dab2b03
Commit
9dab2b03
authored
Dec 26, 2023
by
songyinghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feature: 内容数据部分
parent
1b810b1a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
158 additions
and
20 deletions
+158
-20
InteractRecordApiService.java
.../manage/api/service/content/InteractRecordApiService.java
+21
-0
MaterialEnterpriseAdaptor.java
...ce/service/content/adaptor/MaterialEnterpriseAdaptor.java
+34
-0
InteractRecordServiceImpl.java
...rvice/service/content/impl/InteractRecordServiceImpl.java
+3
-0
InteractRecordApiServiceImpl.java
...ervice/out/impl/content/InteractRecordApiServiceImpl.java
+80
-0
KafkaMessageServiceImpl.java
...c/haoban/manage/service/task/KafkaMessageServiceImpl.java
+20
-20
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/content/InteractRecordApiService.java
View file @
9dab2b03
...
...
@@ -28,4 +28,25 @@ public interface InteractRecordApiService {
* @return
*/
ServiceResponse
<
Void
>
memberChangeMQ
(
String
params
);
/**
* 处理会员线上订单
* @param params
* @return
*/
ServiceResponse
<
Void
>
dealMemberOnlineOrder
(
String
params
);
/**
* 处理会员线下订单数据
* @param params
* @return
*/
ServiceResponse
<
Void
>
dealMemberOffLineOrder
(
String
params
);
/**
* 处理会员新增事件
* @param params
* @return
*/
ServiceResponse
<
Void
>
dealMemberEvent
(
String
params
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/adaptor/MaterialEnterpriseAdaptor.java
View file @
9dab2b03
...
...
@@ -5,15 +5,19 @@ import com.gic.api.base.commons.ServiceResponse;
import
com.gic.enterprise.api.constant.EnterpriseServiceEnum
;
import
com.gic.enterprise.api.dto.enterprise.EnterpriseUsingStatusDTO
;
import
com.gic.enterprise.api.service.EnterpriseUseForbidService
;
import
com.gic.redis.data.util.RedisUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -35,6 +39,8 @@ public class MaterialEnterpriseAdaptor {
private
String
desc
;
}
private
static
final
Long
cache_hour_sec
=
5
*
60L
;
@Autowired
EnterpriseUseForbidService
enterpriseUseForbidService
;
...
...
@@ -58,4 +64,32 @@ public class MaterialEnterpriseAdaptor {
.
map
(
EnterpriseUsingStatusDTO:
:
getEnterpriseId
)
.
collect
(
Collectors
.
toList
());
}
/**
* 校验企业是否有内容权限
* @param enterpriseId
* @return
*/
public
boolean
checkEnterpriseHasContentRight
(
String
enterpriseId
)
{
String
key
=
"haoban_enterprise_content:"
+
enterpriseId
;
String
cache
=
RedisUtil
.
getCache
(
key
,
String
.
class
);
if
(
StringUtils
.
isBlank
(
cache
))
{
cache
=
"0"
;
ServiceResponse
<
List
<
EnterpriseUsingStatusDTO
>>
tempServiceResponse
=
enterpriseUseForbidService
.
getUseEnterpriseByCode
(
EnterpriseServiceEnum
.
CONTENT
.
getRightMenuCode
(),
enterpriseId
);
if
(!
tempServiceResponse
.
isSuccess
()
||
CollectionUtils
.
isEmpty
(
tempServiceResponse
.
getResult
()))
{
log
.
info
(
"企业 {} 没有内容权限 {}"
,
enterpriseId
,
JSON
.
toJSONString
(
tempServiceResponse
));
RedisUtil
.
setCache
(
key
,
cache
,
cache_hour_sec
,
TimeUnit
.
SECONDS
);
return
false
;
}
EnterpriseUsingStatusDTO
enterpriseUsingStatusDTO
=
tempServiceResponse
.
getResult
().
get
(
0
);
if
(!
Boolean
.
TRUE
.
equals
(
enterpriseUsingStatusDTO
.
getVaild
()))
{
log
.
info
(
"企业 {} 内容权限已失效 {}"
,
enterpriseId
,
JSON
.
toJSONString
(
tempServiceResponse
));
RedisUtil
.
setCache
(
key
,
cache
,
cache_hour_sec
,
TimeUnit
.
SECONDS
);
return
false
;
}
cache
=
"1"
;
RedisUtil
.
setCache
(
key
,
cache
,
cache_hour_sec
,
TimeUnit
.
SECONDS
);
}
return
StringUtils
.
equals
(
cache
,
"1"
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/impl/InteractRecordServiceImpl.java
View file @
9dab2b03
...
...
@@ -192,6 +192,9 @@ public class InteractRecordServiceImpl implements InteractRecordService {
@Override
public
void
memberAuthorized
(
String
memberId
,
String
unionId
)
{
if
(
StringUtils
.
isAnyBlank
(
memberId
,
unionId
))
{
return
;
}
InteractRecordQO
interactRecordQO
=
new
InteractRecordQO
();
interactRecordQO
.
setUnionId
(
unionId
);
List
<
TabHaobanInteractRecord
>
interactRecords
=
this
.
tabHaobanInteractRecordMapper
.
queryInteractRecordList
(
interactRecordQO
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/InteractRecordApiServiceImpl.java
View file @
9dab2b03
...
...
@@ -12,6 +12,12 @@ import com.gic.haoban.manage.service.pojo.bo.content.MemberAttrChangeBO;
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.PotentialCustomerService
;
import
com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor
;
import
com.gic.member.api.dto.event.lifecycle.CreateMemberEventParam
;
import
com.gic.member.api.dto.info.MemberSummaryInfoDTO
;
import
com.gic.member.api.dto.info.qo.QueryMemberInfoDTO
;
import
com.gic.member.api.service.MemberOutApiService
;
import
com.gic.order.api.dto.OrderSaveNotifyDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -37,6 +43,10 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
private
InteractRecordService
interactRecordService
;
@Autowired
PotentialCustomerService
potentialCustomerService
;
@Autowired
private
MaterialEnterpriseAdaptor
materialEnterpriseAdaptor
;
@Autowired
MemberOutApiService
memberOutApiService
;
/**
* 查询互动记录
...
...
@@ -116,4 +126,74 @@ public class InteractRecordApiServiceImpl implements InteractRecordApiService {
}
return
ServiceResponse
.
success
();
}
/**
* 处理会员线上订单
*
* @param params
* @return
*/
@Override
public
ServiceResponse
<
Void
>
dealMemberOnlineOrder
(
String
params
)
{
return
dealMemberOrder
(
params
);
}
private
ServiceResponse
<
Void
>
dealMemberOrder
(
String
params
)
{
if
(
StringUtils
.
isBlank
(
params
))
{
return
ServiceResponse
.
success
();
}
OrderSaveNotifyDTO
orderSaveNotifyDTO
=
JSON
.
parseObject
(
params
,
OrderSaveNotifyDTO
.
class
);
if
(
orderSaveNotifyDTO
.
getFirstCreate
()
==
null
||
orderSaveNotifyDTO
.
getFirstCreate
()
!=
1
)
{
log
.
info
(
"会员订单 非购买事件 {}"
,
params
);
return
ServiceResponse
.
success
();
}
potentialCustomerService
.
updateMemberDealFlag
(
orderSaveNotifyDTO
.
getEnterpriseId
(),
orderSaveNotifyDTO
.
getMemberId
());
return
ServiceResponse
.
success
();
}
/**
* 处理会员线下订单数据
*
* @param params
* @return
*/
@Override
public
ServiceResponse
<
Void
>
dealMemberOffLineOrder
(
String
params
)
{
return
dealMemberOrder
(
params
);
}
/**
* 处理会员新增事件
*
* @param params
* @return
*/
@Override
public
ServiceResponse
<
Void
>
dealMemberEvent
(
String
params
)
{
if
(
StringUtils
.
isBlank
(
params
))
{
return
ServiceResponse
.
success
();
}
CreateMemberEventParam
createMemberEventParam
=
JSON
.
parseObject
(
params
,
CreateMemberEventParam
.
class
);
String
enterpriseId
=
createMemberEventParam
.
getEnterpriseId
();
String
memberId
=
createMemberEventParam
.
getMemberId
();
if
(!
materialEnterpriseAdaptor
.
checkEnterpriseHasContentRight
(
enterpriseId
))
{
log
.
info
(
"企业 {} 没有内容权限"
,
enterpriseId
);
return
ServiceResponse
.
success
();
}
QueryMemberInfoDTO
queryMemberInfoDTO
=
QueryMemberInfoDTO
.
queryByMemberId
(
memberId
)
.
setMemberBaseInfoDTO
(
true
)
.
setMemberPersonalInfoDTO
(
false
);
ServiceResponse
<
MemberSummaryInfoDTO
>
serviceResponse
=
memberOutApiService
.
queryMemberInfo
(
queryMemberInfoDTO
);
if
(!
serviceResponse
.
isSuccess
()
||
serviceResponse
.
getResult
()
==
null
)
{
log
.
info
(
"查询会员信息为空 {}"
,
memberId
);
return
null
;
}
String
unionId
=
serviceResponse
.
getResult
().
getMemberBaseInfoDTO
().
getUnionid
();
interactRecordService
.
memberAuthorized
(
memberId
,
unionId
);
return
ServiceResponse
.
success
();
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/KafkaMessageServiceImpl.java
View file @
9dab2b03
...
...
@@ -98,26 +98,26 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
else
if
(
record
.
value
().
getTableName
().
equals
(
CLERK
))
{
logger
.
info
(
"导购binlog无需监听"
);
}
else
if
(
StringUtils
.
startsWith
(
record
.
value
().
getTableName
(),
tab_gic_eorder
))
{
// 处理线上单微盟订单
MemberOrderBo
memberOrderBo
=
new
MemberOrderBo
();
BeanUtils
.
copyProperties
((
MaterialMemberEOrderPojo
)
pojo
,
memberOrderBo
);
this
.
dealMemberOrder
(
memberOrderBo
);
// 处理会员订单新增事件
dealMemberEOrder
((
MaterialMemberEOrderPojo
)
pojo
);
}
else
if
(
StringUtils
.
startsWith
(
record
.
value
().
getTableName
(),
tab_gic_order
))
{
MemberOrderBo
memberOrderBo
=
new
MemberOrderBo
();
BeanUtils
.
copyProperties
((
MaterialMemberGicOrderPojo
)
pojo
,
memberOrderBo
);
this
.
dealMemberOrder
(
memberOrderBo
);
// 处理会员订单新增事件
dealMemberGicOrder
((
MaterialMemberGicOrderPojo
)
pojo
);
}
else
if
(
StringUtils
.
startsWith
(
record
.
value
().
getTableName
(),
tab_gic_member
))
{
// 会员unionId新增事件
dealMemberUnionIdChange
((
MaterialMemberUnionIdPoJo
)
pojo
);
}
//
else if (StringUtils.startsWith(record.value().getTableName(), tab_gic_eorder)) {
//
// 处理线上单微盟订单
//
MemberOrderBo memberOrderBo = new MemberOrderBo();
//
BeanUtils.copyProperties((MaterialMemberEOrderPojo)pojo, memberOrderBo);
// //
this.dealMemberOrder(memberOrderBo);
//
// 处理会员订单新增事件
// //
dealMemberEOrder((MaterialMemberEOrderPojo) pojo);
//
}
//
else if (StringUtils.startsWith(record.value().getTableName(), tab_gic_order)) {
//
////
MemberOrderBo memberOrderBo = new MemberOrderBo();
////
BeanUtils.copyProperties((MaterialMemberGicOrderPojo)pojo, memberOrderBo);
// //
this.dealMemberOrder(memberOrderBo);
//
// 处理会员订单新增事件
// //
dealMemberGicOrder((MaterialMemberGicOrderPojo) pojo);
//
//
}else if (StringUtils.startsWith(record.value().getTableName(), tab_gic_member)) {
//
// 会员unionId新增事件
// //
dealMemberUnionIdChange((MaterialMemberUnionIdPoJo) pojo);
//
}
}
private
BinlogBasePojo
binlogChange
(
GicRecord
record
)
{
...
...
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