Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mock-neo4j-data
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
丁强
mock-neo4j-data
Commits
09d9128e
Commit
09d9128e
authored
Apr 21, 2020
by
丁强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交模拟数据代码
parent
7a48441d
Pipeline
#518
canceled with stages
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
568 additions
and
0 deletions
+568
-0
.gitignore
.gitignore
+36
-0
pom.xml
pom.xml
+54
-0
Application.java
src/main/java/cn/quantgroup/Application.java
+13
-0
DateUtil.java
src/main/java/cn/quantgroup/mock/DateUtil.java
+392
-0
MockData.java
src/main/java/cn/quantgroup/mock/MockData.java
+71
-0
up.sh
up.sh
+2
-0
No files found.
.gitignore
0 → 100644
View file @
09d9128e
*.class
# Package Files #
*.jar
*.war
*.ear
build/*
target/*
**/build/*
**/target/*
out/*
**/out/*
**/.idea/workspace.xml
**/.idea/tasks.xml
### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
*.iml
.idea/**
## File-based project format:
*.ipr
*.iws
### 建议使用本地gradle,服务器环境中也需要安装gradle
**/.gradle/*
**/gradle/*
gradlew*
**/target/**
**/._.DS_Store
**/*.bak
**/*.log
!/lib/*.jar
\ No newline at end of file
pom.xml
0 → 100644
View file @
09d9128e
<?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"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
cn.quantgroup
</groupId>
<artifactId>
mock-neo4j-data
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<java.version>
1.8
</java.version>
</properties>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
1.5.2.RELEASE
</version>
</parent>
<dependencies>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<version>
4.12
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-io
</artifactId>
<version>
1.3.2
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
src/main/java/cn/quantgroup/Application.java
0 → 100644
View file @
09d9128e
package
cn
.
quantgroup
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
Application
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
Application
.
class
,
args
);
}
}
src/main/java/cn/quantgroup/mock/DateUtil.java
0 → 100644
View file @
09d9128e
package
cn
.
quantgroup
.
mock
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
public
class
DateUtil
{
public
static
final
String
TIME_ZONE
=
"Asia/Shanghai"
;
/**
* 一秒
*/
public
static
final
long
ONE_SECOND
=
1000L
;
/**
* 一分钟
*/
public
static
final
long
ONE_MINUTE
=
ONE_SECOND
*
60
;
/**
* 一小时
*/
public
static
final
long
ONE_HOUR
=
ONE_MINUTE
*
60
;
/**
* 一天
*/
public
static
final
long
ONE_DAY
=
ONE_HOUR
*
24
;
/**
* 一周
*/
public
static
final
long
ONE_WEEK
=
ONE_DAY
*
7
;
/**
* 一月(按三十天计算)
* 三十天
*/
public
static
final
long
ONE_MONTH
=
ONE_DAY
*
30
;
/**
* 半年
* 180天
*/
public
static
final
long
HALF_YEAR
=
ONE_DAY
*
180
;
/**
* 一年
* 365天
*/
public
static
final
long
ONE_YEAR
=
ONE_DAY
*
365
;
/**
* 英文简写(默认)如:2015-12
*/
public
static
String
yyyyMM_Bar
=
"yyyy-MM"
;
/**
* 英文简写(默认)如:2015-12-01
*/
public
static
String
yyyyMMdd_Bar
=
"yyyy-MM-dd"
;
/**
* 英文全称 如:2015-12-01 23:15:06
*/
public
static
String
yyyyMMddSpaceHHmmss_Bar
=
"yyyy-MM-dd HH:mm:ss"
;
/**
* 精确到毫秒的完整时间 如:yyyy-MM-dd HH:mm:ss.S
*/
public
static
String
yyyyMMddSpaceHHmmssFull_Bar
=
"yyyy-MM-dd HH:mm:ss.S"
;
/**
* 英文简写(默认)如:2015-12-01
*/
public
static
String
yyyyMMdd_Slash
=
"yyyy/MM/dd"
;
/**
* 20151201
*/
public
static
String
yyyyMMdd
=
"yyyyMMdd"
;
/**
* 20151201121321
*/
public
static
String
yyyyMMddHHmmss
=
"yyyyMMddHHmmss"
;
/**
* 精确到毫秒
* 20151201121321992
*/
public
static
String
yyyyMMddHHmmssS
=
"yyyyMMddHHmmssS"
;
/**
* 201512
*/
public
static
String
yyyyMM
=
"yyyyMM"
;
/**
* 获得默认的 date pattern
*/
public
static
String
getDatePattern
()
{
return
yyyyMMddSpaceHHmmss_Bar
;
}
/**
* 根据预设格式返回当前日期
*
* @return
*/
public
static
String
getNow
()
{
return
format
(
new
Date
());
}
public
static
Date
getDate
()
{
return
new
Date
();
}
public
static
Timestamp
getTimestamp
()
{
return
new
Timestamp
(
System
.
currentTimeMillis
());
}
/**
* 根据用户格式返回当前日期
*
* @param format
* @return
*/
public
static
String
getNow
(
String
format
)
{
return
format
(
new
Date
(),
format
);
}
/**
* 使用预设格式格式化日期
*
* @param date
* @return
*/
public
static
String
format
(
Date
date
)
{
return
format
(
date
,
getDatePattern
());
}
/**
* 使用用户格式格式化日期
*
* @param date 日期
* @param pattern 日期格式
* @return
*/
public
static
String
format
(
Date
date
,
String
pattern
)
{
String
returnValue
=
""
;
if
(
date
!=
null
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
pattern
);
returnValue
=
df
.
format
(
date
);
}
return
(
returnValue
);
}
/**
* 使用预设格式提取字符串日期
*
* @param strDate 日期字符串
* @return
*/
public
static
Date
parse
(
String
strDate
)
{
return
parse
(
strDate
,
getDatePattern
());
}
/**
* 使用用户格式提取字符串日期
*
* @param strDate 日期字符串
* @param pattern 日期格式
* @return
*/
public
static
Date
parse
(
String
strDate
,
String
pattern
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
pattern
);
try
{
return
df
.
parse
(
strDate
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
return
null
;
}
}
/**
* 在日期上增加数个整月
*
* @param date 日期
* @param n 要增加的月数
* @return
*/
public
static
Date
addMonth
(
Date
date
,
int
n
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
cal
.
add
(
Calendar
.
MONTH
,
n
);
return
cal
.
getTime
();
}
/**
* 在日期上增加天数
*
* @param date 日期
* @param n 要增加的天数
* @return
*/
public
static
Date
addDay
(
Date
date
,
int
n
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
cal
.
add
(
Calendar
.
DATE
,
n
);
return
cal
.
getTime
();
}
/**
* 获取日期年份
*
* @param date 日期
* @return
*/
public
static
String
getYear
(
Date
date
)
{
return
format
(
date
).
substring
(
0
,
4
);
}
public
static
String
getMonth
(
Date
date
){
return
format
(
date
).
substring
(
5
,
7
);
}
/**
* 按默认格式的字符串距离今天的天数
*
* @param date 日期字符串
* @return
*/
public
static
int
countDays
(
String
date
)
{
long
t
=
Calendar
.
getInstance
().
getTime
().
getTime
();
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
parse
(
date
));
long
t1
=
c
.
getTime
().
getTime
();
return
(
int
)
(
t
/
1000
-
t1
/
1000
)
/
3600
/
24
;
}
/**
* @param dateStr yyyy-MM-dd
* @return
*/
public
static
String
lastDayOfMonth
(
String
dateStr
)
{
return
lastDayOfMonth
(
dateStr
,
yyyyMMdd_Bar
,
yyyyMMdd_Bar
);
}
public
static
String
lastDayOfMonth
(
String
dateStr
,
String
inputFormat
,
String
outFormat
){
return
format
((
Object
)
dateStr
,
inputFormat
,
outFormat
,
false
);
}
public
static
String
lastDayOfMonth
(
Date
date
)
{
return
format
(
date
,
yyyyMMdd_Bar
,
yyyyMMdd_Bar
,
false
);
}
public
static
String
lastDayOfMonth
(
Date
date
,
String
outFormat
)
{
return
format
(
date
,
yyyyMMdd_Bar
,
outFormat
,
false
);
}
public
static
String
lastDayOfMonth
(
Date
date
,
String
inputFormat
,
String
outFormat
)
{
return
format
(
date
,
yyyyMMdd_Bar
,
outFormat
,
false
);
}
/**
* @param inputFormat 例如 yyyy-MM
* @param outFormat 例如 yyyy-MM-dd
* @return 月份的最后一天
*/
private
static
String
format
(
Object
da
,
String
inputFormat
,
String
outFormat
,
boolean
isFirst
)
{
if
(
da
!=
null
){
Date
date
=
null
;
try
{
if
(
da
instanceof
Date
){
date
=
(
Date
)
da
;
}
else
{
date
=
new
SimpleDateFormat
(
inputFormat
).
parse
(
da
.
toString
());
}
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
if
(
date
!=
null
){
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
cal
.
set
(
Calendar
.
DAY_OF_MONTH
,
1
);
if
(!
isFirst
){
cal
.
roll
(
Calendar
.
DAY_OF_MONTH
,
-
1
);
}
Date
time
=
cal
.
getTime
();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
outFormat
);
return
sdf
.
format
(
time
);
}
}
return
null
;
}
/**
* @param dateStr yyyy-MM-dd
* @return
*/
public
static
String
firstDayOfMonth
(
String
dateStr
)
{
return
firstDayOfMonth
(
dateStr
,
yyyyMMdd_Bar
,
yyyyMMdd_Bar
);
}
public
static
String
firstDayOfMonth
(
String
dateStr
,
String
inputFormat
,
String
outFormat
){
return
format
((
Object
)
dateStr
,
inputFormat
,
outFormat
,
true
);
}
public
static
String
firstDayOfMonth
(
Date
date
)
{
return
format
(
date
,
yyyyMMdd_Bar
,
yyyyMMdd_Bar
,
true
);
}
public
static
String
firstDayOfMonth
(
Date
date
,
String
outFormat
)
{
return
format
(
date
,
yyyyMMdd_Bar
,
outFormat
,
true
);
}
public
static
String
firstDayOfMonth
(
Date
date
,
String
inputFormat
,
String
outFormat
)
{
return
format
(
date
,
yyyyMMdd_Bar
,
outFormat
,
true
);
}
public
static
Date
getHourByDate
(
Calendar
c
,
int
hour
){
c
.
set
(
Calendar
.
HOUR_OF_DAY
,
c
.
get
(
Calendar
.
HOUR_OF_DAY
)+
hour
);
// c.set(Calendar.DAY_OF_MONTH,c.get(Calendar.DAY_OF_MONTH)+1);
return
c
.
getTime
();
}
/**
* @return 01,02月
* @throws
*/
public
static
String
getChineseToDigitalMonth
(
String
month
){
switch
(
month
)
{
case
"七月"
:
return
"07"
;
case
"六月"
:
return
"06"
;
case
"五月"
:
return
"05"
;
case
"四月"
:
return
"04"
;
case
"三月"
:
return
"03"
;
case
"二月"
:
return
"02"
;
case
"一月"
:
return
"01"
;
case
"十二月"
:
return
"12"
;
case
"十一月"
:
return
"11"
;
case
"十月"
:
return
"10"
;
case
"九月"
:
return
"09"
;
case
"八月"
:
return
"08"
;
case
"Jan"
:
return
"01"
;
case
"Feb"
:
return
"02"
;
case
"Mar"
:
return
"03"
;
case
"Apr"
:
return
"04"
;
case
"May"
:
return
"05"
;
case
"Jun"
:
return
"06"
;
case
"Jul"
:
return
"07"
;
case
"Aug"
:
return
"08"
;
case
"Sep"
:
return
"09"
;
case
"Oct"
:
return
"10"
;
case
"Nov"
:
return
"11"
;
case
"Dec"
:
return
"12"
;
default
:
break
;
}
return
""
;
}
public
static
Long
getLongTime
(
String
time
){
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
try
{
Date
date
=
sdf
.
parse
(
time
);
return
date
.
getTime
();
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
public
static
void
main
(
String
[]
args
){
System
.
out
.
println
(
lastDayOfMonth
(
"2015-04-28"
));
System
.
out
.
println
(
firstDayOfMonth
(
"2015-04-21"
));
System
.
out
.
println
(
lastDayOfMonth
(
new
Date
()));
System
.
out
.
println
(
firstDayOfMonth
(
new
Date
()));
System
.
out
.
println
(
getMonth
(
new
Date
()));
}
}
src/main/java/cn/quantgroup/mock/MockData.java
0 → 100644
View file @
09d9128e
package
cn
.
quantgroup
.
mock
;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.util.*
;
/**
* @author Aladdin(qiang.ding)
* @date 2020/4/16
*/
@Component
public
class
MockData
{
@Value
(
"${header.user}"
)
private
String
userHeader
;
@Value
(
"${header.order}"
)
private
String
orderHeader
;
@Value
(
"${path.data}"
)
private
String
dataPath
;
@Value
(
"${totalCount}"
)
private
int
totalCount
;
private
static
final
List
<
String
>
PHONE_SET
=
new
ArrayList
<>(
1000000
);
static
{
for
(
int
i
=
1000000
;
i
<
2000000
;
i
++)
{
PHONE_SET
.
add
(
"1512"
+
i
);
}
}
@PostConstruct
public
void
mockData
()
{
try
{
File
user
=
new
File
(
dataPath
+
"user.csv"
);
FileOutputStream
userOutputStream
=
new
FileOutputStream
(
user
,
true
);
IOUtils
.
write
(
userHeader
,
userOutputStream
);
IOUtils
.
write
(
"\n"
,
userOutputStream
);
IOUtils
.
writeLines
(
PHONE_SET
,
null
,
userOutputStream
);
File
order
=
new
File
(
dataPath
+
"order.csv"
);
FileOutputStream
orderOutputStream
=
new
FileOutputStream
(
order
,
true
);
IOUtils
.
write
(
orderHeader
,
orderOutputStream
);
IOUtils
.
write
(
"\n"
,
orderOutputStream
);
List
<
String
>
orders
=
new
LinkedList
<>();
Random
ran
=
new
Random
();
for
(
int
i
=
0
;
i
<
totalCount
;
i
++)
{
String
orderPhone
=
PHONE_SET
.
get
(
i
%
PHONE_SET
.
size
());
String
receiverPhone
=
PHONE_SET
.
get
(
ran
.
nextInt
(
PHONE_SET
.
size
()));
String
orderId
=
UUID
.
randomUUID
().
toString
();
long
t
=
ran
.
nextInt
((
int
)(
DateUtil
.
ONE_YEAR
/
1000
))
*
1000L
+
1555171200000L
;
String
orderTime
=
DateUtil
.
format
(
new
Date
(
t
));
String
orderStatus
=
i
%
3
+
""
;
orders
.
add
(
orderPhone
+
","
+
receiverPhone
+
","
+
orderId
+
","
+
orderTime
+
","
+
orderStatus
);
}
IOUtils
.
writeLines
(
orders
,
null
,
orderOutputStream
);
System
.
out
.
println
(
"数据生成完毕。"
);
System
.
exit
(
0
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
exit
(
1
);
}
}
}
up.sh
0 → 100644
View file @
09d9128e
mvn clean package
--offline
scp target/remote-hdfs-1.0-SNAPSHOT.jar sysapp@172.18.3.97:~/
\ No newline at end of file
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