| | |
| | | import com.panzhihua.common.constants.Constants; |
| | | import com.panzhihua.common.constants.TokenConstant; |
| | | import com.panzhihua.common.constants.UserConstants; |
| | | import com.panzhihua.common.exceptions.ServiceException; |
| | | import com.panzhihua.common.exceptions.UnAuthenticationException; |
| | | import com.panzhihua.common.model.vos.LoginUserInfoVO; |
| | | import com.panzhihua.common.utlis.AES; |
| | |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | import sun.security.krb5.internal.crypto.Aes256; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | |
| | | |
| | | /** |
| | | * 获取登录对象信息 |
| | | * |
| | | * @return 对象userid |
| | | */ |
| | | public Long getUserId(){ |
| | | public Long getUserId() { |
| | | LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); |
| | | Long userId = loginUserInfo.getUserId(); |
| | | return userId; |
| | |
| | | |
| | | /** |
| | | * 获取登录对象所在社区id |
| | | * |
| | | * @return 社区id |
| | | */ |
| | | public Long getCommunityId(){ |
| | | public Long getCommunityId() { |
| | | LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); |
| | | Long communityId = loginUserInfo.getCommunityId(); |
| | | if (null == communityId || 0 == communityId) { |
| | | throw new ServiceException("用户未绑定社区"); |
| | | } |
| | | return communityId; |
| | | } |
| | | |
| | | /** |
| | | * 获取登录对象所在小区 |
| | | * |
| | | * @return 小区id |
| | | */ |
| | | public Long getAreaId(){ |
| | | public Long getAreaId() { |
| | | LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); |
| | | Long areaId = loginUserInfo.getAreaId(); |
| | | if (null == areaId || 0 == areaId) { |
| | | throw new ServiceException("用户未绑定社区"); |
| | | } |
| | | return areaId; |
| | | } |
| | | |
| | | /** |
| | | * 获取登录token |
| | | * |
| | | * @return token |
| | | */ |
| | | public String getToken(){ |
| | | public String getToken() { |
| | | HttpServletRequest request = this.getRequest(); |
| | | String header = request.getHeader(TokenConstant.TOKEN_LOGOUT); |
| | | return header; |
| | |
| | | |
| | | /** |
| | | * 获取登录对象所有信息 |
| | | * |
| | | * @return 所有信息 |
| | | */ |
| | | @SneakyThrows |
| | | public LoginUserInfoVO getLoginUserInfo(){ |
| | | public LoginUserInfoVO getLoginUserInfo() { |
| | | HttpServletRequest request = this.getRequest(); |
| | | String userInfo = request.getHeader(TokenConstant.TOKEN_USERINFO); |
| | | boolean empty = ObjectUtils.isEmpty(userInfo); |
| | | if (empty) { |
| | | throw new UnAuthenticationException("获取登录人信息失败"); |
| | | } |
| | | log.info("userInfo【{}】",userInfo); |
| | | // log.info("userInfo【{}】",userInfo); |
| | | byte[] bytes = AES.parseHexStr2Byte(userInfo); |
| | | log.info("bytes【{}】",bytes); |
| | | // log.info("bytes【{}】",bytes); |
| | | byte[] decrypt = AES.decrypt(bytes, Constants.AES_KEY); |
| | | log.info("decrypt【{}】",decrypt); |
| | | userInfo=new String(decrypt); |
| | | LoginUserInfoVO loginUserInfoVO= JSONObject.parseObject(userInfo,LoginUserInfoVO.class); |
| | | // log.info("decrypt【{}】",decrypt); |
| | | userInfo = new String(decrypt); |
| | | LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(userInfo, LoginUserInfoVO.class); |
| | | return loginUserInfoVO; |
| | | } |
| | | |
| | | @SneakyThrows |
| | | public LoginUserInfoVO getLoginUserInfoSureNoLogin() { |
| | | HttpServletRequest request = this.getRequest(); |
| | | String userInfo = request.getHeader(TokenConstant.TOKEN_USERINFO); |
| | | boolean empty = ObjectUtils.isEmpty(userInfo); |
| | | if (empty) { |
| | | return null; |
| | | // throw new UnAuthenticationException("获取登录人信息失败"); |
| | | } |
| | | // log.info("userInfo【{}】",userInfo); |
| | | byte[] bytes = AES.parseHexStr2Byte(userInfo); |
| | | // log.info("bytes【{}】",bytes); |
| | | byte[] decrypt = AES.decrypt(bytes, Constants.AES_KEY); |
| | | // log.info("decrypt【{}】",decrypt); |
| | | userInfo = new String(decrypt); |
| | | LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(userInfo, LoginUserInfoVO.class); |
| | | return loginUserInfoVO; |
| | | } |
| | | |