Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jiujian
/
client-customer-order-api
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
zhuyifan
2025-06-13 16:53:27 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a2ae9480ba1e21549e81573ff5c1b016983e2c06
a2ae9480
1 parent
69fd05a2
fix(service): 修复订单创建时的时区问题
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
13 deletions
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
src/main/java/com/infoloop/tianting/service/client/PayServiceClient.java
src/main/java/com/infoloop/tianting/service/impl/OrderServiceImpl.java
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
View file @
a2ae948
...
...
@@ -577,13 +577,7 @@ public class OrderServiceRpcClient {
.
addAllDoctors
(
createOrderDto
.
getCustomerNoticeJson
().
getDoctors
())
.
build
();
final
var
menuById
=
menuServiceRpcClient
.
getMenuById
(
createOrderDto
.
getEnterpriseId
(),
createOrderDto
.
getMenuId
());
OrderStatusEnum
orderStatus
=
OrderStatusEnum
.
TO_PREPARE
;
if
(
createOrderDto
.
getOnlinePay
()
!=
OnlinePayEnum
.
ONLINE
)
{
var
orderRuleJson
=
menuById
.
getResponse
().
getOrderRuleJson
();
if
(
orderRuleJson
.
getModeOfPayment
()
!=
ModeOfPaymentEnum
.
ONLINE
&&
orderRuleJson
.
getCloseTimeType
()
==
CloseTimeTypeEnum
.
IMMEDIATELY
)
{
orderStatus
=
OrderStatusEnum
.
PREPARING
;
}
}
OrderStatusEnum
orderStatus
=
OrderStatusEnum
.
PREPARING
;
final
var
creation
=
ClientCustomerOrderCreation
.
newBuilder
()
.
setShouldCreateCustomerId
(
createOrderDto
.
getShouldCreateCustomerId
())
.
setShouldCreateCustomerId
(
true
).
setCustomerId
(
createOrderDto
.
getCustomerId
())
...
...
@@ -599,7 +593,7 @@ public class OrderServiceRpcClient {
.
setMenuId
(
createOrderDto
.
getMenuId
())
.
setTotalNum
(
createOrderDto
.
getTotalNum
())
.
setShouldCreatePayPrice
(
createOrderDto
.
getOnlinePay
()
==
OnlinePayEnum
.
LEAVE_HOSPITAL
).
setPayPrice
(
createOrderDto
.
getPayPrice
())
.
setMealTime
(
createOrderDto
.
getMealTime
().
toLocalDate
().
atStartOfDay
(
).
toInstant
(
ZoneOffset
.
UTC
).
toEpochMilli
())
.
setMealTime
(
createOrderDto
.
getMealTime
().
toLocalDate
().
atStartOfDay
(
DateUtil
.
CHINA_ZONE
).
toInstant
(
).
toEpochMilli
())
.
setShouldCreatePickupCode
(
createOrderDto
.
getCloseTimeType
().
equals
(
CloseTimeType
.
IMMEDIATELY
)).
setPickupCode
(
generatePickupCode
())
.
setShouldCreateOrderType
(
true
).
setOrderType
(
menuById
.
getResponse
().
getOrderRuleJson
().
getCloseTimeType
()
==
CloseTimeTypeEnum
.
RESERVATION
?
OrderTypeEnum
.
DELIVERY
:
OrderTypeEnum
.
DINE_IN
)
.
setShouldCreateRemark
(
true
).
setRemark
(
createOrderDto
.
getRemark
())
...
...
src/main/java/com/infoloop/tianting/service/client/PayServiceClient.java
View file @
a2ae948
...
...
@@ -54,6 +54,7 @@ import java.net.URLEncoder;
import
java.nio.charset.StandardCharsets
;
import
java.text.MessageFormat
;
import
java.text.ParseException
;
import
java.time.Instant
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
...
...
@@ -161,6 +162,7 @@ public class PayServiceClient {
log
.
error
(
"Order not found, orderId: {}"
,
orderId
);
return
false
;
}
log
.
info
(
"Order callback, orderId: {}"
,
orderId
);
final
var
transType
=
paymentCallbackResult
.
getTransType
();
if
(
transType
.
equals
(
"00"
))
{
...
...
@@ -205,12 +207,20 @@ public class PayServiceClient {
orderServiceRpcClient
.
updateClientCustomerOrderPaymentResult
(
orderById
,
build
);
log
.
info
(
"callback updateClientCustomerOrder result: {}"
,
updateResponse
.
getIsUpdated
());
if
(
updateResponse
.
getIsUpdated
())
{
String
createdAt
=
Instant
.
ofEpochMilli
(
orderById
.
getCreatedAt
())
.
atZone
(
DateUtil
.
CHINA_ZONE
)
.
minusHours
(
8
)
.
format
(
DateUtil
.
Y_M_D_H_M_S
);
String
payTimed
=
Instant
.
ofEpochMilli
(
orderById
.
getPayTime
())
.
atZone
(
DateUtil
.
CHINA_ZONE
)
.
minusHours
(
8
)
.
format
(
DateUtil
.
Y_M_D_H_M_S
);
final
var
orderPaymentSuccessData
=
OrderPaymentSuccessData
.
builder
()
.
orderId
(
orderById
.
getId
())
.
orderCode
(
orderById
.
getOrderCode
())
.
createTime
(
DateUtil
.
formatDate
(
orderById
.
getCreatedAt
(),
DateUtil
.
Y_M_D_H_M_S
)
)
.
payTime
(
DateUtil
.
formatDate
(
orderById
.
getPayTime
(),
DateUtil
.
Y_M_D_H_M_S
)
)
.
createTime
(
createdAt
)
.
payTime
(
payTimed
)
.
build
();
final
var
data
=
SocketMessage
.<
OrderPaymentSuccessData
>
builder
()
...
...
@@ -340,7 +350,10 @@ public class PayServiceClient {
String
appId
=
businessConfig
.
getPayClientId
();
// 构建paycontent
String
payTime
=
DateUtil
.
formatDate
(
orderById
.
getPayTime
(),
DateUtil
.
YMDHMS
);
String
payTime
=
Instant
.
ofEpochMilli
(
orderById
.
getPayTime
())
.
atZone
(
DateUtil
.
CHINA_ZONE
)
.
minusHours
(
8
)
.
format
(
DateUtil
.
YMDHMS
);
BigDecimal
price
=
new
BigDecimal
(
orderById
.
getPayPrice
())
...
...
src/main/java/com/infoloop/tianting/service/impl/OrderServiceImpl.java
View file @
a2ae948
...
...
@@ -98,8 +98,7 @@ public class OrderServiceImpl implements OrderService {
createOrderDto
.
setCustomerId
(
operatorCreateOrderDto
.
getCustomerId
());
createOrderDto
.
setStallId
(
operatorCreateOrderDto
.
getStallId
());
createOrderDto
.
setMenuId
(
operatorCreateOrderDto
.
getMenuId
());
final
var
mealTime
=
operatorCreateOrderDto
.
getMealTime
().
toLocalDate
().
atStartOfDay
();
createOrderDto
.
setMealTime
(
mealTime
);
createOrderDto
.
setMealTime
(
operatorCreateOrderDto
.
getMealTime
().
toLocalDate
().
atStartOfDay
());
createOrderDto
.
setRemark
(
operatorCreateOrderDto
.
getRemark
());
createOrderDto
.
setCreatedBy
(
operatorLoginInfo
.
getId
());
createOrderDto
.
setClientId
(
operator
.
getClientId
());
...
...
Please
register
or
login
to post a comment