From 85a390800cc0bc3678c068504ae512ec05305b0d Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 22 十月 2024 10:12:32 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 7425bbe..7888e4c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -441,7 +441,6 @@
 		chargingOrder.setRechargePaymentStatus(1);
 		chargingOrder.setRechargeAmount(addChargingOrder.getPaymentAmount());
 		chargingOrder.setAppCouponId(addChargingOrder.getAppUserCouponId());
-		chargingOrder.setVipDiscount(new BigDecimal(10));
 		chargingOrder.setVipDiscountAmount(BigDecimal.ZERO);
 		chargingOrder.setOrderSource(0);
 		chargingOrder.setTitle("【充电桩充电】" + chargingPile.getNumber() + "号桩/" + tChargingGun.getCode() + "号枪");
@@ -609,12 +608,12 @@
 						if(times > m){
 							//充电时间跨度两个计费策略,需要继续对下一个策略进行计算
 							serviceCharge = s_server_amount.multiply(new BigDecimal(m));
-							discountAmount = discountAmount.add(serviceCharge.multiply((new BigDecimal(1).subtract(discount))));
+							discountAmount = discountAmount.add(serviceCharge.multiply(new BigDecimal(1).subtract(discount)));
 							rechargeAmount1 = rechargeAmount1.subtract(s_total_amount.multiply(new BigDecimal(m)));
 							nowTimeMillis = null;
 						}else{
 							serviceCharge = s_server_amount.multiply(new BigDecimal(times));
-							discountAmount = discountAmount.add(serviceCharge.multiply((new BigDecimal(1).subtract(discount))));
+							discountAmount = discountAmount.add(serviceCharge.multiply(new BigDecimal(1).subtract(discount)));
 							break;
 						}
 					}
@@ -1124,7 +1123,7 @@
 		//处理推荐奖励(被推荐首单奖励)
 		TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
 		long count = this.count(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserId, chargingOrder.getAppUserId())
-				.eq(TChargingOrder::getStatus, 5).isNull(TChargingOrder::getEndMode).eq(TChargingOrder::getDelFlag, 0));
+				.in(TChargingOrder::getStatus, Arrays.asList(4, 5)).eq(TChargingOrder::getDelFlag, 0));
 		if(null != appUser.getInviteUserId() && 1 == count){
 			TIntegralRule integralRule = integralRuleClient.getSet().getData();
 			String inviteUsersToEarnPoints = integralRule.getInviteUsersToEarnPoints();
@@ -1397,7 +1396,36 @@
 			startTime2 = split[1];
 		}
 		ChargingOrderTimeVO chargingOrderTimeVO = new ChargingOrderTimeVO();
-
+		if (StringUtils.hasLength(dto.getPhone())){
+			List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
+			if(data!=null){
+				if (!data.isEmpty()){
+					dto.setUserIds(data);
+				}
+			}else{
+				dto.setUserIds(new ArrayList<Long>());
+			}
+			if (dto.getUserIds().isEmpty()){
+				List<Long> carIds = dto.getUserIds();
+				carIds.add(-1L);
+				dto.setUserIds(carIds);
+			}
+		}
+		if (StringUtils.hasLength(dto.getPhone())){
+			List<Long> data = appUserCarClient.getAppUserCarByLicensePlates(dto.getLicensePlate()).getData();
+			if(data!=null){
+				if (!data.isEmpty()){
+					dto.setCarIds(data);
+				}
+			}else{
+				dto.setCarIds(new ArrayList<Long>());
+			}
+			if (dto.getCarIds().isEmpty()){
+				List<Long> carIds = dto.getCarIds();
+				carIds.add(-1L);
+				dto.setCarIds(carIds);
+			}
+		}
 		PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
 		List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
 		for (ChargingOrderListVO chargingOrderListVO : list) {
@@ -1811,7 +1839,7 @@
 				BigDecimal serviceCharge = originalServicePrice;
 				//计算优惠金额
 				if(null != chargingOrder.getVipDiscount()){
-					serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10))).setScale(2, RoundingMode.DOWN);
+					serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount()).setScale(2, RoundingMode.DOWN);
 				}
 				chargingOrderAccountingStrategy.setChargingCapacity(sharp_peak_charge);
 				chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);

--
Gitblit v1.7.1