记得上下班打卡 | 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
1ffd034c
Commit
1ffd034c
authored
Jun 03, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
413b04e2
88a594a2
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
456 additions
and
251 deletions
+456
-251
StringUtils.java
.../com/liquidnet/client/admin/common/utils/StringUtils.java
+71
-20
KylinOrderRefundAdminController.java
...oller/zhengzai/kylin/KylinOrderRefundAdminController.java
+1
-0
refund.html
...ain/resources/templates/zhengzai/kylin/refund/refund.html
+206
-100
KylinRefundsStatusServiceImpl.java
...zai/kylin/service/impl/KylinRefundsStatusServiceImpl.java
+28
-36
OrderRefundDao.java
.../java/com/liquidnet/service/kylin/dao/OrderRefundDao.java
+6
-3
FeignKylinOrderRefundClient.java
.../service/feign/kylin/api/FeignKylinOrderRefundClient.java
+0
-42
FeignKylinTaskClient.java
...uidnet/service/feign/kylin/task/FeignKylinTaskClient.java
+1
-1
ServiceExecutorMainApplication.java
...com/liquidnet/service/ServiceExecutorMainApplication.java
+4
-0
KylinTaskHandler.java
...idnet/service/executor/main/handler/KylinTaskHandler.java
+79
-0
KylinOrderTicketsController.java
...service/kylin/controller/KylinOrderTicketsController.java
+1
-1
KylinPerformancesController.java
...service/kylin/controller/KylinPerformancesController.java
+2
-2
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+48
-43
KylinPerformancesServiceImpl.java
...vice/kylin/service/impl/KylinPerformancesServiceImpl.java
+8
-2
PerformanceVoTask.java
.../liquidnet/service/kylin/timerTask/PerformanceVoTask.java
+1
-1
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-common/src/main/java/com/liquidnet/client/admin/common/utils/StringUtils.java
View file @
1ffd034c
package
com
.
liquidnet
.
client
.
admin
.
common
.
utils
;
import
java.util.Collection
;
import
java.util.Map
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLDecoder
;
import
java.util.*
;
import
com.liquidnet.client.admin.common.core.text.StrFormatter
;
import
org.springframework.util.MultiValueMap
;
/**
* 字符串工具类
*
*
* @author ruoyi
*/
public
class
StringUtils
extends
org
.
apache
.
commons
.
lang3
.
StringUtils
...
...
@@ -19,7 +22,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 获取参数不为空值
*
*
* @param value defaultValue 要判断的value
* @return value 返回值
*/
...
...
@@ -30,7 +33,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Collection是否为空, 包含List,Set,Queue
*
*
* @param coll 要判断的Collection
* @return true:为空 false:非空
*/
...
...
@@ -41,7 +44,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Collection是否非空,包含List,Set,Queue
*
*
* @param coll 要判断的Collection
* @return true:非空 false:空
*/
...
...
@@ -52,7 +55,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象数组是否为空
*
*
* @param objects 要判断的对象数组
** @return true:为空 false:非空
*/
...
...
@@ -63,7 +66,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象数组是否非空
*
*
* @param objects 要判断的对象数组
* @return true:非空 false:空
*/
...
...
@@ -74,7 +77,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Map是否为空
*
*
* @param map 要判断的Map
* @return true:为空 false:非空
*/
...
...
@@ -85,7 +88,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Map是否为空
*
*
* @param map 要判断的Map
* @return true:非空 false:空
*/
...
...
@@ -96,7 +99,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个字符串是否为空串
*
*
* @param str String
* @return true:为空 false:非空
*/
...
...
@@ -107,7 +110,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个字符串是否为非空串
*
*
* @param str String
* @return true:非空串 false:空串
*/
...
...
@@ -118,7 +121,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象是否为空
*
*
* @param object Object
* @return true:为空 false:非空
*/
...
...
@@ -129,7 +132,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象是否非空
*
*
* @param object Object
* @return true:非空 false:空
*/
...
...
@@ -140,7 +143,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象是否是数组类型(Java基本型别的数组)
*
*
* @param object 对象
* @return true:是数组 false:不是数组
*/
...
...
@@ -159,7 +162,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 截取字符串
*
*
* @param str 字符串
* @param start 开始
* @return 结果
...
...
@@ -190,7 +193,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 截取字符串
*
*
* @param str 字符串
* @param start 开始
* @param end 结束
...
...
@@ -242,7 +245,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
* 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
* 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
* 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
*
*
* @param template 文本模板,被替换的部分用 {} 表示
* @param params 参数值
* @return 格式化后的文本
...
...
@@ -306,7 +309,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 是否包含字符串
*
*
* @param str 验证字符串
* @param strs 字符串组
* @return 包含返回true
...
...
@@ -328,7 +331,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
*
*
* @param name 转换前的下划线大写方式命名的字符串
* @return 转换后的驼峰式命名的字符串
*/
...
...
@@ -405,4 +408,52 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
{
return
(
T
)
obj
;
}
public
static
String
httpBuildQuery
(
MultiValueMap
<
String
,
String
>
array
)
{
String
reString
=
null
;
//遍历数组形成akey=avalue&bkey=bvalue&ckey=cvalue形式的的字符串
Iterator
it
=
array
.
entrySet
().
iterator
();
while
(
it
.
hasNext
()){
Map
.
Entry
<
String
,
Object
>
entry
=(
Map
.
Entry
)
it
.
next
();
String
key
=
entry
.
getKey
();
Object
value
=
entry
.
getValue
();
reString
+=
key
+
"="
+
value
+
"&"
;
}
reString
=
reString
.
substring
(
0
,
reString
.
length
()-
1
);
//将得到的字符串进行处理得到目标格式的字符串
reString
=
URLDecoder
.
decode
(
reString
);
try
{
reString
=
URLDecoder
.
decode
(
reString
,
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
reString
=
reString
.
replace
(
"%3D"
,
"="
).
replace
(
"%26"
,
"&"
);
return
reString
;
}
public
static
String
Ksort
(
MultiValueMap
<
String
,
String
>
map
)
{
String
sb
=
""
;
String
[]
key
=
new
String
[
map
.
size
()];
int
index
=
0
;
for
(
String
k
:
map
.
keySet
())
{
key
[
index
]
=
k
;
index
++;
}
// Arrays.sort(key);
for
(
String
s
:
key
)
{
sb
+=
s
+
"="
+
map
.
get
(
s
).
get
(
0
)
+
"&"
;
}
sb
=
sb
.
substring
(
0
,
sb
.
length
()
-
1
);
// 将得到的字符串进行处理得到目标格式的字符串
try
{
sb
=
URLDecoder
.
decode
(
sb
,
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
// 使用常见的UTF-8编码
sb
=
sb
.
replace
(
"%3D"
,
"="
).
replace
(
"%26"
,
"&"
);
return
sb
;
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/kylin/KylinOrderRefundAdminController.java
View file @
1ffd034c
...
...
@@ -157,6 +157,7 @@ public class KylinOrderRefundAdminController extends BaseController {
return
error
(
"审核退款失败"
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
error
(
e
.
getMessage
());
}
}
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/kylin/refund/refund.html
View file @
1ffd034c
This diff is collapsed.
Click to expand it.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinRefundsStatusServiceImpl.java
View file @
1ffd034c
...
...
@@ -38,7 +38,6 @@ import org.springframework.util.MultiValueMap;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -316,41 +315,33 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefunds
.
setExecutorName
(
authName
);
kylinOrderRefunds
.
setExecutorAt
(
LocalDateTime
.
now
());
kylinOrderRefunds
.
setRefuse
(
refuse
);
List
<
String
>
refundIds
=
refundList
.
stream
().
map
(
KylinOrderRefunds
->
KylinOrderRefunds
.
getOrderRefundsId
()).
collect
(
Collectors
.
toList
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
refundIds
)
);
// List<String> refundIds = refundList.stream().map(KylinOrderRefunds -> KylinOrderRefunds.getOrderRefundsId()).collect(Collectors.toList());
// 开始执行退款
String
postUrl
=
"sss"
;
String
token
=
"sss"
;
MultiValueMap
<
String
,
String
>
headers
=
new
LinkedMultiValueMap
();
headers
.
add
(
"token"
,
token
);
String
postUrl
=
"http://testpay.zhengzai.tv/refund/single"
;
for
(
KylinOrderRefunds
refund
:
refundList
)
{
KylinOrderTickets
oderInfo
=
kylinOrderTicketsMapper
.
selectOne
(
new
QueryWrapper
<
KylinOrderTickets
>()
.
eq
(
"order_tickets_id"
,
refund
.
getOrderTicketsId
())
);
HashMap
<
String
,
Object
>
params
=
new
HashMap
();
params
.
put
(
"code"
,
oderInfo
.
getPayCode
());
params
.
put
(
"order_refund_code"
,
refund
.
getOrderRefundCode
());
params
.
put
(
"price"
,
refund
.
getPrice
());
params
.
put
(
"reason"
,
refund
.
getReason
());
params
.
put
(
"notify_url"
,
"sdadurl"
);
params
.
put
(
"sign"
,
"qwrertasf"
);
MultiValueMap
<
String
,
String
>
allParams
=
new
LinkedMultiValueMap
();
allParams
.
put
(
"headers"
,
(
List
<
String
>)
headers
);
allParams
.
put
(
"form_params"
,
(
List
<
String
>)
params
);
MultiValueMap
<
String
,
String
>
params
=
new
LinkedMultiValueMap
();
params
.
add
(
"code"
,
oderInfo
.
getPayCode
());
params
.
add
(
"order_refund_code"
,
refund
.
getOrderRefundCode
());
params
.
add
(
"price"
,
refund
.
getPrice
().
toString
());
params
.
add
(
"reason"
,
refund
.
getReason
());
params
.
add
(
"notify_url"
,
"http://zuul.zhengzai.tv/kylin/refund/callback"
);
String
sign
=
StringUtils
.
Ksort
(
params
);
sign
=
sign
.
concat
(
"&key="
).
concat
(
"R7tXY9smPQPG9Ku5yI0u6sfnlckmk04V"
);
// sign = MD5.getStrMD5(sign);
sign
=
sign
.
toUpperCase
();
params
.
add
(
"sign"
,
sign
);
// start
// TODO: 2021/5/31 待整理
params
.
put
(
"form_params"
,
"qwrertasf"
);
String
postResult
=
HttpUtil
.
post
(
postUrl
,
allParams
,
headers
);
String
postResult
=
HttpUtil
.
post
(
postUrl
,
params
);
JsonNode
postResultNew
=
JsonUtils
.
fromJson
(
postResult
,
JsonNode
.
class
);
// 请求提审接口结果
if
(
postResultNew
.
get
(
"message"
).
toString
()
!=
"OK"
)
{
...
...
@@ -360,7 +351,12 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefundsErr
.
setRefundAt
(
LocalDateTime
.
now
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefundsErr
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
eq
(
"order_refunds_id"
,
refund
.
getOrderTicketsId
())
new
UpdateWrapper
<
KylinOrderRefunds
>().
eq
(
"order_refunds_id"
,
refund
.
getOrderRefundsId
())
);
}
else
{
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
in
(
"order_refunds_id"
,
refund
.
getOrderRefundsId
())
);
}
}
...
...
@@ -387,16 +383,10 @@ public class KylinRefundsStatusServiceImpl {
newStatus
=
KylinTableStatusConst
.
ORDER_STATUS6
;
}
orderStatusTable
.
setStatus
(
newStatus
);
KylinOrderTicketVo
kylinOrderTicketVo
=
new
KylinOrderTicketVo
();
kylinOrderTicketVo
.
setStatus
(
newStatus
);
BasicDBObject
orderObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketVo
)));
Document
orderDoc
=
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTicketsId
)).
getQueryObject
(),
orderObject
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
kylinOrderTicketStatusMapper
.
update
(
orderStatusTable
,
new
UpdateWrapper
<
KylinOrderTicketStatus
>()
.
eq
(
"order_id"
,
orderTicketsId
)
);
dataUtils
.
delOrderTicketRedis
(
orderTicketsId
);
// 订单表
double
price
=
orderInfo
.
getPriceRefund
().
doubleValue
()
+
refundInfo
.
getPrice
().
doubleValue
();
...
...
@@ -409,14 +399,16 @@ public class KylinRefundsStatusServiceImpl {
.
eq
(
"order_tickets_id"
,
orderTicketsId
)
);
KylinOrderTicketVo
kylinOrderTicketVoOrder
=
new
KylinOrderTicketVo
();
kylinOrderTicketVoOrder
.
setStatus
(
newStatus
);
kylinOrderTicketVoOrder
.
setRefundNumber
(
num
);
kylinOrderTicketVoOrder
.
setPriceRefund
(
BigDecimal
.
valueOf
(
price
));
BasicDBObject
orderEntitiesObject
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
kylinOrderTicketVoOrder
)));
Document
entitiesD
ocOrder
=
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Document
d
ocOrder
=
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTicketsId
)).
getQueryObject
(),
orderEntitiesObject
,
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
);
dataUtils
.
delOrderTicketRedis
(
orderTicketsId
);
// 入场人
for
(
String
entitiesId
:
orderTicketEntitiesIdsArr
)
{
...
...
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/dao/OrderRefundDao.java
View file @
1ffd034c
...
...
@@ -71,7 +71,7 @@ public class OrderRefundDao implements Serializable {
this
.
statusName
=
"请求退款"
;
break
;
case
1
:
this
.
statusName
=
"
审核
通过"
;
this
.
statusName
=
"
一审
通过"
;
break
;
case
2
:
this
.
statusName
=
"取消退款"
;
...
...
@@ -83,13 +83,16 @@ public class OrderRefundDao implements Serializable {
this
.
statusName
=
"完成退款"
;
break
;
case
5
:
this
.
statusName
=
"驳回退款"
;
this
.
statusName
=
"
一审
驳回退款"
;
break
;
case
6
:
this
.
statusName
=
"退款失败"
;
break
;
case
7
:
this
.
statusName
=
"等待退款"
;
this
.
statusName
=
"二审通过等待退款"
;
break
;
case
8
:
this
.
statusName
=
"二审驳回退款"
;
break
;
default
:
this
.
statusName
=
"其他"
;
...
...
liquidnet-bus-feign/liquidnet-api-feign-kylin/src/main/java/com/liquidnet/service/feign/kylin/api/FeignKylinOrderRefundClient.java
deleted
100644 → 0
View file @
413b04e2
package
com
.
liquidnet
.
service
.
feign
.
kylin
.
api
;
import
com.liquidnet.service.base.ResponseDto
;
import
feign.hystrix.FallbackFactory
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
@Component
@FeignClient
(
name
=
"liquidnet-service-kylin"
,
contextId
=
"FeignKylinOrderRefundClient"
,
path
=
""
,
fallback
=
FallbackFactory
.
Default
.
class
)
public
interface
FeignKylinOrderRefundClient
{
@PostMapping
(
"admin/refund/apply"
)
ResponseDto
<
Object
>
refundApply
(
@RequestBody
String
orderTicketsId
,
@RequestBody
String
orderRefundBatchesId
,
@RequestBody
String
refundData
,
@RequestBody
String
reason
);
@PostMapping
(
"admin/refund/cancel"
)
@ApiOperation
(
"取消退款"
)
ResponseDto
<
Object
>
refundApply
(
@RequestBody
List
orderRefundsIdList
);
@PostMapping
(
"admin/refund/reapply"
)
@ApiOperation
(
"再次提交审核"
)
ResponseDto
<
Object
>
refundReapply
(
@RequestBody
List
orderRefundsIdList
);
@PostMapping
(
"admin/refund/review"
)
@ApiOperation
(
"一审运营 审核/驳回"
)
ResponseDto
<
Object
>
refundReview
(
@RequestBody
List
orderRefundsIdList
,
@RequestBody
Integer
status
,
@RequestBody
String
reject
);
@PostMapping
(
"admin/refund/execute"
)
@ApiOperation
(
"二审财务 审核(执行退款)/驳回"
)
ResponseDto
<
Object
>
refundExecute
(
@RequestBody
List
orderRefundsIdList
,
@RequestBody
Integer
status
,
@RequestBody
String
refuse
);
}
liquidnet-bus-feign/liquidnet-api-feign-kylin/src/main/java/com/liquidnet/service/feign/kylin/task/FeignKylinTaskClient.java
View file @
1ffd034c
...
...
@@ -24,5 +24,5 @@ public interface FeignKylinTaskClient {
ResponseDto
<
Boolean
>
checkOrderTime
();
@PostMapping
(
"performance/checkPerformanceTime"
)
void
checkPerformanceTime
();
ResponseDto
<
String
>
checkPerformanceTime
();
}
liquidnet-bus-service/liquidnet-service-executor-all/liquidnet-service-executor-main/src/main/java/com/liquidnet/service/ServiceExecutorMainApplication.java
View file @
1ffd034c
...
...
@@ -4,10 +4,13 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
;
import
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
;
import
org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.cloud.bus.BusAutoConfiguration
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.core.env.Environment
;
...
...
@@ -20,6 +23,7 @@ import java.util.Arrays;
@SpringBootApplication
(
scanBasePackages
=
{
"com.liquidnet"
}
)
@EnableAutoConfiguration
(
exclude
=
{
BusAutoConfiguration
.
class
,
RabbitAutoConfiguration
.
class
})
public
class
ServiceExecutorMainApplication
implements
CommandLineRunner
{
@Autowired
private
Environment
environment
;
...
...
liquidnet-bus-service/liquidnet-service-executor-all/liquidnet-service-executor-main/src/main/java/com/liquidnet/service/executor/main/handler/KylinTaskHandler.java
0 → 100644
View file @
1ffd034c
package
com
.
liquidnet
.
service
.
executor
.
main
.
handler
;
import
com.liquidnet.service.feign.kylin.task.FeignKylinTaskClient
;
import
com.rabbitmq.client.Return
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* XxlJob开发示例(Bean模式)
* <p>
* 开发步骤:
* 1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT<String> execute(String param)"
* 2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
* 3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
*/
@Component
public
class
KylinTaskHandler
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
KylinTaskHandler
.
class
);
@Autowired
private
FeignKylinTaskClient
feignKylinTaskClient
;
@XxlJob
(
value
=
"sev-kylin:checkOrderTimeHandler"
)
public
ReturnT
<
String
>
checkOrderTimeHandler
()
{
try
{
boolean
result
=
feignKylinTaskClient
.
checkOrderTime
().
getData
();
log
.
info
(
"checkOrderTimeHandler:结果:"
+
result
);
return
ReturnT
.
SUCCESS
;
}
catch
(
Exception
e
)
{
return
ReturnT
.
FAIL
;
}
}
@XxlJob
(
value
=
"sev-kylin:checkPerformanceTimeHandler"
)
public
ReturnT
<
String
>
checkPerformanceTimeHandler
()
{
try
{
String
result
=
feignKylinTaskClient
.
checkPerformanceTime
().
getData
();
log
.
info
(
"checkPerformanceTimeHandler:结果:"
+
result
);
return
ReturnT
.
SUCCESS
;
}
catch
(
Exception
e
)
{
return
ReturnT
.
FAIL
;
}
}
// @Autowired
// private FeignSequenceClient feignSequenceClient;
//
// @XxlJob(value = "sev-sequence:mainDemoJobHandler")
// public ReturnT<String> mainDemoJobHandler(String param) {
// log.info("liquidnet.mainDemoJobHandler");
// Long test = feignSequenceClient.nextId();
// log.info("test : " + test);
// Long[] tests = feignSequenceClient.nextId(2);
// log.info("tests: " + JSON.toJSONString(tests));
// Long nextIncrId = feignSequenceClient.nextIncrId("SEQ_WL_N01_1784");
// log.info("incrid:" + nextIncrId);
// return ReturnT.SUCCESS;
// }
// @XxlJob(value = "sev-recon:accountCheckTask")
// public ReturnT<String> accountCheckTask(String param) {
// XxlJobLogger.log("start:liquidnet.accountCheckTask:[{}]", param);
//
// String bankChannel = null;
// String billDate = null;
// if (!StringUtils.isEmpty(param)) {
// JSONObject jsonParam = JSON.parseObject(param);
// bankChannel = jsonParam.getString("bankChannel");
// billDate = jsonParam.getString("billDate");
// }
// feignTaskReconAccountCheckClient.accountCheck(bankChannel,billDate);
// XxlJobLogger.log("end:liquidnet.accountCheckTask:[{}]", JSON.toJSONString(ResponseDto.success()));
// return ReturnT.SUCCESS;
// }
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinOrderTicketsController.java
View file @
1ffd034c
...
...
@@ -83,7 +83,7 @@ public class KylinOrderTicketsController {
@
Ge
tMapping
(
"checkOrderTime"
)
@
Pos
tMapping
(
"checkOrderTime"
)
@ApiOperation
(
"订单过期脚本"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
Boolean
>
checkOrderTime
()
{
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinPerformancesController.java
View file @
1ffd034c
...
...
@@ -215,7 +215,7 @@ public class KylinPerformancesController {
}
@PostMapping
(
"/checkPerformanceTime"
)
public
void
checkPerformanceTime
(){
kylinPerformancesService
.
checkPerformanceTime
(
);
public
ResponseDto
<
String
>
checkPerformanceTime
(){
return
ResponseDto
.
success
(
kylinPerformancesService
.
checkPerformanceTime
()
);
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
1ffd034c
...
...
@@ -787,44 +787,45 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Override
public
boolean
checkOrderTime
(
String
userId
)
{
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
0
).
and
(
"overdueAt"
).
lte
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
))));
if
(
null
!=
userId
)
{
query
.
addCriteria
(
Criteria
.
where
(
"userId"
).
is
(
userId
));
}
List
<
KylinOrderTicketVo
>
orderTicketVo
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketVo
item
:
orderTicketVo
)
{
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
,
240
)){
continue
;
try
{
Query
query
=
new
Query
();
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
0
).
and
(
"overdueAt"
).
lte
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
))));
if
(
null
!=
userId
)
{
query
.
addCriteria
(
Criteria
.
where
(
"userId"
).
is
(
userId
));
}
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
);
KylinOrderTicketVo
itemData
=
dataUtils
.
getOrderTicketVo
(
item
.
getOrderTicketsId
());
if
(
itemData
.
getStatus
()
==
0
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
try
{
//mysql
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
orderTickets
.
setOrderTicketsId
(
item
.
getOrderTicketsId
());
orderTickets
.
setUpdatedAt
(
now
);
KylinOrderTicketStatus
orderTicketStatus
=
new
KylinOrderTicketStatus
();
orderTicketStatus
.
setOrderId
(
item
.
getOrderTicketsId
());
orderTicketStatus
.
setStatus
(
2
);
orderTicketStatus
.
setUpdatedAt
(
now
);
//vo
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"status"
,
2
);
map
.
put
(
"updatedAt"
,
now
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTickets
.
getOrderTicketsId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
map
))
);
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
dataUtils
.
changeSurplusGeneral
(
itemData
.
getTicketId
(),
itemData
.
getNumber
());
List
<
KylinOrderTicketVo
>
orderTicketVo
=
mongoTemplate
.
find
(
query
,
KylinOrderTicketVo
.
class
,
KylinOrderTicketVo
.
class
.
getSimpleName
());
for
(
KylinOrderTicketVo
item
:
orderTicketVo
)
{
if
(!
RedisLockUtil
.
tryLock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
,
240
))
{
continue
;
}
RLock
lock
=
redisLockUtil
.
lock
(
"order_lock:"
+
item
.
getOrderCode
(),
240
);
KylinOrderTicketVo
itemData
=
dataUtils
.
getOrderTicketVo
(
item
.
getOrderTicketsId
());
if
(
itemData
.
getStatus
()
==
0
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
try
{
//mysql
KylinOrderTickets
orderTickets
=
new
KylinOrderTickets
();
orderTickets
.
setOrderTicketsId
(
item
.
getOrderTicketsId
());
orderTickets
.
setUpdatedAt
(
now
);
KylinOrderTicketStatus
orderTicketStatus
=
new
KylinOrderTicketStatus
();
orderTicketStatus
.
setOrderId
(
item
.
getOrderTicketsId
());
orderTicketStatus
.
setStatus
(
2
);
orderTicketStatus
.
setUpdatedAt
(
now
);
//vo
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"status"
,
2
);
map
.
put
(
"updatedAt"
,
now
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
mongoTemplate
.
getCollection
(
KylinOrderTicketVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderTicketsId"
).
is
(
orderTickets
.
getOrderTicketsId
())).
getQueryObject
(),
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
map
))
);
dataUtils
.
delOrderTicketRedis
(
orderTickets
.
getOrderTicketsId
());
dataUtils
.
changeSurplusGeneral
(
itemData
.
getTicketId
(),
itemData
.
getNumber
());
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
...
...
@@ -832,16 +833,20 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("kylin_order_ticket_status.close", orderTicketStatus.getCloseOrderObject()));
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
lock
.
unlock
();
e
.
printStackTrace
();
return
false
;
}
}
else
{
lock
.
unlock
();
e
.
printStackTrace
();
return
false
;
}
}
else
{
lock
.
unlock
();
}
return
true
;
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
false
;
}
return
true
;
}
@Override
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinPerformancesServiceImpl.java
View file @
1ffd034c
...
...
@@ -440,7 +440,13 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return
payDetailVo
;
}
public
void
checkPerformanceTime
(){
task
.
performanceVoStatus
(
null
);
public
String
checkPerformanceTime
(){
try
{
task
.
performanceVoStatus
(
null
);
return
"成功"
;
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
"失败"
;
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/timerTask/PerformanceVoTask.java
View file @
1ffd034c
...
...
@@ -92,7 +92,7 @@ public class PerformanceVoTask {
LocalDateTime
timeNow
=
LocalDateTime
.
now
();
List
<
String
>
performanceIdList
=
new
ArrayList
<>();
if
(
performanceSingleId
.
isEmpty
()
)
{
if
(
performanceSingleId
==
null
)
{
List
<
KylinPerformanceVo
>
kylinPerformanceVoList
=
mongoTemplate
.
findAll
(
KylinPerformanceVo
.
class
);
for
(
KylinPerformanceVo
kylinPerformanceVoItem
:
kylinPerformanceVoList
)
{
performanceIdList
.
add
(
kylinPerformanceVoItem
.
getPerformancesId
());
...
...
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