Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
6b3c0ef342
12 changed files with 48 additions and 87 deletions
  1. 4
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/walletaccount/constant/TradeTypeEnum.java
  2. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/MarriageBountyOrderUserQueryController.java
  3. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UseGetRevenueRewardAbstractVo.java
  4. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/WalletAccountUserQueryController.java
  5. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/request/UserPageWalletAccountRecordQueryParam.java
  6. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UserGetWalletAccountRecordVo.java
  7. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UserGetWalletAccountVo.java
  8. 23
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/WalletAccountAssociateOrderRecordVo.java
  9. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/WalletAccountViewDao.java
  10. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java
  11. 46
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/impl/WalletAccountQueryServiceImpl.java
  12. 20
      dating-agency-mall-server/src/main/resources/mapper/walletaccount/WalletAccountViewMapper.xml

4
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/walletaccount/constant/TradeTypeEnum.java

@ -20,7 +20,9 @@ public enum TradeTypeEnum {
MARRIAGE_BOUNTY_MEETING_FEE(105, "悬赏招亲见面费用"),
PLATFORM_SERVICE_FEE(201, "平台服务费");
PLATFORM_SERVICE_FEE(201, "平台服务费"),
WITHDRAW(202, "提现");
@EnumValue
@JsonValue

2
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriagebounty/user/MarriageBountyOrderUserQueryController.java

@ -33,6 +33,4 @@ public class MarriageBountyOrderUserQueryController {
@RequestParam("userId") Long userId) {
return marriageBountyOrderQueryService.getMarriageBountyOrderPreRefundInfo(queryParam.getMarriageBountyOrderId());
}
}

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

@ -15,9 +15,9 @@ public class UseGetRevenueRewardAbstractVo {
private Long id;
@ApiModelProperty("营收额")
private BigDecimal totalRevenue;
private BigDecimal totalRevenue = BigDecimal.ZERO;
@ApiModelProperty("收益额")
private BigDecimal totalEarnings;
private BigDecimal totalEarnings = BigDecimal.ZERO;
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/WalletAccountUserQueryController.java

@ -26,12 +26,7 @@ public class WalletAccountUserQueryController {
@GetMapping("get/wallet-account")
@ApiOperation("用户获取钱包账号")
public UserGetWalletAccountVo userGetWalletAccount(@RequestParam("userId") Long userId) {
UserGetWalletAccountVo vo = new UserGetWalletAccountVo();
WalletAccount walletAccount = walletAccountQueryService.queryByUserId(userId);
if (Objects.nonNull(walletAccount)) {
vo = TypeConvertUtils.convert(walletAccount, UserGetWalletAccountVo.class);
}
return vo;
return walletAccountQueryService.getWalletAccountView(userId);
}
@GetMapping("page/wallet-account-record")

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/request/UserPageWalletAccountRecordQueryParam.java

@ -2,11 +2,21 @@ 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 UserPageWalletAccountRecordQueryParam {
@ApiModelProperty("交易收益类型:101认证 102发布 103匹配 104推荐 201平台服务费")
@ApiModelProperty("交易收益类型:101认证 102发布 103匹配 104推荐 202提现")
private Integer tradeType;
@ApiModelProperty("记录开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime recordTimeFrom;
@ApiModelProperty("记录结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime recordTimeTo;
}

9
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UserGetWalletAccountRecordVo.java

@ -9,7 +9,6 @@ import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class UserGetWalletAccountRecordVo {
@ -35,12 +34,4 @@ public class UserGetWalletAccountRecordVo {
@ApiModelProperty("是否收入")
private Boolean isIncome;
@ApiModelProperty("内容")
private String content;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("关联订单")
private List<WalletAccountAssociateOrderRecordVo> associateOrderRecordList;
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/UserGetWalletAccountVo.java

@ -23,4 +23,7 @@ public class UserGetWalletAccountVo {
@ApiModelProperty("冻结余额")
private BigDecimal frozenBalance = BigDecimal.ZERO;
@ApiModelProperty("总提现金额")
private BigDecimal totalWithdraw = BigDecimal.ZERO;
}

23
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/walletaccount/user/response/WalletAccountAssociateOrderRecordVo.java

@ -1,23 +0,0 @@
package com.qniao.dam.api.query.walletaccount.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 WalletAccountAssociateOrderRecordVo {
@ApiModelProperty("钱包记录标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long walletAccountRecordId;
@ApiModelProperty("有关联的订单")
@JsonSerialize(using = ToStringSerializer.class)
private Long associateOrderId;
@ApiModelProperty("有关联的金额")
private BigDecimal associateOrderAmount;
}

2
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/view/WalletAccountViewDao.java

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qniao.dam.api.query.walletaccount.user.request.UserPageWalletAccountRecordQueryParam;
import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountRecordVo;
import com.qniao.dam.api.query.walletaccount.user.response.WalletAccountAssociateOrderRecordVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -16,5 +15,4 @@ public interface WalletAccountViewDao {
@Param("queryParam") UserPageWalletAccountRecordQueryParam queryParam,
@Param("userId") Long userId);
List<WalletAccountAssociateOrderRecordVo> listAssociateOrderRecordBy(@Param("recordIdList") List<Long> recordIdList);
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/query/walletaccount/WalletAccountQueryService.java

@ -3,6 +3,7 @@ package com.qniao.dam.query.walletaccount;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.walletaccount.user.request.UserPageWalletAccountRecordQueryParam;
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;
import com.qniao.framework.utils.PageUtil;
@ -11,4 +12,6 @@ public interface WalletAccountQueryService {
WalletAccount queryByUserId(Long userId);
IPage<UserGetWalletAccountRecordVo> pageWalletAccountRecord(Long userId, UserPageWalletAccountRecordQueryParam queryParam, PageUtil pageUtil);
UserGetWalletAccountVo getWalletAccountView(Long userId);
}

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

@ -1,23 +1,24 @@
package com.qniao.dam.query.walletaccount.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.walletaccount.user.request.UserPageWalletAccountRecordQueryParam;
import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountRecordVo;
import com.qniao.dam.api.query.walletaccount.user.response.WalletAccountAssociateOrderRecordVo;
import com.qniao.dam.api.query.walletaccount.user.response.UserGetWalletAccountVo;
import com.qniao.dam.domain.aggregate.walletaccount.valueobj.WalletAccountRecord;
import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.domain.WalletAccountRecordDao;
import com.qniao.dam.infrastructure.persistent.dao.view.WalletAccountViewDao;
import com.qniao.dam.query.walletaccount.WalletAccountQueryService;
import com.qniao.dam.domain.aggregate.walletaccount.entity.WalletAccount;
import com.qniao.dam.infrastructure.persistent.dao.domain.WalletAccountDao;
import com.qniao.framework.utils.PageUtil;
import com.qniao.framework.utils.TypeConvertUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.math.BigDecimal;
import java.util.Objects;
@Service
public class WalletAccountQueryServiceImpl implements WalletAccountQueryService {
@ -26,6 +27,8 @@ public class WalletAccountQueryServiceImpl implements WalletAccountQueryService
private WalletAccountDao walletAccountDao;
@Resource
private WalletAccountViewDao walletAccountViewDao;
@Resource
private WalletAccountRecordDao walletAccountRecordDao;
@Override
public WalletAccount queryByUserId(Long userId) {
@ -36,27 +39,20 @@ public class WalletAccountQueryServiceImpl implements WalletAccountQueryService
@Override
public IPage<UserGetWalletAccountRecordVo> pageWalletAccountRecord(Long userId, UserPageWalletAccountRecordQueryParam queryParam, PageUtil pageUtil) {
IPage<UserGetWalletAccountRecordVo> page = walletAccountViewDao.pageWalletAccountRecord(pageUtil.toPageWithoutOrders(), queryParam, userId);
if (page.getRecords().size() > 0) {
List<Long> recordIdList = page.getRecords().stream().map(UserGetWalletAccountRecordVo::getWalletAccountId).collect(Collectors.toList());
Map<Long, List<WalletAccountAssociateOrderRecordVo>> associateOrderRecordMap = mapAssociateOrderRecordBy(recordIdList);
page.getRecords().forEach(record -> {
record.setAssociateOrderRecordList(associateOrderRecordMap.get(record.getId()));
});
}
return page;
return walletAccountViewDao.pageWalletAccountRecord(pageUtil.toPageWithoutOrders(), queryParam, userId);
}
private Map<Long, List<WalletAccountAssociateOrderRecordVo>> mapAssociateOrderRecordBy(List<Long> recordIdList) {
List<WalletAccountAssociateOrderRecordVo> list = listAssociateOrderRecordBy(recordIdList);
return list.stream().collect(Collectors.groupingBy(WalletAccountAssociateOrderRecordVo::getAssociateOrderId));
}
private List<WalletAccountAssociateOrderRecordVo> listAssociateOrderRecordBy(List<Long> recordIdList) {
List<WalletAccountAssociateOrderRecordVo> list = new ArrayList<>();
if (CollUtil.isNotEmpty(recordIdList)) {
list = walletAccountViewDao.listAssociateOrderRecordBy(recordIdList);
@Override
public UserGetWalletAccountVo getWalletAccountView(Long userId) {
UserGetWalletAccountVo walletAccountVo = new UserGetWalletAccountVo();
WalletAccount walletAccount = queryByUserId(userId);
if (Objects.nonNull(walletAccount)) {
walletAccountVo = TypeConvertUtils.convert(walletAccount, UserGetWalletAccountVo.class);
walletAccountVo.setTotalWithdraw(walletAccountRecordDao.selectList(new LambdaQueryWrapper<WalletAccountRecord>()
.eq(WalletAccountRecord::getWalletAccountId, walletAccount.getId())
.eq(WalletAccountRecord::getTradeType, TradeTypeEnum.WITHDRAW))
.stream().map(WalletAccountRecord::getTradeAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
}
return list;
return walletAccountVo;
}
}

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

@ -11,28 +11,16 @@
dwar.wallet_account_id,
dwar.trade_type,
dwar.trade_amount,
dwar.is_income,
dwar.content,
dwar.remark
dwar.is_income
FROM da_wallet_account_record as dwar
INNER JOIN da_wallet_account as dwa on dwa.id=dwar.wallet_account_id
where dwa.is_delete=0 and dwa.user_id=#{userId}
<if test="queryParam.tradeType != null">
and dwar.trade_type = #{queryParam.tradeType}
</if>
<if test="queryParam.recordTimeFrom != null and queryParam.recordTimeTo != null">
and dwar.create_time BETWEEN #{queryParam.recordTimeFrom} and #{queryParam.recordTimeTo}
</if>
order by dwar.create_time desc
</select>
<select id="listAssociateOrderRecordBy"
resultType="com.qniao.dam.api.query.walletaccount.user.response.WalletAccountAssociateOrderRecordVo">
select
wallet_account_record_id,
associate_order_id,
associate_order_amount
FROM da_wallet_account_associate_order_record
where wallet_account_record_id in
<foreach collection="recordIdList" item="recordId" open="(" close=")" separator=",">
#{recordId}
</foreach>
</select>
</mapper>
Loading…
Cancel
Save