From d3c9f6c94cfd14f6c45fe6e92dd357386c7c3cd9 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 17 四月 2025 11:40:52 +0800 Subject: [PATCH] 提现代码 --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 24 ++++++++++++ ruoyi-auth/src/main/java/com/ruoyi/auth/form/LoginBody.java | 2 + ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 44 ++++++++++++++++++++++ ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java | 36 ++++++++++++++++++ 4 files changed, 106 insertions(+), 0 deletions(-) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 6f86adf..450c2bb 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -41,7 +41,31 @@ @Resource private SysUserClient sysUserClient; + @PostMapping("loginApp") + @ApiOperation(value = "2.0新增登录加盟商切换", tags = "2.0新增登录加盟商切换") + public R<?> loginApp(@RequestBody LoginBody form) { + // 用户登录 + LoginUser userInfo = sysLoginService.loginApp(form.getUsername()); + HashMap<String, Object> map = new HashMap<>(8); + map.put("token", tokenService.createToken(userInfo)); + // 获取登录token + String roles = userInfo.getRole(); + if (null == roles) { + return R.fail("请关联角色!"); + } + map.put("roleName", roles); + map.put("info", userInfo); + // 权限集合 + map.put("permissions", userInfo.getPermissions()); + // 修改用户最后登录时间 + SysUser sysUser = new SysUser(); + sysUser.setUserId(userInfo.getSysUser().getUserId()); + sysUser.setLoginDate(new Date()); + sysUserClient.updateSysUser(sysUser); + + return R.ok(map); + } @PostMapping("login") @ApiOperation(value = "登录", tags = "后台-登录") public R<?> login(@RequestBody LoginBody form) { diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/form/LoginBody.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/form/LoginBody.java index b729da4..cad8035 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/form/LoginBody.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/form/LoginBody.java @@ -16,6 +16,7 @@ */ private String password; + public String getUsername() { return username; } @@ -31,4 +32,5 @@ public void setPassword(String password) { this.password = password; } + } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 1a50711..5f3679f 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -81,6 +81,50 @@ passwordService.validate(user, password); recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); return userInfo; + }/** + * 登录 + */ + public LoginUser loginApp(String username) { + // 用户名或密码为空 错误 + if (StringUtils.isAnyBlank(username)) { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户必须填写"); + throw new ServiceException("用户/密码必须填写"); + } + // 用户名不在指定范围内 错误 + if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户名不在指定范围"); + throw new ServiceException("用户名不在指定范围"); + } + // 查询用户信息 + R<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); + + if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在"); + throw new ServiceException("登录用户:" + username + " 不存在"); + } + + if (R.FAIL == userResult.getCode()) { + throw new ServiceException(userResult.getMsg()); + } + + LoginUser userInfo = userResult.getData(); + SysUser user = userResult.getData().getSysUser(); + if (user.getFranchiseeId() == null) { + userInfo.setIsFranchisee(Boolean.FALSE); + }else { + userInfo.setIsFranchisee(Boolean.TRUE); + } + if (UserStatus.DELETED.getCode().equals(user.getIsDelete())) { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除"); + throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); + } + if (!UserStatus.ENABLE.getCode().equals(user.getIsEnable())) { + recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员"); + throw new ServiceException("对不起,您的账号:" + username + " 已停用"); + } + recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功"); + return userInfo; } public void logout(String loginName) { diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java index fce7784..2383059 100644 --- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java +++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/MasterWorkerController.java @@ -123,6 +123,42 @@ } return R.ok(generateLoginToken(worker)); } + /** + * 师傅端-密码登录 + * + * @param loginPasswordRequest 手机号及密码信息 + */ + @ApiOperation(value = "2.0新增登录师傅切换", tags = {"2.0新增登录师傅切换"}) + @PostMapping(value = "/loginApp") + public R<Object> loginApp(@RequestBody LoginPasswordRequest loginPasswordRequest) { + String phone = loginPasswordRequest.getPhone(); + MasterWorker worker = masterWorkerService.lambdaQuery().eq(MasterWorker::getPhone, phone) + .eq(MasterWorker::getIsDelete, 0).one(); + if (null != worker) { + if (!Constants.ONE.equals(worker.getIsEnable())) { + return R.notEnabled("登录失败,当前账号未启用!"); + } + } else { + // 校验师傅是否已提交入驻申请 + WorkerProcess process = workerProcessService.lambdaQuery() + .eq(WorkerProcess::getPhone, phone) + .eq(WorkerProcess::getIsDelete, 0) + .orderByDesc(WorkerProcess::getCreateTime) + .last("limit 1").one(); + if (null != process) { + if (Constants.ZERO.equals(process.getState())) { + return R.fail("入驻申请暂未审核通过,请耐心等待!"); + } else if (Constants.TWO.equals(process.getState())) { + return R.fail("当前手机号未注册!"); + } else { + return R.registered("当前账号未提交入驻申请,无法登录!"); + } + } else { + return R.registered("当前账号未提交入驻申请,无法登录!"); + } + } + return R.ok(generateLoginToken(worker)); + } /** * 生成登录信息及token加密 -- Gitblit v1.7.1