From b5a53d719f01daac9f4b4d0aafa274cea152c92c Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期四, 10 十一月 2022 17:43:53 +0800 Subject: [PATCH] token获取物业id处理 --- springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 139 insertions(+), 19 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java index dd35982..2c3365b 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java @@ -1,10 +1,16 @@ package com.panzhihua.auth.service.impl; +import java.util.Date; import java.util.concurrent.TimeUnit; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComActVO; +import com.panzhihua.common.model.vos.user.SysOperLogVO; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.utlis.IPUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; @@ -20,6 +26,12 @@ import com.panzhihua.common.model.vos.LoginReturnsVO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.utlis.JWTTokenUtil; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.bind.annotation.RequestParam; + +import static java.util.Objects.nonNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -33,6 +45,8 @@ private AuthenticationManager authenticationManager; @Autowired private StringRedisTemplate redisTemplate; + @Resource + private UserService userService; /** * 微信小程序登录 @@ -42,10 +56,10 @@ * @return jwt */ @Override - public LoginReturnVO loginApplets(String openId) { + public LoginReturnVO loginApplets(String openId,String appId) { Authentication authentication = null; authentication = authenticationManager - .authenticate(new UsernamePasswordAuthenticationToken(openId + "_1", UserConstants.PASSWORD)); + .authenticate(new UsernamePasswordAuthenticationToken(openId + "_1"+"_"+appId, UserConstants.PASSWORD)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -78,10 +92,10 @@ * @return 登录结果 */ @Override - public LoginReturnVO loginAppletsBackStage(String account, String password) { + public LoginReturnVO loginAppletsBackStage(String account, String password,String appid) { Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_2", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_2"+"_"+appid, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -101,16 +115,37 @@ * @return 登录结果 */ @Override - public LoginReturnVO loginCommunityBackage(String account, String password) { + public LoginReturnVO loginCommunityBackage(String account, String password,String appId) { Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_3", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_3"+"_"+appId, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + ComActVO comActVO = loginUser.getComActVO(); LoginReturnVO loginReturnVO = new LoginReturnVO(); loginReturnVO.setToken(token); loginReturnVO.setRefreshToken(refeshToken); + loginReturnVO.setCommunityId(loginUser.getCommunityId()); + if (nonNull(comActVO)) { + loginReturnVO.setLat(comActVO.getLat()); + loginReturnVO.setLng(comActVO.getLng()); + } + //保存登录日志 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + SysOperLogVO operlog = new SysOperLogVO(); + operlog.setTitle("登录操作"); // 操作模块 + operlog.setBusinessType(1); // 操作类型 + operlog.setMethod("com.panzhihua.community_backstage.api.LoginApi.login"); // 请求方法 + operlog.setAccount(loginUser.getAccount()); + operlog.setOperName(loginUser.getName()); // 请求用户名称 + operlog.setOperIp(IPUtil.getIpAddress(request)); // 请求IP + operlog.setOperUrl(request.getRequestURI()); // 请求URI + operlog.setRequestMethod(request.getMethod()); + operlog.setOperLocation(IPUtil.getIpBelongAddress(request)); + operlog.setOperTime(new Date()); // 创建时间 + operlog.setCommunityId(loginUser.getCommunityId()); + userService.addOperLog(operlog); return loginReturnVO; } @@ -124,10 +159,10 @@ * @return 登录结果 */ @Override - public LoginReturnVO loginShopBackStage(String account, String password) { + public LoginReturnVO loginShopBackStage(String account, String password,String appid) { Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_5", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_5"+"_"+appid, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -149,10 +184,10 @@ * @date 2021-5-13 10:56 */ @Override - public LoginReturnVO loginBigDataBackStage(String account, String password) { + public LoginReturnVO loginBigDataBackStage(String account, String password,String appid) { Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_8", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_8"+"_"+appid, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -172,10 +207,10 @@ * @return 登录结果 */ @Override - public LoginReturnsVO loginGridApp(String account, String password) { + public LoginReturnsVO loginGridApp(String account, String password,String appid) { Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_6", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_6"+"_"+appid, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -196,10 +231,10 @@ * @return 登录结果 */ @Override - public LoginReturnVO loginGridBackstage(String account, String password) { + public LoginReturnVO loginGridBackstage(String account, String password,String appid) { Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_7", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_7"+"_"+appid, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -210,10 +245,10 @@ } @Override - public LoginReturnVO loginCgBackage(String account, String password){ + public LoginReturnVO loginCgBackage(String account, String password,String appid){ Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_9", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_9"+"_"+appid, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -224,10 +259,10 @@ } @Override - public LoginReturnsVO loginAlarmApp(String account, String password) { + public LoginReturnsVO loginAlarmApp(String account, String password,String appid) { Authentication authentication = null; authentication = - authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_10", password)); + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_10"+"_"+appid, password)); LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); String token = JWTTokenUtil.generateToken(loginUser); String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); @@ -235,8 +270,93 @@ loginReturnVO.setToken(token); loginReturnVO.setRefreshToken(refeshToken); loginReturnVO.setUserId(loginUser.getUserId()); - loginReturnVO.setCommunityId(loginUser.getCommunityId()); return loginReturnVO; } + /** + * 便民服务商家后台登录 + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @Override + public LoginReturnVO loginMerchantBackStage(String account, String password,String appid) { + Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_10"+"_"+appid, password)); + LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); + String token = JWTTokenUtil.generateToken(loginUser); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + LoginReturnVO loginReturnVO = new LoginReturnVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + return loginReturnVO; + } + + /** + * 西区大屏登录 + * @param account 账号 + * @param password 密码 + * @return 登录结果 + */ + @Override + public LoginReturnVO loginXQDP(String account, String password,String appid){ + Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_15"+"_"+appid, password)); + LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); + String token = JWTTokenUtil.generateToken(loginUser); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + LoginReturnVO loginReturnVO = new LoginReturnVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + return loginReturnVO; + } + + /** + * 微商业街用户登录 + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @Override + public LoginReturnVO loginMcsUser(String account, String password,String appid) { + Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_11"+"_"+appid, password)); + LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); + String token = JWTTokenUtil.generateToken(loginUser); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + LoginReturnVO loginReturnVO = new LoginReturnVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + return loginReturnVO; + } + + @Override + public LoginReturnVO tfLogin(String account, String password, String appid) { + Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_16"+"_"+appid, password)); + LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); + String token = JWTTokenUtil.generateToken(loginUser); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + LoginReturnVO loginReturnVO = new LoginReturnVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + return loginReturnVO; + } + + /** + * 电动车商城后台用户登录 + * + * @param account + * 账户 + * @param password + * 密码 + * @return 登录结果 + */ + @Override + public LoginReturnVO loginBatteryUser(String account, String password,String appid) { + Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_20"+"_"+appid, password)); + LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); + String token = JWTTokenUtil.generateToken(loginUser); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + LoginReturnVO loginReturnVO = new LoginReturnVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + return loginReturnVO; + } } -- Gitblit v1.7.1