记得上下班打卡 | 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
4136c403
Commit
4136c403
authored
Jul 15, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
platform、executor-main 拼团任务定时任务;kylin 模块类更新字段
parent
a93c81ef
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
253 additions
and
13 deletions
+253
-13
KylinGroupBuyActivityVo.java
...ervice/kylin/dto/vo/groupbuy/KylinGroupBuyActivityVo.java
+4
-3
KylinGroupBuyMemberVo.java
.../service/kylin/dto/vo/groupbuy/KylinGroupBuyMemberVo.java
+10
-6
KylinGroupBuyOrderVo.java
...t/service/kylin/dto/vo/groupbuy/KylinGroupBuyOrderVo.java
+4
-3
FeignPlatformTaskClient.java
...net/service/feign/kylin/task/FeignPlatformTaskClient.java
+6
-0
KylinTaskHandler.java
...idnet/service/executor/main/handler/KylinTaskHandler.java
+20
-0
KylinGroupBuyOrderServiceImpl.java
...ice/kylin/service/impl/KylinGroupBuyOrderServiceImpl.java
+1
-1
PlatformGroupBuyTaskController.java
...controller/kylin/task/PlatformGroupBuyTaskController.java
+33
-0
PlatformGroupBuyTaskServiceImpl.java
...m/service/impl/kylin/PlatformGroupBuyTaskServiceImpl.java
+171
-0
sqlmap.properties
...ervice-platform-impl/src/main/resources/sqlmap.properties
+4
-0
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/groupbuy/KylinGroupBuyActivityVo.java
View file @
4136c403
...
...
@@ -43,15 +43,16 @@ public class KylinGroupBuyActivityVo implements Serializable {
@ApiModelProperty
(
value
=
"活动说明"
)
private
String
description
;
@ApiModelProperty
(
value
=
"优惠配置"
)
private
List
<
KylinGroupBuyDiscountVo
>
discounts
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
String
createdAt
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
String
updatedAt
;
@ApiModelProperty
(
value
=
"优惠配置"
)
private
List
<
KylinGroupBuyDiscountVo
>
discounts
;
@ApiModelProperty
(
value
=
"关联演出名称(列表查询时填充)"
)
private
String
performanceName
;
...
...
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/groupbuy/KylinGroupBuyMemberVo.java
View file @
4136c403
...
...
@@ -18,12 +18,6 @@ public class KylinGroupBuyMemberVo implements Serializable {
@ApiModelProperty
(
value
=
"用户ID"
)
private
String
userId
;
@ApiModelProperty
(
value
=
"昵称"
)
private
String
nickname
;
@ApiModelProperty
(
value
=
"头像"
)
private
String
avatar
;
@ApiModelProperty
(
value
=
"订单ID"
)
private
String
orderTicketsId
;
...
...
@@ -35,4 +29,14 @@ public class KylinGroupBuyMemberVo implements Serializable {
@ApiModelProperty
(
value
=
"加入时间"
)
private
String
joinTime
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
String
createdAt
;
@ApiModelProperty
(
value
=
"昵称"
)
private
String
nickname
;
@ApiModelProperty
(
value
=
"头像"
)
private
String
avatar
;
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/groupbuy/KylinGroupBuyOrderVo.java
View file @
4136c403
...
...
@@ -46,12 +46,13 @@ public class KylinGroupBuyOrderVo implements Serializable {
@ApiModelProperty
(
value
=
"过期时间"
)
private
String
expiresAt
;
@ApiModelProperty
(
value
=
"成员"
)
private
List
<
KylinGroupBuyMemberVo
>
members
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
String
createdAt
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
String
updatedAt
;
@ApiModelProperty
(
value
=
"成员"
)
private
List
<
KylinGroupBuyMemberVo
>
members
;
}
liquidnet-bus-feign/liquidnet-api-feign-kylin/src/main/java/com/liquidnet/service/feign/kylin/task/FeignPlatformTaskClient.java
View file @
4136c403
...
...
@@ -54,4 +54,10 @@ public interface FeignPlatformTaskClient {
@GetMapping
(
"platform/refund/failRefund"
)
ResponseDto
<
Boolean
>
failRefund
();
@PostMapping
(
"platform/groupBuy/timeout"
)
ResponseDto
<
Boolean
>
groupBuyTimeout
();
@PostMapping
(
"platform/groupBuy/activitySchedule"
)
ResponseDto
<
Boolean
>
groupBuyActivitySchedule
();
}
liquidnet-bus-service/liquidnet-service-executor-all/liquidnet-service-executor-main/src/main/java/com/liquidnet/service/executor/main/handler/KylinTaskHandler.java
View file @
4136c403
...
...
@@ -122,4 +122,24 @@ public class KylinTaskHandler {
}
}
@XxlJob
(
value
=
"sev-platform:groupBuyTimeout"
)
public
void
groupBuyTimeout
()
{
try
{
XxlJobHelper
.
handleSuccess
(
"结果:"
+
feignPlatformTaskClient
.
groupBuyTimeout
().
getData
());
}
catch
(
Exception
e
)
{
XxlJobHelper
.
log
(
e
);
XxlJobHelper
.
handleFail
();
}
}
@XxlJob
(
value
=
"sev-platform:groupBuyActivitySchedule"
)
public
void
groupBuyActivitySchedule
()
{
try
{
XxlJobHelper
.
handleSuccess
(
"结果:"
+
feignPlatformTaskClient
.
groupBuyActivitySchedule
().
getData
());
}
catch
(
Exception
e
)
{
XxlJobHelper
.
log
(
e
);
XxlJobHelper
.
handleFail
();
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinGroupBuyOrderServiceImpl.java
View file @
4136c403
...
...
@@ -296,7 +296,7 @@ public class KylinGroupBuyOrderServiceImpl implements IKylinGroupBuyOrderService
return
new
Object
[]{
vo
.
getMemberId
(),
vo
.
getGroupOrderId
(),
vo
.
getUserId
(),
vo
.
getOrderTicketsId
(),
vo
.
getTicketCount
(),
vo
.
getStatus
(),
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
vo
.
getJoinTime
()),
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
vo
.
get
JoinTime
())};
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
parse
(
vo
.
get
CreatedAt
())};
}
private
void
cacheOrder
(
KylinGroupBuyOrderVo
order
)
{
...
...
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/kylin/task/PlatformGroupBuyTaskController.java
0 → 100644
View file @
4136c403
package
com
.
liquidnet
.
service
.
platform
.
controller
.
kylin
.
task
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.platform.service.impl.kylin.PlatformGroupBuyTaskServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@Api
(
tags
=
"前端-拼团任务"
)
@RestController
@RequestMapping
(
"groupBuy"
)
@Validated
public
class
PlatformGroupBuyTaskController
{
@Autowired
private
PlatformGroupBuyTaskServiceImpl
groupBuyTaskService
;
@PostMapping
(
"timeout"
)
@ApiOperation
(
"拼团超时退款任务"
)
public
ResponseDto
<
Boolean
>
timeout
()
{
return
ResponseDto
.
success
(
groupBuyTaskService
.
timeout
());
}
@PostMapping
(
"activitySchedule"
)
@ApiOperation
(
"拼团活动启动/结束任务"
)
public
ResponseDto
<
Boolean
>
activitySchedule
()
{
return
ResponseDto
.
success
(
groupBuyTaskService
.
activitySchedule
());
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/kylin/PlatformGroupBuyTaskServiceImpl.java
0 → 100644
View file @
4136c403
package
com
.
liquidnet
.
service
.
platform
.
service
.
impl
.
kylin
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.base.constant.RedisKeyExpireConst
;
import
com.liquidnet.service.kylin.constant.GroupBuyStatusConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dto.vo.groupbuy.KylinGroupBuyActivityVo
;
import
com.liquidnet.service.kylin.dto.vo.groupbuy.KylinGroupBuyMemberVo
;
import
com.liquidnet.service.kylin.dto.vo.groupbuy.KylinGroupBuyOrderVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.platform.utils.QueueUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Service
@Slf4j
public
class
PlatformGroupBuyTaskServiceImpl
{
@Autowired
private
MongoTemplate
mongoTemplate
;
@Autowired
private
RedisUtil
redisUtil
;
@Autowired
private
QueueUtils
queueUtils
;
@Value
(
"${liquidnet.service.kylin.url}"
)
private
String
kylinUrl
;
public
boolean
timeout
()
{
String
now
=
now
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"status"
).
is
(
GroupBuyStatusConst
.
OrderStatus
.
PENDING
)
.
and
(
"expiresAt"
).
lt
(
now
));
List
<
KylinGroupBuyOrderVo
>
orders
=
mongoTemplate
.
find
(
query
,
KylinGroupBuyOrderVo
.
class
,
KylinGroupBuyOrderVo
.
class
.
getSimpleName
());
for
(
KylinGroupBuyOrderVo
order
:
orders
)
{
Query
cas
=
Query
.
query
(
Criteria
.
where
(
"groupOrderId"
).
is
(
order
.
getGroupOrderId
())
.
and
(
"status"
).
is
(
GroupBuyStatusConst
.
OrderStatus
.
PENDING
)
.
and
(
"expiresAt"
).
lt
(
now
));
Update
update
=
Update
.
update
(
"status"
,
GroupBuyStatusConst
.
OrderStatus
.
FAILED
)
.
set
(
"updatedAt"
,
now
);
if
(
mongoTemplate
.
updateFirst
(
cas
,
update
,
KylinGroupBuyOrderVo
.
class
,
KylinGroupBuyOrderVo
.
class
.
getSimpleName
()).
getModifiedCount
()
==
1
)
{
order
.
setStatus
(
GroupBuyStatusConst
.
OrderStatus
.
FAILED
);
order
.
setUpdatedAt
(
now
);
sendOrderStatusSql
(
order
.
getGroupOrderId
(),
GroupBuyStatusConst
.
OrderStatus
.
PENDING
,
GroupBuyStatusConst
.
OrderStatus
.
FAILED
,
LocalDateTime
.
now
());
cacheOrder
(
order
);
refundMembers
(
order
,
"拼团超时未成团,全额退款"
);
}
}
return
true
;
}
public
boolean
activitySchedule
()
{
String
now
=
now
();
List
<
KylinGroupBuyActivityVo
>
dueStartList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"status"
).
is
(
GroupBuyStatusConst
.
ActivityStatus
.
PENDING
)
.
and
(
"launchType"
).
is
(
GroupBuyStatusConst
.
LaunchType
.
SCHEDULED
)
.
and
(
"scheduledTime"
).
lte
(
now
)),
KylinGroupBuyActivityVo
.
class
,
KylinGroupBuyActivityVo
.
class
.
getSimpleName
());
mongoTemplate
.
updateMulti
(
Query
.
query
(
Criteria
.
where
(
"status"
).
is
(
GroupBuyStatusConst
.
ActivityStatus
.
PENDING
)
.
and
(
"launchType"
).
is
(
GroupBuyStatusConst
.
LaunchType
.
SCHEDULED
)
.
and
(
"scheduledTime"
).
lte
(
now
)),
Update
.
update
(
"status"
,
GroupBuyStatusConst
.
ActivityStatus
.
ACTIVE
).
set
(
"updatedAt"
,
now
),
"KylinGroupBuyActivityVo"
);
for
(
KylinGroupBuyActivityVo
activity
:
dueStartList
)
{
activity
.
setStatus
(
GroupBuyStatusConst
.
ActivityStatus
.
ACTIVE
);
activity
.
setUpdatedAt
(
now
);
sendActivityStatusSql
(
activity
.
getActivityId
(),
GroupBuyStatusConst
.
ActivityStatus
.
PENDING
,
GroupBuyStatusConst
.
ActivityStatus
.
ACTIVE
,
LocalDateTime
.
now
());
cacheActivity
(
activity
);
}
List
<
KylinGroupBuyActivityVo
>
dueEndList
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"status"
)
.
in
(
GroupBuyStatusConst
.
ActivityStatus
.
ACTIVE
,
GroupBuyStatusConst
.
ActivityStatus
.
CLOSED
)
.
and
(
"endTime"
).
lte
(
now
)),
KylinGroupBuyActivityVo
.
class
,
KylinGroupBuyActivityVo
.
class
.
getSimpleName
());
mongoTemplate
.
updateMulti
(
Query
.
query
(
Criteria
.
where
(
"status"
)
.
in
(
GroupBuyStatusConst
.
ActivityStatus
.
ACTIVE
,
GroupBuyStatusConst
.
ActivityStatus
.
CLOSED
)
.
and
(
"endTime"
).
lte
(
now
)),
Update
.
update
(
"status"
,
GroupBuyStatusConst
.
ActivityStatus
.
ENDED
).
set
(
"updatedAt"
,
now
),
"KylinGroupBuyActivityVo"
);
for
(
KylinGroupBuyActivityVo
activity
:
dueEndList
)
{
Integer
fromStatus
=
activity
.
getStatus
();
activity
.
setStatus
(
GroupBuyStatusConst
.
ActivityStatus
.
ENDED
);
activity
.
setUpdatedAt
(
now
);
sendActivityStatusSql
(
activity
.
getActivityId
(),
fromStatus
,
GroupBuyStatusConst
.
ActivityStatus
.
ENDED
,
LocalDateTime
.
now
());
cacheActivity
(
activity
);
}
return
true
;
}
private
void
cacheOrder
(
KylinGroupBuyOrderVo
order
)
{
redisUtil
.
del
(
KylinRedisConst
.
GROUP_BUY_ORDER
.
concat
(
order
.
getGroupOrderId
()));
redisUtil
.
del
(
KylinRedisConst
.
GROUP_BUY_ORDER_SHARE
.
concat
(
order
.
getShareToken
()));
redisUtil
.
set
(
KylinRedisConst
.
GROUP_BUY_ORDER
.
concat
(
order
.
getGroupOrderId
()),
order
,
RedisKeyExpireConst
.
KYLIN_GROUP_BUY_EXPIRE
);
redisUtil
.
set
(
KylinRedisConst
.
GROUP_BUY_ORDER_SHARE
.
concat
(
order
.
getShareToken
()),
order
,
RedisKeyExpireConst
.
KYLIN_GROUP_BUY_EXPIRE
);
}
private
void
cacheActivity
(
KylinGroupBuyActivityVo
activity
)
{
redisUtil
.
del
(
KylinRedisConst
.
GROUP_BUY_ACTIVITY
.
concat
(
activity
.
getActivityId
()));
redisUtil
.
set
(
KylinRedisConst
.
GROUP_BUY_ACTIVITY
.
concat
(
activity
.
getActivityId
()),
activity
,
RedisKeyExpireConst
.
KYLIN_GROUP_BUY_EXPIRE
);
}
private
void
sendOrderStatusSql
(
String
groupOrderId
,
Integer
fromStatus
,
Integer
toStatus
,
LocalDateTime
updatedAt
)
{
queueUtils
.
sendMsgByRedis
(
MQConst
.
KylinQueue
.
SQL_ORDER_OVERTIME_REFUND
.
getKey
(),
SqlMapping
.
get
(
"kylin_group_buy_order.update_status"
,
toStatus
,
updatedAt
,
groupOrderId
,
fromStatus
));
}
private
void
sendActivityStatusSql
(
String
activityId
,
Integer
fromStatus
,
Integer
toStatus
,
LocalDateTime
updatedAt
)
{
queueUtils
.
sendMsgByRedis
(
MQConst
.
SlimeQueue
.
SQL_SLIME_FIELD
.
getKey
(),
SqlMapping
.
get
(
"kylin_group_buy_activity.update_status"
,
toStatus
,
updatedAt
,
activityId
,
fromStatus
));
}
private
void
refundMembers
(
KylinGroupBuyOrderVo
order
,
String
reason
)
{
if
(
CollectionUtils
.
isEmpty
(
order
.
getMembers
()))
{
return
;
}
for
(
KylinGroupBuyMemberVo
member
:
order
.
getMembers
())
{
KylinOrderTicketVo
orderTicketVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
member
.
getOrderTicketsId
())),
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
if
(
orderTicketVo
==
null
)
{
continue
;
}
List
<
KylinOrderTicketEntitiesVo
>
entities
=
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"orderId"
).
is
(
orderTicketVo
.
getOrderTicketsId
())),
KylinOrderTicketEntitiesVo
.
class
,
KylinOrderTicketEntitiesVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketEntitiesVo
entity
:
entities
)
{
autoRefund
(
orderTicketVo
.
getOrderTicketsId
(),
entity
.
getOrderTicketEntitiesId
(),
reason
);
}
}
}
private
void
autoRefund
(
String
orderId
,
String
orderTicketEntitiesId
,
String
reason
)
{
try
{
MultiValueMap
<
String
,
String
>
params
=
new
LinkedMultiValueMap
<>();
params
.
add
(
"orderId"
,
orderId
);
params
.
add
(
"orderTicketEntitiesId"
,
orderTicketEntitiesId
);
params
.
add
(
"reason"
,
reason
);
params
.
add
(
"sendExpressType"
,
"0"
);
params
.
add
(
"skipCharges"
,
"true"
);
params
.
add
(
"autoApproved"
,
"true"
);
MultiValueMap
<
String
,
String
>
headers
=
new
LinkedMultiValueMap
<>();
headers
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
HttpUtil
.
post
(
kylinUrl
+
"/orderRefund/sendOrderRefunds"
,
params
,
headers
);
}
catch
(
Exception
e
)
{
log
.
error
(
"拼团自动退款失败 orderId={}, entityId={}"
,
orderId
,
orderTicketEntitiesId
,
e
);
}
}
private
String
now
()
{
return
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
LocalDateTime
.
now
());
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/resources/sqlmap.properties
View file @
4136c403
...
...
@@ -4,3 +4,7 @@ goblin_order.close.sku=UPDATE goblin_order_sku SET status = ? ,updated_at = ? WH
# ------------------------????----------------------------
kylin_camera_record.insert
=
INSERT INTO kylin_camera_record (camera_record_id, camera_id, person_num) VALUES (?,?,?)
# ------------------------演出票拼团----------------------------
kylin_group_buy_order.update_status
=
UPDATE kylin_group_buy_order SET status = ?, updated_at = ? WHERE group_order_id = ? AND status = ?
kylin_group_buy_activity.update_status
=
UPDATE kylin_group_buy_activity SET status = ?, updated_at = ? WHERE activity_id = ? AND status = ?
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