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
96e57f9a
Commit
96e57f9a
authored
Aug 29, 2024
by
xiongjiangtao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
触达日志
parent
e57978e4
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
469 additions
and
70 deletions
+469
-70
ClerkShareGoodsLogDTO.java
...haoban/manage/api/dto/anaylsis/ClerkShareGoodsLogDTO.java
+157
-0
MaterialShareLogApiService.java
...anage/api/service/content/MaterialShareLogApiService.java
+3
-2
ProTriggerCustomerDetailBO.java
.../service/pojo/bo/anaylsis/ProTriggerCustomerDetailBO.java
+189
-0
TriggerCustomerDetailService.java
...service/service/content/TriggerCustomerDetailService.java
+8
-1
GroupMessageServiceImpl.java
...service/service/content/impl/GroupMessageServiceImpl.java
+3
-3
TriggerCustomerDetailServiceImpl.java
...ervice/content/impl/TriggerCustomerDetailServiceImpl.java
+37
-2
MaterialShareLogApiServiceImpl.java
...vice/out/impl/content/MaterialShareLogApiServiceImpl.java
+21
-17
PotentialCustomerServiceTest.java
...3-service/src/test/java/PotentialCustomerServiceTest.java
+2
-2
ClerkMaterialShareController.java
.../web/controller/content/ClerkMaterialShareController.java
+18
-11
RecommendShareLogQO.java
...haoban/manage/web/qo/content/log/RecommendShareLogQO.java
+31
-32
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/anaylsis/ClerkShareGoodsLogDTO.java
0 → 100644
View file @
96e57f9a
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
.
anaylsis
;
import
java.io.Serializable
;
/**
* @author shangfeng
* @date 2024-08-29 09:55:06
*/
public
class
ClerkShareGoodsLogDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
903792260439296719L
;
/**
* 企业id
*/
private
String
enterpriseId
;
/**
* 微信企业id
*/
private
String
wxEnterpriseId
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 成员id
*/
private
String
staffId
;
/**
* 素材分享类型
* @see com.gic.haoban.manage.api.enums.content.ClerkShareMaterialType
*/
private
Integer
shareType
;
/**
* 业务id
*/
private
String
bizId
;
/**
* 业务类型
* @see com.gic.haoban.manage.api.enums.content.ShareBizType
*/
private
Integer
bizType
;
/**
* 门店id
*/
private
String
storeId
;
/**
* 外部联系人id
*/
private
String
externalUserId
;
/**
* 会员id
*/
private
String
memberId
;
/**
* 额外数据
*/
private
String
extend
;
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
Integer
getShareType
()
{
return
shareType
;
}
public
void
setShareType
(
Integer
shareType
)
{
this
.
shareType
=
shareType
;
}
public
String
getBizId
()
{
return
bizId
;
}
public
void
setBizId
(
String
bizId
)
{
this
.
bizId
=
bizId
;
}
public
Integer
getBizType
()
{
return
bizType
;
}
public
void
setBizType
(
Integer
bizType
)
{
this
.
bizType
=
bizType
;
}
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getExternalUserId
()
{
return
externalUserId
;
}
public
void
setExternalUserId
(
String
externalUserId
)
{
this
.
externalUserId
=
externalUserId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getExtend
()
{
return
extend
;
}
public
void
setExtend
(
String
extend
)
{
this
.
extend
=
extend
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/content/MaterialShareLogApiService.java
View file @
96e57f9a
package
com
.
gic
.
haoban
.
manage
.
api
.
service
.
content
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.anaylsis.ClerkShareGoodsLogDTO
;
import
com.gic.haoban.manage.api.dto.content.log.ClerkShareMaterialLogDTO
;
import
java.util.List
;
...
...
@@ -25,8 +26,8 @@ public interface MaterialShareLogApiService {
/**
* 保存导购分享记录
*
* @param clerkShare
Material
LogDTOList
* @param clerkShare
Goods
LogDTOList
* @return
*/
ServiceResponse
<
Long
>
saveClerkShareRecommendLog
(
List
<
ClerkShare
MaterialLogDTO
>
clerkShareMaterial
LogDTOList
);
ServiceResponse
<
Long
>
saveClerkShareRecommendLog
(
List
<
ClerkShare
GoodsLogDTO
>
clerkShareGoods
LogDTOList
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/anaylsis/ProTriggerCustomerDetailBO.java
0 → 100644
View file @
96e57f9a
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
bo
.
anaylsis
;
import
java.util.Date
;
/**
* @author shangfeng
* @date 2024-08-29 10:03:10
*/
public
class
ProTriggerCustomerDetailBO
{
private
Long
id
;
/**
* 企业id
*/
private
String
enterpriseId
;
/**
* 微信企业id
*/
private
String
wxEnterpriseId
;
/**
* 业务id
*/
private
String
bizId
;
/**
* 业务类型 2商品
*/
private
Integer
bizType
;
/**
* 导购id
*/
private
String
clerkId
;
/**
* 成员id
*/
private
String
staffId
;
/**
* 门店id
*/
private
String
storeId
;
/**
* 渠道类型 1朋友圈; 2客户群; 3 对话框; 4 复制文案; 5 下载素材;6 潜客推荐
*/
private
Integer
channelType
;
/**
* 触达客户标识 外部联系人id
*/
private
String
customerId
;
/**
* 会员id
*/
private
String
memberId
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 修改时间
*/
private
Date
updateTime
;
/**
* 0正常; 1删除
*/
private
Integer
deleteFlag
;
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
public
void
setWxEnterpriseId
(
String
wxEnterpriseId
)
{
this
.
wxEnterpriseId
=
wxEnterpriseId
;
}
public
String
getBizId
()
{
return
bizId
;
}
public
void
setBizId
(
String
bizId
)
{
this
.
bizId
=
bizId
;
}
public
Integer
getBizType
()
{
return
bizType
;
}
public
void
setBizType
(
Integer
bizType
)
{
this
.
bizType
=
bizType
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
Integer
getChannelType
()
{
return
channelType
;
}
public
void
setChannelType
(
Integer
channelType
)
{
this
.
channelType
=
channelType
;
}
public
String
getCustomerId
()
{
return
customerId
;
}
public
void
setCustomerId
(
String
customerId
)
{
this
.
customerId
=
customerId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
Integer
getDeleteFlag
()
{
return
deleteFlag
;
}
public
void
setDeleteFlag
(
Integer
deleteFlag
)
{
this
.
deleteFlag
=
deleteFlag
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/TriggerCustomerDetailService.java
View file @
96e57f9a
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
content
;
import
com.gic.haoban.manage.service.pojo.bo.anaylsis.ProTriggerCustomerDetailBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.TriggerCustomerDetailBO
;
import
com.gic.haoban.manage.service.pojo.qo.content.TriggerCustomerDetailQO
;
...
...
@@ -24,7 +25,13 @@ public interface TriggerCustomerDetailService {
* 批量保存
* @param triggerCustomerDetailBos
*/
void
batchSave
(
List
<
TriggerCustomerDetailBO
>
triggerCustomerDetailBos
,
String
tableName
);
void
batchSave
(
List
<
TriggerCustomerDetailBO
>
triggerCustomerDetailBos
);
/**
* 批量保存
* @param triggerCustomerDetailBos
*/
void
batchSaveGoodsShare
(
List
<
ProTriggerCustomerDetailBO
>
triggerCustomerDetailBos
);
/**
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/impl/GroupMessageServiceImpl.java
View file @
96e57f9a
...
...
@@ -351,7 +351,7 @@ public class GroupMessageServiceImpl implements GroupMessageService {
List
<
TriggerCustomerDetailBO
>
customerDetailBos
=
userIds
.
stream
()
.
map
(
item
->
this
.
convertCustomerDetailLog
(
clerkShareLogBo
,
item
))
.
collect
(
Collectors
.
toList
());
triggerCustomerDetailService
.
batchSave
(
customerDetailBos
,
"tab_haoban_trigger_customer_detail"
);
triggerCustomerDetailService
.
batchSave
(
customerDetailBos
);
}
}
}
...
...
@@ -562,7 +562,7 @@ public class GroupMessageServiceImpl implements GroupMessageService {
.
stream
()
.
map
(
item
->
this
.
convertCustomerDetailLog
(
clerkShareLogBO
,
item
.
getExternalUserId
()))
.
collect
(
Collectors
.
toList
());
triggerCustomerDetailService
.
batchSave
(
customerDetailBos
,
"tab_haoban_trigger_customer_detail"
);
triggerCustomerDetailService
.
batchSave
(
customerDetailBos
);
}
}
...
...
@@ -583,7 +583,7 @@ public class GroupMessageServiceImpl implements GroupMessageService {
.
stream
()
.
map
(
item
->
this
.
convertCustomerDetailLog
(
clerkShareLogBO
,
item
.
getUserId
()))
.
collect
(
Collectors
.
toList
());
triggerCustomerDetailService
.
batchSave
(
customerDetailBos
,
"tab_haoban_trigger_customer_detail"
);
triggerCustomerDetailService
.
batchSave
(
customerDetailBos
);
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/content/impl/TriggerCustomerDetailServiceImpl.java
View file @
96e57f9a
...
...
@@ -13,6 +13,7 @@ import com.gic.haoban.common.utils.DateUtil;
import
com.gic.haoban.manage.service.dao.mapper.content.TabHaobanTriggerCustomerDetailMapper
;
import
com.gic.haoban.manage.service.dao.mapper.content.holo.HoloDataSource
;
import
com.gic.haoban.manage.service.entity.content.TabHaobanTriggerCustomerDetail
;
import
com.gic.haoban.manage.service.pojo.bo.anaylsis.ProTriggerCustomerDetailBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.TriggerCustomerDetailBO
;
import
com.gic.haoban.manage.service.pojo.qo.content.TriggerCustomerDetailQO
;
import
com.gic.haoban.manage.service.service.content.TriggerCustomerDetailService
;
...
...
@@ -57,7 +58,7 @@ public class TriggerCustomerDetailServiceImpl implements TriggerCustomerDetailSe
* @param triggerCustomerDetailBos
*/
@Override
public
void
batchSave
(
List
<
TriggerCustomerDetailBO
>
triggerCustomerDetailBos
,
String
tableName
)
{
public
void
batchSave
(
List
<
TriggerCustomerDetailBO
>
triggerCustomerDetailBos
)
{
if
(
CollectionUtils
.
isEmpty
(
triggerCustomerDetailBos
))
{
log
.
info
(
"无客户触达日志 >>>> "
);
return
;
...
...
@@ -82,7 +83,41 @@ public class TriggerCustomerDetailServiceImpl implements TriggerCustomerDetailSe
log
.
error
(
"数仓数据源链接异常, 请检查!!!!{}"
,
JSON
.
toJSONString
(
triggerCustomerDetailBos
));
return
;
}
TableSchema
tableSchema
=
client
.
getTableSchema
(
tableName
);
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
=
triggerCustomerDetailBos
.
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"
,
DateUtil
.
dateToStr
(
item
.
getCreateTime
(),
"yyyy-MM-dd HH:mm:ss"
));
temp
.
setObject
(
"update_time"
,
DateUtil
.
dateToStr
(
item
.
getUpdateTime
(),
"yyyy-MM-dd HH:mm:ss"
));
return
temp
;
})
.
collect
(
Collectors
.
toList
());
client
.
put
(
puts
);
log
.
info
(
"客户触达写数据组完成 >>>>>"
);
}
catch
(
Exception
ex
)
{
log
.
info
(
"数据组写入异常 {}"
,
JSON
.
toJSONString
(
triggerCustomerDetailBos
),
ex
);
}
}
@Override
public
void
batchSaveGoodsShare
(
List
<
ProTriggerCustomerDetailBO
>
triggerCustomerDetailBos
)
{
try
{
HoloClient
client
=
holoDataSource
.
getClient
();
if
(
client
==
null
)
{
log
.
error
(
"数仓数据源链接异常, 请检查!!!!{}"
,
JSON
.
toJSONString
(
triggerCustomerDetailBos
));
return
;
}
TableSchema
tableSchema
=
client
.
getTableSchema
(
"tab_pro_trigger_customer_detail"
);
SerializeConfig
serializeConfig
=
new
SerializeConfig
();
serializeConfig
.
setPropertyNamingStrategy
(
PropertyNamingStrategy
.
SnakeCase
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/content/MaterialShareLogApiServiceImpl.java
View file @
96e57f9a
...
...
@@ -4,10 +4,12 @@ import com.alibaba.fastjson.JSON;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.haoban.manage.api.dto.anaylsis.ClerkShareGoodsLogDTO
;
import
com.gic.haoban.manage.api.dto.content.log.ClerkShareMaterialLogDTO
;
import
com.gic.haoban.manage.api.dto.content.log.TriggerCustomerDetailLogDTO
;
import
com.gic.haoban.manage.api.enums.content.ClerkShareMaterialType
;
import
com.gic.haoban.manage.api.service.content.MaterialShareLogApiService
;
import
com.gic.haoban.manage.service.pojo.bo.anaylsis.ProTriggerCustomerDetailBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.ClerkShareLogBO
;
import
com.gic.haoban.manage.service.pojo.bo.content.TriggerCustomerDetailBO
;
import
com.gic.haoban.manage.service.service.content.ClerkShareLogService
;
...
...
@@ -37,6 +39,7 @@ public class MaterialShareLogApiServiceImpl implements MaterialShareLogApiServic
/**
* 导购分享素材 客户触达日志
*
* @see com.gic.haoban.manage.api.service.content.task.QywxGroupMsgTaskApiService#handlerTriggerCustomerDetailLog(String)
*/
private
static
final
String
SHARE_MATERIAL_DETAIL_LOG
=
"handlerTriggerCustomerDetailLog"
;
...
...
@@ -69,14 +72,14 @@ public class MaterialShareLogApiServiceImpl implements MaterialShareLogApiServic
temp
.
setCreateTime
(
new
Date
());
temp
.
setUpdateTime
(
new
Date
());
temp
.
setDeleteFlag
(
0
);
triggerCustomerDetailService
.
batchSave
(
Collections
.
singletonList
(
temp
)
,
"tab_haoban_trigger_customer_detail"
);
triggerCustomerDetailService
.
batchSave
(
Collections
.
singletonList
(
temp
));
return
ServiceResponse
.
success
(
temp
.
getId
());
}
ClerkShareLogBO
clerkShareLogBO
=
new
ClerkShareLogBO
();
BeanUtils
.
copyProperties
(
clerkShareMaterialLogDTO
,
clerkShareLogBO
);
Long
logId
=
clerkShareLogService
.
saveClerkShareLog
(
clerkShareLogBO
);
if
(
logId
!=
null
&&
ClerkShareMaterialType
.
SHARE_PYQ
.
getCode
().
equals
(
clerkShareLogBO
.
getShareType
())){
if
(
logId
!=
null
&&
ClerkShareMaterialType
.
SHARE_PYQ
.
getCode
().
equals
(
clerkShareLogBO
.
getShareType
()))
{
// MQ 通知处理导购分享日志
TriggerCustomerDetailLogDTO
triggerCustomerDetailLog
=
new
TriggerCustomerDetailLogDTO
();
triggerCustomerDetailLog
.
setEnterpriseId
(
clerkShareLogBO
.
getEnterpriseId
());
...
...
@@ -85,10 +88,10 @@ public class MaterialShareLogApiServiceImpl implements MaterialShareLogApiServic
TriggerCustomerDetailLogDTO
.
SharePYQ
sharePYQ
=
new
TriggerCustomerDetailLogDTO
.
SharePYQ
();
sharePYQ
.
setShareLogId
(
logId
);
triggerCustomerDetailLog
.
setSharePYQ
(
sharePYQ
);
try
{
try
{
log
.
info
(
"分享朋友圈日志 MQ {}"
,
JSON
.
toJSONString
(
triggerCustomerDetailLog
));
GICMQClientUtil
.
getClientInstance
().
sendMessage
(
SHARE_MATERIAL_DETAIL_LOG
,
JSON
.
toJSONString
(
triggerCustomerDetailLog
),
60
);
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
log
.
warn
(
"客户分享素材 触达日志MQ异常 {}"
,
JSON
.
toJSONString
(
triggerCustomerDetailLog
),
ex
);
}
}
...
...
@@ -96,25 +99,26 @@ public class MaterialShareLogApiServiceImpl implements MaterialShareLogApiServic
}
@Override
public
ServiceResponse
<
Long
>
saveClerkShareRecommendLog
(
List
<
ClerkShare
MaterialLogDTO
>
clerkShareMaterial
LogDTOList
)
{
List
<
TriggerCustomerDetailBO
>
list
=
clerkShareMaterialLogDTOList
.
stream
().
map
(
clerkShareMaterial
LogDTO
->
{
TriggerCustomerDetailBO
temp
=
new
TriggerCustomerDetailBO
();
public
ServiceResponse
<
Long
>
saveClerkShareRecommendLog
(
List
<
ClerkShare
GoodsLogDTO
>
clerkShareGoods
LogDTOList
)
{
List
<
ProTriggerCustomerDetailBO
>
list
=
clerkShareGoodsLogDTOList
.
stream
().
map
(
clerkShareGoods
LogDTO
->
{
ProTriggerCustomerDetailBO
temp
=
new
Pro
TriggerCustomerDetailBO
();
temp
.
setId
(
UniqueIdUtils
.
uniqueLong
());
temp
.
setEnterpriseId
(
clerkShareMaterialLogDTO
.
getEnterpriseId
());
temp
.
setWxEnterpriseId
(
clerkShareMaterialLogDTO
.
getWxEnterpriseId
());
temp
.
setBizId
(
clerkShareMaterialLogDTO
.
getBizId
());
temp
.
setBizType
(
clerkShareMaterialLogDTO
.
getBizType
());
temp
.
setClerkId
(
clerkShareMaterialLogDTO
.
getClerkId
());
temp
.
setStaffId
(
clerkShareMaterialLogDTO
.
getStaffId
());
temp
.
setStoreId
(
clerkShareMaterialLogDTO
.
getStoreId
());
temp
.
setChannelType
(
clerkShareMaterialLogDTO
.
getShareType
());
temp
.
setCustomerId
(
clerkShareMaterialLogDTO
.
getExternalUserId
());
temp
.
setEnterpriseId
(
clerkShareGoodsLogDTO
.
getEnterpriseId
());
temp
.
setWxEnterpriseId
(
clerkShareGoodsLogDTO
.
getWxEnterpriseId
());
temp
.
setBizId
(
clerkShareGoodsLogDTO
.
getBizId
());
temp
.
setBizType
(
clerkShareGoodsLogDTO
.
getBizType
());
temp
.
setClerkId
(
clerkShareGoodsLogDTO
.
getClerkId
());
temp
.
setStaffId
(
clerkShareGoodsLogDTO
.
getStaffId
());
temp
.
setStoreId
(
clerkShareGoodsLogDTO
.
getStoreId
());
temp
.
setChannelType
(
clerkShareGoodsLogDTO
.
getShareType
());
temp
.
setCustomerId
(
clerkShareGoodsLogDTO
.
getExternalUserId
());
temp
.
setMemberId
(
clerkShareGoodsLogDTO
.
getMemberId
());
temp
.
setCreateTime
(
new
Date
());
temp
.
setUpdateTime
(
new
Date
());
temp
.
setDeleteFlag
(
0
);
return
temp
;
}).
collect
(
Collectors
.
toList
());
triggerCustomerDetailService
.
batchSave
(
list
,
"tab_pro_trigger_customer_detail"
);
triggerCustomerDetailService
.
batchSave
GoodsShare
(
list
);
return
ServiceResponse
.
success
();
}
}
haoban-manage3-service/src/test/java/PotentialCustomerServiceTest.java
View file @
96e57f9a
...
...
@@ -87,10 +87,10 @@ public class PotentialCustomerServiceTest {
triggerCustomerDetailBO
.
setUpdateTime
(
new
Date
());
triggerCustomerDetailBO
.
setDeleteFlag
(
1
);
triggerCustomerDetailBO
.
setId
(
UniqueIdUtils
.
uniqueLong
());
triggerCustomerDetailService
.
batchSave
(
Collections
.
singletonList
(
triggerCustomerDetailBO
)
,
"tab_haoban_trigger_customer_detail"
);
triggerCustomerDetailService
.
batchSave
(
Collections
.
singletonList
(
triggerCustomerDetailBO
));
triggerCustomerDetailBO
.
setId
(
UniqueIdUtils
.
uniqueLong
());
triggerCustomerDetailBO
.
setBizId
(
"musidanxieru091211"
);
triggerCustomerDetailService
.
batchSave
(
Collections
.
singletonList
(
triggerCustomerDetailBO
)
,
"tab_haoban_trigger_customer_detail"
);
triggerCustomerDetailService
.
batchSave
(
Collections
.
singletonList
(
triggerCustomerDetailBO
));
long
time
=
new
Date
().
getTime
();
System
.
out
.
println
((
int
)
time
);
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/content/ClerkMaterialShareController.java
View file @
96e57f9a
...
...
@@ -11,6 +11,7 @@ import com.gic.content.api.dto.material.ProductInfoDTO;
import
com.gic.content.api.qdto.material.ContentMaterialLandingPageQDTO
;
import
com.gic.content.api.qdto.share.MaterialLinkShareQDTO
;
import
com.gic.content.api.service.ContentMaterialShareApiService
;
import
com.gic.haoban.manage.api.dto.anaylsis.ClerkShareGoodsLogDTO
;
import
com.gic.haoban.manage.api.dto.content.log.ClerkShareMaterialLogDTO
;
import
com.gic.haoban.manage.api.enums.content.ShareBizType
;
import
com.gic.haoban.manage.api.service.content.MaterialShareLogApiService
;
...
...
@@ -89,36 +90,38 @@ public class ClerkMaterialShareController {
* @return
*/
@RequestMapping
(
path
=
"/clerk/share/recomend/log"
,
method
=
RequestMethod
.
POST
)
public
RestResponse
<
Long
>
clerkShareRecommendLog
(
@RequestBody
RecommendShareLogQO
recommendShareLogQO
)
{
public
RestResponse
<
Void
>
clerkShareRecommendLog
(
@RequestBody
RecommendShareLogQO
recommendShareLogQO
)
{
if
(
CollectionUtils
.
isEmpty
(
recommendShareLogQO
.
getGoodsIdList
())
||
CollectionUtils
.
isEmpty
(
recommendShareLogQO
.
get
ExternalUserId
List
())
||
CollectionUtils
.
isEmpty
(
recommendShareLogQO
.
get
MemberInfo
List
())
||
StringUtils
.
isBlank
(
recommendShareLogQO
.
getClerkId
()))
{
log
.
info
(
"参数缺失 {}"
,
JSON
.
toJSONString
(
recommendShareLogQO
));
return
RestResponse
.
failure
(
"-1"
,
"参数异常"
);
}
log
.
info
(
"saveClerkShareMaterialLog 保存导购分享推荐商品日志 clerkId:{}, recommendShareLogQO{}"
,
recommendShareLogQO
.
getClerkId
(),
JSON
.
toJSONString
(
recommendShareLogQO
));
List
<
ClerkShare
Material
LogDTO
>
list
=
Lists
.
newArrayList
();
List
<
ClerkShare
Goods
LogDTO
>
list
=
Lists
.
newArrayList
();
List
<
String
>
memberIdList
=
Lists
.
newArrayList
();
List
<
String
>
goodsIdList
=
recommendShareLogQO
.
getGoodsIdList
();
List
<
String
>
externalUserIdList
=
recommendShareLogQO
.
getExternalUserId
List
();
List
<
RecommendShareLogQO
.
MemberInfo
>
externalUserIdList
=
recommendShareLogQO
.
getMemberInfo
List
();
for
(
String
externalUserId
:
externalUserIdList
)
{
for
(
RecommendShareLogQO
.
MemberInfo
memberInfo
:
externalUserIdList
)
{
for
(
String
goodsId
:
goodsIdList
)
{
ClerkShare
MaterialLogDTO
temp
=
new
ClerkShareMaterial
LogDTO
();
ClerkShare
GoodsLogDTO
temp
=
new
ClerkShareGoods
LogDTO
();
temp
.
setEnterpriseId
(
recommendShareLogQO
.
getEnterpriseId
());
temp
.
setWxEnterpriseId
(
recommendShareLogQO
.
getWxEnterpriseId
());
temp
.
setClerkId
(
recommendShareLogQO
.
getClerkId
());
temp
.
setExternalUserId
(
externalUserId
);
temp
.
setExternalUserId
(
memberInfo
.
getExternalUserId
());
temp
.
setMemberId
(
memberInfo
.
getMemberId
());
if
(
StringUtils
.
isNotEmpty
(
memberInfo
.
getMemberId
())){
memberIdList
.
add
(
memberInfo
.
getMemberId
());
}
temp
.
setBizId
(
goodsId
);
temp
.
setBizType
(
ShareBizType
.
GOODS
.
getCode
());
temp
.
setStoreId
(
recommendShareLogQO
.
getStoreId
());
temp
.
setExternalUserId
(
recommendShareLogQO
.
getExternalUserId
());
temp
.
setExtend
(
recommendShareLogQO
.
getExtend
());
list
.
add
(
temp
);
}
//会员推荐时间
}
ServiceResponse
<
Long
>
serviceResponse
=
materialShareLogApiService
.
saveClerkShareRecommendLog
(
list
);
...
...
@@ -127,8 +130,12 @@ public class ClerkMaterialShareController {
return
RestResponse
.
failure
(
"-701"
,
"系统异常"
);
}
//更新会员推荐时间更新
if
(
CollectionUtils
.
isNotEmpty
(
memberIdList
)){
}
return
RestResponse
.
successResult
(
serviceResponse
.
getResult
()
);
return
RestResponse
.
successResult
();
}
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/qo/content/log/RecommendShareLogQO.java
View file @
96e57f9a
...
...
@@ -42,14 +42,9 @@ public class RecommendShareLogQO implements Serializable {
private
String
staffId
;
/**
*
外部联系人id集合
*
会员信息
*/
private
List
<
String
>
externalUserIdList
;
/**
* 会员id集合
*/
private
List
<
String
>
memberIdList
;
private
List
<
MemberInfo
>
memberInfoList
;
/**
* 微信unionId
...
...
@@ -57,15 +52,35 @@ public class RecommendShareLogQO implements Serializable {
private
String
unionId
;
/**
* 外部联系人id
*/
private
String
externalUserId
;
/**
* 额外数据
*/
private
String
extend
;
public
static
class
MemberInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6888489586106817983L
;
private
String
memberId
;
private
String
externalUserId
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getExternalUserId
()
{
return
externalUserId
;
}
public
void
setExternalUserId
(
String
externalUserId
)
{
this
.
externalUserId
=
externalUserId
;
}
}
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
...
...
@@ -114,20 +129,12 @@ public class RecommendShareLogQO implements Serializable {
this
.
staffId
=
staffId
;
}
public
List
<
String
>
getExternalUserId
List
()
{
return
externalUserId
List
;
public
List
<
MemberInfo
>
getMemberInfo
List
()
{
return
memberInfo
List
;
}
public
void
setExternalUserIdList
(
List
<
String
>
externalUserIdList
)
{
this
.
externalUserIdList
=
externalUserIdList
;
}
public
List
<
String
>
getMemberIdList
()
{
return
memberIdList
;
}
public
void
setMemberIdList
(
List
<
String
>
memberIdList
)
{
this
.
memberIdList
=
memberIdList
;
public
void
setMemberInfoList
(
List
<
MemberInfo
>
memberInfoList
)
{
this
.
memberInfoList
=
memberInfoList
;
}
public
String
getUnionId
()
{
...
...
@@ -138,14 +145,6 @@ public class RecommendShareLogQO implements Serializable {
this
.
unionId
=
unionId
;
}
public
String
getExternalUserId
()
{
return
externalUserId
;
}
public
void
setExternalUserId
(
String
externalUserId
)
{
this
.
externalUserId
=
externalUserId
;
}
public
String
getExtend
()
{
return
extend
;
}
...
...
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