- 前端:支付单列表
- 前端:退款单列表
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
package cn.iocoder.mall.pay.application.controller.admins;
|
||||
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.pay.api.PayRefundService;
|
||||
import cn.iocoder.mall.pay.api.PayTransactionService;
|
||||
import cn.iocoder.mall.pay.api.bo.PayRefundBO;
|
||||
import cn.iocoder.mall.pay.api.bo.PayRefundPageBO;
|
||||
import cn.iocoder.mall.pay.api.bo.PayTransactionBO;
|
||||
import cn.iocoder.mall.pay.api.dto.PayRefundPageDTO;
|
||||
import cn.iocoder.mall.pay.application.convert.PayRefundConvert;
|
||||
import cn.iocoder.mall.pay.application.vo.admins.AdminsPayRefundPageVO;
|
||||
import org.apache.dubbo.config.annotation.Reference;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.common.framework.vo.CommonResult.success;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("admins/refund")
|
||||
public class AdminsPayRefundController {
|
||||
|
||||
@Reference(validation = "true", version = "${dubbo.provider.PayRefundService.version}")
|
||||
private PayRefundService payRefundService;
|
||||
@Reference(validation = "true", version = "${dubbo.provider.PayTransactionService.version}")
|
||||
private PayTransactionService payTransactionService;
|
||||
|
||||
@GetMapping("/page")
|
||||
public CommonResult<AdminsPayRefundPageVO> page(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "createBeginTime", required = false) Date createBeginTime,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "createEndTime", required = false) Date createEndTime,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "finishBeginTime", required = false) Date finishBeginTime,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "finishEndTime", required = false) Date finishEndTime,
|
||||
@RequestParam(value = "status", required = false) Integer status,
|
||||
@RequestParam(value = "payChannel", required = false) Integer payChannel,
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
PayRefundPageDTO payRefundPageDTO = new PayRefundPageDTO()
|
||||
.setCreateBeginTime(createBeginTime).setCreateEndTime(createEndTime)
|
||||
.setFinishBeginTime(finishBeginTime).setFinishEndTime(finishEndTime)
|
||||
.setStatus(status).setPayChannel(payChannel)
|
||||
.setPageNo(pageNo).setPageSize(pageSize);
|
||||
// 执行查询
|
||||
PayRefundPageBO refundBOPage = payRefundService.getRefundPage(payRefundPageDTO);
|
||||
AdminsPayRefundPageVO result = new AdminsPayRefundPageVO()
|
||||
.setList(PayRefundConvert.INSTANCE.convertList(refundBOPage.getList()))
|
||||
.setTotal(refundBOPage.getTotal());
|
||||
if (result.getList().isEmpty()) {
|
||||
return success(result);
|
||||
}
|
||||
// 拼接结果
|
||||
Map<Integer, PayTransactionBO> transactionMap = payTransactionService.getTransactionList(
|
||||
result.getList().stream().map(PayRefundBO::getTransactionId).collect(Collectors.toSet()))
|
||||
.stream().collect(Collectors.toMap(PayTransactionBO::getId, transaction -> transaction));
|
||||
result.getList().forEach(refund -> refund.setTransaction(transactionMap.get(refund.getTransactionId())));
|
||||
return success(result);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package cn.iocoder.mall.pay.application.controller.admins;
|
||||
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.pay.api.PayTransactionService;
|
||||
import cn.iocoder.mall.pay.api.bo.PayTransactionPageBO;
|
||||
import cn.iocoder.mall.pay.api.dto.PayTransactionPageDTO;
|
||||
import org.apache.dubbo.config.annotation.Reference;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import static cn.iocoder.common.framework.vo.CommonResult.success;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("admins/transaction")
|
||||
public class AdminsPayTransactionController {
|
||||
|
||||
@Reference(validation = "true", version = "${dubbo.provider.PayTransactionService.version}")
|
||||
private PayTransactionService payTransactionService;
|
||||
|
||||
@GetMapping("/page")
|
||||
public CommonResult<PayTransactionPageBO> page(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "createBeginTime", required = false) Date createBeginTime,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "createEndTime", required = false) Date createEndTime,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "paymentBeginTime", required = false) Date paymentBeginTime,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@RequestParam(value = "paymentEndTime", required = false) Date paymentEndTime,
|
||||
@RequestParam(value = "status", required = false) Integer status,
|
||||
@RequestParam(value = "hasRefund", required = false) Boolean hasRefund,
|
||||
@RequestParam(value = "payChannel", required = false) Integer payChannel,
|
||||
@RequestParam(value = "orderSubject", required = false) String orderSubject,
|
||||
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
PayTransactionPageDTO payTransactionPageDTO = new PayTransactionPageDTO()
|
||||
.setCreateBeginTime(createBeginTime).setCreateEndTime(createEndTime)
|
||||
.setPaymentBeginTime(paymentBeginTime).setPaymentEndTime(paymentEndTime)
|
||||
.setStatus(status).setHasRefund(hasRefund)
|
||||
.setPayChannel(payChannel).setOrderSubject(orderSubject)
|
||||
.setPageNo(pageNo).setPageSize(pageSize);
|
||||
// 执行查询
|
||||
return success(payTransactionService.getTransactionPage(payTransactionPageDTO));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,9 +3,9 @@ package cn.iocoder.mall.pay.application.controller.users;
|
||||
import cn.iocoder.common.framework.vo.CommonResult;
|
||||
import cn.iocoder.mall.pay.api.PayRefundService;
|
||||
import cn.iocoder.mall.pay.api.constant.PayChannelEnum;
|
||||
import org.apache.dubbo.config.annotation.Reference;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -17,11 +17,11 @@ import java.io.IOException;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("users/refund") // TODO 芋艿,理论来说,是用户无关的。这里先酱紫先~
|
||||
public class PayRefundController {
|
||||
public class UsersPayRefundController {
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@Autowired
|
||||
@Reference(validation = "true", version = "${dubbo.provider.PayRefundService.version}")
|
||||
private PayRefundService payRefundService;
|
||||
|
||||
@PostMapping(value = "pingxx_refund_success", consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@@ -20,14 +20,15 @@ import java.io.IOException;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("users/transaction") // TODO 芋艿,理论来说,是用户无关的。这里先酱紫先~
|
||||
public class PayTransactionController {
|
||||
public class UsersPayTransactionController {
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@Reference(validation = "true")
|
||||
@Reference(validation = "true", version = "${dubbo.provider.PayTransactionService.version}")
|
||||
private PayTransactionService payTransactionService;
|
||||
|
||||
@GetMapping("/get")
|
||||
// TODO result 后面改下
|
||||
public CommonResult<PayTransactionBO> get(@RequestParam("appId") String appId,
|
||||
@RequestParam("orderId") String orderId) {
|
||||
return payTransactionService.getTransaction(UserSecurityContextHolder.getContext().getUserId(), appId, orderId);
|
||||
@@ -0,0 +1,19 @@
|
||||
package cn.iocoder.mall.pay.application.convert;
|
||||
|
||||
import cn.iocoder.mall.pay.api.bo.PayRefundBO;
|
||||
import cn.iocoder.mall.pay.application.vo.admins.AdminsPayRefundDetailVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mappings;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface PayRefundConvert {
|
||||
|
||||
PayRefundConvert INSTANCE = Mappers.getMapper(PayRefundConvert.class);
|
||||
|
||||
@Mappings({})
|
||||
List<AdminsPayRefundDetailVO> convertList(List<PayRefundBO> refunds);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package cn.iocoder.mall.pay.application.vo.admins;
|
||||
|
||||
import cn.iocoder.mall.pay.api.bo.PayRefundBO;
|
||||
import cn.iocoder.mall.pay.api.bo.PayTransactionBO;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 支付退款详细 VO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class AdminsPayRefundDetailVO extends PayRefundBO { // TODO 芋艿,暂时偷懒下
|
||||
|
||||
/**
|
||||
* 支付交易
|
||||
*/
|
||||
private PayTransactionBO transaction;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package cn.iocoder.mall.pay.application.vo.admins;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 支付退款 Page VO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class AdminsPayRefundPageVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 支付退款数组
|
||||
*/
|
||||
private List<AdminsPayRefundDetailVO> list;
|
||||
/**
|
||||
* 总量
|
||||
*/
|
||||
private Integer total;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user