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-03-06 09:38:22 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a53d799e74547cb54ae9ab84974d360f0047b6f3
a53d799e
1 parent
3e3c58cd
fix
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
37 deletions
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
src/main/java/com/infoloop/tianting/service/impl/OrderServiceImpl.java
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
View file @
a53d799
...
...
@@ -22,10 +22,12 @@ import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrderDe
import
com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrderDetailsByOrderIdsRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersByCustomerIdRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.MealDetail
;
import
com.infoloop.tianting.clientcustomerorderservice.OnlinePayEnum
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecordCreation
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderOperationType
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum
;
import
com.infoloop.tianting.clientcustomerorderservice.OrderTypeEnum
;
import
com.infoloop.tianting.clientcustomerorderservice.PayStatusEnum
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByConditionRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.QueryClientCustomerOrdersByPaginationRpcRequest
;
...
...
@@ -524,9 +526,7 @@ public class OrderServiceRpcClient {
.
setShowName
(
orderDetailDto
.
getShowName
())
.
setPrice
(
orderDetailDto
.
getPrice
())
.
setMealDetailJson
(
mealDetail
)
// .setAdjustSkuRemark(orderDetailDto.getAdjustSkuRemark())
.
setServeStatus
(
ServeStatusEnum
.
SERVE_NOT_START
)
// .setShouldCreateAdjustSkuRemark(true)
.
setShouldCreatePrice
(
true
)
.
setShouldCreateMealDetailJson
(
true
)
.
setSkuId
(
orderDetailDto
.
getSkuId
())
...
...
@@ -537,43 +537,33 @@ public class OrderServiceRpcClient {
.
addAllAvoids
(
createOrderDto
.
getCustomerNoticeJson
().
getAvoids
())
.
addAllDoctors
(
createOrderDto
.
getCustomerNoticeJson
().
getDoctors
())
.
build
();
final
var
menuById
=
menuServiceRpcClient
.
getMenuById
(
createOrderDto
.
getEnterpriseId
(),
createOrderDto
.
getMenuId
());
OrderStatusEnum
orderStatus
=
OrderStatusEnum
.
TO_PREPARE
;
if
(
menuById
.
getResponse
().
getOrderRuleJson
().
getModeOfPayment
()
==
ModeOfPaymentEnum
.
ONLINE
&&
menuById
.
getResponse
().
getOrderRuleJson
().
getCloseTimeType
()
==
CloseTimeTypeEnum
.
IMMEDIATELY
)
{
orderStatus
=
OrderStatusEnum
.
PREPARING
;
}
final
var
creation
=
ClientCustomerOrderCreation
.
newBuilder
()
.
setShouldCreateCustomerId
(
createOrderDto
.
getShouldCreateCustomerId
())
.
setCustomerId
(
createOrderDto
.
getCustomerId
())
.
set
ShouldCreateCustomerId
(
true
).
set
CustomerId
(
createOrderDto
.
getCustomerId
())
.
setStallId
(
createOrderDto
.
getStallId
())
.
setStatus
(
orderStatus
)
.
setAddress
(
createOrderDto
.
getAddress
())
.
setClientId
(
createOrderDto
.
getClientId
())
.
setShouldCreateOpenId
(!
LoginContextHolder
.
getOpenId
().
isEmpty
())
.
setOpenId
(
LoginContextHolder
.
getOpenId
())
.
setShouldCreateRoomNo
(!
createOrderDto
.
getRoomNo
().
isEmpty
())
.
setRoomNo
(
createOrderDto
.
getRoomNo
())
.
setTableCode
(
createOrderDto
.
getTableCode
()
==
null
?
""
:
createOrderDto
.
getTableCode
())
.
setShouldCreateOnlinePay
(
true
)
.
setOnlinePay
(
createOrderDto
.
getOnlinePay
())
.
setShouldCreatePayStatus
(
true
)
.
setPayStatus
(
PayStatusEnum
.
TO_PAY
)
.
setShouldCreateOpenId
(!
LoginContextHolder
.
getOpenId
().
isEmpty
()).
setOpenId
(
LoginContextHolder
.
getOpenId
())
.
setShouldCreateRoomNo
(!
createOrderDto
.
getRoomNo
().
isEmpty
()).
setRoomNo
(
createOrderDto
.
getRoomNo
())
.
setShouldCreateTableCode
(
createOrderDto
.
getCloseTimeType
().
equals
(
CloseTimeType
.
IMMEDIATELY
)
||
StringUtils
.
isNotEmpty
(
createOrderDto
.
getTableCode
())).
setTableCode
(
createOrderDto
.
getTableCode
()
==
null
?
""
:
createOrderDto
.
getTableCode
())
.
setShouldCreateOnlinePay
(
true
).
setOnlinePay
(
createOrderDto
.
getOnlinePay
())
.
setShouldCreatePayStatus
(
true
).
setPayStatus
(
createOrderDto
.
getOnlinePay
()
==
OnlinePayEnum
.
ONLINE
||
createOrderDto
.
getOnlinePay
()
==
OnlinePayEnum
.
LEAVE_HOSPITAL
?
PayStatusEnum
.
TO_PAY
:
PayStatusEnum
.
SUCCEED
)
.
setMenuId
(
createOrderDto
.
getMenuId
())
.
setTotalNum
(
createOrderDto
.
getTotalNum
())
.
setPayPrice
(
createOrderDto
.
getPayPrice
())
.
set
ShouldCreatePayPrice
(
createOrderDto
.
getOnlinePay
()
==
OnlinePayEnum
.
LEAVE_HOSPITAL
).
set
PayPrice
(
createOrderDto
.
getPayPrice
())
.
setMealTime
(
createOrderDto
.
getMealTime
().
toLocalDate
().
atStartOfDay
().
toInstant
(
ZoneOffset
.
UTC
).
toEpochMilli
())
.
setShouldCreateTableCode
(
createOrderDto
.
getCloseTimeType
().
equals
(
CloseTimeType
.
IMMEDIATELY
)
||
StringUtils
.
isNotEmpty
(
createOrderDto
.
getTableCode
()))
.
setShouldCreatePickupCode
(
createOrderDto
.
getCloseTimeType
().
equals
(
CloseTimeType
.
IMMEDIATELY
))
.
setPickupCode
(
generatePickupCode
())
.
setShouldCreateRemark
(
true
)
.
setRemark
(
createOrderDto
.
getRemark
())
.
setShouldCreateCustomerNoticeJson
(
true
)
.
setCustomerNoticeJson
(
customerNotice
)
.
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
())
.
setShouldCreateCustomerNoticeJson
(
true
).
setCustomerNoticeJson
(
customerNotice
)
.
setCloseTimeType
(
createOrderDto
.
getCloseTimeType
())
.
setShouldCreateOrderDetails
(
true
)
.
addAllOrderDetails
(
orderDetails
)
.
setShouldCreateOrderDetails
(
true
).
addAllOrderDetails
(
orderDetails
)
.
build
();
if
(
menuById
.
getResponse
().
getOrderRuleJson
().
getCloseTimeType
()
==
CloseTimeTypeEnum
.
IMMEDIATELY
)
{
...
...
src/main/java/com/infoloop/tianting/service/impl/OrderServiceImpl.java
View file @
a53d799
...
...
@@ -103,8 +103,7 @@ public class OrderServiceImpl implements OrderService {
createOrderDto
.
setAddress
(
record
.
getDepartmentName
()
+
record
.
getRoomNo
());
createOrderDto
.
setOnlinePay
(
createOrderDto
.
getOnlinePay
());
createOrderDto
.
setPayPrice
(
0
);
final
var
menu
=
menuServiceRpcClient
.
getMenuById
(
operator
.
getEnterpriseId
(),
createOrderDto
.
getMenuId
()).
getResponse
();
final
var
menu
=
menuServiceRpcClient
.
getMenuById
(
operator
.
getEnterpriseId
(),
createOrderDto
.
getMenuId
()).
getResponse
();
final
var
placeOrderCount
=
menu
.
getOrderRuleJson
().
getPlaceOrderCount
();
if
(
placeOrderCount
!=
0
&&
menuOrderCount
>=
placeOrderCount
)
{
throw
ClientEndExceptions
.
OperationForbidden
.
build
(
ErrorCodeEnum
.
ORDER_COUNT_LIMIT
.
name
());
...
...
@@ -126,15 +125,13 @@ public class OrderServiceImpl implements OrderService {
final
var
labelRefs
=
clientCustomerServiceRpcClient
.
getCustomerLabelsByCustomerId
(
customer
.
getEnterpriseId
(),
customer
.
getId
()).
getResponsesList
();
final
var
labelIds
=
labelRefs
.
stream
().
map
(
SingleClientCustomerLabelRefRpcResponse:
:
getLabelId
).
collect
(
Collectors
.
toList
());
final
var
labels
=
deliveryRuleServiceRpcClient
.
GetClientLabelsByIds
(
customer
.
getEnterpriseId
(),
labelIds
).
getResponsesList
();
final
var
avoids
=
labels
.
stream
().
filter
(
l
->
l
.
getType
()
==
ClientLabelTypeEnum
.
CLIENT_LABEL_TYPE_AVOID
).
map
(
SingleClientLabelRpcResponse:
:
getName
).
collect
(
Collectors
.
toList
());
final
var
avoids
=
labels
.
stream
().
filter
(
l
->
l
.
getType
()
==
ClientLabelTypeEnum
.
CLIENT_LABEL_TYPE_AVOID
).
map
(
SingleClientLabelRpcResponse:
:
getName
).
collect
(
Collectors
.
toList
());
List
<
HisAllergy
>
hisAllergies
=
new
ArrayList
<>();
List
<
HisMedicalAdviceDto
>
origionalHisDoctors
=
new
ArrayList
<>();
if
(!
customer
.
getHISCustomerId
().
isEmpty
())
{
hisAllergies
=
meiZhongYiHeService
.
getHisCustomerAllergiesByCustomerId
(
customer
.
getHISCustomerId
());
origionalHisDoctors
=
meiZhongYiHeService
.
getHisCustomerMedicalAdvicesByContractNo
(
record
.
getContractNo
());
}
final
var
allergyCodes
=
hisAllergies
.
stream
().
map
(
HisAllergy:
:
getAllergyCode
).
collect
(
Collectors
.
toList
());
final
var
allLabels
=
deliveryRuleServiceRpcClient
.
getLabelsByTypes
(
QueryLabelsDto
.
builder
()
.
enterpriseId
(
operatorLoginInfo
.
getEnterpriseId
())
...
...
@@ -142,10 +139,8 @@ public class OrderServiceImpl implements OrderService {
.
build
());
final
var
mappingAllergies
=
allLabels
.
getResponsesList
().
stream
().
filter
(
l
->
allergyCodes
.
contains
(
l
.
getCode
())).
map
(
SingleClientLabelRpcResponse:
:
getName
).
collect
(
Collectors
.
toList
());
final
var
dietDoctors
=
origionalHisDoctors
.
stream
().
filter
(
d
->
d
.
getMedicalAdviceType
().
equals
(
MedicalAdviceTypeEnum
.
DIET
)).
map
(
HisMedicalAdviceDto:
:
getConnotation
).
collect
(
Collectors
.
toList
());
final
var
doctors
=
labels
.
stream
().
filter
(
l
->
l
.
getType
()
==
ClientLabelTypeEnum
.
CLIENT_LABEL_TYPE_DOCTOR
).
map
(
SingleClientLabelRpcResponse:
:
getName
).
collect
(
Collectors
.
toList
());
final
var
dietDoctors
=
origionalHisDoctors
.
stream
().
filter
(
d
->
d
.
getMedicalAdviceType
().
equals
(
MedicalAdviceTypeEnum
.
DIET
)).
map
(
HisMedicalAdviceDto:
:
getConnotation
).
collect
(
Collectors
.
toList
());
final
var
doctors
=
labels
.
stream
().
filter
(
l
->
l
.
getType
()
==
ClientLabelTypeEnum
.
CLIENT_LABEL_TYPE_DOCTOR
).
map
(
SingleClientLabelRpcResponse:
:
getName
).
collect
(
Collectors
.
toList
());
final
var
customerNotice
=
CustomerNotice
.
builder
()
.
avoids
(
Stream
.
of
(
avoids
,
mappingAllergies
).
flatMap
(
List:
:
stream
).
collect
(
Collectors
.
toList
()))
.
doctors
(
Stream
.
of
(
doctors
,
dietDoctors
).
flatMap
(
List:
:
stream
).
collect
(
Collectors
.
toList
()))
...
...
@@ -155,9 +150,7 @@ public class OrderServiceImpl implements OrderService {
createOrderDto
.
setUpdateSource
(
OrderSourceEnum
.
STALL
.
getNumber
());
List
<
CreateOrderDetailDto
>
orderDetailDtoList
=
new
ArrayList
<>();
final
var
menuDetails
=
menuServiceRpcClient
.
queryMenuDetailsByMenuId
(
menu
.
getEnterpriseId
(),
operatorCreateOrderDto
.
getMenuId
()).
getResponsesList
();
final
var
skuIds
=
menuDetails
.
stream
()
.
map
(
SingleMenuDetailRpcResponse:
:
getSkuId
)
.
collect
(
Collectors
.
toList
());
final
var
skuIds
=
menuDetails
.
stream
().
map
(
SingleMenuDetailRpcResponse:
:
getSkuId
).
collect
(
Collectors
.
toList
());
final
var
rpcSkus
=
skuServiceRpcClient
.
getDishSkusByIds
(
skuIds
).
getResponseList
();
Integer
totalSkuCount
=
0
;
for
(
OperatorCreateOrderDetailDto
orderDetail
:
operatorCreateOrderDto
.
getOrderDetailDtos
())
{
...
...
@@ -206,7 +199,6 @@ public class OrderServiceImpl implements OrderService {
}
createOrderDto
.
setOrderDetailDtos
(
orderDetailDtoList
);
createOrderDto
.
setTotalNum
(
totalSkuCount
);
// createOrderDto.setPayPrice();
return
orderServiceRpcClient
.
createOrder
(
createOrderDto
);
}
...
...
Please
register
or
login
to post a comment