From 34182c18b4bdd81ab7d59d4e8441cd9134477c15 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 24 九月 2024 13:40:21 +0800
Subject: [PATCH] 合併代碼

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   66 ++++++++++++++++++++++++++++++---
 1 files changed, 60 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 57c917f..3b1399a 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
@@ -1705,6 +1705,8 @@
 	}
 
 
+	@Resource
+	private TShoppingOrderService shoppingOrderService;
 	@Override
 	public R payRefund(PayOrderRefundDto payOrderQueryDto) {
 			if (payOrderQueryDto.getType()==1){
@@ -1762,10 +1764,61 @@
 
 
 			}
+			if (payOrderQueryDto.getType()==2){
+				TShoppingOrder tChargingOrder = shoppingOrderService.getById(payOrderQueryDto.getOrderId());
+				TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
+				chargingOrderRefund.setChargingOrderId(tChargingOrder.getId());
+				chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
+				chargingOrderRefund.setRefundStatus(1);
+				chargingOrderRefund.setPayType(tChargingOrder.getPaymentType());
+				chargingOrderRefund.setRefundTime(LocalDateTime.now());
+				chargingOrderRefund.setCode(tChargingOrder.getCode());
+				SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+				chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
+				chargingOrderRefund.setRefundTitle("后台退款");
+				chargingOrderRefund.setRefundContent("后台退款");
+				chargingOrderRefund.setRefundReason("后台退款");
+				chargingOrderRefund.setRefundRemark("后台退款");
+				chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
+				chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
+
+				if(1 == tChargingOrder.getPaymentType()){
+					WxPaymentRefundModel model = new WxPaymentRefundModel();
+					model.setOut_trade_no(tChargingOrder.getCode());
+					model.setOut_refund_no(chargingOrderRefund.getRefundCode());
+					model.setTransaction_id(tChargingOrder.getSerialNumber());
+					model.setReason("取消订单");
+					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());
+					amount.setCurrency("CNY");
+					model.setAmount(amount);
+					R<String> orderR = wxPaymentClient.refundOrderR(model);
+					if(200 == orderR.getCode()){
+						chargingOrderRefundService.save(chargingOrderRefund);
+					}
+				}
+
+				if(2 == tChargingOrder.getPaymentType()){
+					RefundReq dto = new RefundReq();
+					dto.setOutTradeNo(tChargingOrder.getCode());
+					dto.setOutRequestNo(tChargingOrder.getCode());
+					dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString());
+					dto.setRefundReason("取消订单");
+					RefundResp resp = aliPaymentClient.refund(dto).getData();
+					if(null != resp){
+						SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-DDTHH:mm:ss+TIMEZONE");
+						chargingOrderRefundService.save(chargingOrderRefund);
+
+					}
+				}
+
+			}
 
 
 
-		return null;
+		return R.ok();
 	}
 
 
@@ -1934,14 +1987,15 @@
 		List<TSettlementConfirm> list = tSettlementConfirmMapper.settlementList(pageInfo,dto);
 		for (TSettlementConfirm tSettlementConfirm : list) {
 			tSettlementConfirm.setUid(tSettlementConfirm.getId().toString());
-			Partner data = siteClient.getPartnerR(tSettlementConfirm.getPartnerId()).getData();
 			List<Site> data1 = siteClient.getSiteByIds(Arrays.asList(tSettlementConfirm.getSiteId())).getData();
 			if (!data1.isEmpty()){
 				tSettlementConfirm.setSiteName(data1.get(0).getName());
+				Partner data = siteClient.getPartnerR(data1.get(0).getPartnerId()).getData();
+				if (data!=null){
+					tSettlementConfirm.setPartnerName(data.getName());
+				}
 			}
-			if (data!=null){
-				tSettlementConfirm.setPartnerName(data.getName());
-			}
+
 			String format = tSettlementConfirm.getStartTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
 			String format1 = tSettlementConfirm.getEndTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
 			tSettlementConfirm.setTime(format+"至"+format1);
@@ -2058,7 +2112,7 @@
 			for (TChargingPile datum : data) {
 				bigDecimal = bigDecimal.add(datum.getRatedPower());
 			}
-			BigDecimal bigDecimal1 = bigDecimal.divide(new BigDecimal(data.size())).setScale(2, RoundingMode.HALF_DOWN);
+
 
 			tSettlementConfirm.setIncome(tSettlementConfirm.getElectrovalence().add(tSettlementConfirm.getServiceCharge()));
 			// todo 计算利用率 该电站充电桩本月利用率:

--
Gitblit v1.7.1