diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/WithdrawAuditUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/WithdrawAuditUserQueryController.java index 6d58edb..a6e46ed 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/WithdrawAuditUserQueryController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/WithdrawAuditUserQueryController.java @@ -1,5 +1,6 @@ package com.qniao.dam.api.query.withdrawaudit.user; +import com.qniao.dam.api.query.walletaccount.user.request.UsePageWalletAccountRecordByOperatorQueryParams; import com.qniao.dam.api.query.withdrawaudit.user.request.UserPageWithdrawAuditQueryParams; import com.qniao.dam.api.query.withdrawaudit.user.response.UserPageWithdrawAuditVo; import com.qniao.dam.query.withdrawaudit.WithdrawAuditQueryService; @@ -36,13 +37,18 @@ public class WithdrawAuditUserQueryController { PageUtil pageUtil, UserPageWithdrawAuditQueryParams queryParams) { if (Objects.isNull(queryParams.getQueryOrgId()) && Objects.isNull(queryParams.getQueryUserId())) { - if (Objects.nonNull(orgId)){ + if (Objects.nonNull(orgId)) { queryParams.setQueryOrgId(orgId); - }else{ + } else { queryParams.setQueryUserId(userId); } } return PageUtil.convert(withdrawAuditQueryService.pageWithdrawAudit(queryParams, pageUtil), UserPageWithdrawAuditVo.class); } + @ApiOperation("运营导出提现审核记录") + @GetMapping("/export/withdraw-audit") + public String userExportWithdrawAudit(UserPageWithdrawAuditQueryParams queryParams) { + return withdrawAuditQueryService.exportData(queryParams); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/response/WithdrawAuditExportVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/response/WithdrawAuditExportVo.java new file mode 100644 index 0000000..7152ae3 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/response/WithdrawAuditExportVo.java @@ -0,0 +1,59 @@ +package com.qniao.dam.api.query.withdrawaudit.user.response; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class WithdrawAuditExportVo { + + @ApiModelProperty("唯一标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("钱包用户名称") + private String walletAccountUserName; + + @ApiModelProperty("提现金额") + private BigDecimal withdrawAmount; + + @ApiModelProperty("提现服务费") + private BigDecimal withdrawServiceFee; + + @ApiModelProperty("到账金额") + private BigDecimal arrivalAmount; + + @ApiModelProperty("审核状态") + private String status; + + @ApiModelProperty("汇款状态") + private String remitStatus; + + @ApiModelProperty("汇款凭证") + private String remitUrl; + + @ApiModelProperty("汇款时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime remitDateTime; + + @ApiModelProperty("申请时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime applyTime; + + @ApiModelProperty("提现类型") + private String withdrawType; + + @ApiModelProperty("第三方账号的信息") + private String extDetailsInfo; + + @ApiModelProperty("审批备注") + private String auditRemark; + + @ApiModelProperty("汇款备注") + private String remitRemark; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/WithdrawAuditQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/WithdrawAuditQueryService.java index 222435f..0e8f3f4 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/WithdrawAuditQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/WithdrawAuditQueryService.java @@ -7,4 +7,6 @@ import com.qniao.framework.utils.PageUtil; public interface WithdrawAuditQueryService { IPage pageWithdrawAudit(UserPageWithdrawAuditQueryParams queryParams, PageUtil pageUtil); + + String exportData(UserPageWithdrawAuditQueryParams queryParams); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/impl/WithdrawAuditQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/impl/WithdrawAuditQueryServiceImpl.java index cec1376..9df3471 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/impl/WithdrawAuditQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/withdrawaudit/impl/WithdrawAuditQueryServiceImpl.java @@ -1,24 +1,67 @@ package com.qniao.dam.query.withdrawaudit.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.command.paymentchannelorder.user.request.ThirdPartyField; +import com.qniao.dam.api.query.walletaccount.user.response.UsePageWalletAccountRecordByOperatorVo; +import com.qniao.dam.api.query.walletaccount.user.response.WalletAccountRecordExportVo; import com.qniao.dam.api.query.withdrawaudit.user.request.UserPageWithdrawAuditQueryParams; import com.qniao.dam.api.query.withdrawaudit.user.response.UserPageWithdrawAuditVo; +import com.qniao.dam.api.query.withdrawaudit.user.response.WithdrawAuditExportVo; +import com.qniao.dam.infrastructure.easyexcel.EasyExcelUtil; import com.qniao.dam.infrastructure.persistent.dao.domain.WithdrawAuditDao; import com.qniao.dam.infrastructure.persistent.dao.view.WithdrawAuditViewDao; import com.qniao.dam.query.withdrawaudit.WithdrawAuditQueryService; import com.qniao.framework.utils.PageUtil; +import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; @Service public class WithdrawAuditQueryServiceImpl implements WithdrawAuditQueryService { @Resource private WithdrawAuditViewDao withdrawAuditViewDao; + @Resource + private EasyExcelUtil easyExcelUtil; @Override public IPage pageWithdrawAudit(UserPageWithdrawAuditQueryParams queryParams, PageUtil pageUtil) { return withdrawAuditViewDao.pageWithdrawAudit(queryParams, pageUtil.toPageWithoutOrders()); } + + @Override + public String exportData(UserPageWithdrawAuditQueryParams queryParams) { + PageUtil pageUtil = new PageUtil(); + pageUtil.setOrders(null); + pageUtil.setPageNum(1); + pageUtil.setPageSize(-1); + IPage page = pageWithdrawAudit(queryParams, pageUtil); + List list = transformExport(page.getRecords()); + return easyExcelUtil.writeToFilePath( + easyExcelUtil.getTemplateFileAsStream("withdrawAuditExport"), + list + ); + } + + private List transformExport(List records) { + List list = new ArrayList<>(); + if (CollUtil.isNotEmpty(records)) { + list = TypeConvertUtils.convertList(records, WithdrawAuditExportVo.class, (vo, export) -> { + export.setStatus(vo.getStatus().getDesc()); + export.setRemitStatus(vo.getRemitStatus() ? "是" : "否"); + export.setWithdrawType(vo.getWithdrawType().getDesc()); + Map extDetailsInfo = vo.getExtDetailsInfo(); + export.setExtDetailsInfo("银行卡号:" + extDetailsInfo.get(ThirdPartyField.CARD_NUM) + ";" + + "持卡人姓名:" + extDetailsInfo.get(ThirdPartyField.OWNER_NAME) + ";" + + "所属银行:" + extDetailsInfo.get(ThirdPartyField.BANK_NAME) + ";" + + "开户行:" + extDetailsInfo.get(ThirdPartyField.OPENING_BANK)); + }); + } + return list; + } } diff --git a/dating-agency-mall-server/src/main/resources/templates/withdrawAuditExport.xlsx b/dating-agency-mall-server/src/main/resources/templates/withdrawAuditExport.xlsx new file mode 100644 index 0000000..0c92f28 Binary files /dev/null and b/dating-agency-mall-server/src/main/resources/templates/withdrawAuditExport.xlsx differ