feat:第三方支付多次退款记录
This commit is contained in:
1 parent
54df322b0f
commit
ba915abf9f
6 files changed
+75
-45
No files matched your search
+33
-24
@@ -35,10 +35,7 @@ import com.bsd.pjcloud.thirdparty.dto.pay.PayDetailDto;
|
||||
import com.bsd.pjcloud.thirdparty.dto.pay.PayDto;
|
||||
import com.bsd.pjcloud.thirdparty.dto.pay.RefundDto;
|
||||
import com.bsd.pjcloud.thirdparty.dto.pay.WaterDto;
|
||||
import com.bsd.pjcloud.thirdparty.vo.pay.PayBaseVo;
|
||||
import com.bsd.pjcloud.thirdparty.vo.pay.PayVo;
|
||||
import com.bsd.pjcloud.thirdparty.vo.pay.PayWaterVo;
|
||||
import com.bsd.pjcloud.thirdparty.vo.pay.RefundVo;
|
||||
import com.bsd.pjcloud.thirdparty.vo.pay.*;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
|
||||
import com.bsd.pjcloud.wallet.api.feign.RemoteMchService;
|
||||
@@ -285,22 +282,18 @@ public class HardThirdPayServiceImpl implements HardThirdPayService {
|
||||
item.setName(v.getUsername());
|
||||
item.setSignPhone(v.getUserMobile());
|
||||
item.setPlatformOrderId(String.valueOf(v.getId()));
|
||||
if (ObjectUtil.isNotEmpty(v.getAfterSaleId())) {
|
||||
item.setPlatformRefundId(String.valueOf(v.getAfterSaleId()));
|
||||
}
|
||||
item.setThirdOrderId(v.getOrderNo());
|
||||
if (ObjectUtil.isNotEmpty(v.getAfterSaleNo())) {
|
||||
item.setThirdRefundId(String.valueOf(v.getAfterSaleNo()));
|
||||
}
|
||||
item.setOrderStatus(v.getOrderStatus());
|
||||
item.setOrderPrice(v.getPayPrice());
|
||||
item.setRefundPrice(v.getRefundPrice());
|
||||
if (ObjectUtil.isNotEmpty(v.getPayTime())) {
|
||||
item.setPayTime(LocalDateTimeUtil.format(v.getPayTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(v.getRefundTime())) {
|
||||
item.setRefundTime(LocalDateTimeUtil.format(v.getRefundTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
}
|
||||
// 查询退款列表
|
||||
List<PayRefundVo> refundList = getRefundList(v.getId());
|
||||
// 总退款金额
|
||||
Integer reduce = refundList.stream().filter(i -> ObjectUtil.isNotEmpty(i.getRefundPrice())).map(i -> i.getRefundPrice()).reduce(0, Integer::sum);
|
||||
item.setRefundList(refundList);
|
||||
item.setRefundTotalPrice(reduce);
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
@@ -338,22 +331,18 @@ public class HardThirdPayServiceImpl implements HardThirdPayService {
|
||||
item.setName(order.getUsername());
|
||||
item.setSignPhone(order.getUserMobile());
|
||||
item.setPlatformOrderId(String.valueOf(order.getId()));
|
||||
if (ObjectUtil.isNotEmpty(order.getAfterSaleId())) {
|
||||
item.setPlatformRefundId(String.valueOf(order.getAfterSaleId()));
|
||||
}
|
||||
item.setThirdOrderId(order.getOrderNo());
|
||||
if (ObjectUtil.isNotEmpty(order.getAfterSaleNo())) {
|
||||
item.setThirdRefundId(String.valueOf(order.getAfterSaleNo()));
|
||||
}
|
||||
item.setOrderStatus(order.getOrderStatus());
|
||||
item.setOrderPrice(order.getPayPrice());
|
||||
item.setRefundPrice(order.getRefundPrice());
|
||||
if (ObjectUtil.isNotEmpty(order.getPayTime())) {
|
||||
item.setPayTime(LocalDateTimeUtil.format(order.getPayTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(order.getRefundTime())) {
|
||||
item.setRefundTime(LocalDateTimeUtil.format(order.getRefundTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
}
|
||||
// 查询退款列表
|
||||
List<PayRefundVo> refundList = getRefundList(order.getId());
|
||||
// 总退款金额
|
||||
Integer reduce = refundList.stream().filter(i -> ObjectUtil.isNotEmpty(i.getRefundPrice())).map(i -> i.getRefundPrice()).reduce(0, Integer::sum);
|
||||
item.setRefundList(refundList);
|
||||
item.setRefundTotalPrice(reduce);
|
||||
baseVo.set(ThirdPayVoStatusEnum.SUCCESS);
|
||||
baseVo.setData(item);
|
||||
return baseVo;
|
||||
@@ -376,6 +365,26 @@ public class HardThirdPayServiceImpl implements HardThirdPayService {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 查询退款列表
|
||||
private List<PayRefundVo> getRefundList(Long orderId) {
|
||||
List<HardAfterSaleEntity> afterList = hardAfterSaleService.list(new LambdaQueryWrapper<HardAfterSaleEntity>()
|
||||
.eq(HardAfterSaleEntity::getOrderId, orderId)
|
||||
.eq(HardAfterSaleEntity::getType, HardSaleTypeEnum.AFTER_SALE.getType())
|
||||
.eq(HardAfterSaleEntity::getStatus, HardSaleStatusEnum.COMPLETE.getStatus())
|
||||
);
|
||||
if (ObjectUtil.isEmpty(afterList)) {
|
||||
return null;
|
||||
}
|
||||
return afterList.stream().map(v -> {
|
||||
PayRefundVo item = new PayRefundVo();
|
||||
item.setPlatformRefundId(String.valueOf(v.getId()));
|
||||
item.setThirdRefundId(v.getNo());
|
||||
item.setRefundPrice(v.getRefundPrice());
|
||||
item.setRefundTime(LocalDateTimeUtil.format(v.getRefundTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||
return item;
|
||||
}).toList();
|
||||
}
|
||||
|
||||
private String getOrderType(ThirdPaySoureBizTypeEnum type) {
|
||||
switch (type) {
|
||||
case LB -> {
|
||||
|
||||
+1
@@ -207,6 +207,7 @@
|
||||
and s.no = #{dto.afterSaleNo}
|
||||
</if>
|
||||
</where>
|
||||
group by a.id
|
||||
order by a.create_time desc, a.user_id desc
|
||||
</sql>
|
||||
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package com.bsd.pjcloud.thirdparty.vo.pay;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PayRefundVo {
|
||||
|
||||
/**
|
||||
* 平台退款id
|
||||
*/
|
||||
private String platformRefundId;
|
||||
|
||||
/**
|
||||
* 第三方退款id
|
||||
*/
|
||||
private String thirdRefundId;
|
||||
|
||||
/**
|
||||
* 退款金额(分)
|
||||
*/
|
||||
private Integer refundPrice;
|
||||
|
||||
/**
|
||||
* 退款时间(yyyy-MM-dd HH:mm:ss格式)
|
||||
*/
|
||||
private String refundTime;
|
||||
|
||||
}
|
||||
+9
-17
@@ -2,6 +2,8 @@ package com.bsd.pjcloud.thirdparty.vo.pay;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PayWaterVo {
|
||||
|
||||
@@ -25,21 +27,11 @@ public class PayWaterVo {
|
||||
*/
|
||||
private String platformOrderId;
|
||||
|
||||
/**
|
||||
* 平台退款id
|
||||
*/
|
||||
private String platformRefundId;
|
||||
|
||||
/**
|
||||
* 第三方订单id
|
||||
*/
|
||||
private String thirdOrderId;
|
||||
|
||||
/**
|
||||
* 第三方退款id
|
||||
*/
|
||||
private String thirdRefundId;
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
* 1创建订单(未支付)
|
||||
@@ -53,19 +45,19 @@ public class PayWaterVo {
|
||||
*/
|
||||
private Integer orderPrice;
|
||||
|
||||
/**
|
||||
* 退款金额(分)
|
||||
*/
|
||||
private Integer refundPrice;
|
||||
|
||||
/**
|
||||
* 支付时间(yyyy-MM-dd HH:mm:ss格式)
|
||||
*/
|
||||
private String payTime;
|
||||
|
||||
/**
|
||||
* 退款时间(yyyy-MM-dd HH:mm:ss格式)
|
||||
* 总退款价格(分)
|
||||
*/
|
||||
private String refundTime;
|
||||
private Integer refundTotalPrice;
|
||||
|
||||
/**
|
||||
* 退款列表
|
||||
*/
|
||||
private List<PayRefundVo> refundList;
|
||||
|
||||
}
|
||||
Binary file not shown.
+4
-4
@@ -29,8 +29,8 @@ import java.util.Map;
|
||||
@SpringBootTest(classes = ThirdPartyApp.class)
|
||||
public class PayTest {
|
||||
|
||||
private final String baseUrl = "http://123.156.230.15:8089/api";
|
||||
// private final String baseUrl = "http://127.0.0.1:9999";
|
||||
// private final String baseUrl = "http://123.156.230.15:8089/api";
|
||||
private final String baseUrl = "http://127.0.0.1:9999";
|
||||
|
||||
private final String walletInfoUrl = "/third/third-pay-api/user-wallet";
|
||||
|
||||
@@ -152,8 +152,8 @@ public class PayTest {
|
||||
public void detail() throws Exception {
|
||||
ThirdKeyManageEntity config = getLbConfig();
|
||||
Map<String, Object> paramsMap = new HashMap<>();
|
||||
paramsMap.put("thirdOrderId", "");
|
||||
paramsMap.put("thirdRefundId", "10");
|
||||
paramsMap.put("thirdOrderId", "1748517531534");
|
||||
paramsMap.put("thirdRefundId", "");
|
||||
String body = JSONUtil.toJsonStr(paramsMap);
|
||||
// 发送请求
|
||||
String res = HttpRequest.post(baseUrl + detailUrl).contentType("application/json").header(apiCountersign(body)).body(body).execute().body();
|
||||
|
||||
Reference in new issue
Block a user