From 177249c76aeea0b4bf8d8816d4994e3b445b45ce Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期四, 02 九月 2021 10:39:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/zzj' into zzj --- springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 211 insertions(+), 0 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 new file mode 100644 index 0000000..64d49df --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java @@ -0,0 +1,211 @@ +package com.panzhihua.auth.service.impl; + +import java.util.concurrent.TimeUnit; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Service; + +import com.panzhihua.auth.service.LoginService; +import com.panzhihua.common.constants.TokenConstant; +import com.panzhihua.common.constants.UserConstants; +import com.panzhihua.common.model.vos.LoginReturnVO; +import com.panzhihua.common.model.vos.LoginReturnsVO; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.utlis.JWTTokenUtil; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: token + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-11-19 17:07 + **/ +@Service +public class LoginServiceImpl implements LoginService { + @Resource + private AuthenticationManager authenticationManager; + @Autowired + private StringRedisTemplate redisTemplate; + + /** + * 微信小程序登录 + * + * @param openId + * 微信标识 + * @return jwt + */ + @Override + public LoginReturnVO loginApplets(String openId) { + Authentication authentication = null; + authentication = authenticationManager + .authenticate(new UsernamePasswordAuthenticationToken(openId + "_1", UserConstants.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 token + * 登录用户token + */ + @Override + public void logoutApplets(String token) { + ValueOperations<String, String> valueOperations = redisTemplate.opsForValue(); + token = token.replaceAll(TokenConstant.TOKEN_PRE, ""); + valueOperations.set(UserConstants.LOGOUT_TOKEN + token, token, TokenConstant.EXPIRETIME, TimeUnit.MINUTES); + } + + /** + * 运营后台登录 + * + * @param account + * 账户 + * @param password + * 密码 + * @return 登录结果 + */ + @Override + public LoginReturnVO loginAppletsBackStage(String account, String password) { + Authentication authentication = null; + authentication = + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_2", 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 loginCommunityBackage(String account, String password) { + Authentication authentication = null; + authentication = + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_3", 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 loginShopBackStage(String account, String password) { + Authentication authentication = null; + authentication = + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_5", 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 + * 密码 + * @author manailin + * @return 登录结果 + * @date 2021-5-13 10:56 + */ + @Override + public LoginReturnVO loginBigDataBackStage(String account, String password) { + Authentication authentication = null; + authentication = + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_8", 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 LoginReturnsVO loginGridApp(String account, String password) { + Authentication authentication = null; + authentication = + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_6", password)); + LoginUserInfoVO loginUser = (LoginUserInfoVO)authentication.getPrincipal(); + String token = JWTTokenUtil.generateToken(loginUser); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + LoginReturnsVO loginReturnVO = new LoginReturnsVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + loginReturnVO.setUserId(loginUser.getUserId()); + return loginReturnVO; + } + + /** + * 商家后台登录 + * + * @param account + * 账户 + * @param password + * 密码 + * @return 登录结果 + */ + @Override + public LoginReturnVO loginGridBackstage(String account, String password) { + Authentication authentication = null; + authentication = + authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(account + "_7", 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