zhuyifan

feat(meal-order): 添加删除毕业生方法IdsRpcResponse 消息结构

...@@ -32,6 +32,8 @@ import com.infoloop.tianting.mealorderservice.DeleteGradeClassesAndDinersByClien ...@@ -32,6 +32,8 @@ import com.infoloop.tianting.mealorderservice.DeleteGradeClassesAndDinersByClien
32 import com.infoloop.tianting.mealorderservice.DeleteGradeClassesAndDinersByClientIdsRpcResponse; 32 import com.infoloop.tianting.mealorderservice.DeleteGradeClassesAndDinersByClientIdsRpcResponse;
33 import com.infoloop.tianting.mealorderservice.DeleteGradeClassesByIdsRpcRequest; 33 import com.infoloop.tianting.mealorderservice.DeleteGradeClassesByIdsRpcRequest;
34 import com.infoloop.tianting.mealorderservice.DeleteGradeClassesRpcResponse; 34 import com.infoloop.tianting.mealorderservice.DeleteGradeClassesRpcResponse;
35 +import com.infoloop.tianting.mealorderservice.DeleteGraduationDinersByClassIdsRpcRequest;
36 +import com.infoloop.tianting.mealorderservice.DeleteGraduationDinersByClassIdsRpcResponse;
35 import com.infoloop.tianting.mealorderservice.DeleteMealOrdersByIdsRpcRequest; 37 import com.infoloop.tianting.mealorderservice.DeleteMealOrdersByIdsRpcRequest;
36 import com.infoloop.tianting.mealorderservice.DeleteMealOrdersRpcResponse; 38 import com.infoloop.tianting.mealorderservice.DeleteMealOrdersRpcResponse;
37 import com.infoloop.tianting.mealorderservice.DeleteMpAccountDinerRefsByIdsRpcRequest; 39 import com.infoloop.tianting.mealorderservice.DeleteMpAccountDinerRefsByIdsRpcRequest;
...@@ -1059,6 +1061,33 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi ...@@ -1059,6 +1061,33 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
1059 } 1061 }
1060 1062
1061 @Override 1063 @Override
1064 + @DS(DATA_SOURCE_MASTER)
1065 + @Transactional(rollbackFor = Exception.class)
1066 + public void deleteGraduationDinersByClassIds(final DeleteGraduationDinersByClassIdsRpcRequest request,
1067 + final StreamObserver<DeleteGraduationDinersByClassIdsRpcResponse> responseObserver) {
1068 + final var builder = DeleteGraduationDinersByClassIdsRpcResponse.newBuilder();
1069 + try {
1070 + final var enterpriseId = request.getEnterpriseId();
1071 + final var classIds = request.getClassIdsList();
1072 + if (classIds.isEmpty()) {
1073 + builder.setIsDeleted(false);
1074 + responseObserver.onNext(builder.build());
1075 + responseObserver.onCompleted();
1076 + return;
1077 + }
1078 + final var diners = dinerService.list(Wrappers.<Diner>lambdaQuery().eq(Diner::getEnterpriseId, enterpriseId).in(!classIds.isEmpty(), Diner::getClassId, classIds));
1079 + boolean dinerRemoved = dinerService.remove(Wrappers.<Diner>lambdaQuery().eq(Diner::getEnterpriseId, enterpriseId).in(!classIds.isEmpty(), Diner::getClassId, classIds));
1080 + boolean refRemoved = diners.isEmpty() || mpAccountDinerRefService.remove(Wrappers.<MpAccountDinerRef>lambdaQuery().eq(MpAccountDinerRef::getEnterpriseId, enterpriseId).in(MpAccountDinerRef::getDinerId, diners.stream().map(Diner::getId).collect(Collectors.toList())));
1081 + builder.setIsDeleted(dinerRemoved && refRemoved);
1082 + } catch (final Exception e) {
1083 + log.error("deleteGraduationDinersByClassIds error;", e);
1084 + responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
1085 + }
1086 + responseObserver.onNext(builder.build());
1087 + responseObserver.onCompleted();
1088 + }
1089 +
1090 + @Override
1062 @DS(DATA_SOURCE_SLAVE) 1091 @DS(DATA_SOURCE_SLAVE)
1063 public void getMealMenuRecordById(final GetMealMenuRecordByIdRpcRequest request, 1092 public void getMealMenuRecordById(final GetMealMenuRecordByIdRpcRequest request,
1064 final StreamObserver<GetMealMenuRecordByIdRpcResponse> responseObserver) { 1093 final StreamObserver<GetMealMenuRecordByIdRpcResponse> responseObserver) {
......
...@@ -31,6 +31,7 @@ service MealOrderServiceRpc { ...@@ -31,6 +31,7 @@ service MealOrderServiceRpc {
31 rpc UpdateDiner (UpdateDinerRpcRequest) returns (UpdateDinerRpcResponse) {} 31 rpc UpdateDiner (UpdateDinerRpcRequest) returns (UpdateDinerRpcResponse) {}
32 rpc BatchSaveOrUpdateDiners (BatchSaveOrUpdateDinersRpcRequest) returns (BatchSaveOrUpdateDinersRpcResponse) {} 32 rpc BatchSaveOrUpdateDiners (BatchSaveOrUpdateDinersRpcRequest) returns (BatchSaveOrUpdateDinersRpcResponse) {}
33 rpc DeleteDinersByIds (DeleteDinersByIdsRpcRequest) returns (DeleteDinersRpcResponse) {} 33 rpc DeleteDinersByIds (DeleteDinersByIdsRpcRequest) returns (DeleteDinersRpcResponse) {}
34 + rpc DeleteGraduationDinersByClassIds (DeleteGraduationDinersByClassIdsRpcRequest) returns (DeleteGraduationDinersByClassIdsRpcResponse) {}
34 35
35 rpc GetMpAccountDinerRefsByIds (GetMpAccountDinerRefsByIdsRpcRequest) returns (GetMpAccountDinerRefsByIdsRpcResponse) {} 36 rpc GetMpAccountDinerRefsByIds (GetMpAccountDinerRefsByIdsRpcRequest) returns (GetMpAccountDinerRefsByIdsRpcResponse) {}
36 rpc QueryMpAccountDinerRefsByCondition (QueryMpAccountDinerRefsByConditionRpcRequest) returns (QueryMpAccountDinerRefsByConditionRpcResponse) {} 37 rpc QueryMpAccountDinerRefsByCondition (QueryMpAccountDinerRefsByConditionRpcRequest) returns (QueryMpAccountDinerRefsByConditionRpcResponse) {}
...@@ -358,6 +359,17 @@ message DeleteDinersRpcResponse { ...@@ -358,6 +359,17 @@ message DeleteDinersRpcResponse {
358 bool isDeleted = 1; 359 bool isDeleted = 1;
359 } 360 }
360 361
362 +message DeleteGraduationDinersByClassIdsRpcRequest {
363 + repeated int32 classIds = 1;
364 + int32 enterpriseId = 2;
365 + int32 updatedBy = 3;
366 + int32 updateSource = 4;
367 +}
368 +
369 +message DeleteGraduationDinersByClassIdsRpcResponse {
370 + bool isDeleted = 1;
371 +}
372 +
361 enum MpAccountGenderEnum { 373 enum MpAccountGenderEnum {
362 MP_ACCOUNT_GENDER_MAN = 0; 374 MP_ACCOUNT_GENDER_MAN = 0;
363 MP_ACCOUNT_GENDER_WOMAN = 1; 375 MP_ACCOUNT_GENDER_WOMAN = 1;
......