From 31b3e803d74c175649066a1d28cf9cea2131b0d0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 11 九月 2024 12:06:26 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |  132 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 117 insertions(+), 15 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 6bd6c1c..52e8601 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
@@ -644,7 +644,7 @@
 				model.setOut_trade_no(chargingOrder.getCode());
 				model.setOut_refund_no(chargingOrderRefund.getRefundCode());
 				model.setReason("充电失败,取消充电订单");
-				model.setNotify_url("http://127.0.0.1:9000/order/t-charging-order/chargingOrderStartupFailureWxRefund");
+				model.setNotify_url("http://221.182.45.100:9000/order/t-charging-order/chargingOrderStartupFailureWxRefund");
 				WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
 				amount.setRefund(rechargeAmount.multiply(new BigDecimal(100)).intValue());
 				amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
@@ -954,7 +954,7 @@
 				model.setOut_trade_no(chargingOrder.getCode());
 				model.setOut_refund_no(chargingOrderRefund.getRefundCode());
 				model.setReason("充电完成退款");
-				model.setNotify_url("http://127.0.0.1:9000/order/t-charging-order/chargingOrderStartupFailureWxRefund");
+				model.setNotify_url("http://221.182.45.100:9000/order/t-charging-order/chargingOrderStartupFailureWxRefund");
 				WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
 				amount.setRefund(refundAmount.multiply(new BigDecimal(100)).intValue());
 				amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
@@ -1125,32 +1125,32 @@
 	}
 
 	@Override
-	public Map<String, BigDecimal> countAll(LocalDate sixBefore) {
+	public Map<String, Object> countAll(LocalDate sixBefore) {
 		return this.baseMapper.countAll(sixBefore);
 	}
 
 	@Override
-	public List<Map<String, BigDecimal>> getSumByType(List<Long> chargingOrderIds) {
+	public List<Map<String, Object>> getSumByType(List<Long> chargingOrderIds) {
 		return this.baseMapper.getSumByType(chargingOrderIds);
 	}
 
 	@Override
-	public List<Map<String, BigDecimal>> getDateData(List<Long> chargingOrderIds) {
+	public List<Map<String, Object>> getDateData(List<Long> chargingOrderIds) {
 		return this.baseMapper.getDateData(chargingOrderIds);
 	}
 
 	@Override
-	public List<Map<String, BigDecimal>> getWeekData(List<Long> chargingOrderIds) {
+	public List<Map<String, Object>> getWeekData(List<Long> chargingOrderIds) {
 		return this.baseMapper.getWeekData(chargingOrderIds);
 	}
 
 	@Override
-	public List<Map<String, BigDecimal>> getMonthData(List<Long> chargingOrderIds) {
+	public List<Map<String, Object>> getMonthData(List<Long> chargingOrderIds) {
 		return this.baseMapper.getMonthData(chargingOrderIds);
 	}
 
 	@Override
-	public List<Map<String, BigDecimal>> getYearData(List<Long> chargingOrderIds) {
+	public List<Map<String, Object>> getYearData(List<Long> chargingOrderIds) {
 		return this.baseMapper.getYearData(chargingOrderIds);
 	}
 	@Resource
@@ -1384,6 +1384,22 @@
 		TChargingOrder chargingOrder= this.getById(uid);
 
 		ChargingOrderListInfoVO chargingOrderListInfoVO = new ChargingOrderListInfoVO();
+		chargingOrderListInfoVO.setElectrovalence(chargingOrder.getElectrovalence());
+		chargingOrderListInfoVO.setServiceCharge(chargingOrder.getServiceCharge());
+		if (chargingOrder.getElectrovalence()!=null && chargingOrder.getServiceCharge()!=null){
+			chargingOrderListInfoVO.setTotal(chargingOrder.getElectrovalence().add(chargingOrder.getServiceCharge()));
+		}else{
+			chargingOrderListInfoVO.setTotal(new BigDecimal("0"));
+		}
+		if (chargingOrderListInfoVO.getTotal().compareTo(new BigDecimal("0"))>0){
+			if (chargingOrder.getCouponDiscountAmount()!=null&& chargingOrder.getVipDiscountAmount()!=null&& chargingOrder.getSharingAmount()!=null&& chargingOrder.getCommissionAmount()!=null){
+				chargingOrderListInfoVO.setRealTotal(chargingOrderListInfoVO.getTotal().subtract(chargingOrder.getCouponDiscountAmount()).subtract(chargingOrder.getVipDiscountAmount()).subtract(chargingOrder.getSharingAmount()).subtract(chargingOrder.getCommissionAmount()));
+			}else{
+				chargingOrderListInfoVO.setRealTotal(chargingOrderListInfoVO.getTotal());
+			}
+		}else{
+			chargingOrderListInfoVO.setRealTotal(new BigDecimal("0"));
+		}
 		chargingOrderListInfoVO.setCode(chargingOrder.getCode());
 		List<Site> data = siteClient.getSiteByIds(Arrays.asList(chargingOrder.getSiteId())).getData();
 		if (!data.isEmpty()){
@@ -1612,6 +1628,75 @@
 		endCharge(orderCode, 0);
 	}
 
+	@Override
+	public List<Map<String, Object>> getByDate(List<Long> chargingOrderIds) {
+		return this.baseMapper.getByDate(chargingOrderIds);
+	}
+
+	@Override
+	public List<Map<String, Object>> queryPower(List<Integer> siteIds) {
+		return this.baseMapper.queryPower(siteIds);
+	}
+
+	@Override
+	public Map<String, Object> qureryPowerLevel(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+		return this.baseMapper.queryPowerLevel(siteIds,statisticsQueryDto);
+	}
+
+	@Override
+	public List<Map<String, Object>> queryOrderCountAndMoneyBySiteIdDate(List<Integer> siteIds) {
+		return this.baseMapper.queryOrderCountAndMoneyBySiteIdDate(siteIds);
+	}
+
+	@Override
+	public List<Map<String, Object>> usersDay() {
+		return this.baseMapper.usersDay();
+	}
+
+	@Override
+	public List<Map<String, Object>> usersByQuery(ChargingStatisticsQueryDto statisticsQueryDto) {
+		return this.baseMapper.usersByQuery(statisticsQueryDto);
+	}
+
+	@Override
+	public List<Map<String, Object>> getUserTagCount() {
+		return this.baseMapper.getUserTagCount();
+	}
+
+	@Override
+	public List<Map<String, Object>> getVipCount() {
+		return this.baseMapper.getVipCount();
+	}
+
+	@Override
+	public List<Map<String, Object>> unitConsumption(ChargingStatisticsQueryDto statisticsQueryDto) {
+		return this.baseMapper.unitConsumption(statisticsQueryDto);
+	}
+
+	@Override
+	public List<Map<String, Object>> carUserMethod() {
+		return this.baseMapper.carUserMethod();
+	}
+
+	@Override
+	public List<Map<String, Object>> carUserBrand() {
+		return this.baseMapper.carUserBrand();
+	}
+
+	@Override
+	public Map<String, Object> countLocalCar() {
+		return this.baseMapper.countLocalCar();
+	}
+
+	@Override
+	public Long getAver(List<Integer> siteIds) {
+		return this.baseMapper.getAver(siteIds);
+	}
+
+	@Override
+	public List<Map<String, Object>> getLevelEvaluate(List<Integer> siteIds) {
+		return this.baseMapper.getLevelEvaluate(siteIds);
+	}
 
 
 	@Override
@@ -1640,7 +1725,7 @@
 					model.setOut_refund_no(chargingOrderRefund.getRefundCode());
 					model.setTransaction_id(tChargingOrder.getRechargeSerialNumber());
 					model.setReason("取消订单");
-					model.setNotify_url("http://127.0.0.1:9000/order/t-shopping-order/cancelShoppingOrderWxRefund");
+					model.setNotify_url("http://221.182.45.100:9000/order/t-shopping-order/cancelShoppingOrderWxRefund");
 					WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
 					amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue());
 					amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
@@ -1713,8 +1798,15 @@
 		String startTime = dto.getStartTime();
 		String endTime = dto.getEndTime();
 		// 将这两个时间转化为localDateTime
-		tSettlementConfirm.setStartTime(LocalDateTime.parse(startTime));
-		tSettlementConfirm.setEndTime(LocalDateTime.parse(endTime));
+		// 创建 DateTimeFormatter 对象,指定格式
+		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+		// 将字符串解析为 LocalDateTime 对象
+		LocalDateTime localDateTime = LocalDateTime.parse(startTime, formatter);
+		LocalDateTime localDateTime1 = LocalDateTime.parse(endTime, formatter);
+		tSettlementConfirm.setEndTime(localDateTime1);
+		tSettlementConfirm.setStartTime(localDateTime);
+
 		// 根据站点id和开始时间和结束时间和归属日期 查询充电订单列表
 		QueryWrapper<TChargingOrder> eq = new QueryWrapper<TChargingOrder>()
 				.eq("site_id", dto.getSiteId())
@@ -1997,13 +2089,23 @@
 		tSettlementConfirm.setVipDiscount(vipDiscount);
 		tSettlementConfirm.setCouponDiscount(couponDiscount);
 		// 本月
-		BigDecimal subtract = income.subtract(beforeIncome).divide(beforeIncome).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
-		tSettlementConfirm.setIncomePercentage(subtract+"%");
+		if (beforeIncome.compareTo(new BigDecimal("0")) == 0){
+			tSettlementConfirm.setIncomePercentage(0+"%");
+			tSettlementConfirm.setIncomePercentage(0+"%");
+		}else{
+			BigDecimal subtract = income.subtract(beforeIncome).divide(beforeIncome).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
+			tSettlementConfirm.setIncomePercentage(subtract+"%");
+			tSettlementConfirm.setIncomePercentage(subtract+"%");
+
+		}
 		// 比较总利润 收入合计-成本合计
 		BigDecimal subtract1 = income.subtract(cost);
 		BigDecimal subtract2 = beforeIncome.subtract(beforeCost);
-		tSettlementConfirm.setTotalPercentage(subtract1.subtract(subtract2).divide(subtract2).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"))+"%");
-		tSettlementConfirm.setIncomePercentage(subtract+"%");
+		if (subtract2.compareTo(new BigDecimal("0")) == 0){
+			tSettlementConfirm.setTotalPercentage(0+"%");
+		}else{
+			tSettlementConfirm.setTotalPercentage(subtract1.subtract(subtract2).divide(subtract2).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"))+"%");
+		}
 		tSettlementConfirm.setElectronicRefund(0);
 		// 查询上次汇报数据 进行比对涨幅跌幅
 		total.add(tSettlementConfirm);

--
Gitblit v1.7.1