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-05-06 10:49:57 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
973ce8280326427eeb64dcc0d90b16c056b2b014
973ce828
1 parent
840a3e47
fix(service): 修复创建 diner时的逻辑错误
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
34 deletions
src/main/java/com/infoloop/tianting/service/impl/DinerServiceImpl.java
src/main/java/com/infoloop/tianting/service/impl/DinerServiceImpl.java
View file @
973ce82
...
...
@@ -4,7 +4,6 @@ import com.infoloop.tianting.clientinventoryservice.SingleClientRpcResponse;
import
com.infoloop.tianting.context.LoginContextHolder
;
import
com.infoloop.tianting.exception.ClientEndExceptions
;
import
com.infoloop.tianting.exception.ErrorCodeEnum
;
import
com.infoloop.tianting.mealorderservice.DinerCreation
;
import
com.infoloop.tianting.mealorderservice.DinerModification
;
import
com.infoloop.tianting.mealorderservice.MpAccountDinerRefCreation
;
import
com.infoloop.tianting.mealorderservice.SingleDinerRpcResponse
;
...
...
@@ -75,45 +74,30 @@ public class DinerServiceImpl implements DinerService {
}
final
var
singleClientRpcResponse
=
clientsByCodes
.
get
(
0
);
final
var
diners
=
mealOrderServiceRpcClient
.
queryDinersByCondition
(
loginInfo
.
getEnterpriseId
(),
List
.
of
(
singleClientRpcResponse
.
getId
()),
List
.
of
(
createDinerDTO
.
getClassId
()),
createDinerDTO
.
getStudentNo
());
if
(!
diners
.
isEmpty
())
{
if
(
diners
.
size
()
!=
1
)
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_NOT_FOUND
);
}
final
var
diner
=
diners
.
get
(
0
);
if
(!
diner
.
getName
().
equals
(
createDinerDTO
.
getName
()))
{
log
.
info
(
"createMpAccountDiner dinerId:{} name:{}, createName:{}"
,
diner
.
getId
(),
diner
.
getName
(),
createDinerDTO
.
getName
());
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_NAME_STUDENT_NO_NOT_MISMATCH
);
}
final
int
dinerId
=
diner
.
getId
();
final
var
mpAccountDinerRefs
=
mealOrderServiceRpcClient
.
queryMpAccountDinerRefsByCondition
(
loginInfo
.
getEnterpriseId
(),
List
.
of
(
loginInfo
.
getId
()),
List
.
of
(
dinerId
));
if
(!
mpAccountDinerRefs
.
isEmpty
())
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_ALREADY_EXISTS
);
}
else
{
final
var
mpAccountDinerRefCreation
=
MpAccountDinerRefCreation
.
newBuilder
()
.
setDinerId
(
dinerId
)
.
setAccountId
(
loginInfo
.
getId
())
.
build
();
final
var
mpAccountDinerRef
=
mealOrderServiceRpcClient
.
createMpAccountDinerRef
(
loginInfo
,
mpAccountDinerRefCreation
);
log
.
info
(
"createMpAccountDiner dinerId:{} mpAccountDinerRefId:{}"
,
dinerId
,
mpAccountDinerRef
.
getId
());
return
CreatedResult
.<
DinerVO
>
builder
().
id
(
dinerId
).
isCreated
(
mpAccountDinerRef
.
getIsCreated
()).
build
();
}
if
(
diners
.
isEmpty
())
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_NOT_FOUND
);
}
final
var
dinerCreation
=
DinerCreation
.
newBuilder
()
.
setClientId
(
singleClientRpcResponse
.
getId
())
.
setClassId
(
createDinerDTO
.
getClassId
())
.
setStudentNo
(
createDinerDTO
.
getStudentNo
())
.
setName
(
createDinerDTO
.
getName
())
.
build
();
final
var
dinerResponse
=
mealOrderServiceRpcClient
.
createDiner
(
loginInfo
,
dinerCreation
);
if
(
dinerResponse
.
getIsCreated
())
{
if
(
diners
.
size
()
!=
1
)
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_NOT_FOUND
);
}
final
var
diner
=
diners
.
get
(
0
);
if
(!
diner
.
getName
().
equals
(
createDinerDTO
.
getName
()))
{
log
.
info
(
"createMpAccountDiner dinerId:{} name:{}, createName:{}"
,
diner
.
getId
(),
diner
.
getName
(),
createDinerDTO
.
getName
());
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_NAME_STUDENT_NO_NOT_MISMATCH
);
}
final
int
dinerId
=
diner
.
getId
();
final
var
mpAccountDinerRefs
=
mealOrderServiceRpcClient
.
queryMpAccountDinerRefsByCondition
(
loginInfo
.
getEnterpriseId
(),
List
.
of
(
loginInfo
.
getId
()),
List
.
of
(
dinerId
));
if
(!
mpAccountDinerRefs
.
isEmpty
())
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_ALREADY_EXISTS
);
}
else
{
final
var
mpAccountDinerRefCreation
=
MpAccountDinerRefCreation
.
newBuilder
()
.
setDinerId
(
diner
Response
.
getId
()
)
.
setDinerId
(
diner
Id
)
.
setAccountId
(
loginInfo
.
getId
())
.
build
();
final
var
mpAccountDinerRef
=
mealOrderServiceRpcClient
.
createMpAccountDinerRef
(
loginInfo
,
mpAccountDinerRefCreation
);
log
.
info
(
"createMpAccountDiner dinerId:{} mpAccountDinerRefId:{}"
,
dinerResponse
.
getId
(),
mpAccountDinerRef
.
getId
());
log
.
info
(
"createMpAccountDiner dinerId:{} mpAccountDinerRefId:{}"
,
dinerId
,
mpAccountDinerRef
.
getId
());
return
CreatedResult
.<
DinerVO
>
builder
().
id
(
dinerId
).
isCreated
(
mpAccountDinerRef
.
getIsCreated
()).
build
();
}
return
CreatedResult
.<
DinerVO
>
builder
().
id
(
dinerResponse
.
getId
()).
isCreated
(
dinerResponse
.
getIsCreated
()).
build
();
}
@Override
...
...
Please
register
or
login
to post a comment