记得上下班打卡 | 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
05ddebfb
Commit
05ddebfb
authored
Dec 17, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
overtime
parent
92f93ca4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
135 additions
and
2 deletions
+135
-2
OrderRefundCallbackController.java
...form/controller/refund/OrderRefundCallbackController.java
+7
-0
OrderRefundsCallbackServiceImpl.java
...tform/service/refund/OrderRefundsCallbackServiceImpl.java
+128
-2
No files found.
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/refund/OrderRefundCallbackController.java
View file @
05ddebfb
...
@@ -39,4 +39,11 @@ public class OrderRefundCallbackController {
...
@@ -39,4 +39,11 @@ public class OrderRefundCallbackController {
String
result
=
orderRefundsCallbackServiceImpl
.
alipayActiveCallback
();
String
result
=
orderRefundsCallbackServiceImpl
.
alipayActiveCallback
();
return
result
;
return
result
;
}
}
@GetMapping
(
"overtimeRefund"
)
@ApiOperation
(
"超时支付自动退款"
)
public
String
overtimeRefund
()
{
String
result
=
orderRefundsCallbackServiceImpl
.
overtimeRefund
();
return
result
;
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/refund/OrderRefundsCallbackServiceImpl.java
View file @
05ddebfb
package
com
.
liquidnet
.
service
.
platform
.
service
.
refund
;
package
com
.
liquidnet
.
service
.
platform
.
service
.
refund
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.dto.param.RefundCallbackParam
;
import
com.liquidnet.service.kylin.dto.param.RefundCallbackParam
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.liquidnet.service.kylin.entity.KylinOrderRefunds
;
import
com.liquidnet.service.kylin.entity.KylinOrderTicketStatus
;
import
com.liquidnet.service.kylin.entity.KylinOrderTicketStatus
;
...
@@ -15,6 +20,7 @@ import com.liquidnet.service.platform.utils.DataUtils;
...
@@ -15,6 +20,7 @@ import com.liquidnet.service.platform.utils.DataUtils;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.client.result.UpdateResult
;
import
com.mongodb.client.result.UpdateResult
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -22,11 +28,15 @@ import org.springframework.data.mongodb.core.MongoTemplate;
...
@@ -22,11 +28,15 @@ import org.springframework.data.mongodb.core.MongoTemplate;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -124,12 +134,12 @@ public class OrderRefundsCallbackServiceImpl extends ServiceImpl<KylinOrderRefun
...
@@ -124,12 +134,12 @@ public class OrderRefundsCallbackServiceImpl extends ServiceImpl<KylinOrderRefun
}
}
@Override
@Override
public
String
getOrderRefundCode
(
String
orderRefundCode
,
int
type
)
{
public
String
getOrderRefundCode
(
String
orderRefundCode
,
int
type
)
{
return
null
;
return
null
;
}
}
public
String
alipayActiveCallback
()
{
public
String
alipayActiveCallback
()
{
LocalDateTime
startTime
=
LocalDateTime
.
now
();
LocalDateTime
startTime
=
LocalDateTime
.
now
();
LocalDateTime
newTime
=
startTime
.
minusHours
(
2
);
LocalDateTime
newTime
=
startTime
.
minusHours
(
2
);
List
<
KylinOrderRefunds
>
kylinOrderRefunds
=
kylinOrderRefundsMapper
.
selectList
(
List
<
KylinOrderRefunds
>
kylinOrderRefunds
=
kylinOrderRefundsMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
KylinOrderRefunds
.
class
)
Wrappers
.
lambdaQuery
(
KylinOrderRefunds
.
class
)
...
@@ -163,4 +173,120 @@ public class OrderRefundsCallbackServiceImpl extends ServiceImpl<KylinOrderRefun
...
@@ -163,4 +173,120 @@ public class OrderRefundsCallbackServiceImpl extends ServiceImpl<KylinOrderRefun
}
}
return
"success"
;
return
"success"
;
}
}
public
String
overtimeRefund
()
{
List
<
KylinOrderRefunds
>
refundList
=
kylinOrderRefundsMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
KylinOrderRefunds
.
class
)
.
eq
(
KylinOrderRefunds:
:
getType
,
KylinTableStatusConst
.
ORDER_REFUND_TYPE_AUTO
)
.
in
(
KylinOrderRefunds:
:
getStatus
,
Arrays
.
asList
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPLY
,
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
))
);
for
(
KylinOrderRefunds
refundInfo
:
refundList
)
{
String
refundId
=
refundInfo
.
getOrderRefundsId
();
String
orderId
=
refundInfo
.
getOrderTicketsId
();
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
KylinOrderRefunds
kylinOrderRefunds
=
KylinOrderRefunds
.
getNew
();
// 运营审核
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_APPROVED
);
kylinOrderRefunds
.
setAuditorId
(
"system"
);
kylinOrderRefunds
.
setAuditorName
(
"system"
);
kylinOrderRefunds
.
setAuditorAt
(
nowTime
);
kylinOrderRefunds
.
setReject
(
"系统审核通过"
);
kylinOrderRefunds
.
setUpdatedAt
(
nowTime
);
// 财务审核
kylinOrderRefunds
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_UNFILLED
);
kylinOrderRefunds
.
setExecutorId
(
"system"
);
kylinOrderRefunds
.
setExecutorName
(
"system"
);
kylinOrderRefunds
.
setExecutorAt
(
nowTime
);
kylinOrderRefunds
.
setRefuse
(
"系统审核通过"
);
KylinOrderTickets
oderInfo
=
kylinOrderTicketsMapper
.
selectOne
(
Wrappers
.
lambdaQuery
(
KylinOrderTickets
.
class
)
.
eq
(
KylinOrderTickets:
:
getOrderTicketsId
,
orderId
)
);
BigDecimal
refundPrice
=
refund
.
getPrice
().
add
(
refund
.
getPriceExpress
());
MultiValueMap
<
String
,
String
>
params
=
new
LinkedMultiValueMap
();
params
.
add
(
"code"
,
oderInfo
.
getPayCode
());
params
.
add
(
"notifyUrl"
,
notifyUrl
);
params
.
add
(
"orderCode"
,
oderInfo
.
getOrderCode
());
params
.
add
(
"orderRefundCode"
,
refund
.
getOrderRefundCode
());
params
.
add
(
"paymentId"
,
oderInfo
.
getPaymentId
());
params
.
add
(
"paymentType"
,
oderInfo
.
getPaymentType
());
params
.
add
(
"price"
,
String
.
valueOf
(
refundPrice
));
params
.
add
(
"priceTotal"
,
String
.
valueOf
(
oderInfo
.
getPriceActual
()));
params
.
add
(
"reason"
,
"按需退款"
);
MultiValueMap
<
String
,
String
>
headers
=
new
LinkedMultiValueMap
();
// headers.add("Content-Type", "application/json;charset=UTF-8");
headers
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
log
.
info
(
"退款参数"
+
JsonUtils
.
toJson
(
params
));
// 请求pay
String
postResult
=
null
;
try
{
postResult
=
HttpUtil
.
post
(
applyUrl
,
params
,
headers
);
log
.
info
(
"退款res"
+
postResult
);
HashMap
hashMapResult
=
JsonUtils
.
fromJson
(
postResult
,
HashMap
.
class
);
Boolean
success
=
(
Boolean
)
hashMapResult
.
get
(
"success"
);
if
(!
success
)
{
String
message
=
(
String
)
hashMapResult
.
get
(
"message"
);
log
.
info
(
"退款pay返回失败"
+
message
);
KylinOrderRefunds
kylinOrderRefundsFail
=
new
KylinOrderRefunds
();
kylinOrderRefundsFail
.
setStatus
(
KylinTableStatusConst
.
ORDER_REFUND_STATUS_ERROR
);
kylinOrderRefundsFail
.
setRefundError
(
message
);
kylinOrderRefundsFail
.
setUpdatedAt
(
LocalDateTime
.
now
());
kylinOrderRefundsMapper
.
update
(
kylinOrderRefundsFail
,
new
UpdateWrapper
<
KylinOrderRefunds
>().
eq
(
"order_refunds_id"
,
refund
.
getOrderRefundsId
())
);
// 修改缓存
KylinOrderRefundsVo
kylinOrderRefundsVoFail
=
new
KylinOrderRefundsVo
();
BeanUtils
.
copyProperties
(
kylinOrderRefundsFail
,
kylinOrderRefundsVoFail
);
BasicDBObject
objectFail
=
new
BasicDBObject
(
"$set"
,
mongoConverter
.
convertToMongoType
(
kylinOrderRefundsVoFail
));
UpdateResult
updateFailResult
=
mongoTemplate
.
getCollection
(
KylinOrderRefundsVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
refund
.
getOrderRefundsId
())).
getQueryObject
(),
objectFail
);
// List<String> strings = Arrays.asList(refund.getOrderRefundsId());
// List<String> strings1 = Arrays.asList(refund.getOrderTicketsId());
// dataUtils.delOrderRefundVo(strings);
// dataUtils.delOrderRefundVoByOrderId(strings1);
continue
;
}
else
{
//TODO 秀龙 大麦退款
for
(
KylinOrderRefunds
item
:
refundList
)
{
KylinOrderTicketVo
orderData
=
dataUtils
.
getOrderTicketVo
(
item
.
getOrderTicketsId
());
KylinPerformanceVo
vo
=
dataUtils
.
getPerformanceVo
(
orderData
.
getPerformanceId
());
taobaoTicketUtils
.
refundDamaiOrder
(
orderData
,
vo
);
}
}
}
catch
(
Exception
e
)
{
log
.
info
(
"退款请求pay失败e"
+
e
.
getMessage
());
continue
;
}
// 数据库
kylinOrderRefundsMapper
.
update
(
kylinOrderRefunds
,
Wrappers
.
lambdaUpdate
(
KylinOrderRefunds
.
class
).
eq
(
KylinOrderRefunds:
:
getOrderRefundsId
,
refundId
)
);
// 缓存
KylinOrderRefundsVo
kylinOrderRefundsVo
=
KylinOrderRefundsVo
.
getNew
();
BeanUtils
.
copyProperties
(
kylinOrderRefunds
,
kylinOrderRefundsVo
);
UpdateResult
result
=
mongoTemplate
.
updateFirst
(
Query
.
query
(
Criteria
.
where
(
"orderRefundsId"
).
is
(
refundId
)),
Update
.
fromDocument
(
Document
.
parse
(
JsonUtils
.
toJson
(
kylinOrderRefundsVo
))),
KylinOrderRefundsVo
.
class
,
KylinOrderRefundsVo
.
class
.
getSimpleName
()
);
dataUtils
.
delOrderRefundVo
(
refundId
);
dataUtils
.
delOrderRefundVoByOrderId
(
orderId
);
}
return
"success"
;
}
}
}
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