Browse Source

银行卡

master
张彭杰 1 year ago
parent
commit
dace16220c
5 changed files with 77 additions and 1 deletions
  1. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/withdrawaudit/user/WithdrawAuditUserCommandController.java
  2. 22
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/withdrawaudit/user/request/UserCalculateWithdrawServiceFeeDto.java
  3. 22
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/withdrawaudit/user/response/UserCalculateWithdrawServiceFeeVo.java
  4. 1
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/WithdrawAuditUserQueryController.java
  5. 24
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/withdrawaudit/WithdrawAuditApplicationService.java

9
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/withdrawaudit/user/WithdrawAuditUserCommandController.java

@ -4,10 +4,14 @@ import com.qniao.dam.api.command.paymentchannelorder.user.assembler.ThirdPartyFi
import com.qniao.dam.api.command.paymentchannelorder.user.request.ThirdPartyField;
import com.qniao.dam.api.command.withdrawaudit.user.request.UserApplyWalletAccountWithdrawDto;
import com.qniao.dam.api.command.withdrawaudit.user.request.UserAuditWithdrawAuditDto;
import com.qniao.dam.api.command.withdrawaudit.user.request.UserCalculateWithdrawServiceFeeDto;
import com.qniao.dam.api.command.withdrawaudit.user.response.UserCalculateWithdrawServiceFeeVo;
import com.qniao.dam.api.query.withdrawaudit.user.response.UserPageWithdrawAuditVo;
import com.qniao.dam.application.service.withdrawaudit.WithdrawAuditApplicationService;
import com.qniao.dam.domain.aggregate.withdrawaudit.entity.WithdrawAudit;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.dau.infrastructure.constant.RequestHeaderFields;
import com.qniao.framework.utils.PageUtil;
import com.qniao.framework.utils.ServletUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -51,4 +55,9 @@ public class WithdrawAuditUserCommandController {
withdrawAuditApplicationService.audit(dto.trans2Domain());
}
@PostMapping("calculate/withdraw-service-fee")
@ApiOperation("用户计算提现手续费")
public UserCalculateWithdrawServiceFeeVo userCalculateWithdrawServiceFee(UserCalculateWithdrawServiceFeeDto dto) {
return withdrawAuditApplicationService.calculateServiceFee(dto.getWithdrawAmount(),dto.getWithdrawType());
}
}

22
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/withdrawaudit/user/request/UserCalculateWithdrawServiceFeeDto.java

@ -0,0 +1,22 @@
package com.qniao.dam.api.command.withdrawaudit.user.request;
import com.qniao.dam.domian.aggregate.withdrawaudit.constant.WithdrawTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Data
public class UserCalculateWithdrawServiceFeeDto {
@ApiModelProperty("提现金额")
@NotNull(message = "提现金额不能为空")
@DecimalMin(value = "0.01", message = "提现金额不等低于0.01")
private BigDecimal withdrawAmount;
@ApiModelProperty("提现类型")
@NotNull(message = "提现类型不能为空")
private WithdrawTypeEnum withdrawType;
}

22
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/withdrawaudit/user/response/UserCalculateWithdrawServiceFeeVo.java

@ -0,0 +1,22 @@
package com.qniao.dam.api.command.withdrawaudit.user.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UserCalculateWithdrawServiceFeeVo {
@ApiModelProperty("提现金额")
private BigDecimal withdrawAmount = BigDecimal.ZERO;
@ApiModelProperty("提现服务费百分比")
private BigDecimal withdrawServiceFeePct = BigDecimal.ZERO;
@ApiModelProperty("提现服务费")
private BigDecimal withdrawServiceFee = BigDecimal.ZERO;
@ApiModelProperty("到账金额")
private BigDecimal arrivalAmount = BigDecimal.ZERO;
}

1
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/withdrawaudit/user/WithdrawAuditUserQueryController.java

@ -45,5 +45,4 @@ public class WithdrawAuditUserQueryController {
return PageUtil.convert(withdrawAuditQueryService.pageWithdrawAudit(queryParams, pageUtil), UserPageWithdrawAuditVo.class);
}
}

24
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/withdrawaudit/WithdrawAuditApplicationService.java

@ -1,13 +1,17 @@
package com.qniao.dam.application.service.withdrawaudit;
import com.qniao.dam.api.command.paymentchannelorder.user.request.ThirdPartyField;
import com.qniao.dam.api.command.withdrawaudit.user.response.UserCalculateWithdrawServiceFeeVo;
import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig;
import com.qniao.dam.domain.aggregate.walletaccount.entity.WalletAccount;
import com.qniao.dam.domain.aggregate.withdrawaudit.WithdrawAuditAggregate;
import com.qniao.dam.domain.aggregate.withdrawaudit.entity.WithdrawAudit;
import com.qniao.dam.domain.service.withdrawaudit.ApplyWithdrawAuditDomainService;
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum;
import com.qniao.dam.domian.aggregate.withdrawaudit.constant.WithdrawAuditStatus;
import com.qniao.dam.domian.aggregate.withdrawaudit.constant.WithdrawTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.domain.WithdrawAuditDao;
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService;
import com.qniao.dam.query.walletaccount.WalletAccountQueryService;
import com.qniao.dau.application.UecServerApplicationService;
import com.qniao.dau.application.request.GetWechatSessionDto;
@ -18,6 +22,7 @@ import com.qniao.framework.exception.BizException;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -35,6 +40,8 @@ public class WithdrawAuditApplicationService extends BaseApplicationService {
private WithdrawAuditDao withdrawAuditDao;
@Resource
private UecServerApplicationService uecServerApplicationService;
@Resource
private RewardConfigQueryService rewardConfigQueryService;
public void applyWithdraw(WithdrawAudit withdrawAudit, List<ThirdPartyField> fieldList, Long appId) {
@ -75,4 +82,21 @@ public class WithdrawAuditApplicationService extends BaseApplicationService {
}
}
}
public UserCalculateWithdrawServiceFeeVo calculateServiceFee(BigDecimal withdrawAmount,
WithdrawTypeEnum withdrawType) {
UserCalculateWithdrawServiceFeeVo serviceFeeVo = new UserCalculateWithdrawServiceFeeVo();
serviceFeeVo.setWithdrawAmount(withdrawAmount);
serviceFeeVo.setArrivalAmount(withdrawAmount);
if (WithdrawTypeEnum.OFFLINE.equals(withdrawType)) {
//需要手续费
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.WITHDRAW_SERVICE_FEE);
if (Objects.nonNull(rewardConfig)) {
serviceFeeVo.setWithdrawServiceFeePct(new BigDecimal(rewardConfig.getValue()));
serviceFeeVo.setWithdrawServiceFee(rewardConfig.calculateReward(withdrawAmount));
serviceFeeVo.setArrivalAmount(withdrawAmount.subtract(serviceFeeVo.getWithdrawServiceFee()));
}
}
return serviceFeeVo;
}
}
Loading…
Cancel
Save