Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
operate-customer-service
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
沈振路
operate-customer-service
Commits
30b95fe1
提交
30b95fe1
authored
10月 12, 2022
作者:
沈振路
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
客服-文本
上级
4e5006e1
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
540 行增加
和
36 行删除
+540
-36
CustomerServiceCommonAsyncComponent.java
...tomer/components/CustomerServiceCommonAsyncComponent.java
+32
-16
MyMetaObjectHandler.java
...va/com/yaoyaozw/customer/configs/MyMetaObjectHandler.java
+50
-0
CustomerCommonConstant.java
...m/yaoyaozw/customer/constants/CustomerCommonConstant.java
+17
-0
CustomerMessageGraphicsController.java
...ustomer/controller/CustomerMessageGraphicsController.java
+3
-3
CustomerMessageTextController.java
...zw/customer/controller/CustomerMessageTextController.java
+51
-0
CustomerMessageTextSaveDTO.java
...ozw/customer/dto/customer/CustomerMessageTextSaveDTO.java
+30
-0
CustomerReferralDTO.java
...m/yaoyaozw/customer/dto/customer/CustomerReferralDTO.java
+10
-8
CustomerGraphics.java
...n/java/com/yaoyaozw/customer/entity/CustomerGraphics.java
+7
-1
ReferralEntity.java
...ain/java/com/yaoyaozw/customer/entity/ReferralEntity.java
+8
-0
SchedulingTask.java
...java/com/yaoyaozw/customer/scheduling/SchedulingTask.java
+11
-0
CustomerGraphicsTextService.java
...aoyaozw/customer/service/CustomerGraphicsTextService.java
+49
-0
CustomerGraphicsServiceImpl.java
...zw/customer/service/impl/CustomerGraphicsServiceImpl.java
+36
-8
CustomerGraphicsTextServiceImpl.java
...ustomer/service/impl/CustomerGraphicsTextServiceImpl.java
+172
-0
CustomerContentVO.java
.../com/yaoyaozw/customer/vo/customer/CustomerContentVO.java
+28
-0
CustomerGraphicTextDetailVO.java
...ozw/customer/vo/customer/CustomerGraphicTextDetailVO.java
+36
-0
没有找到文件。
src/main/java/com/yaoyaozw/customer/components/CustomerServiceCommonAsyncComponent.java
浏览文件 @
30b95fe1
...
@@ -135,7 +135,36 @@ public class CustomerServiceCommonAsyncComponent {
...
@@ -135,7 +135,36 @@ public class CustomerServiceCommonAsyncComponent {
}
}
@Async
(
"myExecutor"
)
@Async
(
"myExecutor"
)
public
void
getAuthListLink
(
CustomerGraphics
customerMain
,
ReferralEntity
customerReferral
)
{
public
void
obtainLink
(
Long
materialId
,
CustomerGraphics
customerGraphics
,
List
<
ReferralEntity
>
referralEntityList
)
{
for
(
ReferralEntity
referralEntity
:
referralEntityList
)
{
// 删除之前设置人群包的时候获取链接生成的数据
referralEntityService
.
ultimateDeleteReferrals
(
materialId
,
"and account_id is not null"
);
// 获取链接
if
(
CustomerCommonConstant
.
REPLACE_LINK_NEWS_TYPE_LIST
.
contains
(
referralEntity
.
getNewsType
()))
{
LOCAL_LOG
.
info
(
"异步获取图文客服链接"
);
getAuthListLink
(
customerGraphics
,
referralEntity
);
}
else
{
LOCAL_LOG
.
info
(
"newsType: {}, 不需要获取链接"
,
referralEntity
.
getNewsType
());
}
}
// 处理完之后将状态改为待发送
customerGraphics
.
setSendStatus
(
2
);
customerGraphicsMapper
.
updateById
(
customerGraphics
);
}
private
List
<
RegisterUserEntity
>
encapsulateUserEntity
(
List
<
CrowdPackageUserVO
>
userList
)
{
List
<
RegisterUserEntity
>
userEntityList
=
new
ArrayList
<>();
for
(
CrowdPackageUserVO
crowdPackageUserVO
:
userList
)
{
RegisterUserEntity
registerUserEntity
=
new
RegisterUserEntity
();
registerUserEntity
.
setId
(
crowdPackageUserVO
.
getId
());
registerUserEntity
.
setInPackage
(
crowdPackageUserVO
.
getInPackage
());
userEntityList
.
add
(
registerUserEntity
);
}
return
userEntityList
;
}
private
void
getAuthListLink
(
CustomerGraphics
customerMain
,
ReferralEntity
customerReferral
)
{
Long
packId
=
customerMain
.
getPackId
();
Long
packId
=
customerMain
.
getPackId
();
LOCAL_LOG
.
info
(
"开始异步处理客服链接, 客服标题: {}, 人群包主键: {}"
,
customerMain
.
getName
(),
packId
);
LOCAL_LOG
.
info
(
"开始异步处理客服链接, 客服标题: {}, 人群包主键: {}"
,
customerMain
.
getName
(),
packId
);
...
@@ -158,21 +187,6 @@ public class CustomerServiceCommonAsyncComponent {
...
@@ -158,21 +187,6 @@ public class CustomerServiceCommonAsyncComponent {
generateUsualLink
(
storeGroupMap
,
customerReferral
);
generateUsualLink
(
storeGroupMap
,
customerReferral
);
}
}
// 处理完之后将状态改为待发送
customerMain
.
setSendStatus
(
2
);
customerGraphicsMapper
.
updateById
(
customerMain
);
}
private
List
<
RegisterUserEntity
>
encapsulateUserEntity
(
List
<
CrowdPackageUserVO
>
userList
)
{
List
<
RegisterUserEntity
>
userEntityList
=
new
ArrayList
<>();
for
(
CrowdPackageUserVO
crowdPackageUserVO
:
userList
)
{
RegisterUserEntity
registerUserEntity
=
new
RegisterUserEntity
();
registerUserEntity
.
setId
(
crowdPackageUserVO
.
getId
());
registerUserEntity
.
setInPackage
(
crowdPackageUserVO
.
getInPackage
());
userEntityList
.
add
(
registerUserEntity
);
}
return
userEntityList
;
}
}
private
void
generateExtendLink
(
Map
<
String
,
List
<
CrowdPackageUserVO
>>
storeGroupMap
,
ReferralEntity
customerReferral
)
{
private
void
generateExtendLink
(
Map
<
String
,
List
<
CrowdPackageUserVO
>>
storeGroupMap
,
ReferralEntity
customerReferral
)
{
...
@@ -266,6 +280,7 @@ public class CustomerServiceCommonAsyncComponent {
...
@@ -266,6 +280,7 @@ public class CustomerServiceCommonAsyncComponent {
getCopyReferral
(
dateStr
,
authInfoVo
,
referralEntity
);
getCopyReferral
(
dateStr
,
authInfoVo
,
referralEntity
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOCAL_LOG
.
warn
(
"公众号: {} 获取链接异常: {}"
,
authInfoVo
.
getAccountName
(),
e
.
getMessage
());
LOCAL_LOG
.
warn
(
"公众号: {} 获取链接异常: {}"
,
authInfoVo
.
getAccountName
(),
e
.
getMessage
());
referralEntity
.
setReferral
(
"error"
);
}
}
referralEntityList
.
add
(
referralEntity
);
referralEntityList
.
add
(
referralEntity
);
...
@@ -352,4 +367,5 @@ public class CustomerServiceCommonAsyncComponent {
...
@@ -352,4 +367,5 @@ public class CustomerServiceCommonAsyncComponent {
}
}
}
}
src/main/java/com/yaoyaozw/customer/configs/MyMetaObjectHandler.java
0 → 100644
浏览文件 @
30b95fe1
package
com
.
yaoyaozw
.
customer
.
configs
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
;
import
com.yaoyaozw.customer.components.TokenManager
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.reflection.MetaObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.Date
;
/**
* @author 10626
*/
@Component
@Slf4j
public
class
MyMetaObjectHandler
implements
MetaObjectHandler
{
@Autowired
private
TokenManager
tokenManager
;
@Override
public
void
insertFill
(
MetaObject
metaObject
)
{
Long
userId
=
tokenManager
.
getUserIdFromToken
();
if
(
ObjectUtil
.
isNull
(
userId
)){
this
.
setFieldValByName
(
"gmtModifiedUser"
,
"0"
,
metaObject
);
this
.
setFieldValByName
(
"gmtCreateUser"
,
"0"
,
metaObject
);
}
else
{
String
userIdStr
=
userId
.
toString
();
this
.
setFieldValByName
(
"gmtModifiedUser"
,
userIdStr
,
metaObject
);
this
.
setFieldValByName
(
"gmtCreateUser"
,
userIdStr
,
metaObject
);
}
this
.
setFieldValByName
(
"gmtCreate"
,
new
Date
(),
metaObject
);
this
.
setFieldValByName
(
"gmtModified"
,
new
Date
(),
metaObject
);
this
.
setFieldValByName
(
"isDeleted"
,
0
,
metaObject
);
}
@Override
public
void
updateFill
(
MetaObject
metaObject
)
{
this
.
setFieldValByName
(
"gmtModified"
,
new
Date
(),
metaObject
);
Long
userId
=
tokenManager
.
getUserIdFromToken
();
if
(
ObjectUtil
.
isNull
(
userId
)){
this
.
setFieldValByName
(
"gmtModifiedUser"
,
"0"
,
metaObject
);
}
else
{
this
.
setFieldValByName
(
"gmtModifiedUser"
,
userId
.
toString
(),
metaObject
);
}
}
}
src/main/java/com/yaoyaozw/customer/constants/CustomerCommonConstant.java
浏览文件 @
30b95fe1
...
@@ -2,6 +2,10 @@ package com.yaoyaozw.customer.constants;
...
@@ -2,6 +2,10 @@ package com.yaoyaozw.customer.constants;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
/**
/**
* @author darker
* @author darker
* @date 2022/9/28 20:09
* @date 2022/9/28 20:09
...
@@ -14,6 +18,14 @@ public class CustomerCommonConstant {
...
@@ -14,6 +18,14 @@ public class CustomerCommonConstant {
public
final
static
String
STORE_NAME_ZHANG_ZHONG_YUN
=
"ZHANG_ZHONG_YUN"
;
public
final
static
String
STORE_NAME_ZHANG_ZHONG_YUN
=
"ZHANG_ZHONG_YUN"
;
public
final
static
String
STORE_NAME_YUE_WEN
=
"YUE_WEN"
;
public
final
static
String
STORE_NAME_YUE_WEN
=
"YUE_WEN"
;
public
final
static
String
ERROR_LABEL
=
"error"
;
public
final
static
List
<
Integer
>
LINK_NEWS_TYPE_LIST
=
Arrays
.
asList
(
1
,
2
,
3
,
-
1
);
public
final
static
List
<
Integer
>
REPLACE_LINK_NEWS_TYPE_LIST
=
Arrays
.
asList
(
1
,
2
,
3
);
public
final
static
List
<
Integer
>
COMMON_NEWS_TYPE_LIST
=
Collections
.
singletonList
(
4
);
public
final
static
Integer
BOOK_NEWS_TYPE
=
1
;
public
final
static
Integer
BOOK_NEWS_TYPE
=
1
;
public
final
static
String
BOOK_NEWS_TYPE_NAME
=
"推广"
;
public
final
static
String
BOOK_NEWS_TYPE_NAME
=
"推广"
;
...
@@ -23,6 +35,11 @@ public class CustomerCommonConstant {
...
@@ -23,6 +35,11 @@ public class CustomerCommonConstant {
public
final
static
String
ACTIVITY_NEWS_TYPE_NAME
=
"活动"
;
public
final
static
String
ACTIVITY_NEWS_TYPE_NAME
=
"活动"
;
public
final
static
String
ACTIVITY_NEWS_TYPE_NAME_MODEL
=
"系统-客服-{newsType}-{accountNickName}-{storeType}-{currentDate}-充{recharge}送{gift}"
;
public
final
static
String
ACTIVITY_NEWS_TYPE_NAME_MODEL
=
"系统-客服-{newsType}-{accountNickName}-{storeType}-{currentDate}-充{recharge}送{gift}"
;
public
final
static
String
CUSTOMER_TEXT_LINK_TEMPLATE
=
"<a href=\"{url}-\" style='color: blue'>{content}</a>"
;
public
final
static
String
CUSTOMER_TEXT_URL_PLACEHOLDER
=
"{url}-"
;
public
final
static
String
CUSTOMER_TEXT_CONTENT_PLACEHOLDER
=
"{content}"
;
public
final
static
Integer
USUAL_LINK_NEWS_TYPE
=
3
;
public
final
static
Integer
USUAL_LINK_NEWS_TYPE
=
3
;
public
final
static
String
USUAL_LINK_NEWS_TYPE_NAME
=
"常用"
;
public
final
static
String
USUAL_LINK_NEWS_TYPE_NAME
=
"常用"
;
...
...
src/main/java/com/yaoyaozw/customer/controller/CustomerMessageController.java
→
src/main/java/com/yaoyaozw/customer/controller/CustomerMessage
Graphics
Controller.java
浏览文件 @
30b95fe1
...
@@ -21,10 +21,10 @@ import java.util.List;
...
@@ -21,10 +21,10 @@ import java.util.List;
* @author darker
* @author darker
* @date 2022/9/15 11:13
* @date 2022/9/15 11:13
*/
*/
@Api
(
tags
=
"客服消息接口"
)
@Api
(
tags
=
"客服消息接口
-图文
"
)
@RestController
@RestController
@RequestMapping
(
"/customer-service/message"
)
@RequestMapping
(
"/customer-service/message
/graphics
"
)
public
class
CustomerMessageController
{
public
class
CustomerMessage
Graphics
Controller
{
@Autowired
@Autowired
private
CustomerGraphicsService
customerGraphicsService
;
private
CustomerGraphicsService
customerGraphicsService
;
...
...
src/main/java/com/yaoyaozw/customer/controller/CustomerMessageTextController.java
0 → 100644
浏览文件 @
30b95fe1
package
com
.
yaoyaozw
.
customer
.
controller
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageTextSaveDTO
;
import
com.yaoyaozw.customer.dto.customer.CustomerReferralDTO
;
import
com.yaoyaozw.customer.service.CustomerGraphicsTextService
;
import
com.yaoyaozw.customer.vo.customer.CustomerGraphicTextDetailVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author darker
* @date 2022/9/15 11:13
*/
@Api
(
tags
=
"客服消息接口-文本"
)
@RestController
@RequestMapping
(
"/customer-service/message/text"
)
public
class
CustomerMessageTextController
{
@Autowired
private
CustomerGraphicsTextService
textService
;
@ApiOperation
(
"新增客服主体"
)
@PostMapping
(
"/insertCustomerMessage"
)
public
GenericsResult
<
String
>
insertCustomerMessage
(
@RequestBody
CustomerMessageTextSaveDTO
saveDto
)
{
return
textService
.
insertCustomerMessage
(
saveDto
);
}
@ApiOperation
(
"新增客服内容"
)
@PostMapping
(
"/insertCustomerContent"
)
public
GenericsResult
<
CustomerGraphicTextDetailVO
>
insertCustomerContent
(
@RequestBody
CustomerReferralDTO
referralDto
)
{
return
textService
.
insertCustomerContent
(
referralDto
);
}
@ApiOperation
(
"获取文本客服详情"
)
@GetMapping
(
"/detail/{id}"
)
public
GenericsResult
<
CustomerGraphicTextDetailVO
>
getCustomerTextDetail
(
@PathVariable
(
"id"
)
Long
id
)
{
return
textService
.
getCustomerTextDetail
(
id
);
}
@ApiOperation
(
"删除单条文本内容"
)
@GetMapping
(
"/removeCustomerContent/{contentId}"
)
public
GenericsResult
<
CustomerGraphicTextDetailVO
>
removeCustomerContent
(
@PathVariable
(
"contentId"
)
Long
contentId
)
{
return
textService
.
removeCustomerContent
(
contentId
);
}
}
src/main/java/com/yaoyaozw/customer/dto/customer/CustomerMessageTextSaveDTO.java
0 → 100644
浏览文件 @
30b95fe1
package
com
.
yaoyaozw
.
customer
.
dto
.
customer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author darker
* @date 2022/10/12 16:33
*/
@Data
@ApiModel
(
"文本类型客服保存实体"
)
public
class
CustomerMessageTextSaveDTO
implements
Serializable
{
@ApiModelProperty
(
"客服消息id"
)
private
Long
id
;
@ApiModelProperty
(
"标题"
)
private
String
name
;
@ApiModelProperty
(
"消息发送时间"
)
private
String
postTime
;
@ApiModelProperty
(
"客服消息类型(图文、文本)"
)
private
String
type
;
}
src/main/java/com/yaoyaozw/customer/dto/customer/CustomerReferralDTO.java
浏览文件 @
30b95fe1
...
@@ -22,13 +22,23 @@ import java.util.List;
...
@@ -22,13 +22,23 @@ import java.util.List;
@Data
@Data
public
class
CustomerReferralDTO
implements
Serializable
{
public
class
CustomerReferralDTO
implements
Serializable
{
@ApiModelProperty
(
"客服素材主体id"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
materialGraphicsId
;
@ApiModelProperty
(
"主键id"
)
@ApiModelProperty
(
"主键id"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
id
;
private
Long
id
;
@ApiModelProperty
(
"文本类型文本内容"
)
private
String
textContent
;
@ApiModelProperty
(
"链接类型"
)
@ApiModelProperty
(
"链接类型"
)
private
Integer
newsType
;
private
Integer
newsType
;
@ApiModelProperty
(
value
=
"序号"
)
private
Integer
sort
;
@ApiModelProperty
(
"书城"
)
@ApiModelProperty
(
"书城"
)
private
String
storeType
;
private
String
storeType
;
...
@@ -71,8 +81,6 @@ public class CustomerReferralDTO implements Serializable {
...
@@ -71,8 +81,6 @@ public class CustomerReferralDTO implements Serializable {
@ApiModelProperty
(
value
=
"赠送数量"
)
@ApiModelProperty
(
value
=
"赠送数量"
)
private
Integer
giftAmount
;
private
Integer
giftAmount
;
private
Integer
isDeleted
;
public
Date
getStartTime
()
{
public
Date
getStartTime
()
{
if
(
ObjectUtil
.
isNull
(
this
.
startTime
)
&&
CollectionUtil
.
isNotEmpty
(
this
.
dateList
))
{
if
(
ObjectUtil
.
isNull
(
this
.
startTime
)
&&
CollectionUtil
.
isNotEmpty
(
this
.
dateList
))
{
return
dateList
.
get
(
0
);
return
dateList
.
get
(
0
);
...
@@ -94,10 +102,4 @@ public class CustomerReferralDTO implements Serializable {
...
@@ -94,10 +102,4 @@ public class CustomerReferralDTO implements Serializable {
return
dateList
;
return
dateList
;
}
}
public
Integer
getIsDeleted
()
{
if
(
ObjectUtil
.
isNull
(
this
.
isDeleted
))
{
return
0
;
}
return
isDeleted
;
}
}
}
src/main/java/com/yaoyaozw/customer/entity/CustomerGraphics.java
浏览文件 @
30b95fe1
...
@@ -59,6 +59,12 @@ public class CustomerGraphics implements Serializable {
...
@@ -59,6 +59,12 @@ public class CustomerGraphics implements Serializable {
private
String
content
;
private
String
content
;
/**
/**
* 可替换链接数量
*/
@TableField
(
value
=
"referral_size"
)
private
Integer
referralSize
;
/**
* 发送时间
* 发送时间
*/
*/
@TableField
(
value
=
"post_time"
)
@TableField
(
value
=
"post_time"
)
...
@@ -99,7 +105,7 @@ public class CustomerGraphics implements Serializable {
...
@@ -99,7 +105,7 @@ public class CustomerGraphics implements Serializable {
*/
*/
@TableField
(
value
=
"is_deleted"
)
@TableField
(
value
=
"is_deleted"
)
@TableLogic
@TableLogic
private
Boolean
isDeleted
;
private
Integer
isDeleted
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
...
src/main/java/com/yaoyaozw/customer/entity/ReferralEntity.java
浏览文件 @
30b95fe1
...
@@ -107,6 +107,14 @@ public class ReferralEntity implements Serializable {
...
@@ -107,6 +107,14 @@ public class ReferralEntity implements Serializable {
@ApiModelProperty
(
value
=
"样式"
)
@ApiModelProperty
(
value
=
"样式"
)
private
Integer
styleType
;
private
Integer
styleType
;
@TableField
(
value
=
"sort"
)
@ApiModelProperty
(
value
=
"序号"
)
private
Integer
sort
;
@TableField
(
value
=
"text_content"
)
@ApiModelProperty
(
value
=
"文本内容"
)
private
String
textContent
;
@TableField
(
value
=
"gmt_create"
,
fill
=
FieldFill
.
INSERT
)
@TableField
(
value
=
"gmt_create"
,
fill
=
FieldFill
.
INSERT
)
@ApiModelProperty
(
value
=
""
)
@ApiModelProperty
(
value
=
""
)
private
Date
gmtCreate
;
private
Date
gmtCreate
;
...
...
src/main/java/com/yaoyaozw/customer/scheduling/SchedulingTask.java
浏览文件 @
30b95fe1
...
@@ -109,6 +109,17 @@ public class SchedulingTask {
...
@@ -109,6 +109,17 @@ public class SchedulingTask {
item
.
setCrowdNum
(
num
);
item
.
setCrowdNum
(
num
);
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
if
(
entries
.
size
()
!=
list
.
size
())
{
localLog
.
info
(
"删除redis在数据库中不存在的人群包"
);
List
<
String
>
idList
=
list
.
stream
().
map
(
item
->
String
.
valueOf
(
item
.
getId
())).
collect
(
Collectors
.
toList
());
for
(
String
key
:
entries
.
keySet
())
{
if
(!
idList
.
contains
(
key
))
{
localLog
.
info
(
"redis中人群包id: {} 在数据库中不存在, 删除"
,
key
);
redisTemplate
.
opsForHash
().
delete
(
CustomerCommonConstant
.
CROWD_HUMAN_NUN_REDIS_KEY
,
key
);
}
}
}
localLog
.
info
(
"要更新人群包: {} 条"
,
resultList
.
size
());
localLog
.
info
(
"要更新人群包: {} 条"
,
resultList
.
size
());
if
(
CollectionUtil
.
isNotEmpty
(
resultList
))
{
if
(
CollectionUtil
.
isNotEmpty
(
resultList
))
{
crowdPackageService
.
updateBatchById
(
resultList
);
crowdPackageService
.
updateBatchById
(
resultList
);
...
...
src/main/java/com/yaoyaozw/customer/service/CustomerGraphicsTextService.java
0 → 100644
浏览文件 @
30b95fe1
package
com
.
yaoyaozw
.
customer
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageTextSaveDTO
;
import
com.yaoyaozw.customer.dto.customer.CustomerReferralDTO
;
import
com.yaoyaozw.customer.entity.CustomerGraphics
;
import
com.yaoyaozw.customer.vo.customer.CustomerGraphicTextDetailVO
;
/**
* @author darker
* @date 2022/10/12 10:49
*/
public
interface
CustomerGraphicsTextService
extends
IService
<
CustomerGraphics
>
{
/**
* 存储客服消息
*
* @param saveDto 保存实体
* @return {@link GenericsResult}<{@link String}>
*/
GenericsResult
<
String
>
insertCustomerMessage
(
CustomerMessageTextSaveDTO
saveDto
);
/**
* 新增客户内容
*
* @param referralDto 推荐dto
* @return {@link GenericsResult}<{@link CustomerGraphicTextDetailVO}>
*/
GenericsResult
<
CustomerGraphicTextDetailVO
>
insertCustomerContent
(
CustomerReferralDTO
referralDto
);
/**
* 获取文本客服详情
*
* @param id 主键id
* @return {@link GenericsResult}<{@link CustomerGraphicTextDetailVO}>
*/
GenericsResult
<
CustomerGraphicTextDetailVO
>
getCustomerTextDetail
(
Long
id
);
/**
* 删除客户内容
*
* @param contentId 文本内容id
* @return {@link GenericsResult}<{@link CustomerGraphicTextDetailVO}>
*/
GenericsResult
<
CustomerGraphicTextDetailVO
>
removeCustomerContent
(
Long
contentId
);
}
src/main/java/com/yaoyaozw/customer/service/impl/CustomerGraphicsServiceImpl.java
浏览文件 @
30b95fe1
...
@@ -3,14 +3,21 @@ package com.yaoyaozw.customer.service.impl;
...
@@ -3,14 +3,21 @@ package com.yaoyaozw.customer.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
import
com.yaoyaozw.customer.common.BaseResult
;
import
com.yaoyaozw.customer.common.BaseResult
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.common.R
;
import
com.yaoyaozw.customer.components.CustomerServiceCommonAsyncComponent
;
import
com.yaoyaozw.customer.components.CustomerServiceCommonAsyncComponent
;
import
com.yaoyaozw.customer.components.SnowflakeComponent
;
import
com.yaoyaozw.customer.components.SnowflakeComponent
;
import
com.yaoyaozw.customer.components.TokenManager
;
import
com.yaoyaozw.customer.components.TokenManager
;
import
com.yaoyaozw.customer.constants.ApiResultConstant
;
import
com.yaoyaozw.customer.constants.CrowdPackageCommonConstant
;
import
com.yaoyaozw.customer.constants.CrowdPackageCommonConstant
;
import
com.yaoyaozw.customer.constants.CustomerCommonConstant
;
import
com.yaoyaozw.customer.constants.CustomerCommonConstant
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageQueryDTO
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageQueryDTO
;
...
@@ -19,10 +26,16 @@ import com.yaoyaozw.customer.dto.customer.CustomerReferralDTO;
...
@@ -19,10 +26,16 @@ import com.yaoyaozw.customer.dto.customer.CustomerReferralDTO;
import
com.yaoyaozw.customer.entity.CrowdPackageCondition
;
import
com.yaoyaozw.customer.entity.CrowdPackageCondition
;
import
com.yaoyaozw.customer.entity.CrowdPackageConditionMatch
;
import
com.yaoyaozw.customer.entity.CrowdPackageConditionMatch
;
import
com.yaoyaozw.customer.entity.ReferralEntity
;
import
com.yaoyaozw.customer.entity.ReferralEntity
;
import
com.yaoyaozw.customer.enums.CustomerStoreTemplateEnum
;
import
com.yaoyaozw.customer.feigns.ReferralFeignClient
;
import
com.yaoyaozw.customer.mapper.KanbanCommonMapper
;
import
com.yaoyaozw.customer.mapper.KanbanCommonMapper
;
import
com.yaoyaozw.customer.mapper.MaterialCommonMapper
;
import
com.yaoyaozw.customer.service.CrowdPackageConditionMatchService
;
import
com.yaoyaozw.customer.service.CrowdPackageConditionMatchService
;
import
com.yaoyaozw.customer.service.CrowdPackageConditionService
;
import
com.yaoyaozw.customer.service.CrowdPackageConditionService
;
import
com.yaoyaozw.customer.service.ReferralEntityService
;
import
com.yaoyaozw.customer.service.ReferralEntityService
;
import
com.yaoyaozw.customer.vo.AuthInfoVO
;
import
com.yaoyaozw.customer.vo.CommonOptionResponseVO
;
import
com.yaoyaozw.customer.vo.customer.CrowdPackageUserVO
;
import
com.yaoyaozw.customer.vo.customer.CustomerMessageDetailVO
;
import
com.yaoyaozw.customer.vo.customer.CustomerMessageDetailVO
;
import
com.yaoyaozw.customer.vo.customer.CustomerMessageListVO
;
import
com.yaoyaozw.customer.vo.customer.CustomerMessageListVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -32,7 +45,9 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -32,7 +45,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yaoyaozw.customer.entity.CustomerGraphics
;
import
com.yaoyaozw.customer.entity.CustomerGraphics
;
import
com.yaoyaozw.customer.mapper.CustomerGraphicsMapper
;
import
com.yaoyaozw.customer.mapper.CustomerGraphicsMapper
;
...
@@ -78,6 +93,10 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
...
@@ -78,6 +93,10 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
long
id
=
snowflakeComponent
.
snowflakeId
();
long
id
=
snowflakeComponent
.
snowflakeId
();
customerGraphics
.
setId
(
id
);
customerGraphics
.
setId
(
id
);
}
}
// 设置链接数
if
(
CustomerCommonConstant
.
REPLACE_LINK_NEWS_TYPE_LIST
.
contains
(
saveDto
.
getCustomerReferralDto
().
getNewsType
()))
{
customerGraphics
.
setReferralSize
(
1
);
}
super
.
saveOrUpdate
(
customerGraphics
);
super
.
saveOrUpdate
(
customerGraphics
);
// 处理活动数据
// 处理活动数据
...
@@ -133,11 +152,20 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
...
@@ -133,11 +152,20 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
BaseResult
removeCustomerMessage
(
Long
id
)
{
public
BaseResult
removeCustomerMessage
(
Long
id
)
{
boolean
result
=
super
.
removeById
(
id
);
boolean
result
=
super
.
removeById
(
id
);
boolean
referralResult
=
referralEntityService
.
remove
(
new
QueryWrapper
<
ReferralEntity
>().
eq
(
"material_graphics_id"
,
id
));
QueryWrapper
<
ReferralEntity
>
queryWrapper
=
new
QueryWrapper
<
ReferralEntity
>().
eq
(
"material_graphics_id"
,
id
);
boolean
referralResult
=
referralEntityService
.
remove
(
queryWrapper
);
if
(
result
&&
referralResult
)
{
if
(
result
&&
referralResult
)
{
// 删除成功
// 删除成功
return
new
BaseResult
().
success
();
return
new
BaseResult
().
success
();
}
}
if
(!
referralResult
)
{
int
count
=
referralEntityService
.
count
(
queryWrapper
);
if
(
count
==
0
)
{
// 没找到链接数据
LOCAL_LOG
.
info
(
"没找到链接数据, 删除完成"
);
return
new
BaseResult
().
success
();
}
}
LOCAL_LOG
.
info
(
"主体删除结果: {}, 链接删除结果: {}, 删除失败,回滚事务"
,
result
,
referralResult
);
LOCAL_LOG
.
info
(
"主体删除结果: {}, 链接删除结果: {}, 删除失败,回滚事务"
,
result
,
referralResult
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
new
BaseResult
().
error
(
"删除异常"
);
return
new
BaseResult
().
error
(
"删除异常"
);
...
@@ -150,17 +178,19 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
...
@@ -150,17 +178,19 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
return
new
BaseResult
().
error
(
"无法获取主体数据"
);
return
new
BaseResult
().
error
(
"无法获取主体数据"
);
}
}
byId
.
setPackId
(
packId
);
byId
.
setPackId
(
packId
);
ReferralEntity
referralEntity
=
referralEntityService
.
getOne
(
new
QueryWrapper
<
ReferralEntity
>().
eq
(
"material_graphics_id"
,
id
).
isNull
(
"account_id"
));
LOCAL_LOG
.
info
(
"获取书城条件主体"
);
LOCAL_LOG
.
info
(
"获取书城条件主体"
);
CrowdPackageCondition
storeCondition
=
conditionService
.
getOne
(
CrowdPackageCondition
storeCondition
=
conditionService
.
getOne
(
new
QueryWrapper
<
CrowdPackageCondition
>().
eq
(
"condition_key"
,
CrowdPackageCommonConstant
.
CONDITION_STORE_ID
).
eq
(
"front_type"
,
CrowdPackageCommonConstant
.
MULTIPLE_SELECT
)
new
QueryWrapper
<
CrowdPackageCondition
>().
eq
(
"condition_key"
,
CrowdPackageCommonConstant
.
CONDITION_STORE_ID
).
eq
(
"front_type"
,
CrowdPackageCommonConstant
.
MULTIPLE_SELECT
)
);
);
//
TODO: 2022/10/8
校验人群包设置条件
// 校验人群包设置条件
LOCAL_LOG
.
info
(
"获取人群包下的书城条件"
);
LOCAL_LOG
.
info
(
"获取人群包下的书城条件"
);
CrowdPackageConditionMatch
storeConditionMatch
=
matchService
.
getOne
(
CrowdPackageConditionMatch
storeConditionMatch
=
matchService
.
getOne
(
new
QueryWrapper
<
CrowdPackageConditionMatch
>().
eq
(
"package_id"
,
packId
).
eq
(
"condition_id"
,
storeCondition
.
getId
())
new
QueryWrapper
<
CrowdPackageConditionMatch
>().
eq
(
"package_id"
,
packId
).
eq
(
"condition_id"
,
storeCondition
.
getId
())
);
);
List
<
ReferralEntity
>
referralEntityList
=
referralEntityService
.
list
(
new
QueryWrapper
<
ReferralEntity
>().
eq
(
"material_graphics_id"
,
id
).
isNull
(
"account_id"
));
for
(
ReferralEntity
referralEntity
:
referralEntityList
)
{
Integer
newsType
=
referralEntity
.
getNewsType
();
Integer
newsType
=
referralEntity
.
getNewsType
();
if
(
CustomerCommonConstant
.
BOOK_NEWS_TYPE
.
equals
(
newsType
))
{
if
(
CustomerCommonConstant
.
BOOK_NEWS_TYPE
.
equals
(
newsType
))
{
// 是推广链接
// 是推广链接
...
@@ -169,16 +199,14 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
...
@@ -169,16 +199,14 @@ public class CustomerGraphicsServiceImpl extends ServiceImpl<CustomerGraphicsMap
return
checkResult
;
return
checkResult
;
}
}
}
}
}
byId
.
setPackId
(
packId
);
byId
.
setPackId
(
packId
);
// 设置状态为链接生成中
// 设置状态为链接生成中
byId
.
setSendStatus
(
1
);
byId
.
setSendStatus
(
1
);
boolean
result
=
super
.
updateById
(
byId
);
boolean
result
=
super
.
updateById
(
byId
);
if
(
result
)
{
if
(
result
)
{
// 删除之前设置人群包的时候获取链接生成的数据
commonAsyncComponent
.
obtainLink
(
id
,
byId
,
referralEntityList
);
referralEntityService
.
ultimateDeleteReferrals
(
id
,
"and account_id is not null"
);
// 调用异步方法,获取链接
commonAsyncComponent
.
getAuthListLink
(
byId
,
referralEntity
);
return
new
BaseResult
().
success
();
return
new
BaseResult
().
success
();
}
}
return
new
BaseResult
().
error
(
"更新失败"
);
return
new
BaseResult
().
error
(
"更新失败"
);
...
...
src/main/java/com/yaoyaozw/customer/service/impl/CustomerGraphicsTextServiceImpl.java
0 → 100644
浏览文件 @
30b95fe1
package
com
.
yaoyaozw
.
customer
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.components.SnowflakeComponent
;
import
com.yaoyaozw.customer.components.TokenManager
;
import
com.yaoyaozw.customer.constants.CustomerCommonConstant
;
import
com.yaoyaozw.customer.dto.customer.CustomerMessageTextSaveDTO
;
import
com.yaoyaozw.customer.dto.customer.CustomerReferralDTO
;
import
com.yaoyaozw.customer.entity.CustomerGraphics
;
import
com.yaoyaozw.customer.entity.ReferralEntity
;
import
com.yaoyaozw.customer.mapper.CustomerGraphicsMapper
;
import
com.yaoyaozw.customer.service.CustomerGraphicsTextService
;
import
com.yaoyaozw.customer.service.ReferralEntityService
;
import
com.yaoyaozw.customer.vo.customer.CustomerContentVO
;
import
com.yaoyaozw.customer.vo.customer.CustomerGraphicTextDetailVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author darker
* @date 2022/10/12 11:49
*/
@Service
public
class
CustomerGraphicsTextServiceImpl
extends
ServiceImpl
<
CustomerGraphicsMapper
,
CustomerGraphics
>
implements
CustomerGraphicsTextService
{
private
final
static
Logger
LOCAL_LOG
=
LoggerFactory
.
getLogger
(
CustomerGraphicsTextServiceImpl
.
class
);
@Autowired
private
TokenManager
tokenManager
;
@Autowired
private
SnowflakeComponent
snowflakeComponent
;
@Autowired
private
ReferralEntityService
referralEntityService
;
@Override
public
GenericsResult
<
String
>
insertCustomerMessage
(
CustomerMessageTextSaveDTO
saveDto
)
{
// 主体数据
LOCAL_LOG
.
info
(
"处理主体数据"
);
CustomerGraphics
customerGraphics
=
new
CustomerGraphics
();
BeanUtil
.
copyProperties
(
saveDto
,
customerGraphics
);
customerGraphics
.
initOperateInfo
(
tokenManager
.
getUserIdFromToken
(),
ObjectUtil
.
isNull
(
saveDto
.
getId
()));
if
(
ObjectUtil
.
isNull
(
customerGraphics
.
getId
()))
{
long
id
=
snowflakeComponent
.
snowflakeId
();
customerGraphics
.
setId
(
id
);
}
super
.
saveOrUpdate
(
customerGraphics
);
return
new
GenericsResult
<>(
customerGraphics
.
getId
().
toString
());
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
GenericsResult
<
CustomerGraphicTextDetailVO
>
insertCustomerContent
(
CustomerReferralDTO
referralDto
)
{
System
.
out
.
println
(
referralDto
);
// 处理活动数据
ReferralEntity
referralEntity
=
new
ReferralEntity
();
BeanUtil
.
copyProperties
(
referralDto
,
referralEntity
);
// 获取name模板
String
nameModel
=
CustomerCommonConstant
.
getLinkNameModel
(
referralEntity
.
getNewsType
());
LOCAL_LOG
.
info
(
"获取name模板: {}"
,
nameModel
);
if
(
StringUtils
.
isNotBlank
(
nameModel
))
{
referralEntity
.
setName
(
nameModel
);
}
// 保存链接数据
referralEntityService
.
saveOrUpdate
(
referralEntity
);
return
getCustomerTextDetail
(
referralDto
.
getMaterialGraphicsId
());
}
@Override
public
GenericsResult
<
CustomerGraphicTextDetailVO
>
getCustomerTextDetail
(
Long
id
)
{
// 查询主体数据
CustomerGraphics
customerGraphics
=
super
.
getById
(
id
);
if
(
ObjectUtil
.
isNull
(
customerGraphics
))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
new
GenericsResult
<>(
false
,
"找不到主体数据"
);
}
// 赋值主体数据
CustomerGraphicTextDetailVO
detailVO
=
new
CustomerGraphicTextDetailVO
();
BeanUtil
.
copyProperties
(
customerGraphics
,
detailVO
);
detailVO
.
setPostTime
(
customerGraphics
.
getPostTimeStr
());
// 合并链接中的h5代码
List
<
ReferralEntity
>
referralEntityList
=
referralEntityService
.
list
(
new
QueryWrapper
<
ReferralEntity
>().
eq
(
"material_graphics_id"
,
id
).
isNull
(
"account_id"
).
orderByAsc
(
"gmt_create"
));
List
<
CustomerContentVO
>
contentList
=
new
ArrayList
<>();
// 位置计数器
StringBuilder
mainH5Content
=
new
StringBuilder
();
LOCAL_LOG
.
info
(
"根据链接重新生成H5"
);
int
idx
=
1
;
int
replaceLinkTypeNum
=
0
;
for
(
ReferralEntity
item
:
referralEntityList
)
{
item
.
setSort
(
idx
);
CustomerContentVO
customerContentVO
=
new
CustomerContentVO
();
// 设置主键id和h5代码段
customerContentVO
.
setId
(
item
.
getId
());
String
context
=
null
;
if
(
CustomerCommonConstant
.
LINK_NEWS_TYPE_LIST
.
contains
(
item
.
getNewsType
()))
{
context
=
CustomerCommonConstant
.
CUSTOMER_TEXT_LINK_TEMPLATE
.
replace
(
CustomerCommonConstant
.
CUSTOMER_TEXT_CONTENT_PLACEHOLDER
,
item
.
getTextContent
())
.
replace
(
CustomerCommonConstant
.
CUSTOMER_TEXT_URL_PLACEHOLDER
,
CustomerCommonConstant
.
CUSTOMER_TEXT_URL_PLACEHOLDER
+
idx
);
}
else
if
(
CustomerCommonConstant
.
COMMON_NEWS_TYPE_LIST
.
contains
(
item
.
getNewsType
())){
context
=
item
.
getTextContent
();
}
if
(
ObjectUtil
.
isNotNull
(
context
))
{
mainH5Content
.
append
(
context
);
if
(
idx
!=
referralEntityList
.
size
())
{
mainH5Content
.
append
(
"\n"
).
append
(
"\n"
);
}
// 将链接中的占位符换成#
customerContentVO
.
setContent
(
context
.
replace
(
CustomerCommonConstant
.
CUSTOMER_TEXT_URL_PLACEHOLDER
+
idx
,
"#"
));
}
// 赋值链接信息
CustomerReferralDTO
customerReferralDto
=
new
CustomerReferralDTO
();
BeanUtil
.
copyProperties
(
item
,
customerReferralDto
);
customerContentVO
.
setCustomerReferralDto
(
customerReferralDto
);
contentList
.
add
(
customerContentVO
);
// 统计referralSize
if
(
CustomerCommonConstant
.
REPLACE_LINK_NEWS_TYPE_LIST
.
contains
(
item
.
getNewsType
()))
{
replaceLinkTypeNum
+=
1
;
}
idx
+=
1
;
}
customerGraphics
.
setContent
(
mainH5Content
.
toString
());
customerGraphics
.
setReferralSize
(
replaceLinkTypeNum
);
detailVO
.
setContentList
(
contentList
);
// 更新连接表
LOCAL_LOG
.
info
(
"更新连接表"
);
if
(
CollectionUtil
.
isNotEmpty
(
referralEntityList
))
{
referralEntityService
.
updateBatchById
(
referralEntityList
);
}
// 更新主表
LOCAL_LOG
.
info
(
"更新主表"
);
customerGraphics
.
initOperateInfo
(
tokenManager
.
getUserIdFromToken
(),
false
);
super
.
updateById
(
customerGraphics
);
return
new
GenericsResult
<>(
detailVO
);
}
@Override
public
GenericsResult
<
CustomerGraphicTextDetailVO
>
removeCustomerContent
(
Long
contentId
)
{
ReferralEntity
referralEntity
=
referralEntityService
.
getById
(
contentId
);
if
(
ObjectUtil
.
isNull
(
referralEntity
))
{
return
new
GenericsResult
<>(
false
,
"找不到主体数据"
);
}
boolean
result
=
referralEntityService
.
removeById
(
contentId
);
if
(
result
)
{
return
getCustomerTextDetail
(
referralEntity
.
getMaterialGraphicsId
());
}
return
new
GenericsResult
<>(
false
,
"删除失败"
);
}
}
src/main/java/com/yaoyaozw/customer/vo/customer/CustomerContentVO.java
0 → 100644
浏览文件 @
30b95fe1
package
com
.
yaoyaozw
.
customer
.
vo
.
customer
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
com.yaoyaozw.customer.dto.customer.CustomerReferralDTO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author darker
* @date 2022/10/12 11:31
*/
@Data
public
class
CustomerContentVO
implements
Serializable
{
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
"子文本主键"
)
private
Long
id
;
@ApiModelProperty
(
"文本内容"
)
private
String
content
;
@ApiModelProperty
(
"链接相关内容"
)
private
CustomerReferralDTO
customerReferralDto
;
}
src/main/java/com/yaoyaozw/customer/vo/customer/CustomerGraphicTextDetailVO.java
0 → 100644
浏览文件 @
30b95fe1
package
com
.
yaoyaozw
.
customer
.
vo
.
customer
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author darker
* @date 2022/10/12 11:30
*/
@Data
@ApiModel
(
"文本客服详情实体"
)
public
class
CustomerGraphicTextDetailVO
implements
Serializable
{
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@ApiModelProperty
(
"主键id"
)
private
Long
id
;
@ApiModelProperty
(
"标题"
)
private
String
name
;
@ApiModelProperty
(
"文本子内容"
)
private
List
<
CustomerContentVO
>
contentList
;
@ApiModelProperty
(
"发文时间"
)
private
String
postTime
;
@ApiModelProperty
(
"发文时间"
)
private
String
type
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论