Browse Source

收益明细

master
张彭杰 1 year ago
parent
commit
b51efff510
5 changed files with 120 additions and 0 deletions
  1. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/RevenueRewardUserQueryController.java
  2. 64
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/RevenueRewardRecordExportVo.java
  3. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/RevenueRewardQueryService.java
  4. 46
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java
  5. BIN
      dating-agency-mall-server/src/main/resources/templates/revenueRewardRecordExport.xlsx

8
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/RevenueRewardUserQueryController.java

@ -10,9 +10,11 @@ import com.qniao.dam.api.query.revenuereward.user.response.UsePageRevenueRewardR
import com.qniao.dam.query.revenuereward.RevenueRewardQueryService;
import com.qniao.dau.infrastructure.constant.RequestHeaderFields;
import com.qniao.domain.QnPage;
import com.qniao.framework.constants.HeaderFields;
import com.qniao.framework.utils.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -70,4 +72,10 @@ public class RevenueRewardUserQueryController {
public UseGetRevenueRewardAbstractByOperatorVo useGetRevenueRewardAbstractByOperator(UsePageRevenueRewardRecordByOperatorQueryParams queryParams) {
return revenueRewardQueryService.getRevenueRewardAbstractByOperator(queryParams);
}
@ApiOperation("运营端导出用户收益记录分页")
@GetMapping("/export/revenue-reward-record/by/operator")
public String userExportRevenueRewardRecordByOperator(UsePageRevenueRewardRecordByOperatorQueryParams queryParams) {
return revenueRewardQueryService.exportData(queryParams);
}
}

64
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/RevenueRewardRecordExportVo.java

@ -0,0 +1,64 @@
package com.qniao.dam.api.query.revenuereward.user.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class RevenueRewardRecordExportVo {
@ApiModelProperty("收益记录标识")
private Long revenueRewardRecordId;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("收益者名称")
private String revenueOwnerName;
@ApiModelProperty("收益者手机")
private String revenueOwnerPhone;
@ApiModelProperty("红娘用户ID")
private Long matchmakerUserId;
@ApiModelProperty("红娘等级")
private String matchmakerLevelVal;
@ApiModelProperty("交易类型")
private String tradeTypeVal;
@ApiModelProperty("订单金额")
private BigDecimal totalAssociateOrderAmount;
@ApiModelProperty("营收额百分比 收入占比")
private BigDecimal revenuePct;
@ApiModelProperty("营收额 营收金额")
private BigDecimal revenue;
@ApiModelProperty("服务费百分比 抽佣占比")
private BigDecimal servicePct;
@ApiModelProperty("收益额 实收金额")
private BigDecimal earnings;
@ApiModelProperty("订单号")
private String orderCode;
@ApiModelProperty("订单时间")
private String orderTimeVal;
@ApiModelProperty("微信支付单号")
private String wechatOrderNo;
@ApiModelProperty("服务用户名称")
private String serviceUserName;
@ApiModelProperty("服务用户手机")
private String serviceUserPhone;
}

2
dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/RevenueRewardQueryService.java

@ -26,4 +26,6 @@ public interface RevenueRewardQueryService {
IPage<UsePageRevenueRewardRecordByOperatorVo> pageRevenueRewardRecordByOperator(PageUtil pageUtil, UsePageRevenueRewardRecordByOperatorQueryParams queryParams);
UseGetRevenueRewardAbstractByOperatorVo getRevenueRewardAbstractByOperator(UsePageRevenueRewardRecordByOperatorQueryParams queryParams);
String exportData(UsePageRevenueRewardRecordByOperatorQueryParams queryParams);
}

46
dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java

@ -1,5 +1,6 @@
package com.qniao.dam.query.revenuereward.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.revenuereward.user.request.UseGetRevenueRewardAbstractQueryParams;
@ -8,15 +9,19 @@ import com.qniao.dam.api.query.revenuereward.user.request.UsePageRevenueRewardRe
import com.qniao.dam.api.query.revenuereward.user.response.*;
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.dam.infrastructure.easyexcel.EasyExcelUtil;
import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardDao;
import com.qniao.dam.infrastructure.persistent.dao.view.RevenueRewardViewDao;
import com.qniao.dam.query.matchmaker.MatchmakerQueryService;
import com.qniao.dam.query.revenuereward.RevenueRewardQueryService;
import com.qniao.domain.QnPage;
import com.qniao.framework.utils.PageUtil;
import com.qniao.framework.utils.TypeConvertUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@ -31,6 +36,8 @@ public class RevenueRewardQueryServiceImpl implements RevenueRewardQueryService
private RevenueRewardViewDao revenueRewardViewDao;
@Resource
private MatchmakerQueryService matchmakerQueryService;
@Resource
private EasyExcelUtil easyExcelUtil;
@Override
public RevenueReward queryByUserId(Long userId) {
@ -93,6 +100,45 @@ public class RevenueRewardQueryServiceImpl implements RevenueRewardQueryService
return revenueRewardViewDao.getRevenueRewardAbstractByOperator(queryParams);
}
@Override
public String exportData(UsePageRevenueRewardRecordByOperatorQueryParams queryParams) {
PageUtil pageUtil = new PageUtil();
pageUtil.setOrders(null);
pageUtil.setPageNum(1);
pageUtil.setPageSize(-1);
IPage<UsePageRevenueRewardRecordByOperatorVo> page = pageRevenueRewardRecordByOperator(pageUtil, queryParams);
List<RevenueRewardRecordExportVo> list = transformExport(page.getRecords());
return easyExcelUtil.writeToFilePath(
easyExcelUtil.getTemplateFileAsStream("revenueRewardRecordExport"),
list
);
}
private List<RevenueRewardRecordExportVo> transformExport(List<UsePageRevenueRewardRecordByOperatorVo> recordList) {
List<RevenueRewardRecordExportVo> list = new ArrayList<>();
for (UsePageRevenueRewardRecordByOperatorVo record : recordList) {
RevenueRewardRecordExportVo exportVo = TypeConvertUtils.convert(record, RevenueRewardRecordExportVo.class, (rVo, eVo) -> {
eVo.setMatchmakerLevelVal(rVo.getMatchmakerLevel().getDesc());
eVo.setTradeTypeVal(rVo.getTradeType().getDesc());
if (CollUtil.isNotEmpty(rVo.getAssociateOrderRecordList())) {
eVo.setOrderCode(rVo.getAssociateOrderRecordList().stream().map(RevenueRewardAssociateOrderRecordVo::getOrderCode)
.collect(Collectors.joining(",")));
eVo.setOrderTimeVal(rVo.getAssociateOrderRecordList().stream().map(RevenueRewardAssociateOrderRecordVo::getOrderTime)
.map(LocalDateTime::toString)
.collect(Collectors.joining(",")));
eVo.setWechatOrderNo(rVo.getAssociateOrderRecordList().stream().map(RevenueRewardAssociateOrderRecordVo::getWechatOrderNo)
.collect(Collectors.joining(",")));
eVo.setServiceUserName(rVo.getAssociateOrderRecordList().stream().map(RevenueRewardAssociateOrderRecordVo::getServiceUserName)
.collect(Collectors.joining(",")));
eVo.setServiceUserPhone(rVo.getAssociateOrderRecordList().stream().map(RevenueRewardAssociateOrderRecordVo::getServiceUserPhone)
.collect(Collectors.joining(",")));
}
});
list.add(exportVo);
}
return list;
}
@Override
public UseGetRevenueRewardAbstractVo getRevenueRewardAbstract(UseGetRevenueRewardAbstractQueryParams queryParams) {
return revenueRewardViewDao.getRevenueRewardAbstract(queryParams);

BIN
dating-agency-mall-server/src/main/resources/templates/revenueRewardRecordExport.xlsx

Loading…
Cancel
Save