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
c49632a3
Commit
c49632a3
authored
Nov 30, 2023
by
songyinghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feature: 会员订单写入数据组
parent
157125fb
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
175 additions
and
4 deletions
+175
-4
QywxGroupMsgTaskApiService.java
.../api/service/content/task/QywxGroupMsgTaskApiService.java
+8
-0
OrderConvertBo.java
...anage/service/pojo/bo/content/message/OrderConvertBo.java
+66
-0
QywxGroupMsgTaskApiServiceImpl.java
...out/impl/content/task/QywxGroupMsgTaskApiServiceImpl.java
+86
-0
KafkaMessageServiceImpl.java
...c/haoban/manage/service/task/KafkaMessageServiceImpl.java
+15
-4
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/content/task/QywxGroupMsgTaskApiService.java
View file @
c49632a3
...
@@ -60,4 +60,12 @@ public interface QywxGroupMsgTaskApiService {
...
@@ -60,4 +60,12 @@ public interface QywxGroupMsgTaskApiService {
* @return
* @return
*/
*/
ServiceResponse
<
Void
>
potentialCustomerJob
(
String
params
);
ServiceResponse
<
Void
>
potentialCustomerJob
(
String
params
);
/**
* 记录会员订单为数组
* 当前只处理了微盟
* @param params
* @return
*/
ServiceResponse
<
Void
>
recordMemberOrderForData
(
String
params
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/content/message/OrderConvertBo.java
0 → 100644
View file @
c49632a3
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
bo
.
content
.
message
;
import
java.io.Serializable
;
/**
* @Author MUSI
* @Date 2023/11/30 5:38 PM
* @Description
* @Version
**/
public
class
OrderConvertBo
implements
Serializable
{
private
String
enterpriseId
;
private
String
clerkId
;
private
String
memberId
;
private
String
bizId
;
/**
* 实付
*/
private
Double
payAmount
;
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getBizId
()
{
return
bizId
;
}
public
void
setBizId
(
String
bizId
)
{
this
.
bizId
=
bizId
;
}
public
Double
getPayAmount
()
{
return
payAmount
;
}
public
void
setPayAmount
(
Double
payAmount
)
{
this
.
payAmount
=
payAmount
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/task/QywxGroupMsgTaskApiServiceImpl.java
View file @
c49632a3
...
@@ -3,6 +3,12 @@ package com.gic.haoban.manage.service.service.out.impl.content.task;
...
@@ -3,6 +3,12 @@ package com.gic.haoban.manage.service.service.out.impl.content.task;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.Week
;
import
cn.hutool.core.date.Week
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.PropertyNamingStrategy
;
import
com.alibaba.fastjson.serializer.SerializeConfig
;
import
com.alibaba.hologres.client.HoloClient
;
import
com.alibaba.hologres.client.Put
;
import
com.alibaba.hologres.client.model.TableSchema
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
...
@@ -11,15 +17,24 @@ import com.gic.haoban.manage.api.dto.content.report.MaterialReportDTO;
...
@@ -11,15 +17,24 @@ import com.gic.haoban.manage.api.dto.content.report.MaterialReportDTO;
import
com.gic.haoban.manage.api.enums.content.MaterialReportType
;
import
com.gic.haoban.manage.api.enums.content.MaterialReportType
;
import
com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType
;
import
com.gic.haoban.manage.api.enums.content.TriggerCustomerChannelType
;
import
com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService
;
import
com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService
;
import
com.gic.haoban.manage.service.dao.mapper.content.holo.HoloDataSource
;
import
com.gic.haoban.manage.service.pojo.bo.content.GroupMessageInfoBo
;
import
com.gic.haoban.manage.service.pojo.bo.content.GroupMessageInfoBo
;
import
com.gic.haoban.manage.service.pojo.bo.content.binlog.MemberOrderBo
;
import
com.gic.haoban.manage.service.pojo.bo.content.context.PotentialCustomerNotifyContext
;
import
com.gic.haoban.manage.service.pojo.bo.content.context.PotentialCustomerNotifyContext
;
import
com.gic.haoban.manage.service.pojo.bo.content.message.OrderConvertBo
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.service.content.GroupMessageService
;
import
com.gic.haoban.manage.service.service.content.GroupMessageService
;
import
com.gic.haoban.manage.service.service.content.MaterialReportService
;
import
com.gic.haoban.manage.service.service.content.MaterialReportService
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
import
com.gic.haoban.manage.service.service.content.PotentialCustomerService
;
import
com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor
;
import
com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseAdaptor
;
import
com.gic.haoban.manage.service.task.KafkaMessageServiceImpl
;
import
com.gic.haoban.manage.service.task.RouterConstant
;
import
com.gic.haoban.manage.service.task.RouterConstant
;
import
com.gic.order.api.dto.OrderDTO
;
import
com.gic.order.api.dto.req.MemberOrderOptional
;
import
com.gic.order.api.service.member.MemberOrderReadApiService
;
import
com.gic.orderecommerce.api.dto.EorderDTO
;
import
com.gic.orderecommerce.api.service.EcommerceOrderOutputApiService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.formula.functions.Now
;
import
org.apache.poi.ss.formula.functions.Now
;
...
@@ -28,9 +43,12 @@ import org.slf4j.LoggerFactory;
...
@@ -28,9 +43,12 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
/**
* @Author MUSI
* @Author MUSI
...
@@ -53,6 +71,13 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
...
@@ -53,6 +71,13 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
@Autowired
@Autowired
private
PotentialCustomerService
potentialCustomerService
;
private
PotentialCustomerService
potentialCustomerService
;
@Autowired
private
EcommerceOrderOutputApiService
ecommerceOrderOutputApiService
;
@Autowired
private
MemberOrderReadApiService
memberOrderReadApiService
;
@Autowired
private
HoloDataSource
holoDataSource
;
@Override
@Override
public
ServiceResponse
<
Void
>
groupMsgTaskJob
(
String
params
)
{
public
ServiceResponse
<
Void
>
groupMsgTaskJob
(
String
params
)
{
log
.
info
(
"执行触达客户定时任务 {}"
,
DateUtil
.
datetimeToString
(
new
Date
()));
log
.
info
(
"执行触达客户定时任务 {}"
,
DateUtil
.
datetimeToString
(
new
Date
()));
...
@@ -271,4 +296,65 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
...
@@ -271,4 +296,65 @@ public class QywxGroupMsgTaskApiServiceImpl implements QywxGroupMsgTaskApiServic
DateTime
temp
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
offsetSecond
(
now
,
-(
hour_sec
));
DateTime
temp
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
offsetSecond
(
now
,
-(
hour_sec
));
return
cn
.
hutool
.
core
.
date
.
DateUtil
.
hour
(
temp
,
true
)
<
8
;
return
cn
.
hutool
.
core
.
date
.
DateUtil
.
hour
(
temp
,
true
)
<
8
;
}
}
/**
* 记录会员订单为数组
*
* @param params
* @return
*/
@Override
public
ServiceResponse
<
Void
>
recordMemberOrderForData
(
String
params
)
{
// 冗余订单数据到基础侧
MemberOrderBo
memberOrderBo
=
JSON
.
parseObject
(
params
,
MemberOrderBo
.
class
);
if
(
memberOrderBo
==
null
)
{
return
ServiceResponse
.
success
();
}
// 订单纬度
// enterprise_id, clerk_id, store_id, pay_amount, biz_id,
// 订单项纬度
if
(
KafkaMessageServiceImpl
.
tab_gic_eorder
.
equals
(
memberOrderBo
.
getTableName
()))
{
EorderDTO
eorderDTO
=
ecommerceOrderOutputApiService
.
getEorderWholeByMemberIdAndOrderId
(
memberOrderBo
.
getMemberId
(),
memberOrderBo
.
getOrderId
());
}
if
(
KafkaMessageServiceImpl
.
tab_gic_order
.
equals
(
memberOrderBo
.
getTableName
()))
{
ServiceResponse
<
OrderDTO
>
serviceResponse
=
memberOrderReadApiService
.
queryById
(
memberOrderBo
.
getEnterpriseId
(),
memberOrderBo
.
getMemberId
(),
memberOrderBo
.
getOrderId
(),
MemberOrderOptional
.
item
());
}
List
<
OrderConvertBo
>
orderConvertBos
=
new
ArrayList
<>();
try
{
HoloClient
client
=
holoDataSource
.
getClient
();
if
(
client
==
null
)
{
log
.
error
(
"recordMemberOrderForData 数仓数据源链接异常, 请检查!!!!{}"
,
JSON
.
toJSONString
(
orderConvertBos
));
return
ServiceResponse
.
success
();
}
TableSchema
tableSchema
=
client
.
getTableSchema
(
"tab_haoban_trigger_customer_detail"
);
SerializeConfig
serializeConfig
=
new
SerializeConfig
();
serializeConfig
.
setPropertyNamingStrategy
(
PropertyNamingStrategy
.
SnakeCase
);
// id, enterprise_id, wx_enterprise_id, biz_id, biz_type, clerk_id, staff_id,store_id, channel_type, customer_id, create_time, update_time, delete_flag
List
<
Put
>
puts
=
orderConvertBos
.
stream
()
.
map
(
item
->
{
Put
temp
=
new
Put
(
tableSchema
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
item
,
serializeConfig
));
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
jsonObject
.
entrySet
())
{
temp
.
setObject
(
entry
.
getKey
(),
entry
.
getValue
());
}
// 时间戳格式不行
temp
.
setObject
(
"create_time"
,
com
.
gic
.
haoban
.
common
.
utils
.
DateUtil
.
dateToStr
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
));
temp
.
setObject
(
"update_time"
,
com
.
gic
.
haoban
.
common
.
utils
.
DateUtil
.
dateToStr
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
));
return
temp
;
})
.
collect
(
Collectors
.
toList
());
client
.
put
(
puts
);
log
.
info
(
"recordMemberOrderForData 会员订单数据组写入完成 >>>>>"
);
}
catch
(
Exception
ex
)
{
log
.
info
(
"recordMemberOrderForData 数据组写入异常 {}"
,
JSON
.
toJSONString
(
orderConvertBos
),
ex
);
}
return
ServiceResponse
.
success
();
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/task/KafkaMessageServiceImpl.java
View file @
c49632a3
...
@@ -11,6 +11,7 @@ import com.gic.dubbo.entity.ProviderLocalTag;
...
@@ -11,6 +11,7 @@ import com.gic.dubbo.entity.ProviderLocalTag;
import
com.gic.haoban.manage.api.dto.FlushStoreMqDTO
;
import
com.gic.haoban.manage.api.dto.FlushStoreMqDTO
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService
;
import
com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService
;
import
com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService
;
import
com.gic.haoban.manage.service.pojo.BinlogBasePojo
;
import
com.gic.haoban.manage.service.pojo.BinlogBasePojo
;
import
com.gic.haoban.manage.service.pojo.ClerkSyncPojo
;
import
com.gic.haoban.manage.service.pojo.ClerkSyncPojo
;
import
com.gic.haoban.manage.service.pojo.GroupSyncPojo
;
import
com.gic.haoban.manage.service.pojo.GroupSyncPojo
;
...
@@ -306,11 +307,11 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
...
@@ -306,11 +307,11 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
private
void
dealMemberOrder
(
MemberOrderBo
memberOrderBo
)
{
private
void
dealMemberOrder
(
MemberOrderBo
memberOrderBo
)
{
logger
.
info
(
"会员订单数据 {}"
,
JSON
.
toJSONString
(
memberOrderBo
));
if
(!
StringUtils
.
equalsIgnoreCase
(
memberOrderBo
.
getChannelCode
(),
MemberOrderBo
.
weimo
))
{
return
;
}
try
{
try
{
logger
.
info
(
"会员订单数据 {}"
,
JSON
.
toJSONString
(
memberOrderBo
));
if
(!
StringUtils
.
equalsIgnoreCase
(
memberOrderBo
.
getChannelCode
(),
MemberOrderBo
.
weimo
))
{
return
;
}
logger
.
info
(
"发送微盟订单处理消息 {}"
,
"dealweimoOrder"
);
logger
.
info
(
"发送微盟订单处理消息 {}"
,
"dealweimoOrder"
);
/**
/**
* @see com.gic.haoban.manage.api.service.content.MallOrderStatusChangeApiService#dealWeimoOrder(String)
* @see com.gic.haoban.manage.api.service.content.MallOrderStatusChangeApiService#dealWeimoOrder(String)
...
@@ -319,5 +320,15 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
...
@@ -319,5 +320,15 @@ public class KafkaMessageServiceImpl implements MessageListener<String, GicRecor
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
logger
.
info
(
"处理会员订单异常 "
,
ex
);
logger
.
info
(
"处理会员订单异常 "
,
ex
);
}
}
try
{
logger
.
info
(
"发送微盟订单处理消息 {}"
,
"recordMemberOrderForData"
);
/**
* @see QywxGroupMsgTaskApiService#recordMemberOrderForData(String)
*/
GICMQClientUtil
.
getClientInstance
().
sendMessage
(
"recordMemberOrderForData"
,
JSON
.
toJSONString
(
memberOrderBo
));
}
catch
(
Exception
ex
)
{
logger
.
info
(
"处理会员订单异常 "
,
ex
);
}
}
}
}
}
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