package com.yeshi.makemoney.app.service.inter.money;
|
|
import com.ks.lib.common.exception.ParamsException;
|
import com.yeshi.makemoney.app.dto.money.ExtractConfig;
|
import com.yeshi.makemoney.app.dto.mq.ExtractTransferResultMQMsg;
|
import com.yeshi.makemoney.app.entity.SystemEnum;
|
import com.yeshi.makemoney.app.entity.money.Extract;
|
import com.yeshi.makemoney.app.exception.money.ExtractException;
|
import com.yeshi.makemoney.app.exception.money.UserMoneyBalanceException;
|
import com.yeshi.makemoney.app.service.query.money.ExtractQuery;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
|
public interface ExtractService {
|
|
/**
|
* 获取列表
|
*
|
* @param extractQuery
|
* @param page
|
* @param pageSize
|
* @return
|
*/
|
public List<Extract> list(ExtractQuery extractQuery, int page, int pageSize);
|
|
/**
|
*
|
*/
|
public long count(ExtractQuery extractQuery);
|
|
/**
|
*
|
*/
|
public Extract get(Long id);
|
|
/**
|
* @return boolean
|
* @description 是否为首次提现
|
* @param: uid
|
**/
|
public boolean isFirst(Long uid);
|
|
|
/**
|
* 添加提现
|
*/
|
public void addExtract(Extract extract) throws ParamsException, ExtractException, UserMoneyBalanceException;
|
|
|
/**
|
* @return void
|
* @author hxh
|
* @description 通过提现
|
* @date 15:01 2022/4/1
|
* @param: id
|
* @param: adminId
|
**/
|
public void passExtract(Long id, Long adminId) throws ExtractException;
|
|
|
/**
|
* @return void
|
* @author hxh
|
* @description 拒绝提现
|
* @date 15:02 2022/4/1
|
* @param: id
|
* @param: adminId
|
* @param: reason
|
**/
|
public void rejectExtract(Long id, Long adminId, String reason) throws ExtractException, UserMoneyBalanceException, ParamsException;
|
|
|
/**
|
* @return void
|
* @author hxh
|
* @description 处理提现结果
|
* @date 18:27 2022/4/1
|
* @param: msg
|
**/
|
public void processExtractResult(ExtractTransferResultMQMsg msg) throws ParamsException;
|
|
|
/**
|
* @return int
|
* @author hxh
|
* @description 小于某个金额的提现次数
|
* @date 14:23 2022/4/8
|
* @param: uid
|
* @param: money
|
* @param: stateList
|
**/
|
public long countByMaxMoney(Long uid, BigDecimal money, List<Integer> stateList, Date minCreateTime);
|
|
/**
|
* @return boolean
|
* @author hxh
|
* @description 用户是否可以提现小金额
|
* @date 15:02 2022/4/8
|
* @param: uid
|
* @param: maxNewerCount
|
* @param: date
|
**/
|
public boolean canExtractLittleMoney(Long uid, int maxNewerCount, Date date);
|
|
|
/**
|
* @return java.math.BigDecimal
|
* @author hxh
|
* @description 正在提现中的金额
|
* @date 17:51 2022/4/20
|
* @param: uid
|
**/
|
public BigDecimal getExtractingMoney(Long uid);
|
|
/**
|
* @return com.yeshi.makemoney.app.dto.money.ExtractConfig
|
* @author hxh
|
* @description 获取提现配置
|
* @date 17:57 2022/4/20
|
* @param: system
|
**/
|
public ExtractConfig getExtractConfig(SystemEnum system);
|
|
|
}
|