From 3038ae5412652d3e4561bdc7d181e8393c958ac9 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期六, 12 十月 2024 11:56:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java               |   41 +++++++++++--
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EndOfChargePageInfo.java                               |   40 +++++++++++++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java      |   14 ++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java                        |   10 +++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java               |    1 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java |    5 +
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java      |   10 +++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                  |   13 ++++
 8 files changed, 127 insertions(+), 7 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java
index da91d05..26f343e 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java
@@ -27,6 +27,11 @@
 			public R addAppUserIntegralChange(TAppUserIntegralChange appUserIntegralChange) {
 				return R.fail("添加积分变动记录失败:" + throwable.getMessage());
 			}
+			
+			@Override
+			public R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(String code) {
+				return R.fail("根据订单code获取积分记录失败:" + throwable.getMessage());
+			}
 		};
 	}
 }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java
index eed0fbd..549263d 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java
@@ -7,6 +7,7 @@
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * @author zhibing.pu
@@ -22,4 +23,13 @@
 	 */
 	@PostMapping("/t-app-user-integral-change/addAppUserIntegralChange")
 	R addAppUserIntegralChange(@RequestBody TAppUserIntegralChange appUserIntegralChange);
+	
+	
+	/**
+	 * 根据订单code获取积分记录
+	 * @param code
+	 * @return
+	 */
+	@PostMapping("/t-app-user-integral-change/addAppUserIntegralChange")
+	R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(@RequestParam("code") String code);
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java
index 496fd0f..9b5dbd9 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java
@@ -1,6 +1,7 @@
 package com.ruoyi.account.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.account.api.model.TAppUserIntegralChange;
 import com.ruoyi.account.service.TAppUserIntegralChangeService;
 import com.ruoyi.common.core.domain.R;
@@ -40,5 +41,18 @@
 		appUserIntegralChangeService.save(appUserIntegralChange);
 		return R.ok();
 	}
+	
+	
+	/**
+	 * 根据订单code获取积分记录
+	 * @param code
+	 * @return
+	 */
+	@ResponseBody
+	@PostMapping("/getTAppUserIntegralChangeByOrderCode")
+	public R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(@RequestParam("code") String code){
+		TAppUserIntegralChange one = appUserIntegralChangeService.getOne(new LambdaQueryWrapper<TAppUserIntegralChange>().eq(TAppUserIntegralChange::getOrderCode, code));
+		return R.ok(one);
+	}
 }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 114a346..3570d78 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -55,6 +55,7 @@
 import com.ruoyi.order.service.*;
 import com.ruoyi.order.service.impl.TChargingOrderServiceImpl;
 import com.ruoyi.order.util.PreviousSixMonths;
+import com.ruoyi.order.vo.EndOfChargePageInfo;
 import com.ruoyi.payment.api.feignClient.AliPaymentClient;
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
 import com.ruoyi.payment.api.vo.AliQueryOrder;
@@ -1443,4 +1444,16 @@
         chargingOrderService.updateById(chargingOrder);
         return R.ok();
     }
+    
+    
+    @ResponseBody
+    @GetMapping(value = "/getEndOfChargePageInfo/{id}")
+    @ApiOperation(value = "获取充电结束页面数据", tags = {"小程序-扫一扫"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "订单id", required = true)
+    })
+    public AjaxResult<EndOfChargePageInfo> getEndOfChargePageInfo(String id){
+        EndOfChargePageInfo endOfChargePageInfo = chargingOrderService.getEndOfChargePageInfo(id);
+        return AjaxResult.success(endOfChargePageInfo);
+    }
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index d096708..5af0c8e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -17,6 +17,8 @@
 import com.ruoyi.order.api.vo.*;
 import com.ruoyi.order.dto.*;
 import com.ruoyi.order.vo.ChargingOrderListInfoVO;
+import com.ruoyi.order.vo.EndOfChargePageInfo;
+
 import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
@@ -248,4 +250,12 @@
 	List<Map<String, Object>> countAllUserData();
 
 	List<Map<String, Object>> needElec1(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto);
+	
+	
+	/**
+	 * 获取充电结束页面详情
+	 * @param id
+	 * @return
+	 */
+	EndOfChargePageInfo getEndOfChargePageInfo(String id);
 }
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 ef304ed..a0b4ccd 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
@@ -47,6 +47,7 @@
 import com.ruoyi.order.service.TChargingOrderService;
 import com.ruoyi.order.service.TOrderEvaluateService;
 import com.ruoyi.order.service.*;
+import com.ruoyi.order.vo.EndOfChargePageInfo;
 import com.ruoyi.other.api.domain.*;
 import com.ruoyi.order.vo.ChargingOrderListInfoVO;
 import com.ruoyi.other.api.feignClient.*;
@@ -72,6 +73,8 @@
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
+import java.time.format.TextStyle;
+import java.time.temporal.WeekFields;
 import java.util.*;
 import java.util.concurrent.*;
 import java.util.stream.Collectors;
@@ -1137,6 +1140,7 @@
 			appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints());
 			appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
 			appUserIntegralChange.setCreateTime(LocalDateTime.now());
+			appUserIntegralChange.setOrderCode(code1);
 			appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
 
 			appUser1.setPoints(appUser1.getPoints() + num1);
@@ -1251,6 +1255,7 @@
 			appUser.setPoints(appUser.getPoints() + integral);
 			appUserIntegralChange.setCurrentIntegral(appUser.getPoints());
 			appUserIntegralChange.setCreateTime(LocalDateTime.now());
+			appUserIntegralChange.setOrderCode(chargingOrder.getCode());
 			appUserClient.updateAppUser(appUser);
 			appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
 		}
@@ -1989,6 +1994,7 @@
 			appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints());
 			appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
 			appUserIntegralChange.setCreateTime(LocalDateTime.now());
+			appUserIntegralChange.setOrderCode(chargingOrder.getCode());
 			appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
 			
 			appUser1.setPoints(appUser1.getPoints() + num1);
@@ -2650,12 +2656,33 @@
 	public List<Map<String, Object>> needElec1(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
 		return this.baseMapper.needElec1(siteIds,statisticsQueryDto);
 	}
-
-	public static void main(String[] args) {
-//		String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
-//		String format1 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
-//		System.err.println(format+"至"+format1);
-//		LocalDateTime parse = LocalDateTime.parse("2024-01-12 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-//		System.err.println(parse.format(DateTimeFormatter.ofPattern("yyyy-dd")));
+	
+	/**
+	 * 获取充电结束页面详情
+	 * @param id
+	 * @return
+	 */
+	@Override
+	public EndOfChargePageInfo getEndOfChargePageInfo(String id) {
+		EndOfChargePageInfo info = new EndOfChargePageInfo();
+		TChargingOrder chargingOrder = this.getById(id);
+		info.setId(id);
+		info.setCode(chargingOrder.getCode());
+		info.setPaymentAmount(chargingOrder.getPaymentAmount());
+		info.setCouponDiscountAmount(chargingOrder.getCouponDiscountAmount());
+		TAppUserIntegralChange integralChange = appUserIntegralChangeClient.getTAppUserIntegralChangeByOrderCode(chargingOrder.getCode()).getData();
+		info.setIntegral(null == integralChange ? 0 : integralChange.getCurrentIntegral() - integralChange.getHistoricalIntegral());
+		info.setRechargeAmount(chargingOrder.getRechargeAmount());
+		info.setRefundAmount(chargingOrder.getRefundAmount());
+		LocalDateTime startTime = chargingOrder.getStartTime();
+		LocalDateTime endTime = chargingOrder.getEndTime();
+		info.setStartDay(startTime.format(DateTimeFormatter.ofPattern("MM月dd日")) + " 周" + startTime.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.SIMPLIFIED_CHINESE));
+		info.setStartHour(startTime.format(DateTimeFormatter.ofPattern("HH:mm")));
+		info.setEndDay(endTime.format(DateTimeFormatter.ofPattern("MM月dd日")) + " 周" + endTime.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.SIMPLIFIED_CHINESE));
+		info.setEndHour(endTime.format(DateTimeFormatter.ofPattern("HH:mm")));
+		int hour = endTime.getHour() - startTime.getHour();
+		int second = endTime.getSecond() - startTime.getSecond();
+		info.setDuration(0 == hour ? String.format("%s分钟", second) : String.format("%s小时%s分钟", hour, second));
+		return info;
 	}
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
index b52b65f..9ae877c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -298,6 +298,7 @@
                 appUserIntegralChange.setHistoricalIntegral(points);
                 appUserIntegralChange.setCurrentIntegral(points + num1);
                 appUserIntegralChange.setCreateTime(LocalDateTime.now());
+                appUserIntegralChange.setOrderCode(orderEvaluate.getId().toString());
                 appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
             }
         }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EndOfChargePageInfo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EndOfChargePageInfo.java
new file mode 100644
index 0000000..006e32a
--- /dev/null
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EndOfChargePageInfo.java
@@ -0,0 +1,40 @@
+package com.ruoyi.order.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/10/12 9:20
+ */
+@Data
+@ApiModel
+public class EndOfChargePageInfo {
+	@ApiModelProperty("订单id")
+	private String id;
+	@ApiModelProperty("充电金额")
+	private BigDecimal paymentAmount;
+	@ApiModelProperty("优惠金额")
+	private BigDecimal couponDiscountAmount;
+	@ApiModelProperty("积分")
+	private Integer integral;
+	@ApiModelProperty("订单编号")
+	private String code;
+	@ApiModelProperty("预充金额")
+	private BigDecimal rechargeAmount;
+	@ApiModelProperty("退还金额")
+	private BigDecimal refundAmount;
+	@ApiModelProperty("开始日期")
+	private String startDay;
+	@ApiModelProperty("开始时间")
+	private String startHour;
+	@ApiModelProperty("结束日期")
+	private String endDay;
+	@ApiModelProperty("结束时间")
+	private String endHour;
+	@ApiModelProperty("充电时长")
+	private String duration;
+}

--
Gitblit v1.7.1