Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
hxwza
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
注册表
注册表
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
svn
hxwza
Commits
0d2f075f
提交
0d2f075f
authored
3月 24, 2021
作者:
liupengfei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
--no commit message
上级
031101b5
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
187 行增加
和
5 行删除
+187
-5
ArticleLibraryController.java
...g/controller/articlelibrary/ArticleLibraryController.java
+124
-0
EbookController.java
...om/zrqx/resource/bg/controller/ebook/EbookController.java
+0
-0
WebTTSWSUtil.java
...ain/java/com/zrqx/resource/commons/util/WebTTSWSUtil.java
+6
-5
ExcelEbookExportVo.java
...zrqx/resource/commons/vo/bg/ebook/ExcelEbookExportVo.java
+57
-0
没有找到文件。
app/resource/src/main/java/com/zrqx/resource/bg/controller/articlelibrary/ArticleLibraryController.java
浏览文件 @
0d2f075f
...
...
@@ -7,6 +7,10 @@ import java.util.Date;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
com.zrqx.core.util.datatype.StringUtil
;
import
com.zrqx.resource.bg.service.articlelibrary.ArticleToAudioService
;
import
com.zrqx.resource.commons.model.articlelibrary.ArticleToAudio
;
import
com.zrqx.resource.commons.util.WebTTSWSUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -81,6 +85,9 @@ public class ArticleLibraryController {
/** 促销内容*/
@Autowired
private
PromotionContentService
promotionContentService
;
@Autowired
private
ArticleToAudioService
articleToAudioService
;
@ApiOperation
(
value
=
"新增"
,
notes
=
"新增一个"
)
@PostMapping
(
value
=
"/save"
)
...
...
@@ -305,6 +312,123 @@ public class ArticleLibraryController {
public
CallBack
<
PageInfo
<
ArticleLibraryListVO
>>
page
(
QueryArticleLibraryForm
form
,
PageParam
pageParam
){
return
CallBack
.
success
(
service
.
page
(
form
,
pageParam
));
}
@ApiOperation
(
value
=
"添加图书音频文件"
)
@PostMapping
(
value
=
"/add/audio"
)
public
CallBack
<?>
addAudio
(
String
bookId
){
if
(
StringUtils
.
isNotBlank
(
bookId
)){
Example
example
=
new
Example
(
ArticleToAudio
.
class
);
example
.
createCriteria
().
andEqualTo
(
"bookId"
,
bookId
);
articleToAudioService
.
deleteByExample
(
example
);
example
=
new
Example
(
ArticleLibrary
.
class
);
example
.
createCriteria
().
andEqualTo
(
"bookId"
,
bookId
);
List
<
ArticleLibrary
>
articleList
=
service
.
selectByExample
(
example
);
articleList
.
forEach
(
f
->
{
if
(
StringUtils
.
isNotBlank
(
f
.
getText
()))
{
String
text
=
StringUtil
.
regEx
(
f
.
getText
());
List
<
String
>
textList
=
getStrList
(
text
,
2000
);
for
(
int
i
=
0
;
i
<
textList
.
size
();
i
++)
{
try
{
String
fileName
=
i
+
1
+
""
;
String
articlePath
=
WebTTSWSUtil
.
textToAudio
(
textList
.
get
(
i
),
f
.
getId
(),
fileName
);
ArticleToAudio
articleToAudio
=
new
ArticleToAudio
();
articleToAudio
.
setArticleId
(
f
.
getId
());
articleToAudio
.
setUploadTime
(
new
Date
());
articleToAudio
.
setUrl
(
articlePath
);
articleToAudio
.
setSort
(
i
+
1
);
articleToAudio
.
setBookId
(
f
.
getBookId
());
articleToAudioService
.
insert
(
articleToAudio
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
});
}
else
{
Example
example
=
new
Example
(
ArticleToAudio
.
class
);
articleToAudioService
.
deleteByExample
(
example
);
List
<
ArticleLibrary
>
articleLibraryList
=
service
.
selectAll
();
articleLibraryList
.
forEach
(
f
->
{
if
(
StringUtils
.
isNotBlank
(
f
.
getText
()))
{
String
text
=
StringUtil
.
regEx
(
f
.
getText
());
List
<
String
>
textList
=
getStrList
(
text
,
2000
);
for
(
int
i
=
0
;
i
<
textList
.
size
();
i
++)
{
try
{
String
fileName
=
i
+
1
+
""
;
String
articlePath
=
WebTTSWSUtil
.
textToAudio
(
textList
.
get
(
i
),
f
.
getId
(),
fileName
);
ArticleToAudio
articleToAudio
=
new
ArticleToAudio
();
articleToAudio
.
setArticleId
(
f
.
getId
());
articleToAudio
.
setUploadTime
(
new
Date
());
articleToAudio
.
setUrl
(
articlePath
);
articleToAudio
.
setSort
(
i
+
1
);
articleToAudio
.
setBookId
(
f
.
getBookId
());
articleToAudioService
.
insert
(
articleToAudio
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
});
}
return
CallBack
.
success
();
}
/**
* 把原始字符串分割成指定长度的字符串列表
*
* @param inputString 原始字符串
* @param length 指定长度
* @return
*/
public
static
List
<
String
>
getStrList
(
String
inputString
,
int
length
)
{
int
size
=
inputString
.
length
()
/
length
;
if
(
inputString
.
length
()
%
length
!=
0
)
{
size
+=
1
;
}
return
getStrList
(
inputString
,
length
,
size
);
}
/**
* 把原始字符串分割成指定长度的字符串列表
*
* @param inputString 原始字符串
* @param length 指定长度
* @param size 指定列表大小
* @return
*/
public
static
List
<
String
>
getStrList
(
String
inputString
,
int
length
,
int
size
)
{
List
<
String
>
list
=
new
ArrayList
<
String
>();
for
(
int
index
=
0
;
index
<
size
;
index
++)
{
String
childStr
=
substring
(
inputString
,
index
*
length
,
(
index
+
1
)
*
length
);
list
.
add
(
childStr
);
}
return
list
;
}
/**
* 分割字符串,如果开始位置大于字符串长度,返回空
*
* @param str 原始字符串
* @param f 开始位置
* @param t 结束位置
* @return
*/
public
static
String
substring
(
String
str
,
int
f
,
int
t
)
{
if
(
f
>
str
.
length
())
return
null
;
if
(
t
>
str
.
length
())
{
return
str
.
substring
(
f
,
str
.
length
());
}
else
{
return
str
.
substring
(
f
,
t
);
}
}
/*@ApiOperation("相关资源列表")
@GetMapping(value = ResourceRequestPath.RELATION_RESOURCE + ResourceRequestPath.PAGE)
public CallBack<PageInfo<ResourceRelationVo>> reousrceRelationPage(QueryResourceRelationForm entity,
...
...
app/resource/src/main/java/com/zrqx/resource/bg/controller/ebook/EbookController.java
浏览文件 @
0d2f075f
差异被折叠。
点击展开。
app/resource/src/main/java/com/zrqx/resource/commons/util/WebTTSWSUtil.java
浏览文件 @
0d2f075f
...
...
@@ -39,9 +39,10 @@ import okio.ByteString;
public
class
WebTTSWSUtil
{
private
static
final
String
hostUrl
=
"https://tts-api.xfyun.cn/v2/tts"
;
//http url 不支持解析 ws/wss schema
private
static
final
String
appid
=
"5f800e7f"
;
//到控制台-语音合成页面获取
private
static
final
String
apiSecret
=
"fcf21aa34ac9b1c89a5ae080e86f406c"
;
//到控制台-语音合成页面获取
private
static
final
String
apiKey
=
"793094b3d3f8dd4c4f57193499d6cc5a"
;
//到控制台-语音合成页面获取
private
static
final
String
appid
=
"5f7ffb9d"
;
//到控制台-语音合成页面获取
private
static
final
String
apiSecret
=
"6047151386cdb9d8eeb782c45ef03af5"
;
//到控制台-语音合成页面获取
private
static
final
String
apiKey
=
"d479cc02d13904273bad7021943a8e2b"
;
//到控制台-语音合成页面获取
private
static
final
String
audioPath
=
"/home/upload/hxwza/audio/"
;
//音频地址
public
static
final
Gson
json
=
new
Gson
();
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
WebTTSWSUtil
.
class
);
public
static
String
textToAudio
(
String
text
,
String
filePath
,
String
fileName
)
throws
Exception
{
...
...
@@ -53,11 +54,11 @@ public class WebTTSWSUtil {
Request
request
=
new
Request
.
Builder
().
url
(
url
).
build
();
// 存放音频的文件
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMddHHmmssSSS"
);
File
file
=
new
File
(
"/opt/upload/hxwza/audio/"
+
filePath
);
File
file
=
new
File
(
audioPath
+
filePath
);
if
(!
file
.
exists
())
{
file
.
mkdirs
();
}
File
f
=
new
File
(
"/opt/upload/hxwza/audio/"
+
filePath
+
"/"
+
fileName
+
".mp3"
);
File
f
=
new
File
(
audioPath
+
filePath
+
"/"
+
fileName
+
".mp3"
);
String
path
=
"/audio/"
+
filePath
+
"/"
+
fileName
+
".mp3"
;
if
(!
f
.
exists
())
{
f
.
createNewFile
();
...
...
app/resource/src/main/java/com/zrqx/resource/commons/vo/bg/ebook/ExcelEbookExportVo.java
0 → 100644
浏览文件 @
0d2f075f
package
com
.
zrqx
.
resource
.
commons
.
vo
.
bg
.
ebook
;
import
com.zrqx.core.util.excelutil.ExcelResources
;
import
com.zrqx.core.vo.ImportVo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 导入Excel表格vo对象
* @author ydm
* @date 2018年7月12日上午9:39:24
*/
@Data
public
class
ExcelEbookExportVo
extends
ImportVo
{
@ExcelResources
(
title
=
"正书名"
,
order
=
1
)
private
String
name
;
@ExcelResources
(
title
=
"ISBN"
,
order
=
2
)
private
String
isbn
;
@ExcelResources
(
title
=
"第一责任者及著作方式"
,
order
=
3
)
private
String
author
;
@ExcelResources
(
title
=
"译者"
,
order
=
4
)
private
String
translator
;
@ExcelResources
(
title
=
"正丛书名"
,
order
=
5
)
private
String
bookSeries
;
@ExcelResources
(
title
=
"责任编辑"
,
order
=
6
)
private
String
executiveEditor
;
@ExcelResources
(
title
=
"版次及其他版本形式"
,
order
=
7
)
private
String
revision
;
@ExcelResources
(
title
=
"印次"
,
order
=
8
)
private
String
printNo
;
@ExcelResources
(
title
=
"主题词"
,
order
=
9
)
private
String
keywords
;
@ExcelResources
(
title
=
"分类号"
,
order
=
10
)
private
String
midpicid
;
@ExcelResources
(
title
=
"内容提要"
,
order
=
11
)
private
String
synopsis
;
@ExcelResources
(
title
=
"分类"
,
order
=
12
)
private
String
diytype
;
@ExcelResources
(
title
=
"定价"
,
order
=
13
)
private
String
price
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论