Browse Source

红娘订单

release
张彭杰 1 year ago
parent
commit
e12eacaec5
8 changed files with 140 additions and 0 deletions
  1. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/WalletAccountUserQueryController.java
  2. 25
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/request/UsePageWalletAccountRecordByOperatorQueryParams.java
  3. 10
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UseGetWalletAccountAbstractByOperatorVo.java
  4. 49
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UsePageWalletAccountRecordByOperatorVo.java
  5. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/WalletAccountViewDao.java
  6. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java
  7. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java
  8. 29
      dating-agency-mall-server/src/main/resources/mapper/walletaccount/WalletAccountViewMapper.xml

12
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<UsePageWalletAccountRecordByOperatorVo> usePageWalletAccountRecordByOperator(PageUtil pageUtil,
UsePageWalletAccountRecordByOperatorQueryParams queryParams) {
return PageUtil.convert(walletAccountQueryService.pageWalletAccountRecordByOperator(pageUtil, queryParams), UsePageWalletAccountRecordByOperatorVo.class);
}
}

25
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;
}

10
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 {
}

49
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;
}

4
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<UserGetWalletAccountRecordVo> pageWalletAccountRecord(Page<Object> pageWithoutOrders,
@Param("queryParam") UserPageWalletAccountRecordQueryParam queryParam);
IPage<UsePageWalletAccountRecordByOperatorVo> pageWalletAccountRecordByOperator(Page<Object> pageWithoutOrders,
@Param("queryParams") UsePageWalletAccountRecordByOperatorQueryParams queryParams);
}

4
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<UsePageWalletAccountRecordByOperatorVo> pageWalletAccountRecordByOperator(PageUtil pageUtil, UsePageWalletAccountRecordByOperatorQueryParams queryParams);
}

7
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<UsePageWalletAccountRecordByOperatorVo> 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<WalletAccountRecord>()

29
dating-agency-mall-server/src/main/resources/mapper/walletaccount/WalletAccountViewMapper.xml

@ -29,4 +29,33 @@
</if>
order by dwar.create_time desc
</select>
<select id="pageWalletAccountRecordByOperator"
resultType="com.qniao.dam.api.query.walletaccount.user.response.UsePageWalletAccountRecordByOperatorVo">
select
dawar.associate_id,
dawar.trade_type,
dawar.is_income,
dawar.create_time,
dam.`name`,
dam.phone,
dam.type as matchmakerType,
dawar.trade_amount,
dawar.original_balance,
dawar.current_balance
from da_wallet_account as dawa
LEFT JOIN da_matchmaker as dam on dam.is_delete=0 and dam.user_id=dawa.user_id
LEFT JOIN da_wallet_account_record as dawar on dawar.wallet_account_id=dawa.id
where dawa.is_delete=0 and dawa.identity_type=1
<if test="queryParams.name != null and queryParams.name != '' ">
AND dam.`name` LIKE CONCAT('%', TRIM(#{queryParams.name}), '%')
</if>
<if test="queryParams.phone != null and queryParams.phone != '' ">
AND dam.phone LIKE CONCAT('%', TRIM(#{queryParams.phone}), '%')
</if>
<if test="queryParams.createTimeFrom != null and queryParams.createTimeTo != null">
and dawar.create_time BETWEEN #{queryParams.createTimeFrom} and #{queryParams.createTimeTo}
</if>
order by dawar.create_time desc
</select>
</mapper>
Loading…
Cancel
Save