123
This commit is contained in:
@@ -50,6 +50,14 @@ public class AccountCash implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "提现紫贝")
|
@ExcelProperty(value = "提现紫贝")
|
||||||
private Long withdrawCoin;
|
private Long withdrawCoin;
|
||||||
|
/**
|
||||||
|
* 提现紫贝返还值
|
||||||
|
*/
|
||||||
|
private Long coinCallbackCoin;
|
||||||
|
/**
|
||||||
|
* 提现紫贝手续费
|
||||||
|
*/
|
||||||
|
private Long coinFees;
|
||||||
/**
|
/**
|
||||||
* 提现金额
|
* 提现金额
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public enum SystemConfigEnum {
|
|||||||
FAST_PAY_AWARD("300", "首充奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
FAST_PAY_AWARD("300", "首充奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
JOIN_ANCHOR_INVITE_AWARD("300", "主播入驻邀请人奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
JOIN_ANCHOR_INVITE_AWARD("300", "主播入驻邀请人奖励",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
LOGIN_PASSWORD_ERROR_MAX_NUM("5", "登录输错密码上限",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
LOGIN_PASSWORD_ERROR_MAX_NUM("5", "登录输错密码上限",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
|
WITHDRAW_RATE("0.1", "提现手续费(拒绝提现不返回手续费)",SystemConfigGroupEnum.BUSINESS, new RateSystemConfigCheck()),
|
||||||
GUARD_PRICE("1314", "守护价格",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
GUARD_PRICE("1314", "守护价格",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
WINDOW_GIFT_THRESHOLD("10", "礼物飘窗阈值",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
WINDOW_GIFT_THRESHOLD("10", "礼物飘窗阈值",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
WINDOW_RECHARGE_THRESHOLD("10", "充值飘窗阈值",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
WINDOW_RECHARGE_THRESHOLD("10", "充值飘窗阈值",SystemConfigGroupEnum.BUSINESS, new NumberSystemConfigCheck()),
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.cai.service.impl;
|
package com.ruoyi.cai.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -12,7 +13,9 @@ import com.ruoyi.cai.dto.admin.vo.account.ExportBatchAuditVo;
|
|||||||
import com.ruoyi.cai.dto.app.query.WithdrawReq;
|
import com.ruoyi.cai.dto.app.query.WithdrawReq;
|
||||||
import com.ruoyi.cai.enums.AccountCashStatusEnum;
|
import com.ruoyi.cai.enums.AccountCashStatusEnum;
|
||||||
import com.ruoyi.cai.enums.AuditStatusEnum;
|
import com.ruoyi.cai.enums.AuditStatusEnum;
|
||||||
|
import com.ruoyi.cai.enums.SystemConfigEnum;
|
||||||
import com.ruoyi.cai.manager.IdManager;
|
import com.ruoyi.cai.manager.IdManager;
|
||||||
|
import com.ruoyi.cai.manager.SystemConfigManager;
|
||||||
import com.ruoyi.cai.mapper.AccountCashMapper;
|
import com.ruoyi.cai.mapper.AccountCashMapper;
|
||||||
import com.ruoyi.cai.notice.YunxinHttpService;
|
import com.ruoyi.cai.notice.YunxinHttpService;
|
||||||
import com.ruoyi.cai.notice.dto.CashSuccessSendMesDTO;
|
import com.ruoyi.cai.notice.dto.CashSuccessSendMesDTO;
|
||||||
@@ -20,14 +23,13 @@ import com.ruoyi.cai.pay.OrderNoUtil;
|
|||||||
import com.ruoyi.cai.pay.OrderTypeEnum;
|
import com.ruoyi.cai.pay.OrderTypeEnum;
|
||||||
import com.ruoyi.cai.rank.RankAdminManager;
|
import com.ruoyi.cai.rank.RankAdminManager;
|
||||||
import com.ruoyi.cai.rank.bean.RankAdminBean;
|
import com.ruoyi.cai.rank.bean.RankAdminBean;
|
||||||
import com.ruoyi.cai.service.AccountCashService;
|
|
||||||
import com.ruoyi.cai.service.AccountBankcardService;
|
import com.ruoyi.cai.service.AccountBankcardService;
|
||||||
|
import com.ruoyi.cai.service.AccountCashService;
|
||||||
import com.ruoyi.cai.service.AccountService;
|
import com.ruoyi.cai.service.AccountService;
|
||||||
import com.ruoyi.cai.service.WithdrawExchangeService;
|
import com.ruoyi.cai.service.WithdrawExchangeService;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
import io.undertow.util.AttachmentList;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -50,6 +52,8 @@ public class AccountCashServiceImpl extends ServiceImpl<AccountCashMapper, Accou
|
|||||||
private WithdrawTotalCache withdrawTotalCache;
|
private WithdrawTotalCache withdrawTotalCache;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RankAdminManager rankAdminManager;
|
private RankAdminManager rankAdminManager;
|
||||||
|
@Autowired
|
||||||
|
private SystemConfigManager systemConfigManager;
|
||||||
@Override
|
@Override
|
||||||
public void withdraw(WithdrawReq res) {
|
public void withdraw(WithdrawReq res) {
|
||||||
AccountBankcard one = accountBankcardService.getOne(Wrappers.lambdaQuery(AccountBankcard.class)
|
AccountBankcard one = accountBankcardService.getOne(Wrappers.lambdaQuery(AccountBankcard.class)
|
||||||
@@ -61,6 +65,7 @@ public class AccountCashServiceImpl extends ServiceImpl<AccountCashMapper, Accou
|
|||||||
if(withdrawExchange == null){
|
if(withdrawExchange == null){
|
||||||
throw new ServiceException("参数不正确");
|
throw new ServiceException("参数不正确");
|
||||||
}
|
}
|
||||||
|
BigDecimal withdrawRate = systemConfigManager.getSystemConfigOfBigDecimal(SystemConfigEnum.WITHDRAW_RATE);
|
||||||
Long traceId = IdManager.nextId();
|
Long traceId = IdManager.nextId();
|
||||||
Long coinNum = withdrawExchange.getCoinNum();
|
Long coinNum = withdrawExchange.getCoinNum();
|
||||||
accountService.withdraw(res.getUserId(), coinNum,traceId);
|
accountService.withdraw(res.getUserId(), coinNum,traceId);
|
||||||
@@ -69,6 +74,13 @@ public class AccountCashServiceImpl extends ServiceImpl<AccountCashMapper, Accou
|
|||||||
cash.setTraceId(traceId);
|
cash.setTraceId(traceId);
|
||||||
cash.setOrderNo(OrderNoUtil.createOrderNo(OrderTypeEnum.WITHDRAW_ORDER_SUB));
|
cash.setOrderNo(OrderNoUtil.createOrderNo(OrderTypeEnum.WITHDRAW_ORDER_SUB));
|
||||||
cash.setWithdrawCoin(coinNum);
|
cash.setWithdrawCoin(coinNum);
|
||||||
|
cash.setCoinFees(0L);
|
||||||
|
cash.setCoinCallbackCoin(coinNum);
|
||||||
|
if(withdrawRate != null && !withdrawRate.equals(BigDecimal.ZERO)){
|
||||||
|
long coinFees = NumberUtil.mul(coinNum, withdrawRate).longValue();
|
||||||
|
cash.setCoinFees(coinFees);
|
||||||
|
cash.setCoinCallbackCoin(coinNum-coinFees);
|
||||||
|
}
|
||||||
cash.setCashMoney(BigDecimal.valueOf(withdrawExchange.getMoney()));
|
cash.setCashMoney(BigDecimal.valueOf(withdrawExchange.getMoney()));
|
||||||
cash.setRealCashMoney(BigDecimal.valueOf(withdrawExchange.getMoney()));
|
cash.setRealCashMoney(BigDecimal.valueOf(withdrawExchange.getMoney()));
|
||||||
cash.setCashFees(BigDecimal.ZERO);
|
cash.setCashFees(BigDecimal.ZERO);
|
||||||
@@ -99,7 +111,7 @@ public class AccountCashServiceImpl extends ServiceImpl<AccountCashMapper, Accou
|
|||||||
if(!update){
|
if(!update){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
accountService.withdrawFail(accountCash.getUserId(),accountCash.getWithdrawCoin(),accountCash.getTraceId());
|
accountService.withdrawFail(accountCash.getUserId(),accountCash.getCoinCallbackCoin(),accountCash.getTraceId());
|
||||||
yunxinHttpService.cashFailSendMessage(accountCash.getUserId(),accountCash.getCreateTime(),accountCash.getCashMoney(),
|
yunxinHttpService.cashFailSendMessage(accountCash.getUserId(),accountCash.getCreateTime(),accountCash.getCashMoney(),
|
||||||
failRemark);
|
failRemark);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user