新版仿ok交易所-后端
1
zj
2026-03-05 6bf0b7c668f615b71c23c1bb720fe0f80ec05092
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiUserController.java
@@ -179,17 +179,62 @@
        if (!StringUtils.isNullOrEmpty(error)) {
            throw new YamiShopBindException(error);
        }
        if (StringUtils.isEmptyString(safeword)) {
        /*if (StringUtils.isEmptyString(safeword)) {
            throw new YamiShopBindException("资金密码不能为空");
        }
        if (safeword.length() != 6 || !Strings.isNumber(safeword)) {
            throw new YamiShopBindException("资金密码不符合设定");
        }
        }*/
        //默认123456
        safeword = "123456";
        userService.saveRegister(username, password, usercode, safeword, verifcode, type);
        User secUser = userService.findByUserName(username);
        Log log = new Log();
        log.setCategory(Constants.LOG_CATEGORY_SECURITY);
        log.setLog("用户注册,ip[" + IPHelper.getIpAddr() + "]");
        log.setUserId(secUser.getUserId());
        log.setUsername(username);
        logService.save(log);
        UserInfoInTokenBO userInfoInToken = new UserInfoInTokenBO();
        userInfoInToken.setUserId(secUser.getUserId());
        userInfoInToken.setSysType(SysTypeEnum.ORDINARY.value());
        userInfoInToken.setEnabled(secUser.getStatus() == 1);
        tokenStore.deleteAllToken(String.valueOf(SysTypeEnum.ORDINARY.value()), String.valueOf(secUser.getUserId()));
        TokenInfoVO tokenInfoVO = tokenStore.storeAndGetVo(userInfoInToken);
        this.userService.online(secUser.getUserId());
        this.ipMenuService.saveIpMenuWhite(IPHelper.getIpAddr());
        Map<String, Object> data = new HashMap<String, Object>();
        data.put("token", tokenInfoVO.getAccessToken());
        data.put("username", secUser.getUserName());
        data.put("usercode", secUser.getUserName());
        secUser.setUserLastip(IPHelper.getIpAddr());
        userService.updateById(secUser);
        return Result.succeed(data);
    }
    /**
     * 重置登录账号
     */
    @RequestMapping("resetUserName")
    public Object resetUserName(String username, String password, String safeword, String verifcode, String type) {
        String userId = SecurityUtils.getUser().getUserId();
        if (StringUtils.isEmptyString(userId)) {
            throw new YamiShopBindException("请先登录");
        }
        // 重置类型:1/手机;2/邮箱;
        String error = this.validateParam(username, verifcode, password, type);
        if (!StringUtils.isNullOrEmpty(error)) {
            throw new YamiShopBindException(error);
        }
        if (StringUtils.isEmptyString(safeword)) {
            throw new YamiShopBindException("资金密码不能为空");
        }
        userService.resetUserName(userId ,username, password, safeword, verifcode, type);
        User secUser = userService.findByUserName(username);
        Log log = new Log();
        log.setCategory(Constants.LOG_CATEGORY_SECURITY);
        log.setLog("用户重置登录账号,ip[" + IPHelper.getIpAddr() + "]");
        log.setUserId(secUser.getUserId());
        log.setUsername(username);
        logService.save(log);
@@ -484,6 +529,7 @@
                }
            }
        }
        map.put("partyId", party.getUserId());
        map.put("username", party.getUserName());
        map.put("userrole", party.getRoleName());
        map.put("usercode", party.getUserCode());
@@ -497,8 +543,9 @@
        map.put("advancedverif", party.isHighlevelAuthority());
        map.put("lastlogintime", party.getUserLasttime());
        map.put("lastloginip", party.getUserLastip());
        map.put("creditScore", party.getCreditScore());
        // 实名认证通过返回真实姓名
        if (party.isRealNameAuthority()) {
        if (party.isRealNameAuthority() && kyc != null) {
            map.put("name", kyc.getName());
        }
        if (null != kyc) {
@@ -828,6 +875,34 @@
        return Result.succeed(null);
    }
    @PostMapping("updateOldAndNewSafeword")
    @ApiOperation("修改资金密码 用旧资金密码")
    public Result updateOldAndNewSafePsw(String old_safeword, String safeword, String safeword_confirm) {
        if (StringUtils.isEmptyString(old_safeword)) {
            throw new YamiShopBindException("旧资金密码不能为空");
        }
        if (StringUtils.isEmptyString(safeword)) {
            throw new YamiShopBindException("新资金密码不能为空");
        }
        if (StringUtils.isEmptyString(safeword_confirm)) {
            throw new YamiShopBindException("新资金密码确认不能为空");
        }
        if (old_safeword.length() < 6 || old_safeword.length() > 12 || safeword.length() < 6 || safeword.length() > 12) {
            throw new YamiShopBindException("密码必须6-12位");
        }
        User secUser = userService.getById(SecurityUtils.getUser().getUserId());
        if (!passwordEncoder.matches(old_safeword, secUser.getSafePassword())) {
            throw new YamiShopBindException("旧密码不正确!");
        }
        if (!safeword.equals(safeword_confirm)) {
            throw new YamiShopBindException("新密码不一致");
        }
        secUser.setSafePassword(passwordEncoder.encode(safeword_confirm));
        userService.updateById(secUser);
        return Result.succeed(null);
    }
    /**
     * 人工重置申请  操作类型 operate:    0/修改资金密码;1/取消谷歌绑定;2/取消手机绑定;3/取消邮箱绑定;
     */