Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
operate-customer-service
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
沈振路
operate-customer-service
Commits
31eca3f3
提交
31eca3f3
authored
3月 27, 2024
作者:
典文龙
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
分发复用,待测试
上级
0b8c9056
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
397 行增加
和
0 行删除
+397
-0
DistributeController.java
...om/yaoyaozw/customer/controller/DistributeController.java
+41
-0
ConditionDTO.java
src/main/java/com/yaoyaozw/customer/dto/ConditionDTO.java
+17
-0
DistributeDTO.java
src/main/java/com/yaoyaozw/customer/dto/DistributeDTO.java
+22
-0
MenuMainCopyDTO.java
src/main/java/com/yaoyaozw/customer/dto/MenuMainCopyDTO.java
+43
-0
AccountDistributeRecord.java
...com/yaoyaozw/customer/entity/AccountDistributeRecord.java
+53
-0
MenuFeignClient.java
...in/java/com/yaoyaozw/customer/feigns/MenuFeignClient.java
+22
-0
AccountDistributeLogMapper.java
.../yaoyaozw/customer/mapper/AccountDistributeLogMapper.java
+21
-0
DistributeService.java
...java/com/yaoyaozw/customer/service/DistributeService.java
+24
-0
DistributeServiceImpl.java
...yaoyaozw/customer/service/impl/DistributeServiceImpl.java
+115
-0
AccountDistributeLogVO.java
...java/com/yaoyaozw/customer/vo/AccountDistributeLogVO.java
+22
-0
AccountDistributeLogMapper.xml
src/main/resources/mapper/AccountDistributeLogMapper.xml
+17
-0
没有找到文件。
src/main/java/com/yaoyaozw/customer/controller/DistributeController.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
controller
;
import
com.yaoyaozw.customer.common.BaseResult
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.dto.ConditionDTO
;
import
com.yaoyaozw.customer.dto.DistributeDTO
;
import
com.yaoyaozw.customer.service.DistributeService
;
import
com.yaoyaozw.customer.vo.AccountDistributeLogVO
;
import
io.swagger.annotations.Api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* @Author: Dwl
* @Date: 2024/03/27/17:14
* @ClassName: DistributeController
* @Version: V3.2.0
* @Description:
*/
@Api
(
tags
=
"分发复用"
)
@RestController
@RequestMapping
(
"/distribute"
)
public
class
DistributeController
{
@Autowired
private
DistributeService
distributeService
;
@PostMapping
(
"/distribute"
)
public
BaseResult
distribute
(
@RequestBody
DistributeDTO
distributeDTO
)
{
return
distributeService
.
distribute
(
distributeDTO
);
}
@PostMapping
(
"/logList"
)
public
GenericsResult
<
List
<
AccountDistributeLogVO
>>
getList
()
{
return
distributeService
.
logList
();
}
}
src/main/java/com/yaoyaozw/customer/dto/ConditionDTO.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
dto
;
import
lombok.Data
;
/**
* @Author: Dwl
* @Date: 2024/03/27/20:32
* @ClassName: ConditionDTO
* @Version: V3.2.0
* @Description:
*/
@Data
public
class
ConditionDTO
{
private
Integer
currentPage
;
private
Integer
pageSize
;
}
src/main/java/com/yaoyaozw/customer/dto/DistributeDTO.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
dto
;
import
com.yaoyaozw.customer.vo.AuthInfoVO
;
import
lombok.Data
;
import
java.util.List
;
/**
* @Author: Dwl
* @Date: 2024/03/27/17:17
* @ClassName: DistributeDTO
* @Version: V3.2.0
* @Description:
*/
@Data
public
class
DistributeDTO
{
private
String
appId
;
private
List
<
String
>
targetAppList
;
private
AuthInfoVO
sourceAuth
;
private
List
<
AuthInfoVO
>
targetAuthList
;
private
List
<
String
>
typeList
;
}
src/main/java/com/yaoyaozw/customer/dto/MenuMainCopyDTO.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author darker
* @date 2022/11/15 16:30
*/
@Data
public
class
MenuMainCopyDTO
implements
Serializable
{
@NotNull
(
message
=
"公众号不能为空"
)
@ApiModelProperty
(
"公众号"
)
private
Long
authId
;
@NotNull
(
message
=
"状态不能为空"
)
@ApiModelProperty
(
"是否立即启用 0-否 1-是"
)
private
Integer
openImmediately
;
@NotNull
(
message
=
"目标公众号不能为空"
)
@ApiModelProperty
(
"复用的目标公众号ID"
)
private
List
<
Long
>
targetAuthList
;
@NotNull
(
message
=
"复用的菜单不能为空"
)
@ApiModelProperty
(
"要进行复用的菜单ID"
)
private
List
<
Integer
>
sourceMenuSortList
;
public
void
addList
(
Long
authId
,
List
<
Long
>
targetAuthList
)
{
this
.
authId
=
authId
;
this
.
openImmediately
=
1
;
this
.
targetAuthList
=
targetAuthList
;
List
<
Integer
>
sortList
=
new
ArrayList
<>();
sortList
.
add
(
1
);
this
.
sourceMenuSortList
=
sortList
;
}
}
src/main/java/com/yaoyaozw/customer/entity/AccountDistributeRecord.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
org.springframework.data.annotation.Id
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @Author: Dwl
* @Date: 2024/03/27/18:47
* @ClassName: AccountDistributeRecord
* @Version: V3.2.0
* @Description:
*/
@Data
@TableName
(
"account_distribute_record"
)
public
class
AccountDistributeRecord
implements
Serializable
{
@Id
@TableId
(
"id"
)
private
Long
id
;
/**
* 原公众号id
*/
@TableField
(
"auth_id"
)
private
Long
authId
;
@TableField
(
"target_id"
)
private
Long
targetId
;
/**
* 分发的菜单名称
*/
@TableField
(
"function_name"
)
private
String
functionName
;
/**
* 创建时间
*/
@TableField
(
"gmt_create"
)
private
Date
gmtCreate
;
@TableField
(
"create_user"
)
private
Long
createUser
;
/**
* 更新时间
*/
@TableField
(
"gmt_modified"
)
private
Date
gmtModified
;
private
static
final
long
serialVersionUID
=
1L
;
}
src/main/java/com/yaoyaozw/customer/feigns/MenuFeignClient.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
feigns
;
import
com.yaoyaozw.customer.common.BaseResult
;
import
com.yaoyaozw.customer.dto.MenuMainCopyDTO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* @Author: Dwl
* @Date: 2024/03/27/18:10
* @ClassName: MenuFeignClient
* @Version: V3.2.0
* @Description:
*/
@FeignClient
(
name
=
"material-service-dgn"
,
path
=
"/menu"
)
public
interface
MenuFeignClient
{
@PostMapping
(
"/copy"
)
public
BaseResult
copy
(
@RequestBody
@Validated
MenuMainCopyDTO
menuMainCopyDTO
);
}
src/main/java/com/yaoyaozw/customer/mapper/AccountDistributeLogMapper.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.entity.AccountDistributeRecord
;
import
com.yaoyaozw.customer.vo.AccountDistributeLogVO
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @Author: Dwl
* @Date: 2024/03/27/20:03
* @ClassName: AccountDistributeLogMapper
* @Version: V3.2.0
* @Description:
*/
@Repository
public
interface
AccountDistributeLogMapper
extends
BaseMapper
<
AccountDistributeRecord
>
{
GenericsResult
<
List
<
AccountDistributeLogVO
>>
selectLogList
();
}
src/main/java/com/yaoyaozw/customer/service/DistributeService.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yaoyaozw.customer.common.BaseResult
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.dto.ConditionDTO
;
import
com.yaoyaozw.customer.dto.DistributeDTO
;
import
com.yaoyaozw.customer.entity.AccountDistributeRecord
;
import
com.yaoyaozw.customer.vo.AccountDistributeLogVO
;
import
java.util.List
;
/**
* @Author: Dwl
* @Date: 2024/03/27/17:22
* @ClassName: DistributeService
* @Version: V3.2.0
* @Description:
*/
public
interface
DistributeService
extends
IService
<
AccountDistributeRecord
>
{
BaseResult
distribute
(
DistributeDTO
distributeDTO
);
GenericsResult
<
List
<
AccountDistributeLogVO
>>
logList
();
}
src/main/java/com/yaoyaozw/customer/service/impl/DistributeServiceImpl.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yaoyaozw.customer.common.BaseResult
;
import
com.yaoyaozw.customer.common.GenericsResult
;
import
com.yaoyaozw.customer.dto.DistributeDTO
;
import
com.yaoyaozw.customer.dto.MenuMainCopyDTO
;
import
com.yaoyaozw.customer.dto.follow.FollowReplyCopyDTO
;
import
com.yaoyaozw.customer.dto.keyword.CustomerKeywordCopyDTO
;
import
com.yaoyaozw.customer.entity.AccountDistributeRecord
;
import
com.yaoyaozw.customer.feigns.MenuFeignClient
;
import
com.yaoyaozw.customer.mapper.AccountDistributeLogMapper
;
import
com.yaoyaozw.customer.service.CustomerFollowReplyService
;
import
com.yaoyaozw.customer.service.CustomerGraphicsDelayService
;
import
com.yaoyaozw.customer.service.CustomerKeywordService
;
import
com.yaoyaozw.customer.service.DistributeService
;
import
com.yaoyaozw.customer.vo.AccountDistributeLogVO
;
import
com.yaoyaozw.customer.vo.AuthInfoVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @Author: Dwl
* @Date: 2024/03/27/17:22
* @ClassName: DistributeServiceImpl
* @Version: V3.2.0
* @Description:
*/
@Slf4j
@Service
public
class
DistributeServiceImpl
extends
ServiceImpl
<
AccountDistributeLogMapper
,
AccountDistributeRecord
>
implements
DistributeService
{
@Autowired
private
CustomerGraphicsDelayService
customerGraphicsDelayService
;
@Autowired
private
CustomerKeywordService
keywordService
;
@Autowired
private
CustomerFollowReplyService
followReplyService
;
@Autowired
private
MenuFeignClient
menuFeignClient
;
@Override
public
BaseResult
distribute
(
DistributeDTO
distributeDTO
)
{
List
<
AccountDistributeRecord
>
distributeLogList
=
new
ArrayList
<>();
log
.
info
(
"开始执行复用任务...."
);
AuthInfoVO
sourceAuth
=
distributeDTO
.
getSourceAuth
();
List
<
String
>
targetAppList
=
distributeDTO
.
getTargetAppList
();
List
<
AuthInfoVO
>
targetAuthList
=
distributeDTO
.
getTargetAuthList
();
List
<
Long
>
idList
=
targetAuthList
.
stream
().
map
(
AuthInfoVO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
String
>
typeList
=
distributeDTO
.
getTypeList
();
idList
.
stream
().
forEach
(
c
->
{
AccountDistributeRecord
distributeLog
=
new
AccountDistributeRecord
();
distributeLog
.
setAuthId
(
distributeLog
.
getAuthId
());
distributeLog
.
setGmtCreate
(
new
Date
());
distributeLog
.
setGmtModified
(
new
Date
());
distributeLog
.
setTargetId
(
c
.
longValue
());
for
(
String
type
:
typeList
)
{
// 根据 type 的值执行不同的操作
switch
(
type
)
{
case
"1"
:
//关回复用
distributeLog
.
setFunctionName
(
"1"
);
FollowReplyCopyDTO
followReplyCopyDTO
=
new
FollowReplyCopyDTO
();
followReplyCopyDTO
.
setTargetAuthList
(
targetAuthList
);
followReplyCopyDTO
.
setSourceAuth
(
sourceAuth
);
//followReplyService.copy(followReplyCopyDTO);
break
;
case
"2"
:
//关键词复用
distributeLog
.
setFunctionName
(
"2"
);
CustomerKeywordCopyDTO
customerKeywordCopyDTO
=
new
CustomerKeywordCopyDTO
();
customerKeywordCopyDTO
.
setSourceAuth
(
sourceAuth
);
customerKeywordCopyDTO
.
setTargetKeywordList
(
targetAppList
);
customerKeywordCopyDTO
.
setTargetAuthList
(
targetAuthList
);
//keywordService.copy(customerKeywordCopyDTO);
break
;
case
"3"
:
//延时客服复用
distributeLog
.
setFunctionName
(
"3"
);
//customerGraphicsDelayService.copy(distributeDTO.getAppId(), "", "", null, targetAppList);
break
;
case
"4"
:
//菜单管理复用
distributeLog
.
setFunctionName
(
"4"
);
MenuMainCopyDTO
menuMainCopyDTO
=
new
MenuMainCopyDTO
();
menuMainCopyDTO
.
addList
(
sourceAuth
.
getId
(),
idList
);
//menuFeignClient.copy(menuMainCopyDTO);
break
;
default
:
break
;
}
}
distributeLogList
.
add
(
distributeLog
);
});
this
.
saveBatch
(
distributeLogList
);
return
new
BaseResult
().
success
(
"复用进行中, 请等待"
);
}
@Override
public
GenericsResult
<
List
<
AccountDistributeLogVO
>>
logList
()
{
return
this
.
baseMapper
.
selectLogList
();
}
}
src/main/java/com/yaoyaozw/customer/vo/AccountDistributeLogVO.java
0 → 100644
浏览文件 @
31eca3f3
package
com
.
yaoyaozw
.
customer
.
vo
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @Author: Dwl
* @Date: 2024/03/27/20:15
* @ClassName: AccountDistributeLogVO
* @Version: V3.2.0
* @Description:
*/
@Data
public
class
AccountDistributeLogVO
{
private
String
nickName
;
private
String
targetName
;
private
String
functionName
;
private
Date
gmtCreate
;
private
String
userName
;
private
Date
gmtModified
;
}
src/main/resources/mapper/AccountDistributeLogMapper.xml
0 → 100644
浏览文件 @
31eca3f3
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.yaoyaozw.customer.mapper.AccountDistributeLogMapper"
>
<select
id=
"selectLogList"
resultType=
"java.util.List"
>
SELECT ai.nick_name AS nickName,
ai.nick_name AS targetName,
adr.function_name AS functionName,
adr.gmt_create AS gmtCreate,
adr.gmt_modified AS gmtModified
FROM account_distribute_record adr
LEFT JOIN authorizer_info ai ON ai.id = adr.auth_id
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论