Commit 7c8f87d1 authored by libin's avatar libin

imi 登录

parent 994a00a2
......@@ -214,4 +214,9 @@ public class AuthController {
return data;
}
@PostMapping("/imi/login")
public String loginImiWithToken(){
return authService.loginImiWithToken();
}
}
......@@ -67,4 +67,8 @@ public interface IUserService {
@PostMapping("/api/app/applet/registry")
public JSONObject appletRegistry(@RequestParam(value="username")String username, @RequestParam(value="nickname")String nickname,
@RequestParam(value="headimgurl")String headimgurl,@RequestParam(value="userid",defaultValue="0")Integer userid);
@PostMapping("/api/app/imi/login")
String loginImiWithToken();
}
......@@ -8,6 +8,7 @@ import feign.RequestTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
......@@ -22,12 +23,16 @@ public class ClientTokenInterceptor implements RequestInterceptor {
@Autowired
private AuthClientService authClientService;
@Value("${auth.user.token-header:Authorization}")
private String tokenHeader;
@Override
public void apply(RequestTemplate requestTemplate) {
try {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
requestTemplate.header(clientConfiguration.getClientTokenHeader(), authClientService.apply(clientConfiguration.getClientId(), clientConfiguration.getClientSecret()));
requestTemplate.header("userHost", ClientUtil.getClientIp(requestAttributes.getRequest()));
requestTemplate.header(tokenHeader,requestAttributes.getRequest().getHeader(tokenHeader));
} catch (Exception e) {
e.printStackTrace();
}
......
......@@ -33,4 +33,6 @@ public interface AuthService {
* @return
*/
JSONObject appletRegistry(String username,String headimgurl,String nickname,Integer userid);
String loginImiWithToken();
}
......@@ -96,4 +96,9 @@ public class AppAuthServiceImpl implements AuthService {
return userService.appletRegistry(username,headimgurl,nickname,userid);
}
@Override
public String loginImiWithToken() {
return userService.loginImiWithToken();
}
}
......@@ -93,4 +93,9 @@ public class AuthServiceImpl implements AuthService {
public JSONObject appletRegistry(String username,String headimgurl,String nickname,Integer userid) {
return userService.appletRegistry(username,headimgurl,nickname,userid);
}
@Override
public String loginImiWithToken() {
return userService.loginImiWithToken();
}
}
......@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
......@@ -103,4 +104,8 @@ public interface UserFeign {
@GetMapping("/app/user/one")
public AppUserLogin one(@RequestParam(value = "username")String username);
@GetMapping("/api/app/imi/{imiId}")
public ImiVo findUserInfoByImiId(@PathVariable(value = "imiId") Integer imiId);
}
package com.github.wxiaoqi.security.admin.vo;
import lombok.Data;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/7/15 16:35
*/
@Data
public class ImiVo {
private String nickname;
private String headimgurl;
}
......@@ -179,4 +179,15 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
}
return userIdAndAppUserLoginMap;
}
public AppUserLogin findUserByImiId(Integer imiId) {
Example example = new Example(AppUserLogin.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("imUserid",imiId);
List<AppUserLogin> appUserLogins = mapper.selectByExample(example);
if (CollectionUtils.isNotEmpty(appUserLogins)){
return appUserLogins.get(0);
}
return null;
}
}
......@@ -4,9 +4,14 @@ import com.ace.cache.annotation.Cache;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.rpc.service.AppPermissionService;
import com.github.wxiaoqi.security.admin.rpc.service.PermissionService;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo;
import com.github.wxiaoqi.security.api.vo.user.AppUserInfo;
import com.github.wxiaoqi.security.api.vo.user.UserInfo;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.util.process.SystemConfig;
......@@ -14,7 +19,10 @@ import com.github.wxiaoqi.security.common.util.result.JsonResultUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
......@@ -27,6 +35,12 @@ public class AppUserRest {
@Autowired
private AppPermissionService appPermissionService;
@Autowired
private UserAuthUtil authUtil;
@Autowired
private UserAuthConfig userAuthConfig;
// @Cache(key="permission")
// @RequestMapping(value = "/permissions", method = RequestMethod.GET)
// public @ResponseBody
......@@ -199,5 +213,20 @@ public class AppUserRest {
return appPermissionService.appletRegistry(username,headimgurl,nickname,userid);
}
@PostMapping("/imi/login")
public String loginImiWithToken(){
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest();
try {
IJWTInfo infoFromToken = authUtil.getInfoFromToken(userAuthConfig.getToken(request));
return appPermissionService.loginImiWithUserId(Integer.valueOf(infoFromToken.getId()));
} catch (Exception e) {
throw new BaseException(e);
}
}
@GetMapping("/imi/{imiId}")
public ImiVo findUserInfoByImiId(@PathVariable(value = "imiId") Integer imiId){
return appPermissionService.findUserInoByImiId(imiId);
}
}
......@@ -12,6 +12,7 @@ import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.*;
import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.ImiVo;
import com.github.wxiaoqi.security.api.vo.authority.PermissionInfo;
import com.github.wxiaoqi.security.api.vo.user.AppUserInfo;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
......@@ -37,14 +38,13 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
......@@ -681,6 +681,12 @@ public class AppPermissionService {
}
public String loginImiWithUserId(Integer userId){
AppUserLogin appUserLogin = appUserLoginBiz.getUserById(userId);
String token = loginIm(appUserLogin.getUsername(), appUserLogin.getImPassword(), userId);
return token;
}
//登录im
public String loginIm(String username, String password, Integer userId) {
......@@ -850,6 +856,20 @@ public class AppPermissionService {
}
}
public ImiVo findUserInoByImiId(Integer imiId) {
ImiVo imiVo = new ImiVo();
AppUserLogin appUserLogin= appUserLoginBiz.findUserByImiId(imiId);
if (appUserLogin==null){
return imiVo;
}
Map<Integer, AppUserDetail> userIdAndAppUserDetail = appUserDetailBiz.findUserIdAndUserDetailMapByMemberIds(Arrays.asList(appUserLogin.getId()));
AppUserDetail appUserDetail = userIdAndAppUserDetail.get(appUserLogin.getId());
imiVo.setNickname(appUserDetail.getNickname());
imiVo.setHeadimgurl(appUserDetail.getHeadimgurl());
return imiVo;
}
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public void insertUserMemberByUserIdAndPhone(Integer userId, String phone) throws Exception {
List<BaseUserMemberExportDTO> memberExportDTOS = baseUserMemberExportBiz.findUserMemberExportDataByPhoneAndHashEffective(phone);
......@@ -910,7 +930,6 @@ public class AppPermissionService {
}
}
/**
* @author libin
* @version 1.0.0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment