trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiBankCardController.java
@@ -263,6 +263,9 @@ if (!party.isEnabled()) { throw new YamiShopBindException("用户已锁定"); } if ("recharge".equals(direction)) { realNameAuthRecordService.requireApproved(party, false); } // 手续费 double fee = 0; if ("withdraw".equals(direction)) { @@ -293,8 +296,8 @@ if (party_kyc==null){ party_kyc=new RealNameAuthRecord(); } if (!(party_kyc.getStatus() == 2) && "true".equals(this.sysparaService.find("withdraw_by_kyc").getSvalue())) { throw new YamiShopBindException("未实名认证,无提现权限"); if ("true".equals(this.sysparaService.find("withdraw_by_kyc").getSvalue())) { realNameAuthRecordService.requireApproved(party, false); } HighLevelAuthRecord party_kycHighLevel = highLevelAuthRecordService.findByUserId(partyId); if (party_kycHighLevel==null){ trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractApplyOrderController.java
@@ -22,6 +22,7 @@ import com.yami.trading.common.util.ThreadUtils; import com.yami.trading.security.common.util.SecurityUtils; import com.yami.trading.service.MarketOpenChecker; import com.yami.trading.service.RealNameAuthRecordService; import com.yami.trading.service.SessionTokenService; import com.yami.trading.service.WalletService; import com.yami.trading.service.contract.ContractApplyOrderService; @@ -96,6 +97,8 @@ private SessionTokenService sessionTokenService; @Autowired TipService tipService; @Autowired private RealNameAuthRecordService realNameAuthRecordService; // @Autowired // private ExchangeRateService exchangeRateService; @@ -228,6 +231,7 @@ throw new YamiShopBindException("用户已锁定"); } validateTradePermission(user); realNameAuthRecordService.requireApproved(user, true); Syspara syspara = sysparaService.find("stop_user_internet"); String stopUserInternet = syspara.getSvalue(); @@ -583,9 +587,6 @@ // 模拟账户不做二步校验限制 if (user.getAccountType() != null && user.getAccountType() == 1) { return; } if (!user.isGoogleAuthBind() || StringUtils.isEmptyString(user.getSafePassword())) { throw new YamiShopBindException("请先完成两步认证并设置资金密码后再交易"); } } } trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiFuturesOrderController.java
@@ -19,6 +19,7 @@ import com.yami.trading.common.util.ThreadUtils; import com.yami.trading.security.common.util.SecurityUtils; import com.yami.trading.service.MarketOpenChecker; import com.yami.trading.service.RealNameAuthRecordService; import com.yami.trading.service.SessionTokenService; import com.yami.trading.service.WalletService; import com.yami.trading.service.future.FuturesOrderService; @@ -72,6 +73,8 @@ SysparaService sysparaService; @Autowired TipService tipService; @Autowired RealNameAuthRecordService realNameAuthRecordService; // @Autowired // private ExchangeRateService exchangeRateService; @@ -170,6 +173,7 @@ if (!party.isEnabled()) { throw new YamiShopBindException("用户已锁定"); } realNameAuthRecordService.requireApproved(party, true); if (null == object || !party.getUserId().equals((String) object)) { throw new BusinessException("请稍后再试"); } trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiRechargeBlockchainController.java
@@ -9,6 +9,7 @@ import com.yami.trading.common.exception.YamiShopBindException; import com.yami.trading.common.util.StringUtils; import com.yami.trading.security.common.util.SecurityUtils; import com.yami.trading.service.RealNameAuthRecordService; import com.yami.trading.service.RechargeBlockchainOrderService; import com.yami.trading.service.SessionTokenService; import com.yami.trading.service.c2c.C2cOrderService; @@ -48,6 +49,8 @@ WalletLogService walletLogService; @Autowired C2cOrderService c2cOrderService; @Autowired RealNameAuthRecordService realNameAuthRecordService; /** * 首次进入页面,传递session_token @@ -104,6 +107,7 @@ if (Constants.SECURITY_ROLE_TEST.equals(party.getRoleName())) { throw new YamiShopBindException("无权限"); } realNameAuthRecordService.requireApproved(party, false); // 充值申请中的订单是否只能唯一:1唯一,2不限制 double recharge_only_one = Double.valueOf(sysparaService.find("recharge_only_one").getSvalue()); // 用户未结束银行卡订单数量 trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeApplyOrderController.java
@@ -239,6 +239,7 @@ throw new YamiShopBindException("用户已禁用"); } validateTradePermission(party); realNameAuthRecordService.requireApproved(party, true); Syspara syspara = sysparaService.find("stop_user_internet"); String stopUserInternet = syspara.getSvalue(); if (org.apache.commons.lang3.StringUtils.isNotEmpty(stopUserInternet)) { @@ -431,6 +432,7 @@ throw new YamiShopBindException("用户已禁用!"); } validateTradePermission(party); realNameAuthRecordService.requireApproved(party, true); symbol = itemService.getCleanSymbol(symbol); symbol_to = itemService.getCleanSymbol(symbol_to); String relation_order_no = UUID.randomUUID().toString(); @@ -573,9 +575,6 @@ // 模拟账户不做二步校验限制 if (user.getAccountType() != null && user.getAccountType() == 1) { return; } if (!user.isGoogleAuthBind() || StringUtils.isEmptyString(user.getSafePassword())) { throw new YamiShopBindException("请先完成两步认证并设置资金密码后再交易"); } } trading-order-admin/src/main/java/com/yami/trading/api/controller/exchange/ApiExchangeLeverApplyOrderController.java
@@ -21,6 +21,7 @@ import com.yami.trading.common.util.StringUtils; import com.yami.trading.common.util.ThreadUtils; import com.yami.trading.security.common.util.SecurityUtils; import com.yami.trading.service.RealNameAuthRecordService; import com.yami.trading.service.SessionTokenService; import com.yami.trading.service.WalletService; import com.yami.trading.service.data.DataService; @@ -76,6 +77,8 @@ @Autowired ExchangeLeverOrderService exchangeLeverOrderService; @Autowired RealNameAuthRecordService realNameAuthRecordService; /** * 开仓页面参数 @@ -199,6 +202,7 @@ throw new YamiShopBindException("用户已禁用"); } validateTradePermission(party); realNameAuthRecordService.requireApproved(party, true); ExchangeLeverApplyOrder order = new ExchangeLeverApplyOrder(); order.setPartyId(SecurityUtils.getCurrentUserId()); order.setSymbol(symbol); @@ -505,9 +509,6 @@ // 模拟账户不做二步校验限制 if (user.getAccountType() != null && user.getAccountType() == 1) { return; } if (!user.isGoogleAuthBind() || StringUtils.isEmptyString(user.getSafePassword())) { throw new YamiShopBindException("请先完成两步认证并设置资金密码后再交易"); } } trading-order-service/src/main/java/com/yami/trading/service/RealNameAuthRecordService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.yami.trading.bean.model.RealNameAuthRecord; import com.yami.trading.bean.model.User; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -17,6 +18,14 @@ */ boolean isPass(String userId); /** * 校验用户已完成实名认证(审核通过)。 * * @param user 用户 * @param skipSimAccount 模拟账户是否跳过(开仓等场景) */ void requireApproved(User user, boolean skipSimAccount); Page pageRecord(Page page, String rolename, String idNumber, String status,String userCode, List<String> userIds); long waitCount(List<String> userIds); trading-order-service/src/main/java/com/yami/trading/service/impl/RealNameAuthRecordServiceImpl.java
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yami.trading.bean.model.HighLevelAuthRecord; import com.yami.trading.bean.model.RealNameAuthRecord; import com.yami.trading.bean.model.User; import com.yami.trading.common.exception.YamiShopBindException; import com.yami.trading.dao.user.RealNameAuthRecordMapper; import com.yami.trading.service.RealNameAuthRecordService; import org.apache.ibatis.annotations.Param; @@ -37,6 +39,19 @@ } @Override public void requireApproved(User user, boolean skipSimAccount) { if (user == null) { throw new YamiShopBindException("The user does not exist.\n"); } if (skipSimAccount && user.getAccountType() != null && user.getAccountType() == 1) { return; } if (!isPass(user.getUserId())) { throw new YamiShopBindException("Please complete real-name verification first."); } } @Override public long waitCount(List<String> userIds) { LambdaQueryWrapper<RealNameAuthRecord> lambdaQueryWrapper= Wrappers.<RealNameAuthRecord>query().lambda().eq(RealNameAuthRecord::getStatus,1); trading-order-service/src/main/java/com/yami/trading/service/impl/WithdrawServiceImpl.java
@@ -234,8 +234,8 @@ if (party_kyc==null){ party_kyc=new RealNameAuthRecord(); } if (!(party_kyc.getStatus() == 2) && "true".equals(sysparaService.find("withdraw_by_kyc").getSvalue())) { throw new YamiShopBindException("未基础认证"); if ("true".equals(sysparaService.find("withdraw_by_kyc").getSvalue())) { realNameAuthRecordService.requireApproved(party, false); } double withdraw_by_high_kyc = Double.valueOf(sysparaService.find("withdraw_by_high_kyc").getSvalue()); if (withdraw_by_high_kyc > 0 && withdraw.getVolume().doubleValue() > withdraw_by_high_kyc @@ -531,8 +531,8 @@ if (party_kyc==null){ party_kyc=new RealNameAuthRecord(); } if (!(party_kyc.getStatus() == 2) && "true".equals(sysparaService.find("withdraw_by_kyc").getSvalue())) { throw new YamiShopBindException("未基础认证"); if ("true".equals(sysparaService.find("withdraw_by_kyc").getSvalue())) { realNameAuthRecordService.requireApproved(party, false); } if (party_kycHighLevel==null){ party_kycHighLevel=new HighLevelAuthRecord(); @@ -848,8 +848,8 @@ throw new YamiShopBindException("无权限"); } RealNameAuthRecord realNameAuthRecord = realNameAuthRecordService.getByUserId(user.getUserId()); if (!(realNameAuthRecord.getStatus() == 2) && "true".equals(sysparaService.find("withdraw_by_kyc").getSvalue())) { throw new YamiShopBindException("未安全认证,无提现权限"); if ("true".equals(sysparaService.find("withdraw_by_kyc").getSvalue())) { realNameAuthRecordService.requireApproved(user, false); } HighLevelAuthRecord highLevelAuthRecord = highLevelAuthRecordService.findByUserId(withdraw.getUserId()); BigDecimal withdrawByHighKyc = new BigDecimal(sysparaService.find("withdraw_by_high_kyc").getSvalue());