From 13d2bd6a27f941cfd8f096a7ae2def858a565363 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期三, 04 九月 2024 11:01:34 +0800 Subject: [PATCH] 修改2.0 bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 40 +++++++++++++++------------------------- 1 files changed, 15 insertions(+), 25 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 350283b..e85c825 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -1259,12 +1259,12 @@ //获取红包id JSONArray jsonArray = new JSONArray(); for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("id", userRedPacketRecord.getId()); - BigDecimal remainingAmount = new BigDecimal(userRedPacketRecord.getRemainingAmount()); if(multiply1.compareTo(BigDecimal.ZERO) == 0){ break; } + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id", userRedPacketRecord.getId()); + BigDecimal remainingAmount = new BigDecimal(userRedPacketRecord.getRemainingAmount()); if(multiply1.compareTo(remainingAmount) >= 0){ userRedPacketRecord.setRemainingAmount(0D); userRedPacketRecord.setEndTime(new Date()); @@ -1272,14 +1272,15 @@ multiply1 = multiply1.subtract(remainingAmount).setScale(2, RoundingMode.HALF_EVEN); jsonObject.put("money", remainingAmount); jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); }else if(remainingAmount.compareTo(multiply1) > 0){ userRedPacketRecord.setRemainingAmount(remainingAmount.subtract(multiply1).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); jsonObject.put("money", multiply1); jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); multiply1 = BigDecimal.ZERO; } + } + if(userRedPacketRecords.size() > 0){ + userRedPacketRecordService.updateBatchById(userRedPacketRecords); } orderPrivateCar.setRedPacketId(jsonArray.toJSONString()); } @@ -1288,29 +1289,18 @@ orderMoney = orderMoney.subtract(new BigDecimal(total)).setScale(2, RoundingMode.HALF_EVEN); //获取红包id JSONArray jsonArray = new JSONArray(); - BigDecimal multiply = new BigDecimal(total); for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", userRedPacketRecord.getId()); - BigDecimal remainingAmount = BigDecimal.valueOf(userRedPacketRecord.getRemainingAmount()); - if(multiply.compareTo(BigDecimal.ZERO) == 0){ - break; - } - if(multiply.compareTo(remainingAmount) >= 0){ - userRedPacketRecord.setRemainingAmount(0D); - userRedPacketRecord.setEndTime(new Date()); - userRedPacketRecord.setState(2); - multiply = multiply.subtract(remainingAmount).setScale(2, RoundingMode.HALF_EVEN); - jsonObject.put("money", remainingAmount); - jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); - }else if(remainingAmount.compareTo(multiply) > 0){ - userRedPacketRecord.setRemainingAmount(remainingAmount.subtract(multiply).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - jsonObject.put("money", multiply); - jsonArray.add(jsonObject); - userRedPacketRecordService.updateById(userRedPacketRecord); - multiply = BigDecimal.ZERO; - } + jsonObject.put("money", userRedPacketRecord.getRemainingAmount()); + jsonArray.add(jsonObject); + + userRedPacketRecord.setRemainingAmount(0D); + userRedPacketRecord.setEndTime(new Date()); + userRedPacketRecord.setState(2); + } + if(userRedPacketRecords.size() > 0){ + userRedPacketRecordService.updateBatchById(userRedPacketRecords); } orderPrivateCar.setRedPacketId(jsonArray.toJSONString()); } -- Gitblit v1.7.1