From b701b92c8af86026b2536c65ec9161037e88a8d9 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 12 三月 2025 18:26:41 +0800 Subject: [PATCH] 修改bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 48 +++++++++++++++++++++++++++--------------------- 1 files changed, 27 insertions(+), 21 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 161c5ab..9101d5e 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 @@ -59,6 +59,7 @@ import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @Service @@ -789,9 +790,20 @@ if(ToolUtil.isNotEmpty(remark)){ if(ToolUtil.isNotEmpty(remark)){ List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null); + List<String> list = Arrays.asList(remark.split(" ")); for(SensitiveWords s : sensitiveWords){ - remark = remark.replaceAll(s.getContent(), "***"); + List<String> str = new ArrayList<>(); + String lowerCase = s.getContent().toLowerCase(); + for (String s1 : list) { + if(lowerCase.equals(s1.toLowerCase())){ + str.add("***"); + }else{ + str.add(s1); + } + } + list = str; } + remark = list.stream().collect(Collectors.joining(" ")); } } @@ -902,15 +914,20 @@ //修改行程信息 if(orderPrivateCar.getState() == 10 || orderPrivateCar.getState() == 12){ Car car = carService.selectById(orderPrivateCar.getCarId()); - boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null); + boolean updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null); if(!updateTrip){ for (int i = 0; i < 5; i++) { - updateTrip = fleetEngineUtil.updateTrip("CANCELED", car.getVehicleId(), null, orderPrivateCar.getTripId(), null, null, null, null); + updateTrip = fleetEngineUtil.updateTrip("CANCELED", (null != car ? car.getVehicleId() : null), null, orderPrivateCar.getTripId(), null, null, null, null); if(updateTrip){ + orderPrivateCar.setIsover(1); + this.updateById(orderPrivateCar); break; } Thread.sleep(3000L); } + }else{ + orderPrivateCar.setIsover(1); + this.updateById(orderPrivateCar); } } //添加消息 @@ -1016,11 +1033,7 @@ ChinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX()); } - if(5 == orderPrivateCar.getOldState()){ - orderPrivateCar.setState(6); - }else{ - orderPrivateCar.setState(10); - } + orderPrivateCar.setState(10); orderPrivateCar.setTelX(""); orderPrivateCar.setBindId(""); this.updateById(orderPrivateCar); @@ -1258,7 +1271,7 @@ @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public ResultUtil payPrivateCarOrder(Integer payType, Integer bankCardId, Integer orderId, Integer couponId, Integer redDeduction, Integer type, Integer language) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(orderId); if(orderPrivateCar.getState() == 8 || orderPrivateCar.getState() == 9){ @@ -1323,10 +1336,9 @@ if(null != redDeduction && 1 == redDeduction && null == orderPrivateCar.getRedPacketId()){ RedEnvelopePaymentSettings redEnvelopePaymentSettings = redEnvelopePaymentSettingsService.getRedEnvelopePaymentSettings(); if(null != redEnvelopePaymentSettings){ - Double total = userRedPacketRecordService.queryRemainingAmount(uid); List<UserRedPacketRecord> userRedPacketRecords = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>().eq("userId", uid) .eq("state", 1).eq("companyId", orderPrivateCar.getCompanyId()).gt("remainingAmount", 0).orderBy("insertTime", false)); - + Double total = userRedPacketRecords.stream().mapToDouble(UserRedPacketRecord::getRemainingAmount).sum(); BigDecimal deductionRatio = redEnvelopePaymentSettings.getDeductionRatio(); BigDecimal multiply1 = orderMoney.multiply(deductionRatio.divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_EVEN); if(total > 0 && multiply1.doubleValue() > 0 && total.compareTo(multiply1.doubleValue()) >= 0){ @@ -1336,12 +1348,10 @@ //获取红包id JSONArray jsonArray = new JSONArray(); for (UserRedPacketRecord userRedPacketRecord : userRedPacketRecords) { - 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()); @@ -1354,14 +1364,14 @@ jsonObject.put("money", multiply1.setScale(2, RoundingMode.HALF_EVEN)); jsonArray.add(jsonObject); multiply1 = BigDecimal.ZERO; + break; } } if(userRedPacketRecords.size() > 0){ userRedPacketRecordService.updateBatchById(userRedPacketRecords); } orderPrivateCar.setRedPacketId(jsonArray.toJSONString()); - } - if(total > 0 && total.compareTo(multiply1.doubleValue()) < 0){ + }else if(total > 0 && total.compareTo(multiply1.doubleValue()) < 0){ orderPrivateCar.setRedPacketMoney(total); orderMoney = orderMoney.subtract(new BigDecimal(total)).setScale(2, RoundingMode.HALF_EVEN); //获取红包id @@ -2695,11 +2705,7 @@ if(null != query){ //添加交易明细 transactionDetailsService.saveData(orderPrivateCar.getUserId(), "取消订单", query.getAmount(), 2, 1, 1, 1, query.getOrderId()); - if(5 == orderPrivateCar.getOldState()){ - orderPrivateCar.setState(6); - }else{ - orderPrivateCar.setState(10); - } + orderPrivateCar.setState(10); //解除小号绑定 if(orderPrivateCar.getBindId() != null){ ChinaMobileUtil.midAxbUnBindSend(orderPrivateCar.getBindId(),orderPrivateCar.getTelX()); -- Gitblit v1.7.1