diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/GuildUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/GuildUserQueryController.java new file mode 100644 index 0000000..4debf25 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/GuildUserQueryController.java @@ -0,0 +1,31 @@ +package com.qniao.dam.api.query.guild.user; + +import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams; +import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo; +import com.qniao.dam.query.gmdp.GuildMemberDailyProfitQueryService; +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.RestController; + +import javax.annotation.Resource; + +@RestController +@RequestMapping("user") +@Api(tags = "工会") +public class GuildUserQueryController { + + @Resource + private GuildMemberDailyProfitQueryService guildMemberDailyProfitQueryService; + + @GetMapping("page/guild-member/daily-profit") + @ApiOperation("用户获取工会成员每日收益分页") + public QnPage pageGuildMemberDailyProfit(PageUtil pageUtil, + PageGuildMemberDailyProfitQueryParams queryParams) { + return PageUtil.convert(guildMemberDailyProfitQueryService.pageDailyProfit(pageUtil, queryParams), PageGuildMemberDailyProfitVo.class); + } + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/request/PageGuildMemberDailyProfitQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/request/PageGuildMemberDailyProfitQueryParams.java new file mode 100644 index 0000000..600f99f --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/request/PageGuildMemberDailyProfitQueryParams.java @@ -0,0 +1,26 @@ +package com.qniao.dam.api.query.guild.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDate; + +@Data +public class PageGuildMemberDailyProfitQueryParams { + + @ApiModelProperty("统计日期开始") + private LocalDate statDateFrom; + + @ApiModelProperty("统计日期结束") + private LocalDate statDateTo; + + @ApiModelProperty("工会标识") + private Long guildId; + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("手机") + private String phone; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/response/PageGuildMemberDailyProfitVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/response/PageGuildMemberDailyProfitVo.java new file mode 100644 index 0000000..c12f67b --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/guild/user/response/PageGuildMemberDailyProfitVo.java @@ -0,0 +1,59 @@ +package com.qniao.dam.api.query.guild.user.response; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.qniao.dau.domian.aggregate.lmar.constant.LiveMatchmakerTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +public class PageGuildMemberDailyProfitVo { + + @ApiModelProperty("统计日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate statDate; + + @ApiModelProperty("工会id") + @JsonSerialize(using = ToStringSerializer.class) + private Long guildId; + + @ApiModelProperty("工会名称") + private String guildName; + + @ApiModelProperty("用户id") + @JsonSerialize(using = ToStringSerializer.class) + private Long userId; + + @ApiModelProperty("用户id") + @JsonSerialize(using = ToStringSerializer.class) + private Long liveMatchmakerId; + + @ApiModelProperty("昵称") + private String nickName; + + @ApiModelProperty("真实姓名") + private String name; + + @ApiModelProperty("手机") + private String phone; + + @ApiModelProperty("红娘类型") + private LiveMatchmakerTypeEnum matchmakerType; + + @ApiModelProperty("注册时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime registerTime; + + @ApiModelProperty("入会时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime joinTime; + + @ApiModelProperty("收益额") + private BigDecimal earnings; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/gmdp/GuildMemberDailyProfitDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/gmdp/GuildMemberDailyProfitDao.java index cfdbc94..46fb1c0 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/gmdp/GuildMemberDailyProfitDao.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/gmdp/GuildMemberDailyProfitDao.java @@ -1,6 +1,10 @@ package com.qniao.dam.infrastructure.persistent.dao.gmdp; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams; +import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo; import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit; import org.apache.ibatis.annotations.Param; @@ -21,4 +25,6 @@ public interface GuildMemberDailyProfitDao extends BaseMapper pageDailyProfit(Page pageWithoutOrders, + @Param("queryParams") PageGuildMemberDailyProfitQueryParams queryParams); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/GuildMemberDailyProfitQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/GuildMemberDailyProfitQueryService.java index 56c973f..326d9fe 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/GuildMemberDailyProfitQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/GuildMemberDailyProfitQueryService.java @@ -1,6 +1,11 @@ package com.qniao.dam.query.gmdp; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams; +import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo; import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit; +import com.qniao.framework.utils.PageUtil; +import org.apache.ibatis.annotations.Param; import java.time.LocalDate; import java.time.LocalDateTime; @@ -13,4 +18,8 @@ public interface GuildMemberDailyProfitQueryService { List statAll(LocalDateTime startTime, LocalDateTime endTime); GuildMemberDailyProfit stat(Long guildId, Long userId, LocalDateTime startTime, LocalDateTime endTime); + + IPage pageDailyProfit(PageUtil pageUtil, + @Param("queryParams") PageGuildMemberDailyProfitQueryParams queryParams); + } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/impl/GuildMemberDailyProfitQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/impl/GuildMemberDailyProfitQueryServiceImpl.java index 5917cde..b76ee0d 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/impl/GuildMemberDailyProfitQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/gmdp/impl/GuildMemberDailyProfitQueryServiceImpl.java @@ -1,9 +1,15 @@ package com.qniao.dam.query.gmdp.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qniao.dam.api.query.guild.user.request.PageGuildMemberDailyProfitQueryParams; +import com.qniao.dam.api.query.guild.user.response.PageGuildMemberDailyProfitVo; import com.qniao.dam.domain.aggregate.gmdp.entity.GuildMemberDailyProfit; import com.qniao.dam.infrastructure.persistent.dao.gmdp.GuildMemberDailyProfitDao; import com.qniao.dam.query.gmdp.GuildMemberDailyProfitQueryService; +import com.qniao.domain.QnPage; +import com.qniao.framework.utils.PageUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -37,4 +43,10 @@ public class GuildMemberDailyProfitQueryServiceImpl implements GuildMemberDailyP return guildMemberDailyProfitDao.stat(guildId, userId, startTime, endTime); } + @Override + public IPage pageDailyProfit(PageUtil pageUtil, + PageGuildMemberDailyProfitQueryParams queryParams) { + return guildMemberDailyProfitDao.pageDailyProfit(pageUtil.toPageWithoutOrders(), queryParams); + } + } \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/resources/mapper/gmdp/GuildMemberDailyProfitDao.xml b/dating-agency-mall-server/src/main/resources/mapper/gmdp/GuildMemberDailyProfitDao.xml index 35018fc..58c565c 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/gmdp/GuildMemberDailyProfitDao.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/gmdp/GuildMemberDailyProfitDao.xml @@ -26,4 +26,45 @@ limit 1 + + \ No newline at end of file