记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
b49d554b
Commit
b49d554b
authored
Aug 03, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
封装测试类 生成新场次组
parent
6b7262ac
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
114 additions
and
7 deletions
+114
-7
KylinTicketTimesVo.java
...idnet/service/kylin/dto/vo/middle/KylinTicketTimesVo.java
+11
-1
DateUtil.java
...c/main/java/com/liquidnet/commons/lang/util/DateUtil.java
+30
-5
KylinBuyNoticeParnterController.java
...ice/slime/controller/KylinBuyNoticeParnterController.java
+8
-0
PerformanceUtils.java
...va/com/liquidnet/service/slime/util/PerformanceUtils.java
+65
-1
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/middle/KylinTicketTimesVo.java
View file @
b49d554b
...
...
@@ -7,12 +7,13 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
@Data
@ApiModel
public
class
KylinTicketTimesVo
{
public
class
KylinTicketTimesVo
implements
Serializable
,
Cloneable
{
private
Integer
mid
;
@ApiModelProperty
(
value
=
"主键"
)
...
...
@@ -32,6 +33,15 @@ public class KylinTicketTimesVo {
@ApiModelProperty
(
value
=
"票种"
)
private
List
<
KylinTicketVo
>
ticketList
;
private
static
final
KylinTicketTimesVo
obj
=
new
KylinTicketTimesVo
();
public
static
KylinTicketTimesVo
getNew
()
{
try
{
return
(
KylinTicketTimesVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
return
new
KylinTicketTimesVo
();
}
}
public
void
setTicketTimes
(
KylinTicketTimes
ticketTimes
)
{
this
.
mid
=
ticketTimes
.
getMid
();
this
.
ticketTimesId
=
ticketTimes
.
getTicketTimesId
();
...
...
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/DateUtil.java
View file @
b49d554b
...
...
@@ -117,6 +117,16 @@ public abstract class DateUtil {
return
new
Date
(
c
.
getTimeInMillis
());
}
/**
* 计算日期,增加天数
*/
public
static
String
addDay
(
String
date
,
int
days
)
{
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
parse
(
date
,
"yyyy-MM-dd HH:mm:ss"
));
c
.
set
(
Calendar
.
DAY_OF_YEAR
,
c
.
get
(
Calendar
.
DAY_OF_YEAR
)
+
days
);
return
format
(
new
Date
(
c
.
getTimeInMillis
()),
Formatter
.
yyyyMMddHHmmss
);
}
/**
* 计算日期,增加小时
*/
...
...
@@ -315,6 +325,18 @@ public abstract class DateUtil {
return
asLocalDate
(
date2
).
toEpochDay
()
-
asLocalDate
(
date1
).
toEpochDay
();
}
/**
* 间隔天数
*
* @param date1 开始日期
* @param date2 结束日期
*/
public
static
long
intervalDays
(
String
date1
,
String
date2
)
{
Date
date1D
=
parse
(
date1
,
"yyyy-MM-dd HH:mm:ss"
);
Date
date2D
=
parse
(
date2
,
"yyyy-MM-dd HH:mm:ss"
);
return
asLocalDate
(
date2D
).
toEpochDay
()
-
asLocalDate
(
date1D
).
toEpochDay
();
}
/**
* 间隔月
*
...
...
@@ -509,25 +531,28 @@ public abstract class DateUtil {
/**
* 秒级时间戳转 LocalDateTime
*
* @param epochMilli 秒级时间戳
* @return LocalDateTime
*/
public
static
LocalDateTime
ofEpochMilli
(
long
epochMilli
){
public
static
LocalDateTime
ofEpochMilli
(
long
epochMilli
)
{
// return LocalDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneOffset.of("+8"));
return
LocalDateTime
.
ofEpochSecond
(
epochMilli
,
0
,
ZoneOffset
.
ofHours
(
8
));
return
LocalDateTime
.
ofEpochSecond
(
epochMilli
,
0
,
ZoneOffset
.
ofHours
(
8
));
}
/**
* 获取10位时间戳,精确到秒
*
* @return
*/
public
static
Long
getNowSeconds
(){
public
static
Long
getNowSeconds
()
{
//获取秒数
Long
second
=
LocalDateTime
.
now
().
toEpochSecond
(
ZoneOffset
.
of
(
"+8"
));
//获取毫秒数
// Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
return
second
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateUtil
.
getNowTime
());
//获取秒数
...
...
@@ -535,7 +560,7 @@ public abstract class DateUtil {
//获取毫秒数
Long
milliSecond
=
LocalDateTime
.
now
().
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
();
System
.
out
.
println
(
"second==="
+
second
);
System
.
out
.
println
(
"milliSecond==="
+
milliSecond
);
System
.
out
.
println
(
"second==="
+
second
);
System
.
out
.
println
(
"milliSecond==="
+
milliSecond
);
}
}
liquidnet-bus-service/liquidnet-service-slime/liquidnet-service-slime-impl/src/main/java/com/liquidnet/service/slime/controller/KylinBuyNoticeParnterController.java
View file @
b49d554b
...
...
@@ -44,6 +44,14 @@ public class KylinBuyNoticeParnterController {
@Autowired
RedisSlimeUtils
redisSlimeUtils
;
@GetMapping
(
value
=
"test"
)
@ApiOperation
(
value
=
"测试"
,
position
=
1
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
Boolean
>
ce
(
@RequestParam
(
"performanceId"
)
String
performanceId
)
{
performanceUtils
.
getNewTicketData
(
performanceId
);
return
ResponseDto
.
success
();
}
@GetMapping
(
value
=
"buyNotice"
)
@ApiOperation
(
value
=
"购票须知列表"
,
position
=
1
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
...
...
liquidnet-bus-service/liquidnet-service-slime/liquidnet-service-slime-impl/src/main/java/com/liquidnet/service/slime/util/PerformanceUtils.java
View file @
b49d554b
package
com
.
liquidnet
.
service
.
slime
.
util
;
import
com.alibaba.fastjson.JSON
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
...
...
@@ -401,7 +402,7 @@ public class PerformanceUtils {
//快递相关
KylinTicketExpressModuleVo
moduleVo
=
redisSlimeUtils
.
getTEMMerchantVo
(
tickets
.
getTicketsId
());
if
(
moduleVo
!=
null
&&
moduleVo
.
getProduceCodeList
()
!=
null
)
{
if
(
moduleVo
!=
null
&&
moduleVo
.
getProduceCodeList
()
!=
null
)
{
redisSlimeUtils
.
setTEMMerchantVo
(
tickets
.
getTicketsId
(),
moduleVo
);
del9
.
add
(
new
Object
[]{
tickets
.
getTicketsId
(),
updatedAt
});
for
(
ExpressModuleVo
mVo
:
moduleVo
.
getProduceCodeList
())
...
...
@@ -736,4 +737,67 @@ public class PerformanceUtils {
return
null
;
}
}
/**
* 根据场次时间进行拆分组
*
* @param performanceId
*/
public
void
getNewTicketData
(
String
performanceId
)
{
KylinPerformanceVo
vo
=
redisSlimeUtils
.
getPerformanceVo
(
performanceId
);
List
<
KylinTicketTimesVo
>
timeList
=
vo
.
getTicketTimeList
();
List
<
KylinTicketTimesVo
>
timeListVo
=
new
ArrayList
<>();
HashMap
<
String
,
List
<
KylinTicketVo
>>
mapData
=
new
HashMap
<>();
//根据场次拆出时间组
List
<
String
>
useTimeList
=
CollectionUtil
.
linkedListString
();
for
(
KylinTicketTimesVo
timesVo
:
timeList
)
{
String
st
=
timesVo
.
getUseStart
();
String
et
=
timesVo
.
getUseEnd
();
long
day
=
DateUtil
.
intervalDays
(
st
,
et
);
for
(
int
i
=
0
;
i
<=
day
;
i
++)
{
String
useDay
=
DateUtil
.
addDay
(
st
,
i
);
if
(!
useTimeList
.
contains
(
useDay
))
{
useTimeList
.
add
(
useDay
);
}
}
}
Collections
.
sort
(
useTimeList
);
//新场次
for
(
String
name
:
useTimeList
)
{
KylinTicketTimesVo
timesVo
=
KylinTicketTimesVo
.
getNew
();
timesVo
.
setPerformanceId
(
performanceId
);
timesVo
.
setTitle
(
name
);
timesVo
.
setUseStart
(
name
);
timesVo
.
setUseEnd
(
name
);
timeListVo
.
add
(
timesVo
);
mapData
.
put
(
name
,
new
ArrayList
<>());
}
//完善新场次数据
for
(
KylinTicketTimesVo
timesVo
:
timeList
)
{
for
(
KylinTicketVo
ticketVo
:
timesVo
.
getTicketList
())
{
String
st
=
ticketVo
.
getUseStart
();
String
et
=
ticketVo
.
getUseEnd
();
long
day
=
DateUtil
.
intervalDays
(
st
,
et
);
for
(
int
i
=
0
;
i
<=
day
;
i
++)
{
String
useDay
=
DateUtil
.
addDay
(
st
,
i
);
List
<
KylinTicketVo
>
t1
=
mapData
.
get
(
useDay
);
t1
.
add
(
ticketVo
);
mapData
.
put
(
useDay
,
t1
);
}
}
}
for
(
String
key
:
mapData
.
keySet
())
{
for
(
KylinTicketTimesVo
v1
:
timeListVo
)
{
if
(
v1
.
getTitle
().
equals
(
key
))
{
List
<
KylinTicketVo
>
v2
=
mapData
.
get
(
key
);
v1
.
setTicketList
(
v2
);
}
}
}
log
.
info
(
"新数据:"
+
JsonUtils
.
toJson
(
timeListVo
));
}
}
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