From e12eacaec5214b1377d83f7289f35afdeb22db34 Mon Sep 17 00:00:00 2001 From: Derran Date: Tue, 3 Dec 2024 12:02:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E5=A8=98=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WalletAccountUserQueryController.java | 12 +++++ ...letAccountRecordByOperatorQueryParams.java | 25 ++++++++++ ...eGetWalletAccountAbstractByOperatorVo.java | 10 ++++ ...sePageWalletAccountRecordByOperatorVo.java | 49 +++++++++++++++++++ .../dao/view/WalletAccountViewDao.java | 4 ++ .../WalletAccountQueryService.java | 4 ++ .../impl/WalletAccountQueryServiceImpl.java | 7 +++ .../walletaccount/WalletAccountViewMapper.xml | 29 +++++++++++ 8 files changed, 140 insertions(+) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/request/UsePageWalletAccountRecordByOperatorQueryParams.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UseGetWalletAccountAbstractByOperatorVo.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UsePageWalletAccountRecordByOperatorVo.java diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/WalletAccountUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/WalletAccountUserQueryController.java index cc3af94..f2a2593 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/WalletAccountUserQueryController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/WalletAccountUserQueryController.java @@ -1,6 +1,11 @@ package com.qniao.dam.api.query.walletaccount.user; +import com.qniao.dam.api.query.revenuereward.user.request.UsePageRevenueRewardRecordByOperatorQueryParams; +import com.qniao.dam.api.query.revenuereward.user.response.UsePageRevenueRewardRecordByOperatorVo; +import com.qniao.dam.api.query.walletaccount.user.request.UsePageWalletAccountRecordByOperatorQueryParams; import com.qniao.dam.api.query.walletaccount.user.request.UserPageWalletAccountRecordQueryParam; +import com.qniao.dam.api.query.walletaccount.user.response.UseGetWalletAccountAbstractByOperatorVo; +import com.qniao.dam.api.query.walletaccount.user.response.UsePageWalletAccountRecordByOperatorVo; import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountRecordVo; import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountVo; import com.qniao.dam.domain.aggregate.walletaccount.entity.WalletAccount; @@ -46,4 +51,11 @@ public class WalletAccountUserQueryController { return PageUtil.convert(walletAccountQueryService.pageWalletAccountRecord(queryParam, pageUtil), UserGetWalletAccountRecordVo.class); } + + @GetMapping("page/wallet-account-record/by/operator") + @ApiOperation("运营端获取用户钱包账号记录分页") + public QnPage usePageWalletAccountRecordByOperator(PageUtil pageUtil, + UsePageWalletAccountRecordByOperatorQueryParams queryParams) { + return PageUtil.convert(walletAccountQueryService.pageWalletAccountRecordByOperator(pageUtil, queryParams), UsePageWalletAccountRecordByOperatorVo.class); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/request/UsePageWalletAccountRecordByOperatorQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/request/UsePageWalletAccountRecordByOperatorQueryParams.java new file mode 100644 index 0000000..d08c1bd --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/request/UsePageWalletAccountRecordByOperatorQueryParams.java @@ -0,0 +1,25 @@ +package com.qniao.dam.api.query.walletaccount.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +@Data +public class UsePageWalletAccountRecordByOperatorQueryParams { + + @ApiModelProperty("创建开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTimeFrom; + + @ApiModelProperty("创建结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTimeTo; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("手机号") + private String phone; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UseGetWalletAccountAbstractByOperatorVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UseGetWalletAccountAbstractByOperatorVo.java new file mode 100644 index 0000000..0799079 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UseGetWalletAccountAbstractByOperatorVo.java @@ -0,0 +1,10 @@ +package com.qniao.dam.api.query.walletaccount.user.response; + +import lombok.Data; + +@Data +public class UseGetWalletAccountAbstractByOperatorVo { + + + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UsePageWalletAccountRecordByOperatorVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UsePageWalletAccountRecordByOperatorVo.java new file mode 100644 index 0000000..7774736 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UsePageWalletAccountRecordByOperatorVo.java @@ -0,0 +1,49 @@ +package com.qniao.dam.api.query.walletaccount.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.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; +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 UsePageWalletAccountRecordByOperatorVo { + + @ApiModelProperty("流水明细ID") + @JsonSerialize(using = ToStringSerializer.class) + private Long associateId; + + @ApiModelProperty("交易类型") + private TradeTypeEnum tradeType; + + @ApiModelProperty("是否收入") + private Boolean isIncome; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("手机号") + private String phone; + + @ApiModelProperty("红娘身份类型") + private ProductSubCategoryEnum matchmakerType; + + @ApiModelProperty("交易金额") + private BigDecimal tradeAmount; + + @ApiModelProperty("原始金额") + private BigDecimal originalBalance; + + @ApiModelProperty("当前金额") + private BigDecimal currentBalance; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/WalletAccountViewDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/WalletAccountViewDao.java index 3eef9f0..23abd7d 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/WalletAccountViewDao.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/WalletAccountViewDao.java @@ -2,7 +2,9 @@ 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.walletaccount.user.request.UsePageWalletAccountRecordByOperatorQueryParams; import com.qniao.dam.api.query.walletaccount.user.request.UserPageWalletAccountRecordQueryParam; +import com.qniao.dam.api.query.walletaccount.user.response.UsePageWalletAccountRecordByOperatorVo; import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountRecordVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -14,4 +16,6 @@ public interface WalletAccountViewDao { IPage pageWalletAccountRecord(Page pageWithoutOrders, @Param("queryParam") UserPageWalletAccountRecordQueryParam queryParam); + IPage pageWalletAccountRecordByOperator(Page pageWithoutOrders, + @Param("queryParams") UsePageWalletAccountRecordByOperatorQueryParams queryParams); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java index bcd7e75..7c18148 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java @@ -1,7 +1,9 @@ package com.qniao.dam.query.walletaccount; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.walletaccount.user.request.UsePageWalletAccountRecordByOperatorQueryParams; import com.qniao.dam.api.query.walletaccount.user.request.UserPageWalletAccountRecordQueryParam; +import com.qniao.dam.api.query.walletaccount.user.response.UsePageWalletAccountRecordByOperatorVo; import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountRecordVo; import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountVo; import com.qniao.dam.domain.aggregate.walletaccount.entity.WalletAccount; @@ -21,4 +23,6 @@ public interface WalletAccountQueryService { WalletAccount queryByType(Long identityId, IdentityTypeEnum identityTypeEnum); BigDecimal countAvailableWithdrawBalance(WalletAccount walletAccount); + + IPage pageWalletAccountRecordByOperator(PageUtil pageUtil, UsePageWalletAccountRecordByOperatorQueryParams queryParams); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java index 12cabe3..c7b6449 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java @@ -2,7 +2,9 @@ package com.qniao.dam.query.walletaccount.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.walletaccount.user.request.UsePageWalletAccountRecordByOperatorQueryParams; import com.qniao.dam.api.query.walletaccount.user.request.UserPageWalletAccountRecordQueryParam; +import com.qniao.dam.api.query.walletaccount.user.response.UsePageWalletAccountRecordByOperatorVo; import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountRecordVo; import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountVo; import com.qniao.dam.domain.aggregate.walletaccount.valueobj.WalletAccountRecord; @@ -90,6 +92,11 @@ public class WalletAccountQueryServiceImpl implements WalletAccountQueryService return availableBalance.compareTo(unavailableWithdrawBalance) > 0 ? availableBalance.subtract(unavailableWithdrawBalance) : BigDecimal.ZERO; } + @Override + public IPage pageWalletAccountRecordByOperator(PageUtil pageUtil, UsePageWalletAccountRecordByOperatorQueryParams queryParams) { + return walletAccountViewDao.pageWalletAccountRecordByOperator(pageUtil.toPageWithoutOrders(),queryParams); + } + private BigDecimal countUnavailableWithdrawBalance(Long walletAccountId, LocalDate date, int month) { LocalDateTime dateTime = date.minusMonths(month).withDayOfMonth(1).atStartOfDay(); return walletAccountRecordDao.selectList(new LambdaQueryWrapper() diff --git a/dating-agency-mall-server/src/main/resources/mapper/walletaccount/WalletAccountViewMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/walletaccount/WalletAccountViewMapper.xml index 9ed9853..a970cbe 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/walletaccount/WalletAccountViewMapper.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/walletaccount/WalletAccountViewMapper.xml @@ -29,4 +29,33 @@ order by dwar.create_time desc + + \ No newline at end of file