diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java
index 55d685d14..b286baaf0 100644
--- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java
+++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java
@@ -590,11 +590,6 @@ public class OrderService {
// push远程停机指令
pileRemoteService.remoteStopCharging(dto.getPileSn(), dto.getConnectorCode());
- // 桩计算的消费金额
-
- // 对比一下,是否需要退款
-
-
}
/**
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderBasicInfo.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderBasicInfo.java
index e637842b3..a18b2bc00 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderBasicInfo.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderBasicInfo.java
@@ -123,9 +123,21 @@ public class OrderBasicInfo extends BaseEntity {
/**
* 订单总金额 = 电费总金额 + 服务费总金额
*/
- @Excel(name = "订单总金额 = 电费总金额 + 服务费总金额")
+ @Excel(name = "订单总金额")
private BigDecimal orderAmount;
+ /**
+ * 虚拟金额
+ */
+ @Excel(name = "虚拟金额")
+ private BigDecimal virtualAmount;
+
+ /**
+ * 结算金额
+ */
+ @Excel(name = "结算金额")
+ private BigDecimal settleAmount;
+
/**
* 充电开始时间
*/
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java
index 4cd207628..e24a07b8c 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java
@@ -14,15 +14,7 @@ import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.MemberWalletEnum;
-import com.jsowell.common.enums.ykc.BillingTimeEnum;
-import com.jsowell.common.enums.ykc.OrderPayModeEnum;
-import com.jsowell.common.enums.ykc.OrderPayStatusEnum;
-import com.jsowell.common.enums.ykc.OrderStatusEnum;
-import com.jsowell.common.enums.ykc.PayModeEnum;
-import com.jsowell.common.enums.ykc.PileConnectorDataBaseStatusEnum;
-import com.jsowell.common.enums.ykc.ReturnCodeEnum;
-import com.jsowell.common.enums.ykc.StartModeEnum;
-import com.jsowell.common.enums.ykc.StartTypeEnum;
+import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.SecurityUtils;
@@ -30,37 +22,10 @@ import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.bean.BeanUtils;
import com.jsowell.common.util.id.IdUtils;
import com.jsowell.common.util.id.SnowflakeIdWorker;
-import com.jsowell.pile.domain.OrderAbnormalRecord;
-import com.jsowell.pile.domain.OrderBasicInfo;
-import com.jsowell.pile.domain.OrderDetail;
-import com.jsowell.pile.domain.OrderMonitorData;
-import com.jsowell.pile.domain.OrderPayRecord;
-import com.jsowell.pile.domain.PileAuthCard;
-import com.jsowell.pile.domain.PileBasicInfo;
-import com.jsowell.pile.domain.WxpayCallbackRecord;
-import com.jsowell.pile.domain.WxpayRefundCallback;
-import com.jsowell.pile.dto.GenerateOrderDTO;
-import com.jsowell.pile.dto.IndexQueryDTO;
-import com.jsowell.pile.dto.QueryOrderDTO;
-import com.jsowell.pile.dto.QueryPersonPileDTO;
-import com.jsowell.pile.dto.QueryStartChargeDTO;
-import com.jsowell.pile.dto.QueryStationInfoDTO;
-import com.jsowell.pile.dto.RefundableWxPayOrderData;
+import com.jsowell.pile.domain.*;
+import com.jsowell.pile.dto.*;
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
-import com.jsowell.pile.service.IMemberBasicInfoService;
-import com.jsowell.pile.service.IOrderAbnormalRecordService;
-import com.jsowell.pile.service.IOrderBasicInfoService;
-import com.jsowell.pile.service.IOrderPayRecordService;
-import com.jsowell.pile.service.IPileAuthCardService;
-import com.jsowell.pile.service.IPileBasicInfoService;
-import com.jsowell.pile.service.IPileBillingTemplateService;
-import com.jsowell.pile.service.IPileConnectorInfoService;
-import com.jsowell.pile.service.IPileMerchantInfoService;
-import com.jsowell.pile.service.IPileStationInfoService;
-import com.jsowell.pile.service.OrderMonitorDataService;
-import com.jsowell.pile.service.WechatPayService;
-import com.jsowell.pile.service.WxpayCallbackRecordService;
-import com.jsowell.pile.service.WxpayRefundCallbackService;
+import com.jsowell.pile.service.*;
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
@@ -71,12 +36,7 @@ import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.OrderVO;
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
import com.jsowell.pile.vo.uniapp.SendMessageVO;
-import com.jsowell.pile.vo.web.BillingTemplateVO;
-import com.jsowell.pile.vo.web.IndexOrderInfoVO;
-import com.jsowell.pile.vo.web.OrderListVO;
-import com.jsowell.pile.vo.web.OrderTotalDataVO;
-import com.jsowell.pile.vo.web.PileConnectorInfoVO;
-import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO;
+import com.jsowell.pile.vo.web.*;
import com.jsowell.wxpay.common.WeChatPayParameter;
import com.jsowell.wxpay.dto.WeChatRefundDTO;
import com.jsowell.wxpay.dto.WechatSendMsgDTO;
@@ -92,11 +52,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
@@ -545,6 +501,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
orderAmount = payAmount;
}
+ // 虚拟金额 指订单消费中使用赠送金额支付的部分
+ BigDecimal virtualAmount = BigDecimal.ZERO;
+
// 剩余需要退回的金额 residue
BigDecimal residue = payAmount.subtract(orderAmount);
if (residue.compareTo(BigDecimal.ZERO) > 0) {
@@ -584,6 +543,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
if (returnGift != null && giftPayRecord != null) {
giftPayRecord.setRefundAmount(returnGift);
updatePayRecordList.add(giftPayRecord);
+ // 支付的赠送金额-退回的赠送金额 = 实际使用赠送金额消费的部分
+ virtualAmount = giftPay.subtract(returnGift);
}
UpdateMemberBalanceDTO updateMemberBalanceDTO = UpdateMemberBalanceDTO.builder()
.memberId(orderBasicInfo.getMemberId())
@@ -626,6 +587,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 把交易记录中的用电量,金额等信息 更新到orderBasicInfo和orderDetail
orderBasicInfo.setOrderAmount(orderAmount); // 订单总金额
+ orderBasicInfo.setVirtualAmount(virtualAmount); // 虚拟金额
+ orderBasicInfo.setSettleAmount(orderAmount.subtract(virtualAmount)); // 结算金额
orderBasicInfo.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
orderBasicInfo.setReason(data.getStopReasonMsg()); // 充电停止原因
orderBasicInfo.setSettlementTime(DateUtils.getNowDate()); // 结算时间
diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml
index cf3f18bb0..694afc240 100644
--- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml
+++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml
@@ -20,6 +20,8 @@
+
+
@@ -98,6 +100,8 @@
pay_amount,
pay_time,
order_amount,
+ virtual_amount,
+ settle_amount,
charge_start_time,
charge_end_time,
start_type,
@@ -320,6 +324,12 @@
order_amount,
+
+ virtual_amount,
+
+
+ settle_amount,
+
charge_start_time,
@@ -499,6 +509,12 @@
order_amount = #{orderAmount},
+
+ virtual_amount = #{virtualAmount},
+
+
+ settle_amount = #{settleAmount},
+
charge_start_time = #{chargeStartTime},
diff --git a/jsowell-ui/src/views/order/order/index.vue b/jsowell-ui/src/views/order/order/index.vue
index 4b22d9bd4..693493363 100644
--- a/jsowell-ui/src/views/order/order/index.vue
+++ b/jsowell-ui/src/views/order/order/index.vue
@@ -208,7 +208,9 @@
-
+
+
+