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
63c72bf70253274ab45c5588cbbdc4666bece306
63c72bf7
1 parent
840a3e47
fix(service): 修复创建 diner时的逻辑错误
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
19 additions
and
39 deletions
src/main/java/com/infoloop/tianting/controller/DinerController.java
src/main/java/com/infoloop/tianting/model/dto/DinerDTO.java
src/main/java/com/infoloop/tianting/service/DinerService.java
src/main/java/com/infoloop/tianting/service/impl/DinerServiceImpl.java
src/main/java/com/infoloop/tianting/service/impl/MealOrderServiceImpl.java
src/main/java/com/infoloop/tianting/controller/DinerController.java
View file @
63c72bf
...
...
@@ -67,12 +67,12 @@ public class DinerController {
}
@ApiOperation
(
value
=
"根据学校,班级和学号查询就餐人"
)
@PostMapping
(
"/client/{clientId}/gradeclass/{gradeClassId}/diner"
)
@PostMapping
(
"/client/{clientId}/gradeclass/{gradeClassId}/diner
s
"
)
@ResponseStatus
(
HttpStatus
.
OK
)
public
DinerVO
getClientClassDiner
(
@RequestAttribute
(
INJECTED_CLIENT
)
final
SingleClientRpcResponse
client
,
public
List
<
DinerVO
>
getClientClassDiners
(
@RequestAttribute
(
INJECTED_CLIENT
)
final
SingleClientRpcResponse
client
,
@RequestAttribute
(
INJECTED_GRADE_CLASS
)
final
SingleGradeClassRpcResponse
gradeClass
,
@RequestBody
@Valid
final
DinerDTO
.
QueryUniqueDinerDTO
queryUniqueDinerDTO
)
{
return
dinerService
.
getClientClassDiner
(
client
,
gradeClass
,
queryUniqueDinerDTO
.
getStudentNo
());
return
dinerService
.
getClientClassDiner
s
(
client
,
gradeClass
,
queryUniqueDinerDTO
.
getStudentNo
());
}
@ApiOperation
(
value
=
"修改就餐人"
)
...
...
src/main/java/com/infoloop/tianting/model/dto/DinerDTO.java
View file @
63c72bf
...
...
@@ -17,7 +17,6 @@ public class DinerDTO {
public
static
class
QueryUniqueDinerDTO
{
@ApiModelProperty
(
value
=
"学号"
)
@NotEmpty
(
message
=
"学号不能为空"
)
private
String
studentNo
;
}
...
...
src/main/java/com/infoloop/tianting/service/DinerService.java
View file @
63c72bf
...
...
@@ -22,5 +22,5 @@ public interface DinerService {
void
deleteMpAccountDiner
(
SingleDinerRpcResponse
diner
);
DinerVO
getClientClassDiner
(
SingleClientRpcResponse
client
,
SingleGradeClassRpcResponse
gradeClass
,
String
studentNo
);
List
<
DinerVO
>
getClientClassDiners
(
SingleClientRpcResponse
client
,
SingleGradeClassRpcResponse
gradeClass
,
String
studentNo
);
}
...
...
src/main/java/com/infoloop/tianting/service/impl/DinerServiceImpl.java
View file @
63c72bf
...
...
@@ -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,7 +74,9 @@ 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
.
isEmpty
())
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_NOT_FOUND
);
}
if
(
diners
.
size
()
!=
1
)
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
DINER_NOT_FOUND
);
}
...
...
@@ -98,23 +99,6 @@ public class DinerServiceImpl implements DinerService {
return
CreatedResult
.<
DinerVO
>
builder
().
id
(
dinerId
).
isCreated
(
mpAccountDinerRef
.
getIsCreated
()).
build
();
}
}
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
())
{
final
var
mpAccountDinerRefCreation
=
MpAccountDinerRefCreation
.
newBuilder
()
.
setDinerId
(
dinerResponse
.
getId
())
.
setAccountId
(
loginInfo
.
getId
())
.
build
();
final
var
mpAccountDinerRef
=
mealOrderServiceRpcClient
.
createMpAccountDinerRef
(
loginInfo
,
mpAccountDinerRefCreation
);
log
.
info
(
"createMpAccountDiner dinerId:{} mpAccountDinerRefId:{}"
,
dinerResponse
.
getId
(),
mpAccountDinerRef
.
getId
());
}
return
CreatedResult
.<
DinerVO
>
builder
().
id
(
dinerResponse
.
getId
()).
isCreated
(
dinerResponse
.
getIsCreated
()).
build
();
}
@Override
public
List
<
GradeClassVO
>
getClientGradeClasses
(
SingleClientRpcResponse
client
)
{
...
...
@@ -164,23 +148,20 @@ public class DinerServiceImpl implements DinerService {
}
@Override
public
DinerVO
getClientClassDiner
(
SingleClientRpcResponse
client
,
SingleGradeClassRpcResponse
gradeClass
,
String
studentNo
)
{
public
List
<
DinerVO
>
getClientClassDiners
(
SingleClientRpcResponse
client
,
SingleGradeClassRpcResponse
gradeClass
,
String
studentNo
)
{
final
var
loginInfo
=
LoginContextHolder
.
getLoginInfo
();
final
var
diner
=
mealOrderServiceRpcClient
.
queryDinersByCondition
(
loginInfo
.
getEnterpriseId
(),
List
.
of
(
client
.
getId
()),
List
.
of
(
gradeClass
.
getId
()),
studentNo
);
if
(
diner
.
size
()
!=
1
)
{
return
null
;
}
return
DinerVO
.
builder
()
.
id
(
diner
.
get
(
0
).
getId
())
.
enterpriseId
(
diner
.
get
(
0
).
getEnterpriseId
())
.
clientId
(
diner
.
get
(
0
).
getClientId
())
final
var
diners
=
mealOrderServiceRpcClient
.
queryDinersByCondition
(
loginInfo
.
getEnterpriseId
(),
List
.
of
(
client
.
getId
()),
List
.
of
(
gradeClass
.
getId
()),
studentNo
);
return
diners
.
stream
().
map
(
diner
->
DinerVO
.
builder
()
.
id
(
diner
.
getId
())
.
enterpriseId
(
diner
.
getEnterpriseId
())
.
clientId
(
diner
.
getClientId
())
.
clientCode
(
client
.
getCode
())
.
clientName
(
client
.
getName
())
.
classId
(
diner
.
get
(
0
).
get
ClassId
())
.
classId
(
diner
.
getClassId
())
.
gradeName
(
gradeClass
.
getGradeName
())
.
className
(
gradeClass
.
getClassName
())
.
studentNo
(
diner
.
get
(
0
).
get
StudentNo
())
.
name
(
diner
.
get
(
0
).
get
Name
())
.
build
();
.
studentNo
(
diner
.
getStudentNo
())
.
name
(
diner
.
getName
())
.
build
()
).
toList
()
;
}
}
...
...
src/main/java/com/infoloop/tianting/service/impl/MealOrderServiceImpl.java
View file @
63c72bf
...
...
@@ -95,7 +95,7 @@ public class MealOrderServiceImpl implements MealOrderService {
}
final
var
latestMealMenuRecords
=
mealOrderServiceRpcClient
.
queryLatestMealMenuRecordsByClientIds
(
loginInfo
.
getEnterpriseId
(),
Collections
.
singletonList
(
dinerById
.
getClientId
()));
if
(
latestMealMenuRecords
.
isEmpty
())
{
throw
ClientEndExceptions
.
IncorrectRequestValue
.
build
(
ErrorCodeEnum
.
MEAL_MENU_NOT_FOUND
);
//
throw ClientEndExceptions.IncorrectRequestValue.build(ErrorCodeEnum.MEAL_MENU_NOT_FOUND);
}
final
var
reserveDinerMealOrders
=
mealOrderServiceRpcClient
.
queryReserveMealOrdersByDinerIds
(
loginInfo
.
getEnterpriseId
(),
Collections
.
singletonList
(
createMealOrderDTO
.
getDinerId
()));
if
(!
reserveDinerMealOrders
.
isEmpty
())
{
...
...
@@ -103,7 +103,7 @@ public class MealOrderServiceImpl implements MealOrderService {
}
final
var
mealOrder
=
mealOrderServiceRpcClient
.
createMealOrder
(
loginInfo
,
MealOrderCreation
.
newBuilder
()
.
setClientId
(
dinerById
.
getClientId
())
.
setMenuId
(
latestMealMenuRecords
.
get
(
0
).
getId
())
.
setMenuId
(
latestMealMenuRecords
.
isEmpty
()
?
0
:
latestMealMenuRecords
.
get
(
0
).
getId
())
.
setAccountId
(
loginInfo
.
getId
())
.
setOrderMethod
(
MealOrderOrderMethodEnum
.
MEAL_ORDER_METHOD_MICRO
)
.
setDinerId
(
createMealOrderDTO
.
getDinerId
())
...
...
Please
register
or
login
to post a comment