- 前端:支付单列表

- 前端:退款单列表
This commit is contained in:
YunaiV
2019-05-08 18:57:12 +08:00
parent 23be2069b6
commit e6c578f5ea
70 changed files with 2263 additions and 272 deletions

View File

@@ -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);
}
}

View File

@@ -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));
}
}

View File

@@ -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)

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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;
}