Showing
2 changed files
with
41 additions
and
0 deletions
| ... | @@ -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; | ... | ... |
-
Please register or login to post a comment