From b72094a519b590ccebb805b5ca6906e380dcb566 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 26 九月 2024 16:01:46 +0800
Subject: [PATCH] 9.24
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 148 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 134 insertions(+), 14 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 43e84ed..660a07e 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
@@ -70,6 +70,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
@@ -417,7 +418,7 @@
//构建新的待支付订单
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
TChargingOrder chargingOrder = new TChargingOrder();
- String code = "CD" + Math.random() * 1000 + sdf.format(new Date());
+ String code = "CD" + Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
chargingOrder.setCode(code);
chargingOrder.setOrderType(1);
chargingOrder.setOrderClassification(1);
@@ -633,7 +634,7 @@
TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
chargingOrderRefund.setChargingOrderId(chargingOrder.getId());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
- chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Math.random() * 1000));
+ chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + Double.valueOf(Math.random() * 1000).intValue());
chargingOrderRefund.setRefundAmount(rechargeAmount);
chargingOrderRefund.setRefundStatus(1);
chargingOrderRefund.setPayType(rechargePaymentType);
@@ -650,7 +651,7 @@
model.setOut_trade_no(chargingOrder.getCode());
model.setOut_refund_no(chargingOrderRefund.getRefundCode());
model.setReason("充电失败,取消充电订单");
- model.setNotify_url("http://221.182.45.100:9000/order/t-charging-order/chargingOrderStartupFailureWxRefund");
+ model.setNotify_url("/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());
@@ -844,7 +845,7 @@
}
TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
- String code = Math.random() * 1000 + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
+ String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
appUserIntegralChange.setCode(code);
appUserIntegralChange.setAppUserId(appUser.getInviteUserId());
appUserIntegralChange.setChangeType(5);
@@ -943,7 +944,7 @@
TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
chargingOrderRefund.setChargingOrderId(chargingOrder.getId());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
- chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Math.random() * 1000));
+ chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
chargingOrderRefund.setRefundAmount(refundAmount);
chargingOrderRefund.setRefundStatus(1);
chargingOrderRefund.setPayType(rechargePaymentType);
@@ -1611,7 +1612,7 @@
}
TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
- String code = Math.random() * 1000 + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
+ String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
appUserIntegralChange.setCode(code);
appUserIntegralChange.setAppUserId(appUser.getInviteUserId());
appUserIntegralChange.setChangeType(5);
@@ -1705,6 +1706,8 @@
}
+ @Resource
+ private TShoppingOrderService shoppingOrderService;
@Override
public R payRefund(PayOrderRefundDto payOrderQueryDto) {
if (payOrderQueryDto.getType()==1){
@@ -1717,7 +1720,7 @@
chargingOrderRefund.setRefundTime(LocalDateTime.now());
chargingOrderRefund.setCode(tChargingOrder.getCode());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
- chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Math.random() * 1000));
+ chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
chargingOrderRefund.setRefundTitle("后台退款");
chargingOrderRefund.setRefundContent("后台退款");
chargingOrderRefund.setRefundReason("后台退款");
@@ -1762,10 +1765,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();
}
@@ -1907,7 +1961,7 @@
tSettlementConfirm.setVenue(dto.getVenue());
tSettlementConfirm.setMetering(dto.getMetering());
tSettlementConfirm.setClean(dto.getClean());
- tSettlementConfirm.setLossElectronic(dto.getLossElectronic());
+ tSettlementConfirm.setLossElectronic(dto.getMeteringElectronic().subtract(dto.getChargingElectronic()));
tSettlementConfirm.setMaintain(dto.getMaintain());
tSettlementConfirm.setMeteringElectronic(dto.getMeteringElectronic());
@@ -1934,14 +1988,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 +2113,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 计算利用率 该电站充电桩本月利用率:
@@ -2134,6 +2189,71 @@
return res;
}
+ @Override
+ public List<Map<String, Object>> countBySource(List<Integer> siteIds) {
+ return this.baseMapper.countBySource(siteIds);
+ }
+
+ @Override
+ public List<Map<String, Object>> equipmentUserType1(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+ return this.baseMapper.equipmentUserType1(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> equipmentUserType2(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+ return this.baseMapper.equipmentUserType2(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> equipmentMapbroke1(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+ return this.baseMapper.equipmentMapbroke1(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> equipmentMapbroke2(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+ return this.baseMapper.equipmentMapbroke2(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> equipmentMapOut1(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+ return this.baseMapper.equipmentMapOut1(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> equipmentMapOut2(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+ return this.baseMapper.equipmentMapOut2(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> needElec(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
+ return this.baseMapper.needElec(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> getHourType(List<Integer> siteIds, ChargingDetailQueryDto statisticsQueryDto) {
+ return this.baseMapper.getHourType(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> getDateType(List<Integer> siteIds, ChargingDetailQueryDto statisticsQueryDto) {
+ return this.baseMapper.getDateType(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> getMonthType(List<Integer> siteIds, ChargingDetailQueryDto statisticsQueryDto) {
+ return this.baseMapper.getMonthType(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> getchargingCapacity(List<Integer> siteIds, ChargingDetailQueryDto statisticsQueryDto) {
+ return this.baseMapper.getchargingCapacity(siteIds,statisticsQueryDto);
+ }
+
+ @Override
+ public List<Map<String, Object>> countAllUserData() {
+ return this.baseMapper.countAllUserData();
+ }
+
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"));
--
Gitblit v1.7.1