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
1747fc8e7d7d93ed04928a877c0a3d0b2f257bec
1747fc8e
1 parent
69fd05a2
fix(service): 修复订单创建时的时区问题
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
7 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 @
1747fc8
...
...
@@ -588,7 +588,7 @@ public class OrderServiceRpcClient {
.
setShouldCreateCustomerId
(
createOrderDto
.
getShouldCreateCustomerId
())
.
setShouldCreateCustomerId
(
true
).
setCustomerId
(
createOrderDto
.
getCustomerId
())
.
setStallId
(
createOrderDto
.
getStallId
())
.
setStatus
(
orderStatus
)
.
setStatus
(
createOrderDto
.
getStatus
()
==
null
?
orderStatus
:
createOrderDto
.
getStatus
()
)
.
setAddress
(
createOrderDto
.
getAddress
())
.
setClientId
(
createOrderDto
.
getClientId
())
.
setShouldCreateOpenId
(!
LoginContextHolder
.
getOpenId
().
isEmpty
()).
setOpenId
(
LoginContextHolder
.
getOpenId
())
...
...
@@ -599,7 +599,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
())
...
...
@@ -607,6 +607,7 @@ public class OrderServiceRpcClient {
.
setCloseTimeType
(
createOrderDto
.
getCloseTimeType
())
.
setShouldCreateOrderDetails
(
true
).
addAllOrderDetails
(
orderDetails
)
.
build
();
log
.
info
(
"createOrder mealTime:{}"
,
createOrderDto
.
getMealTime
());
if
(
menuById
.
getResponse
().
getOrderRuleJson
().
getCloseTimeType
()
==
CloseTimeTypeEnum
.
IMMEDIATELY
)
{
final
var
skuIds
=
createOrderDto
.
getOrderDetailDtos
().
stream
().
map
(
CreateOrderDetailDto:
:
getSkuId
).
collect
(
Collectors
.
toList
());
...
...
src/main/java/com/infoloop/tianting/service/client/PayServiceClient.java
View file @
1747fc8
...
...
@@ -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 @
1747fc8
...
...
@@ -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
());
createOrderDto
.
setRemark
(
operatorCreateOrderDto
.
getRemark
());
createOrderDto
.
setCreatedBy
(
operatorLoginInfo
.
getId
());
createOrderDto
.
setClientId
(
operator
.
getClientId
());
...
...
Please
register
or
login
to post a comment