| | |
| | | package com.yami.trading.api.controller; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.yami.trading.api.dto.UserDto; |
| | | import com.yami.trading.api.model.SetSafewordModel; |
| | | import com.yami.trading.api.service.UserCacheService; |
| | |
| | | import com.yami.trading.bean.model.UserRecom; |
| | | import com.yami.trading.bean.model.UserSimRelation; |
| | | import com.yami.trading.bean.model.UserSafewordApply; |
| | | import com.yami.trading.bean.model.RiskClient; |
| | | import com.yami.trading.bean.syspara.domain.Syspara; |
| | | import com.yami.trading.common.constants.Constants; |
| | | import com.yami.trading.common.domain.Result; |
| | |
| | | import com.yami.trading.security.common.manager.TokenStore; |
| | | import com.yami.trading.security.common.util.SecurityUtils; |
| | | import com.yami.trading.security.common.vo.TokenInfoVO; |
| | | import com.yami.trading.security.common.util.RiskClientUtil; |
| | | import com.yami.trading.service.HighLevelAuthRecordService; |
| | | import com.yami.trading.service.IdentifyingCodeTimeWindowService; |
| | | import com.yami.trading.service.QRGenerateService; |
| | |
| | | */ |
| | | @GetMapping("login") |
| | | public Result login(String username, String password) { |
| | | validateMainlandIpAccess(); |
| | | if (StringUtils.isEmptyString(username)) { |
| | | throw new YamiShopBindException("用户名不能为空"); |
| | | } |
| | |
| | | */ |
| | | @RequestMapping("register") |
| | | public Object register(String username, String password, String safeword, String verifcode, String usercode, String type) { |
| | | validateMainlandIpAccess(); |
| | | // 注册类型:1/手机;2/邮箱; |
| | | String error = this.validateParam(username, verifcode, password, type); |
| | | if (!StringUtils.isNullOrEmpty(error)) { |
| | | throw new YamiShopBindException(error); |
| | | } |
| | | validateMainlandEmailRegister(username, type); |
| | | // if (StringUtils.isEmptyString(safeword)) { |
| | | // throw new YamiShopBindException("资金密码不能为空"); |
| | | // } |
| | |
| | | String username = null; |
| | | try { |
| | | username = request.getParameter("username").replace(" ", ""); |
| | | validateMainlandIpAccess(); |
| | | String password = request.getParameter("password").replace(" ", ""); |
| | | String safeword = request.getParameter("safeword").replace(" ", ""); |
| | | String usercode = request.getParameter("usercode"); |
| | |
| | | return null; |
| | | } |
| | | |
| | | private void validateMainlandIpAccess() { |
| | | String clientIp = IPHelper.getIpAddr(); |
| | | List<RiskClient> riskList = RiskClientUtil.getRiskInfoByIp(clientIp, "badnetwork"); |
| | | if (CollectionUtil.isNotEmpty(riskList)) { |
| | | throw new YamiShopBindException("大陆IP禁止访问"); |
| | | } |
| | | } |
| | | |
| | | private void validateMainlandEmailRegister(String username, String type) { |
| | | if (!"2".equals(type) || StringUtils.isEmptyString(username)) { |
| | | return; |
| | | } |
| | | int atPos = username.lastIndexOf("@"); |
| | | if (atPos <= 0 || atPos >= username.length() - 1) { |
| | | return; |
| | | } |
| | | String domain = username.substring(atPos + 1).trim().toLowerCase(); |
| | | if (domain.endsWith(".cn")) { |
| | | throw new YamiShopBindException("大陆邮箱不支持注册"); |
| | | } |
| | | if (Arrays.asList("qq.com", "foxmail.com", "163.com", "126.com", "yeah.net", |
| | | "sina.com", "sina.cn", "sohu.com", "aliyun.com", "21cn.com", |
| | | "189.cn", "tom.com").contains(domain)) { |
| | | throw new YamiShopBindException("大陆邮箱不支持注册"); |
| | | } |
| | | } |
| | | |
| | | } |