10 changed files with 257 additions and 2 deletions
Split View
Diff Options
-
49dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/RevenueRewardUserQueryController.java
-
25dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/request/UseGetRevenueRewardAbstractQueryParams.java
-
24dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/request/UsePageRevenueRewardRecordQueryParams.java
-
23dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UseGetRevenueRewardAbstractVo.java
-
33dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UseGetRevenueRewardRecordVo.java
-
5dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java
-
18dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/RevenueRewardViewDao.java
-
10dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/RevenueRewardQueryService.java
-
21dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java
-
51dating-agency-mall-server/src/main/resources/mapper/revenuereward/RevenueRewardViewMapper.xml
@ -0,0 +1,49 @@ |
|||
package com.qniao.dam.api.query.revenuereward.user; |
|||
|
|||
import com.qniao.dam.api.query.revenuereward.user.request.UseGetRevenueRewardAbstractQueryParams; |
|||
import com.qniao.dam.api.query.revenuereward.user.request.UsePageRevenueRewardRecordQueryParams; |
|||
import com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardAbstractVo; |
|||
import com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardRecordVo; |
|||
import com.qniao.dam.query.revenuereward.RevenueRewardQueryService; |
|||
import com.qniao.domain.QnPage; |
|||
import com.qniao.framework.utils.PageUtil; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
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 javax.annotation.Resource; |
|||
import java.util.Objects; |
|||
|
|||
@RestController |
|||
@RequestMapping("user") |
|||
@Api(tags = "收益") |
|||
public class RevenueRewardUserQueryController { |
|||
|
|||
@Resource |
|||
private RevenueRewardQueryService revenueRewardQueryService; |
|||
|
|||
@GetMapping("get/revenue-reward-abstract") |
|||
@ApiOperation("获取用户收益摘要") |
|||
public UseGetRevenueRewardAbstractVo useGetRevenueRewardAbstract(UseGetRevenueRewardAbstractQueryParams queryParams, |
|||
@RequestParam("userId") Long userId) { |
|||
if (Objects.isNull(queryParams.getQueryUserId())) { |
|||
queryParams.setQueryUserId(userId); |
|||
} |
|||
return revenueRewardQueryService.getRevenueRewardAbstract(queryParams); |
|||
} |
|||
|
|||
@GetMapping("page/revenue-reward-record") |
|||
@ApiOperation("获取用户收益记录") |
|||
public QnPage<UseGetRevenueRewardRecordVo> usePageRevenueRewardRecord(PageUtil pageUtil, |
|||
UsePageRevenueRewardRecordQueryParams queryParams, |
|||
@RequestParam("userId") Long userId) { |
|||
if (Objects.isNull(queryParams.getQueryUserId())) { |
|||
queryParams.setQueryUserId(userId); |
|||
} |
|||
return PageUtil.convert(revenueRewardQueryService.pageRevenueRewardRecord(pageUtil, queryParams),UseGetRevenueRewardRecordVo.class); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,25 @@ |
|||
package com.qniao.dam.api.query.revenuereward.user.request; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class UseGetRevenueRewardAbstractQueryParams { |
|||
|
|||
@ApiModelProperty("查询用户标识") |
|||
private Long queryUserId; |
|||
|
|||
@ApiModelProperty("收益开始时间") |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime revenueTimeFrom; |
|||
|
|||
@ApiModelProperty("收益结束时间") |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime revenueTimeTo; |
|||
|
|||
@ApiModelProperty("交易类型 101认证、102发布、103匹配、104推荐") |
|||
private Integer tradeType; |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
package com.qniao.dam.api.query.revenuereward.user.request; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class UsePageRevenueRewardRecordQueryParams { |
|||
@ApiModelProperty("查询用户标识") |
|||
private Long queryUserId; |
|||
|
|||
@ApiModelProperty("收益开始时间") |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime revenueTimeFrom; |
|||
|
|||
@ApiModelProperty("收益结束时间") |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime revenueTimeTo; |
|||
|
|||
@ApiModelProperty("交易类型 101认证、102发布、103匹配、104推荐") |
|||
private Integer tradeType; |
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
package com.qniao.dam.api.query.revenuereward.user.response; |
|||
|
|||
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; |
|||
|
|||
@Data |
|||
public class UseGetRevenueRewardAbstractVo { |
|||
|
|||
@ApiModelProperty("收益唯一标识") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long id; |
|||
|
|||
@ApiModelProperty("营收额") |
|||
private BigDecimal totalRevenue; |
|||
|
|||
@ApiModelProperty("收益额") |
|||
private BigDecimal totalEarnings; |
|||
|
|||
} |
|||
@ -0,0 +1,33 @@ |
|||
package com.qniao.dam.api.query.revenuereward.user.response; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class UseGetRevenueRewardRecordVo { |
|||
|
|||
@ApiModelProperty("交易类型") |
|||
private TradeTypeEnum tradeType; |
|||
|
|||
@ApiModelProperty("营收额") |
|||
private BigDecimal revenue; |
|||
|
|||
@ApiModelProperty("收益额 营收额除去平台服务费") |
|||
private BigDecimal earnings; |
|||
|
|||
@ApiModelProperty("订单金额") |
|||
private BigDecimal totalAssociateOrderAmount; |
|||
|
|||
@ApiModelProperty("内容") |
|||
private String content; |
|||
|
|||
@ApiModelProperty("收益时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime revenueTime; |
|||
|
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
package com.qniao.dam.infrastructure.persistent.dao.view; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.qniao.dam.api.query.revenuereward.user.request.UseGetRevenueRewardAbstractQueryParams; |
|||
import com.qniao.dam.api.query.revenuereward.user.request.UsePageRevenueRewardRecordQueryParams; |
|||
import com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardAbstractVo; |
|||
import com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardRecordVo; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
@Mapper |
|||
public interface RevenueRewardViewDao { |
|||
UseGetRevenueRewardAbstractVo getRevenueRewardAbstract(@Param("queryParams") UseGetRevenueRewardAbstractQueryParams queryParams); |
|||
|
|||
IPage<UseGetRevenueRewardRecordVo> pageRevenueRewardRecord(Page<Object> pageWithoutOrders, |
|||
@Param("queryParams") UsePageRevenueRewardRecordQueryParams queryParams); |
|||
} |
|||
@ -1,7 +1,17 @@ |
|||
package com.qniao.dam.query.revenuereward; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.qniao.dam.api.query.revenuereward.user.request.UseGetRevenueRewardAbstractQueryParams; |
|||
import com.qniao.dam.api.query.revenuereward.user.request.UsePageRevenueRewardRecordQueryParams; |
|||
import com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardAbstractVo; |
|||
import com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardRecordVo; |
|||
import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; |
|||
import com.qniao.framework.utils.PageUtil; |
|||
|
|||
public interface RevenueRewardQueryService { |
|||
RevenueReward queryByUserId(Long userId); |
|||
|
|||
UseGetRevenueRewardAbstractVo getRevenueRewardAbstract(UseGetRevenueRewardAbstractQueryParams queryParams); |
|||
|
|||
IPage<UseGetRevenueRewardRecordVo> pageRevenueRewardRecord(PageUtil pageUtil, UsePageRevenueRewardRecordQueryParams queryParams); |
|||
} |
|||
@ -0,0 +1,51 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.qniao.dam.infrastructure.persistent.dao.view.RevenueRewardViewDao"> |
|||
|
|||
|
|||
<select id="getRevenueRewardAbstract" |
|||
resultType="com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardAbstractVo"> |
|||
select |
|||
drr.id, |
|||
SUM(drrr.revenue) as totalRevenue, |
|||
SUM(drrr.earnings) as totalEarnings |
|||
from da_revenue_reward_record as drrr |
|||
LEFT JOIN da_revenue_reward as drr on drr.id=drrr.revenue_reward_id |
|||
WHERE drr.is_delete=0 |
|||
<if test="queryParams.queryUserId != null"> |
|||
and drr.user_id = #{queryParams.queryUserId} |
|||
</if> |
|||
<if test="queryParams.tradeType != null"> |
|||
and drrr.trade_type = #{queryParams.tradeType} |
|||
</if> |
|||
<if test="queryParams.revenueTimeFrom != null and queryParams.revenueTimeTo != null"> |
|||
and drrr.create_time BETWEEN #{queryParams.revenueTimeFrom} and #{queryParams.revenueTimeTo} |
|||
</if> |
|||
GROUP BY drr.id |
|||
limit 1 |
|||
</select> |
|||
|
|||
<select id="pageRevenueRewardRecord" |
|||
resultType="com.qniao.dam.api.query.revenuereward.user.response.UseGetRevenueRewardRecordVo"> |
|||
select |
|||
drrr.trade_type, |
|||
drrr.revenue, |
|||
drrr.earnings, |
|||
drrr.total_associate_order_amount, |
|||
drrr.content, |
|||
drrr.create_time as revenueTime |
|||
from da_revenue_reward_record as drrr |
|||
LEFT JOIN da_revenue_reward as drr on drr.id=drrr.revenue_reward_id |
|||
WHERE drr.is_delete=0 |
|||
<if test="queryParams.queryUserId != null"> |
|||
and drr.user_id = #{queryParams.queryUserId} |
|||
</if> |
|||
<if test="queryParams.tradeType != null"> |
|||
and drrr.trade_type = #{queryParams.tradeType} |
|||
</if> |
|||
<if test="queryParams.revenueTimeFrom != null and queryParams.revenueTimeTo != null"> |
|||
and drrr.create_time BETWEEN #{queryParams.revenueTimeFrom} and #{queryParams.revenueTimeTo} |
|||
</if> |
|||
ORDER BY drrr.create_time desc |
|||
</select> |
|||
</mapper> |
|||
Write
Preview
Loading…
Cancel
Save