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
wangyingyang
2024-11-08 14:07:19 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5c23b8cc8345ae43091835bc382241b1fc550253
5c23b8cc
1 parent
5b10e658
update order
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
87 additions
and
79 deletions
src/main/java/com/infoloop/tianting/model/dto/PermissionDTO.java
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
src/main/java/com/infoloop/tianting/service/impl/LoginServiceImpl.java
src/main/proto/ClientCustomerOrderService.proto
src/main/java/com/infoloop/tianting/model/dto/PermissionDTO.java
View file @
5c23b8c
...
...
@@ -14,7 +14,12 @@ public class PermissionDTO {
@ApiModel
(
description
=
"Login DTO"
)
public
static
class
LoginDto
{
private
LoginSourceEnum
loginSourceEnum
;
private
boolean
shouldLoginWithHisCustomerId
;
private
String
hisCustomerId
;
private
boolean
shouldLoginWithCustomerId
;
private
Integer
customerId
;
private
boolean
shouldLoginWithOpenId
;
private
String
openId
;
}
}
...
...
src/main/java/com/infoloop/tianting/service/client/OrderServiceRpcClient.java
View file @
5c23b8c
package
com
.
infoloop
.
tianting
.
service
.
client
;
import
com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderAndDetailsRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderAndDetailsRpcResponse
;
//
import com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderAndDetailsRpcRequest;
//
import com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderAndDetailsRpcResponse;
import
com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderDetailsRpcRequest
;
import
com.infoloop.tianting.clientcustomerorderservice.BatchCreateClientCustomerOrderDetailsRpcResponse
;
import
com.infoloop.tianting.clientcustomerorderservice.ClientCustomerOrderCreation
;
...
...
@@ -65,41 +65,6 @@ public class OrderServiceRpcClient {
// }
public
CreateOrderResponse
createOrder
(
CreateOrderDto
createOrderDto
)
{
final
var
customerNotice
=
CustomerNotice
.
newBuilder
()
.
addAllAvoids
(
createOrderDto
.
getCustomerNoticeJson
().
getAvoids
())
.
addAllDoctors
(
createOrderDto
.
getCustomerNoticeJson
().
getDoctors
())
.
build
();
final
var
creation
=
ClientCustomerOrderCreation
.
newBuilder
()
.
setShouldCreateCustomerId
(
true
)
.
setCustomerId
(
createOrderDto
.
getCustomerId
())
.
setStallId
(
createOrderDto
.
getStallId
())
.
setAddress
(
createOrderDto
.
getAddress
())
.
setClientId
(
createOrderDto
.
getClientId
())
.
setShouldCreateOpenId
(!
createOrderDto
.
getOpenId
().
isEmpty
())
.
setOpenId
(
createOrderDto
.
getOpenId
())
.
setShouldCreateRoomNo
(!
createOrderDto
.
getRoomNo
().
isEmpty
())
.
setRoomNo
(
createOrderDto
.
getRoomNo
())
.
setShouldCreateTableCode
(
createOrderDto
.
getOrderType
().
equals
(
OrderTypeEnum
.
DINE_IN
.
getValue
()))
.
setTableCode
(
createOrderDto
.
getTableCode
())
.
setOnlinePay
(
createOrderDto
.
getOnlinePay
())
.
setMenuId
(
createOrderDto
.
getMenuId
())
.
setTotalNum
(
createOrderDto
.
getTotalNum
())
.
setPayPrice
(
createOrderDto
.
getPayPrice
())
.
setMealTime
(
createOrderDto
.
getMealTime
().
toInstant
(
ZoneOffset
.
UTC
).
toEpochMilli
())
.
setShouldCreatePickupCode
(
createOrderDto
.
getOrderType
().
equals
(
OrderTypeEnum
.
DINE_IN
.
getValue
()))
.
setPickupCode
(
createOrderDto
.
getPickupCode
())
.
setRemark
(
createOrderDto
.
getRemark
())
.
setCustomerNoticeJson
(
customerNotice
)
.
build
();
CreateClientCustomerOrderRpcResponse
orderResponse
=
orderServiceRpcBlockingStub
.
createClientCustomerOrder
(
CreateClientCustomerOrderRpcRequest
.
newBuilder
()
.
setCreation
(
creation
)
.
setCreationSource
(
OrderSourceEnum
.
forNumber
(
createOrderDto
.
getCreationSource
()))
.
setEnterpriseId
(
createOrderDto
.
getEnterpriseId
())
.
setCreatedBy
(
createOrderDto
.
getCreatedBy
())
.
build
());
final
var
orderDetails
=
new
ArrayList
<
ClientCustomerOrderDetailCreation
>();
for
(
CreateOrderDetailDto
orderDetailDto:
createOrderDto
.
getOrderDetailDtos
())
{
final
var
mealDetail
=
MealDetail
.
newBuilder
()
...
...
@@ -116,8 +81,9 @@ public class OrderServiceRpcClient {
.
addAllSkus
(
orderDetailDto
.
getMealDetailJson
().
getSkus
())
.
build
();
final
var
orderDetail
=
ClientCustomerOrderDetailCreation
.
newBuilder
()
.
setOrderId
(
orderResponse
.
getId
())
.
setMenuDetailId
(
orderDetailDto
.
getMenuDetailId
())
.
setShouldCreateOrderId
(
false
)
.
setOrderId
(
0
)
.
setCount
(
orderDetailDto
.
getCount
())
.
setMealId
(
orderDetailDto
.
getMealId
())
.
setCategoryId
(
orderDetailDto
.
getCategoryId
())
...
...
@@ -134,12 +100,48 @@ public class OrderServiceRpcClient {
.
build
();
orderDetails
.
add
(
orderDetail
);
}
BatchCreateClientCustomerOrderDetailsRpcResponse
orderDetailsRpcResponse
=
orderServiceRpcBlockingStub
.
batchCreateClientCustomerOrderDetails
(
BatchCreateClientCustomerOrderDetailsRpcRequest
.
newBuilder
()
.
addAllCreations
(
orderDetails
)
.
setCreatedBy
(
createOrderDto
.
getCreatedBy
())
final
var
customerNotice
=
CustomerNotice
.
newBuilder
()
.
addAllAvoids
(
createOrderDto
.
getCustomerNoticeJson
().
getAvoids
())
.
addAllDoctors
(
createOrderDto
.
getCustomerNoticeJson
().
getDoctors
())
.
build
();
final
var
creation
=
ClientCustomerOrderCreation
.
newBuilder
()
.
setShouldCreateCustomerId
(
true
)
.
setCustomerId
(
createOrderDto
.
getCustomerId
())
.
setStallId
(
createOrderDto
.
getStallId
())
.
setAddress
(
createOrderDto
.
getAddress
())
.
setClientId
(
createOrderDto
.
getClientId
())
.
setShouldCreateOpenId
(!
createOrderDto
.
getOpenId
().
isEmpty
())
.
setOpenId
(
createOrderDto
.
getOpenId
())
.
setShouldCreateRoomNo
(!
createOrderDto
.
getRoomNo
().
isEmpty
())
.
setRoomNo
(
createOrderDto
.
getRoomNo
())
.
setShouldCreateTableCode
(
createOrderDto
.
getOrderType
().
equals
(
OrderTypeEnum
.
DINE_IN
.
getValue
()))
.
setTableCode
(
createOrderDto
.
getTableCode
())
.
setOnlinePay
(
createOrderDto
.
getOnlinePay
())
.
setMenuId
(
createOrderDto
.
getMenuId
())
.
setTotalNum
(
createOrderDto
.
getTotalNum
())
.
setPayPrice
(
createOrderDto
.
getPayPrice
())
.
setMealTime
(
createOrderDto
.
getMealTime
().
toInstant
(
ZoneOffset
.
UTC
).
toEpochMilli
())
.
setShouldCreatePickupCode
(
createOrderDto
.
getOrderType
().
equals
(
OrderTypeEnum
.
DINE_IN
.
getValue
()))
.
setPickupCode
(
createOrderDto
.
getPickupCode
())
.
setRemark
(
createOrderDto
.
getRemark
())
.
setCustomerNoticeJson
(
customerNotice
)
.
setShouldCreateOrderDetails
(
true
)
.
addAllOrderDetails
(
orderDetails
)
.
build
();
CreateClientCustomerOrderRpcResponse
orderResponse
=
orderServiceRpcBlockingStub
.
createClientCustomerOrder
(
CreateClientCustomerOrderRpcRequest
.
newBuilder
()
.
setCreation
(
creation
)
.
setCreationSource
(
OrderSourceEnum
.
forNumber
(
createOrderDto
.
getCreationSource
()))
.
setEnterpriseId
(
createOrderDto
.
getEnterpriseId
())
.
setCreationSource
(
OrderSourceEnum
.
forNumber
(
createOrderDto
.
getCreationSource
())).
build
());
.
setCreatedBy
(
createOrderDto
.
getCreatedBy
())
.
build
());
// BatchCreateClientCustomerOrderDetailsRpcResponse orderDetailsRpcResponse = orderServiceRpcBlockingStub.batchCreateClientCustomerOrderDetails(
// BatchCreateClientCustomerOrderDetailsRpcRequest.newBuilder()
// .addAllCreations(orderDetails)
// .setCreatedBy(createOrderDto.getCreatedBy())
// .setEnterpriseId(createOrderDto.getEnterpriseId())
// .setCreationSource(OrderSourceEnum.forNumber(createOrderDto.getCreationSource())).build());
return
CreateOrderResponse
.
builder
().
id
(
orderResponse
.
getId
()).
isCreated
(
true
).
build
();
}
...
...
src/main/java/com/infoloop/tianting/service/impl/LoginServiceImpl.java
View file @
5c23b8c
...
...
@@ -3,6 +3,8 @@ package com.infoloop.tianting.service.impl;
import
cn.dev33.satoken.stp.SaLoginModel
;
import
cn.dev33.satoken.stp.SaTokenInfo
;
import
cn.dev33.satoken.stp.StpUtil
;
import
com.infoloop.tianting.clientcustomerservice.GetClientCustomerByIdRpcRequest
;
import
com.infoloop.tianting.clientcustomerservice.SingleClientCustomerRpcResponse
;
import
com.infoloop.tianting.constant.CommonConstants
;
import
com.infoloop.tianting.exception.ClientEndExceptions
;
import
com.infoloop.tianting.exception.ErrorCodeEnum
;
...
...
@@ -24,16 +26,27 @@ public class LoginServiceImpl implements LoginService {
@Override
public
SaTokenInfo
login
(
LoginDto
loginDto
)
{
final
var
customer
=
clientCustomerServiceRpcClient
.
getClientCustomerByHISCustomerId
(
loginDto
.
getHisCustomerId
());
if
(
customer
.
getResponse
().
getId
()
==
0
)
{
throw
ClientEndExceptions
.
AuthenticationFailure
.
build
(
ErrorCodeEnum
.
UNAUTHORIZED
.
name
());
if
(
loginDto
.
isShouldLoginWithOpenId
())
{
return
StpUtil
.
getTokenInfo
();
}
else
{
final
SingleClientCustomerRpcResponse
customer
;
if
(
loginDto
.
isShouldLoginWithHisCustomerId
()){
customer
=
clientCustomerServiceRpcClient
.
getClientCustomerByHISCustomerId
(
loginDto
.
getHisCustomerId
()).
getResponse
();
}
else
{
customer
=
clientCustomerServiceRpcClient
.
getClientCustomerById
(
loginDto
.
getCustomerId
()).
getResponse
();
}
StpUtil
.
login
(
customer
.
getResponse
().
getId
(),
SaLoginModel
.
create
()
.
setExtra
(
CommonConstants
.
ENTERPRISE_ID
,
customer
.
getResponse
().
getEnterpriseId
())
if
(
customer
.
getId
()
==
0
)
{
throw
ClientEndExceptions
.
AuthenticationFailure
.
build
(
ErrorCodeEnum
.
UNAUTHORIZED
.
name
());
}
StpUtil
.
login
(
customer
.
getId
(),
SaLoginModel
.
create
()
.
setExtra
(
CommonConstants
.
ENTERPRISE_ID
,
customer
.
getEnterpriseId
())
.
setExtra
(
CommonConstants
.
LOGIN_SOURCE
,
loginDto
.
getLoginSourceEnum
().
getValue
())
.
build
());
return
StpUtil
.
getTokenInfo
();
}
}
}
}
...
...
src/main/proto/ClientCustomerOrderService.proto
View file @
5c23b8c
...
...
@@ -18,7 +18,6 @@ service ClientCustomerOrderServiceRpc {
rpc
UpdateClientCustomerOrder
(
UpdateClientCustomerOrderRpcRequest
)
returns
(
UpdateClientCustomerOrderRpcResponse
)
{}
rpc
BatchUpdateClientCustomerOrders
(
BatchUpdateClientCustomerOrdersRpcRequest
)
returns
(
BatchUpdateClientCustomerOrdersRpcResponse
)
{}
rpc
DeleteClientCustomerOrdersByIds
(
DeleteClientCustomerOrdersByIdsRpcRequest
)
returns
(
DeleteClientCustomerOrdersRpcResponse
)
{}
rpc
BatchCreateClientCustomerOrderAndDetails
(
BatchCreateClientCustomerOrderAndDetailsRpcRequest
)
returns
(
BatchCreateClientCustomerOrderAndDetailsRpcResponse
)
{}
//订单明细
rpc
GetClientCustomerOrderDetailById
(
GetClientCustomerOrderDetailByIdRpcRequest
)
returns
(
GetClientCustomerOrderDetailByIdRpcResponse
)
{}
...
...
@@ -232,6 +231,8 @@ message ClientCustomerOrderCreation{
bool
shouldCreateCustomerNoticeJson
=
37
;
CustomerNotice
customerNoticeJson
=
38
;
bool
isRead
=
39
;
bool
shouldCreateOrderDetails
=
40
;
repeated
ClientCustomerOrderDetailCreation
orderDetails
=
41
;
}
message
CreateClientCustomerOrderRpcRequest
{
...
...
@@ -343,20 +344,6 @@ message DeleteClientCustomerOrdersRpcResponse {
bool
isDeleted
=
1
;
}
message
BatchCreateClientCustomerOrderAndDetailsRpcRequest
{
int32
enterpriseId
=
1
;
int32
createdBy
=
2
;
OrderSourceEnum
creationSource
=
3
;
repeated
ClientCustomerOrderCreation
orderCreations
=
4
;
repeated
ClientCustomerOrderDetailCreation
detailCreations
=
5
;
}
message
BatchCreateClientCustomerOrderAndDetailsRpcResponse
{
repeated
int32
orderIds
=
1
;
bool
isCreated
=
2
;
}
message
MealDetail
{
string
basicMaterials
=
1
;
repeated
string
tastes
=
2
;
...
...
@@ -422,21 +409,22 @@ message GetClientCustomerOrderDetailsByOrderIdsRpcResponse {
}
message
ClientCustomerOrderDetailCreation
{
int32
orderId
=
1
;
int32
menuDetailId
=
2
;
int32
count
=
3
;
int32
mealId
=
4
;
int32
categoryId
=
5
;
int32
skuId
=
6
;
bool
shouldCreateShowName
=
7
;
string
showName
=
8
;
bool
shouldCreateMealDetailJson
=
9
;
MealDetail
mealDetailJson
=
10
;
bool
shouldCreatePrice
=
11
;
int32
price
=
12
;
bool
shouldCreateAdjustSkuRemark
=
13
;
string
adjustSkuRemark
=
14
;
bool
notServe
=
15
;
bool
shouldCreateOrderId
=
1
;
int32
orderId
=
2
;
int32
menuDetailId
=
3
;
int32
count
=
4
;
int32
mealId
=
5
;
int32
categoryId
=
6
;
int32
skuId
=
7
;
bool
shouldCreateShowName
=
8
;
string
showName
=
9
;
bool
shouldCreateMealDetailJson
=
10
;
MealDetail
mealDetailJson
=
11
;
bool
shouldCreatePrice
=
12
;
int32
price
=
13
;
bool
shouldCreateAdjustSkuRemark
=
14
;
string
adjustSkuRemark
=
15
;
bool
notServe
=
16
;
}
message
CreateClientCustomerOrderDetailRpcRequest
{
...
...
Please
register
or
login
to post a comment