From 128f7c5c2db36594d33d9427d87e6b5e6e5b14f9 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 10 九月 2024 10:48:36 +0800
Subject: [PATCH] add:”地址“模糊搜索查询订单
---
src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java | 44 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java b/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java
index 5f9e44a..02cb428 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderSettlementService.java
@@ -74,6 +74,12 @@
@Autowired
private OrderItemSettlementMapper orderItemSettlementMapper;
+ @Autowired
+ private TransferMapper transferMapper;
+
+ @Autowired
+ private TransferDetailMapper transferDetailMapper;
+
public Page<OrderSettlementListDTO> selectSettlementList(Page page, OrderSettlementQueryDTO dto){
dto.setStartDate(parseLocalDateTime(dto.getStartDateStr(), true));
dto.setEndDate(parseLocalDateTime(dto.getEndDateStr(), false));
@@ -114,6 +120,13 @@
OrderSettlement settlement = settlementMapper.selectById(id);
if(settlement == null){
throw new ValidationException("结算单不存在");
+ }
+ String status = settlement.getStatus();
+ if(Constants.SETTLEMENT_STATUS.PROCESSING.name().equals(status)){
+ throw new ValidationException("结算中,不用重复结算");
+ }
+ if(Constants.SETTLEMENT_STATUS.COMPLETED.name().equals(status)){
+ throw new ValidationException("结算成功,不用重复结算");
}
String type = settlement.getType();
@@ -174,10 +187,37 @@
}
settlement.setTransferTime(LocalDateTime.now());
- settlement.setStatus(Constants.SETTLEMENT_STATUS.COMPLETED.name());
+ settlement.setStatus(Constants.SETTLEMENT_STATUS.PROCESSING.name());
settlement.update(SecurityUtils.getUserId());
settlementMapper.updateById(settlement);
+ }
+
+ public void updateSettlementStatus(String transferId){
+ Transfer t = transferMapper.selectById(transferId);
+ if("FINISHED".equals(t.getStatus())){
+ OrderSettlement settlement = settlementMapper.selectOne(new QueryWrapper<OrderSettlement>()
+ .eq("transfer_id", transferId));
+ if(settlement == null){
+ return;
+ }
+ String transferDetailId = settlement.getTransferDetailId();
+ TransferDetail td = transferDetailMapper.selectById(transferDetailId);
+ if(td == null){
+ log.warn("未找到对应明细");
+ return;
+ }
+ String dStatus = td.getStatus();
+ if("SUCCESS".equals(dStatus)){
+ settlement.setStatus(Constants.SETTLEMENT_STATUS.COMPLETED.name());
+ settlement.update("sys");
+ settlementMapper.updateById(settlement);
+ } else if ("FAIL".equals(dStatus)){
+ settlement.setStatus(Constants.SETTLEMENT_STATUS.FAILED.name());
+ settlement.update("sys");
+ settlementMapper.updateById(settlement);
+ }
+ }
}
public void doSettlement(){//弃用
@@ -716,7 +756,7 @@
detail.setOrderId(oi.getOrderId());
detail.setOrderItemId(itemId);
- detail.setPrice(oi.getMarkupPartner());
+ detail.setPrice(getAmount(oi.getMarkupPartner()));
detail.setNum(oi.getNum());
detail.setTotalAmount(detail.getPrice().multiply(new BigDecimal(detail.getNum())));
detail.setCheckFee(new BigDecimal(0));
--
Gitblit v1.9.3