Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
Y
yzg-util
Project
Project
Details
Activity
Releases
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
YZG
yzg-util
Commits
62dfaa50
Commit
62dfaa50
authored
Jul 10, 2020
by
yanzg
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
754ac705
a9331864
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1149 additions
and
131 deletions
+1149
-131
pom.xml
pom.xml
+7
-0
StringHelper.java
...c/main/java/com/yanzuoguang/util/helper/StringHelper.java
+19
-1
TestByteHelper.java
yzg-util-base/src/test/java/helper/TestByteHelper.java
+0
-1
TestSfzUtil.java
yzg-util-base/src/test/java/helper/TestSfzUtil.java
+159
-4
pom.xml
yzg-util-chinese/pom.xml
+47
-0
readme.md
yzg-util-chinese/src/main/java/com/yanzuoguang/readme.md
+0
-0
readme.txt
yzg-util-chinese/src/main/java/com/yanzuoguang/readme.txt
+0
-0
ChineseHelper.java
...ese/src/main/java/com/yanzuoguang/util/ChineseHelper.java
+124
-0
BaiduConfig.java
...se/src/main/java/com/yanzuoguang/util/vo/BaiduConfig.java
+210
-0
HanziVo.java
...hinese/src/main/java/com/yanzuoguang/util/vo/HanziVo.java
+32
-0
TestChineseHelper.java
yzg-util-chinese/src/test/java/helper/TestChineseHelper.java
+48
-0
from.json
yzg-util-chinese/src/test/java/helper/from.json
+141
-0
from_xx.json
yzg-util-chinese/src/test/java/helper/from_xx.json
+154
-0
ImageHelper.java
...image/src/main/java/com/yanzuoguang/util/ImageHelper.java
+139
-0
MediaHelper.java
...image/src/main/java/com/yanzuoguang/util/MediaHelper.java
+1
-123
MessageVo.java
...til-mq/src/main/java/com/yanzuoguang/mq/vo/MessageVo.java
+33
-0
QueueVo.java
yzg-util-mq/src/main/java/com/yanzuoguang/mq/vo/QueueVo.java
+35
-2
No files found.
pom.xml
View file @
62dfaa50
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
<module>
yzg-util-mq
</module>
<module>
yzg-util-mq
</module>
<module>
yzg-util-image
</module>
<module>
yzg-util-image
</module>
<module>
yzg-util-print
</module>
<module>
yzg-util-print
</module>
<module>
yzg-util-chinese
</module>
</modules>
</modules>
<properties>
<properties>
...
@@ -147,6 +148,12 @@
...
@@ -147,6 +148,12 @@
<artifactId>
yzg-util-print
</artifactId>
<artifactId>
yzg-util-print
</artifactId>
<version>
${yzg.version}
</version>
<version>
${yzg.version}
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.yanzuoguang
</groupId>
<artifactId>
yzg-util-chinese
</artifactId>
<version>
${yzg.version}
</version>
</dependency>
</dependencies>
</dependencies>
</dependencyManagement>
</dependencyManagement>
...
...
yzg-util-base/src/main/java/com/yanzuoguang/util/helper/StringHelper.java
View file @
62dfaa50
...
@@ -1061,10 +1061,28 @@ public class StringHelper {
...
@@ -1061,10 +1061,28 @@ public class StringHelper {
* @return 处理后的值对象
* @return 处理后的值对象
*/
*/
public
static
String
getCodeString
(
String
from
,
Object
target
)
{
public
static
String
getCodeString
(
String
from
,
Object
target
)
{
return
getCodeStringArray
(
from
,
target
);
}
/**
* 获取字段替换值
*
* @param from 来源字符串
* @param targets 值对象
* @return 处理后的值对象
*/
public
static
String
getCodeStringArray
(
String
from
,
Object
...
targets
)
{
return
getFormat
(
from
,
StringHelper
.
EMPTY
,
new
StringFormatHandle
()
{
return
getFormat
(
from
,
StringHelper
.
EMPTY
,
new
StringFormatHandle
()
{
@Override
@Override
public
void
addPos
(
StringBuilder
sb
,
String
gorup
,
String
fieldFull
,
String
field
,
String
command
)
{
public
void
addPos
(
StringBuilder
sb
,
String
gorup
,
String
fieldFull
,
String
field
,
String
command
)
{
String
value
=
StringHelper
.
getFirst
(
ObjectHelper
.
getString
(
target
,
field
),
EMPTY
);
String
value
=
StringHelper
.
EMPTY
;
for
(
Object
target
:
targets
)
{
value
=
StringHelper
.
getFirst
(
ObjectHelper
.
getString
(
target
,
field
),
EMPTY
);
if
(!
StringHelper
.
isEmpty
(
value
))
{
break
;
}
}
sb
.
append
(
value
);
sb
.
append
(
value
);
}
}
});
});
...
...
yzg-util-base/src/test/java/helper/TestByteHelper.java
View file @
62dfaa50
package
helper
;
package
helper
;
import
com.yanzuoguang.util.helper.ByteHelper
;
import
com.yanzuoguang.util.helper.ByteHelper
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.Test
;
public
class
TestByteHelper
{
public
class
TestByteHelper
{
...
...
yzg-util-base/src/test/java/helper/TestSfzUtil.java
View file @
62dfaa50
package
helper
;
package
helper
;
import
base.DemoVo
;
import
base.DemoVo
;
import
com.yanzuoguang.util.helper.FileHelper
;
import
com.yanzuoguang.util.helper.*
;
import
com.yanzuoguang.util.helper.SfzhUtil
;
import
com.yanzuoguang.util.helper.StringHelper
;
import
com.yanzuoguang.util.helper.TypeHelper
;
import
com.yanzuoguang.util.vo.ResponseResult
;
import
com.yanzuoguang.util.vo.ResponseResult
;
import
helper.vo.ResponseDataMainResult
;
import
helper.vo.ResponseDataMainResult
;
import
org.junit.Test
;
import
org.junit.Test
;
...
@@ -42,4 +39,162 @@ public class TestSfzUtil {
...
@@ -42,4 +39,162 @@ public class TestSfzUtil {
}
}
return
f
.
getAbsolutePath
();
return
f
.
getAbsolutePath
();
}
}
@Test
public
void
testYzg
()
{
validateIdCard18
(
"430524198711048161"
);
validateIdCard18
(
"43052419871104817X"
);
validateIdCard18
(
"441424199203131841"
);
validateIdCard18
(
"44142419920313185X"
);
}
/**
* 验证18位身份编码是否合法
*
* @param idCard 身份编码
* @return 是否合法
*/
public
static
boolean
validateIdCard18
(
String
idCard
)
{
System
.
out
.
println
(
"来源身份证:"
+
idCard
);
boolean
bTrue
=
false
;
if
(
idCard
.
length
()
==
18
)
{
// 前17位
String
code17
=
idCard
.
substring
(
0
,
17
);
System
.
out
.
println
(
"前17位:"
+
code17
);
// 第18位
String
code18
=
idCard
.
substring
(
17
,
18
);
System
.
out
.
println
(
"第18位"
+
code18
);
if
(
isNum
(
code17
))
{
char
[]
cArr
=
code17
.
toCharArray
();
System
.
out
.
println
(
"转换成键盘的位置:"
+
JsonHelper
.
serialize
(
cArr
));
if
(
cArr
!=
null
)
{
int
[]
iCard
=
converCharToInt
(
cArr
);
System
.
out
.
println
(
"转换成整形:"
+
JsonHelper
.
serialize
(
iCard
));
int
iSum17
=
getPowerSum
(
iCard
);
// 获取校验位
String
val
=
getCheckCode18
(
iSum17
);
if
(
val
.
length
()
>
0
&&
val
.
equalsIgnoreCase
(
code18
))
{
bTrue
=
true
;
}
}
}
}
return
bTrue
;
}
/**
* 数字验证
*
* @param val
* @return 提取的数字。
*/
public
static
boolean
isNum
(
String
val
)
{
return
val
==
null
||
""
.
equals
(
val
)
?
false
:
val
.
matches
(
"^[0-9]*$"
);
}
/**
* 将字符数组转换成数字数组
*
* @param ca 字符数组
* @return 数字数组
*/
public
static
int
[]
converCharToInt
(
char
[]
ca
)
{
int
len
=
ca
.
length
;
int
[]
iArr
=
new
int
[
len
];
try
{
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
iArr
[
i
]
=
Integer
.
parseInt
(
String
.
valueOf
(
ca
[
i
]));
}
}
catch
(
NumberFormatException
e
)
{
e
.
printStackTrace
();
}
return
iArr
;
}
/**
* 将身份证的每位和对应位的加权因子相乘之后,再得到和值
*
* @param iArr
* @return 身份证编码。
*/
public
static
int
getPowerSum
(
int
[]
iArr
)
{
int
iSum
=
0
;
System
.
out
.
println
(
"将前17位加上:"
+
JsonHelper
.
serialize
(
power
));
if
(
power
.
length
==
iArr
.
length
)
{
for
(
int
i
=
0
;
i
<
iArr
.
length
;
i
++)
{
int
from
=
iSum
;
iSum
=
iSum
+
iArr
[
i
]
*
power
[
i
];
System
.
out
.
println
(
String
.
format
(
"%d位: %d = %d + %d * %d "
,
i
,
iSum
,
from
,
iArr
[
i
],
power
[
i
]));
}
}
return
iSum
;
}
/**
* 将power和值与11取模获得余数进行校验码判断
*
* @param iSum
* @return 校验位
*/
public
static
String
getCheckCode18
(
int
iSum
)
{
String
sCode
=
""
;
switch
(
iSum
%
11
)
{
case
10
:
sCode
=
"2"
;
break
;
case
9
:
sCode
=
"3"
;
break
;
case
8
:
sCode
=
"4"
;
break
;
case
7
:
sCode
=
"5"
;
break
;
case
6
:
sCode
=
"6"
;
break
;
case
5
:
sCode
=
"7"
;
break
;
case
4
:
sCode
=
"8"
;
break
;
case
3
:
sCode
=
"9"
;
break
;
case
2
:
sCode
=
"X"
;
break
;
case
1
:
sCode
=
"0"
;
break
;
case
0
:
sCode
=
"1"
;
break
;
default
:
sCode
=
""
;
break
;
}
System
.
out
.
println
(
String
.
format
(
"%d %% 11 = %d -> %s"
,
iSum
,
iSum
%
11
,
sCode
));
return
sCode
;
}
/**
* 每位加权因子
*/
public
static
final
int
power
[]
=
{
7
,
9
,
10
,
5
,
8
,
4
,
2
,
1
,
6
,
3
,
7
,
9
,
10
,
5
,
8
,
4
,
2
};
}
}
yzg-util-chinese/pom.xml
0 → 100755
View file @
62dfaa50
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
yzg-util
</artifactId>
<groupId>
com.yanzuoguang
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
yzg-util-chinese
</artifactId>
<properties>
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<maven.compiler.source>
1.8
</maven.compiler.source>
<maven.compiler.target>
1.8
</maven.compiler.target>
<baidu.aip>
4.12.0
</baidu.aip>
</properties>
<dependencies>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
</dependency>
<dependency>
<groupId>
com.yanzuoguang
</groupId>
<artifactId>
yzg-util-base
</artifactId>
</dependency>
<dependency>
<groupId>
com.belerweb
</groupId>
<artifactId>
pinyin4j
</artifactId>
<version>
2.5.0
</version>
</dependency>
<dependency>
<groupId>
com.baidu.aip
</groupId>
<artifactId>
java-sdk
</artifactId>
<version>
${baidu.aip}
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
yzg-util-chinese/src/main/java/com/yanzuoguang/readme.md
0 → 100644
View file @
62dfaa50
yzg-util-chinese/src/main/java/com/yanzuoguang/readme.txt
0 → 100644
View file @
62dfaa50
yzg-util-chinese/src/main/java/com/yanzuoguang/util/ChineseHelper.java
0 → 100644
View file @
62dfaa50
package
com
.
yanzuoguang
.
util
;
import
com.baidu.aip.speech.AipSpeech
;
import
com.baidu.aip.speech.TtsResponse
;
import
com.baidu.aip.util.Util
;
import
com.yanzuoguang.util.exception.CodeException
;
import
com.yanzuoguang.util.helper.JsonHelper
;
import
com.yanzuoguang.util.helper.StringHelper
;
import
com.yanzuoguang.util.vo.BaiduConfig
;
import
com.yanzuoguang.util.vo.HanziVo
;
import
net.sourceforge.pinyin4j.PinyinHelper
;
import
org.json.JSONObject
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.regex.Pattern
;
/**
* 构造函数
* <p>
* 百度语音合成接口文档: https://ai.baidu.com/ai-doc/SPEECH/sk38y8hb7
*
* @author 颜佐光
*/
public
class
ChineseHelper
{
/***
* ^[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言
* ^[\u4E00-\u9FFF]+$ 匹配简体和繁体
* ^[\u4E00-\u9FA5]+$ 匹配简体
*/
private
static
Pattern
pattern
=
Pattern
.
compile
(
"^[\u4E00-\u9FFF]+$"
);
/**
* 获取汉字全拼
*
* @param from 来源汉字
* @return
*/
public
static
List
<
HanziVo
>
getPinyin
(
String
from
)
{
if
(
StringHelper
.
isEmpty
(
from
))
{
return
new
ArrayList
<>(
0
);
}
List
<
HanziVo
>
rets
=
new
ArrayList
<>(
from
.
length
()
/
2
);
for
(
int
i
=
0
;
i
<
from
.
length
();
i
++)
{
char
unit
=
from
.
charAt
(
i
);
HanziVo
hanzi
=
new
HanziVo
();
hanzi
.
setFrom
(
unit
);
// 是汉字,则转拼音
if
(
pattern
.
matcher
(
String
.
valueOf
(
unit
)).
find
())
{
try
{
String
[]
items
=
PinyinHelper
.
toHanyuPinyinStringArray
(
unit
);
hanzi
.
setTos
(
items
);
}
catch
(
Exception
ex
)
{
throw
new
RuntimeException
(
ex
);
}
}
rets
.
add
(
hanzi
);
}
return
rets
;
}
/**
* 生成语音
*
* @param config 配置
* @param from 语音文字 合成的文本,使用UTF-8编码, 请注意文本长度必须小于1024字节
* @param to 目标文件
*/
public
static
void
saveVideo
(
BaiduConfig
config
,
String
from
,
File
to
)
{
// 初始化一个AipSpeech
AipSpeech
client
=
new
AipSpeech
(
config
.
getAppId
(),
config
.
getApiKey
(),
config
.
getSecretKey
());
// 可选:设置网络连接参数
if
(
config
.
getConnectionTimeoutInMillis
()
>
0
)
{
client
.
setConnectionTimeoutInMillis
(
config
.
getConnectionTimeoutInMillis
());
}
if
(
config
.
getSocketTimeoutInMillis
()
>
0
)
{
client
.
setSocketTimeoutInMillis
(
config
.
getSocketTimeoutInMillis
());
}
// 可选:设置代理服务器地址, http和socket二选一,或者均不设置
// 设置http代理
if
(!
StringHelper
.
isEmpty
(
config
.
getHttpProxyHost
())
&&
config
.
getHttpProxyPort
()
>
0
)
{
client
.
setHttpProxy
(
config
.
getHttpProxyHost
(),
config
.
getHttpProxyPort
());
}
// 设置socket代理
else
if
(!
StringHelper
.
isEmpty
(
config
.
getSocketProxyHost
())
&&
config
.
getSocketProxyPort
()
>
0
)
{
client
.
setSocketProxy
(
config
.
getSocketProxyHost
(),
config
.
getSocketProxyPort
());
}
// 可选:设置log4j日志输出格式,若不设置,则使用默认配置
// 也可以直接通过jvm启动参数设置此环境变量
// System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");
// 设置可选参数
HashMap
<
String
,
Object
>
options
=
new
HashMap
<
String
,
Object
>();
options
.
put
(
"spd"
,
config
.
getSpd
());
options
.
put
(
"pit"
,
config
.
getPit
());
options
.
put
(
"per"
,
config
.
getPer
());
options
.
put
(
"vol"
,
config
.
getVol
());
// 调用接口
TtsResponse
res
=
client
.
synthesis
(
from
,
config
.
getLang
(),
config
.
getCtp
(),
options
);
byte
[]
data
=
res
.
getData
();
JSONObject
res1
=
res
.
getResult
();
if
(
data
!=
null
)
{
try
{
Util
.
writeBytesToFileSystem
(
data
,
to
.
getAbsolutePath
());
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
else
{
System
.
out
.
println
(
JsonHelper
.
serialize
(
res1
,
true
));
int
code
=
res1
.
getInt
(
"err_no"
);
String
message
=
res1
.
getString
(
"err_msg"
);
throw
new
CodeException
(
StringHelper
.
toString
(
code
),
message
,
res1
);
}
}
}
yzg-util-chinese/src/main/java/com/yanzuoguang/util/vo/BaiduConfig.java
0 → 100644
View file @
62dfaa50
package
com
.
yanzuoguang
.
util
.
vo
;
/**
* 百度语音配置
*
* @author 颜佐光
*/
public
class
BaiduConfig
extends
BaseVo
{
/**
* 百度App_ID
*/
private
String
appId
;
/**
* 百度apiKey
*/
private
String
apiKey
;
/**
* 百度secretKey
*/
private
String
secretKey
;
/**
* 设置网络连接参数
*/
private
int
connectionTimeoutInMillis
;
/**
* 设置网络连接参数
*/
private
int
socketTimeoutInMillis
;
/**
* 设置http代理服务器
*/
private
String
httpProxyHost
;
/**
* 设置http代理端口
*/
private
int
httpProxyPort
;
/**
* 设置http代理服务器
*/
private
String
socketProxyHost
;
/**
* 设置http代理端口
*/
private
int
socketProxyPort
;
/**
* 语言,默认中文
*/
private
String
lang
=
"zh"
;
/**
* ctp
*/
private
int
ctp
=
1
;
/**
* 语速,取值0-9,默认为5中语速
*/
private
int
spd
=
5
;
/**
* 音调,取值0-9,默认为5中语调
*/
private
int
pit
=
5
;
/**
* 音量,取值0-15,默认为5中音量 否
*/
private
int
vol
=
15
;
/**
* 发音人选择,0为女声,1为男声, 3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女 否
*/
private
int
per
=
0
;
public
BaiduConfig
()
{
}
public
BaiduConfig
(
String
appId
,
String
apiKey
,
String
secretKey
)
{
this
.
appId
=
appId
;
this
.
apiKey
=
apiKey
;
this
.
secretKey
=
secretKey
;
}
public
String
getAppId
()
{
return
appId
;
}
public
void
setAppId
(
String
appId
)
{
this
.
appId
=
appId
;
}
public
String
getApiKey
()
{
return
apiKey
;
}
public
void
setApiKey
(
String
apiKey
)
{
this
.
apiKey
=
apiKey
;
}
public
String
getSecretKey
()
{
return
secretKey
;
}
public
void
setSecretKey
(
String
secretKey
)
{
this
.
secretKey
=
secretKey
;
}
public
int
getConnectionTimeoutInMillis
()
{
return
connectionTimeoutInMillis
;
}
public
void
setConnectionTimeoutInMillis
(
int
connectionTimeoutInMillis
)
{
this
.
connectionTimeoutInMillis
=
connectionTimeoutInMillis
;
}
public
int
getSocketTimeoutInMillis
()
{
return
socketTimeoutInMillis
;
}
public
void
setSocketTimeoutInMillis
(
int
socketTimeoutInMillis
)
{
this
.
socketTimeoutInMillis
=
socketTimeoutInMillis
;
}
public
String
getHttpProxyHost
()
{
return
httpProxyHost
;
}
public
void
setHttpProxyHost
(
String
httpProxyHost
)
{
this
.
httpProxyHost
=
httpProxyHost
;
}
public
int
getHttpProxyPort
()
{
return
httpProxyPort
;
}
public
void
setHttpProxyPort
(
int
httpProxyPort
)
{
this
.
httpProxyPort
=
httpProxyPort
;
}
public
String
getSocketProxyHost
()
{
return
socketProxyHost
;
}
public
void
setSocketProxyHost
(
String
socketProxyHost
)
{
this
.
socketProxyHost
=
socketProxyHost
;
}
public
int
getSocketProxyPort
()
{
return
socketProxyPort
;
}
public
void
setSocketProxyPort
(
int
socketProxyPort
)
{
this
.
socketProxyPort
=
socketProxyPort
;
}
public
String
getLang
()
{
return
lang
;
}
public
void
setLang
(
String
lang
)
{
this
.
lang
=
lang
;
}
public
int
getCtp
()
{
return
ctp
;
}
public
void
setCtp
(
int
ctp
)
{
this
.
ctp
=
ctp
;
}
public
int
getSpd
()
{
return
spd
;
}
public
void
setSpd
(
int
spd
)
{
this
.
spd
=
spd
;
}
public
int
getPit
()
{
return
pit
;
}
public
void
setPit
(
int
pit
)
{
this
.
pit
=
pit
;
}
public
int
getVol
()
{
return
vol
;
}
public
void
setVol
(
int
vol
)
{
this
.
vol
=
vol
;
}
public
int
getPer
()
{
return
per
;
}
public
void
setPer
(
int
per
)
{
this
.
per
=
per
;
}
}
yzg-util-chinese/src/main/java/com/yanzuoguang/util/vo/HanziVo.java
0 → 100644
View file @
62dfaa50
package
com
.
yanzuoguang
.
util
.
vo
;
/**
* 汉字处理
*/
public
class
HanziVo
{
/**
* 来源汉字
*/
private
char
from
;
/**
* 目标拼音
*/
private
String
[]
tos
;
public
char
getFrom
()
{
return
from
;
}
public
void
setFrom
(
char
from
)
{
this
.
from
=
from
;
}
public
String
[]
getTos
()
{
return
tos
;
}
public
void
setTos
(
String
[]
tos
)
{
this
.
tos
=
tos
;
}
}
yzg-util-chinese/src/test/java/helper/TestChineseHelper.java
0 → 100644
View file @
62dfaa50
package
helper
;
import
com.yanzuoguang.util.ChineseHelper
;
import
com.yanzuoguang.util.vo.BaiduConfig
;
import
com.yanzuoguang.util.vo.HanziVo
;
import
com.yanzuoguang.util.helper.JsonHelper
;
import
org.junit.Test
;
import
java.io.File
;
import
java.util.List
;
public
class
TestChineseHelper
{
@Test
public
void
testConvert
()
{
String
text
=
"颜佐光还喜欢游泳"
;
List
<
HanziVo
>
items
=
ChineseHelper
.
getPinyin
(
text
);
System
.
out
.
println
(
"json:"
+
JsonHelper
.
serialize
(
items
,
true
));
}
@Test
public
void
testConvertMp3
()
{
String
text
=
"三分钟前,由北京市顺义区二经路与二纬路交汇处北侧,北京首都国际机场T3航站楼 去往 东城区北三环东路36号喜来登大酒店(北京金隅店)"
;
BaiduConfig
config
=
new
BaiduConfig
(
"20624068"
,
"aeo4CBIjiW4wLuiIAKD4ZMrk"
,
"BLzIf80xq6v1cN4n231dSGPYqD1GDHy8"
);
ChineseHelper
.
saveVideo
(
config
,
text
,
getTargetFile
(
"test.mp3"
));
}
@Test
public
void
testConvertMp3Yzg
()
{
String
text
=
"成人票15元"
;
BaiduConfig
config
=
new
BaiduConfig
(
"20624068"
,
"aeo4CBIjiW4wLuiIAKD4ZMrk"
,
"BLzIf80xq6v1cN4n231dSGPYqD1GDHy8"
);
ChineseHelper
.
saveVideo
(
config
,
text
,
getTargetFile
(
"product.mp3"
));
}
private
File
getTargetFile
(
String
to
)
{
// 注意,路径应为文件在工程中的相对路径
File
f
=
new
File
(
"target/"
+
to
);
return
f
;
}
}
yzg-util-chinese/src/test/java/helper/from.json
0 → 100644
View file @
62dfaa50
{
"PageWidth"
:
73
,
"PageHeight"
:
50
,
"MarginTop"
:
125
,
"MarginRight"
:
0
,
"MarginBottom"
:
0
,
"MarginLeft"
:
0
,
"PrintAngle"
:
0
,
"Items"
:
[
{
"Name"
:
"OrderId"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
4.266013763896241
,
"Left"
:
25.329221810481734
,
"Width"
:
39.926945473795655
,
"Height"
:
4.235044997353096
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"订单编号:{0}"
,
"FormatValue"
:
"订单编号:"
},
{
"Name"
:
"createDate"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
14.942985706723134
,
"Left"
:
25.34970884065643
,
"Width"
:
46.9081524616199
,
"Height"
:
4.235044997353096
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"出票时间:{0}"
,
"FormatValue"
:
"出票时间:2019-10-16 16:11:01"
},
{
"Name"
:
"codeNo"
,
"Type"
:
2
,
"IsVisible"
:
true
,
"Top"
:
4.51799894123875
,
"Left"
:
5.020275277924827
,
"Width"
:
18.073398623610373
,
"Height"
:
18.073398623610373
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
""
,
"FormatValue"
:
"01234567890123"
},
{
"Name"
:
"codeNo"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
9.331815775542616
,
"Left"
:
25.329221810481734
,
"Width"
:
40.72922181048174
,
"Height"
:
4.235044997353096
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"电子券号:{0}"
,
"FormatValue"
:
"电子券号:01234567890123"
},
{
"Name"
:
"channelName"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
29.861302276336687
,
"Left"
:
5.065802011646373
,
"Width"
:
43.971678136580195
,
"Height"
:
4.235044997353096
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"渠道来源:{0}"
,
"FormatValue"
:
"渠道来源:窗口"
},
{
"Name"
:
"buyNum"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
34.676283748014825
,
"Left"
:
5.067840127051349
,
"Width"
:
33.0574377977766
,
"Height"
:
5.558496559025939
,
"Font"
:
"微软雅黑,12pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"可用人数:{0}"
,
"FormatValue"
:
"可用人数:1"
},
{
"Name"
:
"Common"
,
"Type"
:
0
,
"IsVisible"
:
true
,
"Top"
:
40.497617787188986
,
"Left"
:
5.012122816304924
,
"Width"
:
65.82530439385918
,
"Height"
:
8.99947061937533
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"索道门票限当日22:00前使用,巴士门票限当日19:00前使用,一经售出不可退换(北站售)"
,
"FormatValue"
:
"索道门票限当日22:00前使用,巴士门票限当日19:00前使用,一经售出不可退换(北站售)"
},
{
"Name"
:
"productName"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
24.795976707252514
,
"Left"
:
5.065802011646373
,
"Width"
:
46.883271572260455
,
"Height"
:
4.235044997353096
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"客票类别:{0:*:2,2,1}"
,
"FormatValue"
:
"客票类别:途比达门票(自动修改)"
},
{
"Name"
:
"PlayerType"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
19.730121757543674
,
"Left"
:
25.329221810481734
,
"Width"
:
26.35322922181048
,
"Height"
:
4.235044997353096
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"游客类型:{0}"
,
"FormatValue"
:
"游客类型:"
},
{
"Name"
:
"salePriceTotal"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
34.66225516146109
,
"Left"
:
39.194547379565904
,
"Width"
:
29.2649550026469
,
"Height"
:
5.558496559025939
,
"Font"
:
"微软雅黑,12pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"票价:{0}"
,
"FormatValue"
:
"票价:20"
}
]
}
\ No newline at end of file
yzg-util-chinese/src/test/java/helper/from_xx.json
0 → 100644
View file @
62dfaa50
{
"PageWidth"
:
73
,
"PageHeight"
:
50
,
"MarginTop"
:
125
,
"MarginRight"
:
0
,
"MarginBottom"
:
0
,
"MarginLeft"
:
0
,
"PrintAngle"
:
0
,
"Items"
:
[
{
"Name"
:
"codeNo"
,
"Type"
:
2
,
"IsVisible"
:
true
,
"Top"
:
1.9355849655902593
,
"Left"
:
2.399322392800424
,
"Width"
:
20.219031233456857
,
"Height"
:
20.219031233456857
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"01234567890123"
,
"FormatValue"
:
"01234567890123"
},
{
"Name"
:
"codeNo"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
6.087877183695076
,
"Left"
:
24.086818422445738
,
"Width"
:
46.18845950238221
,
"Height"
:
4.499735309687665
,
"Font"
:
"微软雅黑,9pt,style=Bold,Italic,Underline,"
,
"TextAlign"
:
1
,
"Format"
:
"电子券号:{0}"
,
"FormatValue"
:
"电子券号:01234567890123"
},
{
"Name"
:
"createDate"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
11.463102170460562
,
"Left"
:
24.29563260984648
,
"Width"
:
46.99920592906299
,
"Height"
:
5.2938062466913705
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"出票时间:{0}"
,
"FormatValue"
:
"出票时间:2019-10-16 16:11:01"
},
{
"Name"
:
"productName"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
1.0073028057173108
,
"Left"
:
24.29563260984648
,
"Width"
:
42.54896770778189
,
"Height"
:
4.238353626257279
,
"Font"
:
"微软雅黑,9pt,style=Bold"
,
"TextAlign"
:
1
,
"Format"
:
"客票类别:{0}"
,
"FormatValue"
:
"客票类别:途比达门票(自动修改)"
},
{
"Name"
:
"channelName"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
17.1644785600847
,
"Left"
:
24.37673372154579
,
"Width"
:
44.35230280571731
,
"Height"
:
4.499735309687665
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"旅行社:{0}"
,
"FormatValue"
:
"旅行社:窗口"
},
{
"Name"
:
"buyNum"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
22.768501852832188
,
"Left"
:
24.37673372154579
,
"Width"
:
16.979883536262573
,
"Height"
:
4.238353626257279
,
"Font"
:
"微软雅黑,9pt,style=Bold"
,
"TextAlign"
:
1
,
"Format"
:
"人数:{0}"
,
"FormatValue"
:
"人数:1"
},
{
"Name"
:
"Common"
,
"Type"
:
0
,
"IsVisible"
:
true
,
"Top"
:
32.66278454208576
,
"Left"
:
2.794547379565908
,
"Width"
:
68.45897300158813
,
"Height"
:
8.476707252514558
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"门票限当日 22:00 前使用,一经售出不可退换(南站票)"
,
"FormatValue"
:
"门票限当日 22:00 前使用,一经售出不可退换(南站票)"
},
{
"Name"
:
"visitorCardId"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
27.665696135521436
,
"Left"
:
27.99655902593965
,
"Width"
:
34.66119640021175
,
"Height"
:
4.238353626257279
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
" "
,
"FormatValue"
:
" "
},
{
"Name"
:
"sortNo"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
42.024351508734775
,
"Left"
:
2.4116728427739544
,
"Width"
:
25.671651667548968
,
"Height"
:
5.558496559025939
,
"Font"
:
"微软雅黑,12pt,style=Bold"
,
"TextAlign"
:
1
,
"Format"
:
"排号:{0}"
,
"FormatValue"
:
"排号:2"
},
{
"Name"
:
"sortNoTime"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
42.0857596611964
,
"Left"
:
27.561143462149285
,
"Width"
:
145.51032292218105
,
"Height"
:
5.823186871360509
,
"Font"
:
"微软雅黑,9pt,style=Bold"
,
"TextAlign"
:
1
,
"Format"
:
"预计排队进入时间:{0}"
,
"FormatValue"
:
"预计排队进入时间:12:55"
},
{
"Name"
:
"visitorName"
,
"Type"
:
1
,
"IsVisible"
:
true
,
"Top"
:
27.795659078877712
,
"Left"
:
2.4175304393859185
,
"Width"
:
24.477236633139224
,
"Height"
:
4.800820539968237
,
"Font"
:
"微软雅黑,9pt,style=Underline"
,
"TextAlign"
:
1
,
"Format"
:
"导游:{0}"
,
"FormatValue"
:
"导游:颜佐光"
}
]
}
\ No newline at end of file
yzg-util-image/src/main/java/com/yanzuoguang/util/ImageHelper.java
0 → 100644
View file @
62dfaa50
package
com
.
yanzuoguang
.
util
;
import
net.coobird.thumbnailator.Thumbnails
;
import
javax.imageio.IIOImage
;
import
javax.imageio.ImageIO
;
import
javax.imageio.ImageWriteParam
;
import
javax.imageio.ImageWriter
;
import
javax.imageio.stream.ImageOutputStream
;
import
java.awt.*
;
import
java.awt.image.BufferedImage
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
/**
* 图片处理程序
*
* @author 颜佐光
*/
public
class
ImageHelper
{
public
static
final
float
DEFAULT_SIZE
=
1
f
;
public
static
final
float
DEFAULT_QUALITY
=
1
f
;
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @param quality 质量程度,取值0~1范围内
* @param size 大小程度,取值0~1范围内
* @throws IOException
*/
public
static
void
compressPicBySystem
(
String
srcFilePath
,
String
descFilePath
,
float
quality
,
float
size
)
throws
IOException
{
// 设置默认值
if
(
size
==
0
)
{
size
=
1
;
}
if
(
quality
==
0
)
{
quality
=
1
;
}
File
input
=
new
File
(
srcFilePath
);
BufferedImage
image
=
ImageIO
.
read
(
input
);
// 压缩图片大小
if
(
size
<
1
)
{
int
toWidth
=
(
int
)
(
image
.
getWidth
()
*
size
);
int
toHeight
=
(
int
)
(
image
.
getHeight
()
*
size
);
BufferedImage
buffImage
=
new
BufferedImage
(
toWidth
,
toHeight
,
BufferedImage
.
TYPE_INT_RGB
);
buffImage
.
getGraphics
().
drawImage
(
image
.
getScaledInstance
(
toWidth
,
toHeight
,
Image
.
SCALE_SMOOTH
),
0
,
0
,
null
);
image
=
buffImage
;
}
// 先指定Output,才能调用writer.write方法
File
output
=
new
File
(
descFilePath
);
// 指定写图片的方式为 jpg
ImageWriter
writer
=
null
;
OutputStream
out
=
null
;
ImageOutputStream
ios
=
null
;
try
{
writer
=
ImageIO
.
getImageWritersByFormatName
(
"jpg"
).
next
();
out
=
new
FileOutputStream
(
output
);
ios
=
ImageIO
.
createImageOutputStream
(
out
);
writer
.
setOutput
(
ios
);
ImageWriteParam
param
=
writer
.
getDefaultWriteParam
();
if
(
param
.
canWriteCompressed
())
{
// 指定压缩方式为MODE_EXPLICIT
param
.
setCompressionMode
(
ImageWriteParam
.
MODE_EXPLICIT
);
// param.set
// 压缩程度,参数quality是取值0~1范围内
param
.
setCompressionQuality
(
quality
);
}
// 调用write方法,向输入流写图片
writer
.
write
(
null
,
new
IIOImage
(
image
,
null
,
null
),
param
);
}
finally
{
if
(
out
!=
null
)
{
out
.
close
();
}
if
(
ios
!=
null
)
{
ios
.
close
();
}
if
(
writer
!=
null
)
{
writer
.
dispose
();
}
}
}
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @throws IOException
*/
public
static
void
compressPic
(
String
srcFilePath
,
String
descFilePath
)
throws
IOException
{
compressPic
(
srcFilePath
,
descFilePath
,
DEFAULT_QUALITY
,
DEFAULT_SIZE
);
}
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @param quality 压缩程度,参数quality是取值0~1范围内
* @throws IOException
*/
public
static
void
compressPic
(
String
srcFilePath
,
String
descFilePath
,
float
quality
)
throws
IOException
{
compressPic
(
srcFilePath
,
descFilePath
,
quality
,
DEFAULT_SIZE
);
}
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @param quality 质量程度,取值0~1范围内
* @param size 大小程度,取值0~1范围内
* @throws IOException
*/
public
static
void
compressPic
(
String
srcFilePath
,
String
descFilePath
,
float
quality
,
float
size
)
throws
IOException
{
Thumbnails
// 来源目录
.
of
(
srcFilePath
)
// 按比例缩小
.
scale
(
size
)
// 质量压缩
.
outputQuality
(
quality
)
// 目标文件
.
toFile
(
descFilePath
);
}
}
yzg-util-image/src/main/java/com/yanzuoguang/util/MediaHelper.java
View file @
62dfaa50
...
@@ -2,23 +2,15 @@ package com.yanzuoguang.util;
...
@@ -2,23 +2,15 @@ package com.yanzuoguang.util;
import
com.yanzuoguang.util.log.Log
;
import
com.yanzuoguang.util.log.Log
;
import
it.sauronsoftware.jave.*
;
import
it.sauronsoftware.jave.*
;
import
net.coobird.thumbnailator.Thumbnails
;
import
org.bytedeco.javacv.FFmpegFrameGrabber
;
import
org.bytedeco.javacv.FFmpegFrameGrabber
;
import
org.bytedeco.javacv.Frame
;
import
org.bytedeco.javacv.Frame
;
import
org.bytedeco.javacv.Java2DFrameConverter
;
import
org.bytedeco.javacv.Java2DFrameConverter
;
import
javax.imageio.IIOImage
;
import
javax.imageio.ImageIO
;
import
javax.imageio.ImageIO
;
import
javax.imageio.ImageWriteParam
;
import
javax.imageio.ImageWriter
;
import
javax.imageio.stream.ImageOutputStream
;
import
java.awt.*
;
import
java.awt.image.BufferedImage
;
import
java.awt.image.BufferedImage
;
import
java.awt.image.RenderedImage
;
import
java.awt.image.RenderedImage
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.OutputStream
;
/**
/**
* 视频帮助类
* 视频帮助类
...
@@ -27,12 +19,10 @@ import java.io.OutputStream;
...
@@ -27,12 +19,10 @@ import java.io.OutputStream;
*
*
* @author 颜佐光
* @author 颜佐光
*/
*/
public
class
MediaHelper
{
public
class
MediaHelper
extends
ImageHelper
{
public
static
final
int
FIRST_FRAME
=
5
;
public
static
final
int
FIRST_FRAME
=
5
;
public
static
final
int
DEFAULT_BIT_RATE
=
372
*
1000
;
public
static
final
int
DEFAULT_BIT_RATE
=
372
*
1000
;
public
static
final
float
DEFAULT_SIZE
=
1
f
;
public
static
final
float
DEFAULT_QUALITY
=
1
f
;
public
static
final
String
FORMAT_EMPTY
=
""
;
public
static
final
String
FORMAT_EMPTY
=
""
;
public
static
final
String
FORMAT_FLV
=
"flv"
;
public
static
final
String
FORMAT_FLV
=
"flv"
;
...
@@ -365,116 +355,4 @@ public class MediaHelper {
...
@@ -365,116 +355,4 @@ public class MediaHelper {
return
bufferedImage
;
return
bufferedImage
;
}
}
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @param quality 质量程度,取值0~1范围内
* @param size 大小程度,取值0~1范围内
* @throws IOException
*/
public
static
void
compressPicBySystem
(
String
srcFilePath
,
String
descFilePath
,
float
quality
,
float
size
)
throws
IOException
{
// 设置默认值
if
(
size
==
0
)
{
size
=
1
;
}
if
(
quality
==
0
)
{
quality
=
1
;
}
File
input
=
new
File
(
srcFilePath
);
BufferedImage
image
=
ImageIO
.
read
(
input
);
// 压缩图片大小
if
(
size
<
1
)
{
int
toWidth
=
(
int
)
(
image
.
getWidth
()
*
size
);
int
toHeight
=
(
int
)
(
image
.
getHeight
()
*
size
);
BufferedImage
buffImage
=
new
BufferedImage
(
toWidth
,
toHeight
,
BufferedImage
.
TYPE_INT_RGB
);
buffImage
.
getGraphics
().
drawImage
(
image
.
getScaledInstance
(
toWidth
,
toHeight
,
Image
.
SCALE_SMOOTH
),
0
,
0
,
null
);
image
=
buffImage
;
}
// 先指定Output,才能调用writer.write方法
File
output
=
new
File
(
descFilePath
);
// 指定写图片的方式为 jpg
ImageWriter
writer
=
null
;
OutputStream
out
=
null
;
ImageOutputStream
ios
=
null
;
try
{
writer
=
ImageIO
.
getImageWritersByFormatName
(
"jpg"
).
next
();
out
=
new
FileOutputStream
(
output
);
ios
=
ImageIO
.
createImageOutputStream
(
out
);
writer
.
setOutput
(
ios
);
ImageWriteParam
param
=
writer
.
getDefaultWriteParam
();
if
(
param
.
canWriteCompressed
())
{
// 指定压缩方式为MODE_EXPLICIT
param
.
setCompressionMode
(
ImageWriteParam
.
MODE_EXPLICIT
);
// param.set
// 压缩程度,参数quality是取值0~1范围内
param
.
setCompressionQuality
(
quality
);
}
// 调用write方法,向输入流写图片
writer
.
write
(
null
,
new
IIOImage
(
image
,
null
,
null
),
param
);
}
finally
{
if
(
out
!=
null
)
{
out
.
close
();
}
if
(
ios
!=
null
)
{
ios
.
close
();
}
if
(
writer
!=
null
)
{
writer
.
dispose
();
}
}
}
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @throws IOException
*/
public
static
void
compressPic
(
String
srcFilePath
,
String
descFilePath
)
throws
IOException
{
compressPic
(
srcFilePath
,
descFilePath
,
DEFAULT_QUALITY
,
DEFAULT_SIZE
);
}
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @param quality 压缩程度,参数quality是取值0~1范围内
* @throws IOException
*/
public
static
void
compressPic
(
String
srcFilePath
,
String
descFilePath
,
float
quality
)
throws
IOException
{
compressPic
(
srcFilePath
,
descFilePath
,
quality
,
DEFAULT_SIZE
);
}
/**
* 压缩图片
*
* @param srcFilePath 来源路径
* @param descFilePath 目标路径
* @param quality 质量程度,取值0~1范围内
* @param size 大小程度,取值0~1范围内
* @throws IOException
*/
public
static
void
compressPic
(
String
srcFilePath
,
String
descFilePath
,
float
quality
,
float
size
)
throws
IOException
{
Thumbnails
// 来源目录
.
of
(
srcFilePath
)
// 按比例缩小
.
scale
(
size
)
// 质量压缩
.
outputQuality
(
quality
)
// 目标文件
.
toFile
(
descFilePath
);
}
}
}
yzg-util-mq/src/main/java/com/yanzuoguang/mq/vo/MessageVo.java
View file @
62dfaa50
...
@@ -82,6 +82,17 @@ public class MessageVo extends BaseVo implements InitDao {
...
@@ -82,6 +82,17 @@ public class MessageVo extends BaseVo implements InitDao {
public
MessageVo
()
{
public
MessageVo
()
{
}
}
/**
* 构造函数
*
* @param exchangeNameRouteKey 交换器名称+路由键
* @param message 消息内容
*/
public
MessageVo
(
String
exchangeNameRouteKey
,
String
message
)
{
this
(
exchangeNameRouteKey
,
exchangeNameRouteKey
,
message
);
}
/**
/**
* 构造函数
* 构造函数
*
*
...
@@ -95,6 +106,17 @@ public class MessageVo extends BaseVo implements InitDao {
...
@@ -95,6 +106,17 @@ public class MessageVo extends BaseVo implements InitDao {
this
.
message
=
message
;
this
.
message
=
message
;
}
}
/**
* 构造函数
*
* @param exchangeNameRouteKey 交换器名称+路由键
* @param message 消息内容
* @param dedTime 过期时间
*/
public
MessageVo
(
String
exchangeNameRouteKey
,
String
message
,
long
dedTime
)
{
this
(
exchangeNameRouteKey
,
exchangeNameRouteKey
,
message
,
dedTime
);
}
/**
/**
* 构造函数
* 构造函数
*
*
...
@@ -110,6 +132,17 @@ public class MessageVo extends BaseVo implements InitDao {
...
@@ -110,6 +132,17 @@ public class MessageVo extends BaseVo implements InitDao {
this
.
dedTime
=
dedTime
;
this
.
dedTime
=
dedTime
;
}
}
/**
* 构造函数
*
* @param exchangeNameRouteKey 交换器名称+路由键
* @param message 消息内容
* @param dedTime 过期时间
*/
public
MessageVo
(
String
exchangeNameRouteKey
,
String
message
,
long
dedTime
,
boolean
dedTimeDefine
)
{
this
(
exchangeNameRouteKey
,
exchangeNameRouteKey
,
message
,
dedTime
,
dedTimeDefine
);
}
/**
/**
* 构造函数
* 构造函数
*
*
...
...
yzg-util-mq/src/main/java/com/yanzuoguang/mq/vo/QueueVo.java
View file @
62dfaa50
...
@@ -9,6 +9,7 @@ import com.yanzuoguang.util.vo.InitDao;
...
@@ -9,6 +9,7 @@ import com.yanzuoguang.util.vo.InitDao;
/**
/**
* 创建队列
* 创建队列
*
* @author 颜佐光
* @author 颜佐光
*/
*/
@TableAnnotation
(
"Queue_Queue"
)
@TableAnnotation
(
"Queue_Queue"
)
...
@@ -76,7 +77,7 @@ public class QueueVo extends BaseVo implements InitDao {
...
@@ -76,7 +77,7 @@ public class QueueVo extends BaseVo implements InitDao {
||
!
StringHelper
.
isEmpty
(
this
.
getDedQueueName
())
||
!
StringHelper
.
isEmpty
(
this
.
getDedQueueName
())
||
!
StringHelper
.
isEmpty
(
this
.
getDedExchangeName
())
||
!
StringHelper
.
isEmpty
(
this
.
getDedExchangeName
())
||
!
StringHelper
.
isEmpty
(
this
.
getDedRouteKey
())
||
!
StringHelper
.
isEmpty
(
this
.
getDedRouteKey
())
)
{
)
{
check
.
notBlankCheck
(
"DelayQueueName"
,
this
.
getDedQueueName
())
check
.
notBlankCheck
(
"DelayQueueName"
,
this
.
getDedQueueName
())
.
notBlankCheck
(
"DelayExchangeName"
,
this
.
getDedExchangeName
())
.
notBlankCheck
(
"DelayExchangeName"
,
this
.
getDedExchangeName
())
.
notBlankCheck
(
"DelayRouteKey"
,
this
.
getDedRouteKey
())
.
notBlankCheck
(
"DelayRouteKey"
,
this
.
getDedRouteKey
())
...
@@ -87,7 +88,7 @@ public class QueueVo extends BaseVo implements InitDao {
...
@@ -87,7 +88,7 @@ public class QueueVo extends BaseVo implements InitDao {
/**
/**
* 构造函数
* 构造函数
*/
*/
public
QueueVo
(){
public
QueueVo
()
{
}
}
/**
/**
...
@@ -104,6 +105,18 @@ public class QueueVo extends BaseVo implements InitDao {
...
@@ -104,6 +105,18 @@ public class QueueVo extends BaseVo implements InitDao {
this
.
routeKey
=
routeKey
;
this
.
routeKey
=
routeKey
;
}
}
/**
* 构造函数,用于创建延迟队列。</p>
* 会创建queueName、exchangeName并且通过routeKey绑定。
*
* @param queueName 队列名称,交换器名称,路由键
*/
public
QueueVo
(
String
queueName
)
{
this
.
queueName
=
queueName
;
this
.
exchangeName
=
queueName
;
this
.
routeKey
=
queueName
;
}
/**
/**
* 构造函数,用于创建延迟队列。</p>
* 构造函数,用于创建延迟队列。</p>
* 创建 queueName、exchangeName 并且通过 routeKey 绑定, 创建 dedQueueName、dedExchangeName 并且通过 dedRouteKey 绑定,
* 创建 queueName、exchangeName 并且通过 routeKey 绑定, 创建 dedQueueName、dedExchangeName 并且通过 dedRouteKey 绑定,
...
@@ -127,6 +140,26 @@ public class QueueVo extends BaseVo implements InitDao {
...
@@ -127,6 +140,26 @@ public class QueueVo extends BaseVo implements InitDao {
this
.
dedRouteKey
=
dedRouteKey
;
this
.
dedRouteKey
=
dedRouteKey
;
}
}
/**
* 构造函数,用于创建延迟队列。</p>
* 创建 queueName、exchangeName 并且通过 routeKey 绑定, 创建 dedQueueName、dedExchangeName 并且通过 dedRouteKey 绑定,
* 将 queueName 的死信队列设置为 dedExchangeName 和 dedRouteKey .
*
* @param queueName 队列名称,路由键,交换器名称
* @param dedTime 死信时间
* @param dedQueueName 死信交换器名称,死信交换队列名称,死信路由键
*/
public
QueueVo
(
String
queueName
,
long
dedTime
,
String
dedQueueName
)
{
this
.
queueName
=
queueName
;
this
.
exchangeName
=
queueName
;
this
.
routeKey
=
queueName
;
this
.
dedTime
=
dedTime
;
this
.
dedExchangeName
=
dedQueueName
;
this
.
dedQueueName
=
dedQueueName
;
this
.
dedRouteKey
=
dedQueueName
;
}
public
String
getQueueId
()
{
public
String
getQueueId
()
{
return
queueId
;
return
queueId
;
}
}
...
...
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