zhuyifan

fix

...@@ -667,7 +667,8 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi ...@@ -667,7 +667,8 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
667 final StreamObserver<BatchSaveOrUpdateDinersRpcResponse> responseObserver) { 667 final StreamObserver<BatchSaveOrUpdateDinersRpcResponse> responseObserver) {
668 final var builder = BatchSaveOrUpdateDinersRpcResponse.newBuilder(); 668 final var builder = BatchSaveOrUpdateDinersRpcResponse.newBuilder();
669 try { 669 try {
670 - final var diners = new ArrayList<Diner>(); 670 + final var saveBatch = new ArrayList<Diner>();
671 + final var updateBatch = new ArrayList<Diner>();
671 for (DinerModification modification : request.getModificationsList()) { 672 for (DinerModification modification : request.getModificationsList()) {
672 Diner diner = new Diner(); 673 Diner diner = new Diner();
673 diner.setId(modification.getId() == 0 ? null : modification.getId()); 674 diner.setId(modification.getId() == 0 ? null : modification.getId());
...@@ -690,9 +691,13 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi ...@@ -690,9 +691,13 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
690 if (modification.getShouldUpdateName()) { 691 if (modification.getShouldUpdateName()) {
691 diner.setName(modification.getName()); 692 diner.setName(modification.getName());
692 } 693 }
693 - diners.add(diner); 694 + if (modification.getId() == 0) {
695 + saveBatch.add(diner);
696 + } else {
697 + updateBatch.add(diner);
698 + }
694 } 699 }
695 - builder.setIsUpdated(dinerService.saveOrUpdateBatch(diners)); 700 + builder.setIsUpdated(dinerService.saveBatch(saveBatch) && dinerService.updateBatchById(updateBatch));
696 } catch (final Exception e) { 701 } catch (final Exception e) {
697 log.error("batchSaveOrUpdateDiners error;", e); 702 log.error("batchSaveOrUpdateDiners error;", e);
698 responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException()); 703 responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
...@@ -953,7 +958,8 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi ...@@ -953,7 +958,8 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
953 final StreamObserver<BatchSaveOrUpdateGradeClassesRpcResponse> responseObserver) { 958 final StreamObserver<BatchSaveOrUpdateGradeClassesRpcResponse> responseObserver) {
954 final var builder = BatchSaveOrUpdateGradeClassesRpcResponse.newBuilder(); 959 final var builder = BatchSaveOrUpdateGradeClassesRpcResponse.newBuilder();
955 try { 960 try {
956 - List<GradeClass> gradeClasses = new ArrayList<>(); 961 + List<GradeClass> saveBatch = new ArrayList<>();
962 + List<GradeClass> updateBatch = new ArrayList<>();
957 for (final var modification : request.getModificationsList()) { 963 for (final var modification : request.getModificationsList()) {
958 GradeClass gradeClass = new GradeClass(); 964 GradeClass gradeClass = new GradeClass();
959 gradeClass.setId(modification.getId() == 0 ? null : modification.getId()); 965 gradeClass.setId(modification.getId() == 0 ? null : modification.getId());
...@@ -973,9 +979,13 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi ...@@ -973,9 +979,13 @@ public class MealOrderGrpcService extends MealOrderServiceRpcGrpc.MealOrderServi
973 if (modification.getShouldUpdateGradeName()) { 979 if (modification.getShouldUpdateGradeName()) {
974 gradeClass.setGradeName(modification.getGradeName()); 980 gradeClass.setGradeName(modification.getGradeName());
975 } 981 }
976 - gradeClasses.add(gradeClass); 982 + if (modification.getId() == 0) {
983 + saveBatch.add(gradeClass);
984 + } else {
985 + updateBatch.add(gradeClass);
986 + }
977 } 987 }
978 - builder.setIsUpdated(gradeClassService.saveOrUpdateBatch(gradeClasses)); 988 + builder.setIsUpdated(gradeClassService.saveBatch(saveBatch) && gradeClassService.updateBatchById(updateBatch));
979 } catch (final Exception e) { 989 } catch (final Exception e) {
980 log.error("updateGradeClass error;", e); 990 log.error("updateGradeClass error;", e);
981 responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException()); 991 responseObserver.onError(Status.INTERNAL.withDescription(e.getMessage()).asException());
......