Parcourir la source

根据人员编码精确获取人员信息

hlf il y a 1 an
Parent
commit
aeafead276

+ 12 - 11
ims-service/ims-eval/src/main/java/com/ims/eval/config/ImaConfig.java

@@ -2,7 +2,6 @@ package com.ims.eval.config;
 
 import lombok.Data;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 
 @Data
@@ -10,8 +9,6 @@ import org.springframework.stereotype.Component;
 //@ConfigurationProperties(prefix = "iam")
 public class ImaConfig {
 
-
-
 	@Value("${iam.active}")
 	private String active;
 
@@ -19,10 +16,15 @@ public class ImaConfig {
 	@Value("${iam.gateway-url.dev}")
 	private String gatewayUrlDev;
 
-
 	@Value("${iam.gateway-url.pro}")
 	private String gatewayUrlPro;
 
+	@Value("${iam.gateway2-url.dev}")
+	private String gateway2UrlDev;
+
+
+	@Value("${iam.gateway2-url.pro}")
+	private String gateway2UrlPro;
 
 	@Value("${iam.menu.dev}")
 	private String menuDev;
@@ -30,17 +32,12 @@ public class ImaConfig {
 	@Value("${iam.menu.pro}")
 	private String menuPro;
 
-
-
-
-
 	@Value("${iam.flow-url.dev}")
 	private String flowUrlDev;
 
 	@Value("${iam.flow-url.pro}")
 	private String flowUrlPro;
 
-
 	public String getMenu() {
 
 		if("dev".equals(active)) {
@@ -49,8 +46,6 @@ public class ImaConfig {
 		return menuPro;
 	}
 
-
-
 	public String getGatewayUrl() {
 		if("dev".equals(active)){
 			return gatewayUrlDev;
@@ -58,6 +53,12 @@ public class ImaConfig {
 		return gatewayUrlPro;
 	}
 
+	public String getGateway2Url() {
+		if("dev".equals(active)){
+			return gateway2UrlDev;
+		}
+		return gateway2UrlPro;
+	}
 
 	public String getFlowUrl() {
 		if("dev".equals(active)){

+ 27 - 12
ims-service/ims-eval/src/main/java/com/ims/eval/controller/UserController.java

@@ -43,7 +43,7 @@ public class UserController {
 
 
 	@GetMapping("/publicKey")
-	public  R getPublicKey() throws Exception {
+	public R getPublicKey() throws Exception {
 		try {
 			KeyPair keyPair = RSAUtils.generateKeyPair(2048);
 			String publicKey = Base64.getEncoder().encodeToString(keyPair.getPublic().getEncoded());
@@ -67,12 +67,13 @@ public class UserController {
 
 	/**
 	 * 更具code获取用户信息
+	 *
 	 * @return
 	 */
 	@GetMapping(value = "getSysUser")
 	public JSONObject getSysUser(
 		@RequestParam(value = "code", required = false) String code) {
-		JSONObject  json = null;
+		JSONObject json = null;
 		try {
 			json = remoteServiceBuilder.getGatewayUrl().getSysUser(code);
 		} catch (Exception e) {
@@ -84,6 +85,7 @@ public class UserController {
 
 	/**
 	 * 根据token获取code
+	 *
 	 * @return
 	 */
 	@GetMapping(value = "getCodeByToken")
@@ -101,6 +103,7 @@ public class UserController {
 
 	/**
 	 * 登录接口
+	 *
 	 * @param username
 	 * @param password
 	 * @return
@@ -112,16 +115,15 @@ public class UserController {
 		JSONObject json = null;
 		try {
 //			json = userService.getbladeAuth("000000",username,password,"password","all","account");
-			json = userService.getbladeAuth(username,password);
+			json = userService.getbladeAuth(username, password);
 		} catch (Exception e) {
-			log.error("错误",e);
+			log.error("错误", e);
 			return R.ok().error("登录失败");
 		}
 		return R.ok().data(json);
 	}
 
 
-
 	@GetMapping(value = "pageList")
 	public JSONObject pageList(
 		@RequestParam(value = "current", required = false) Integer current,
@@ -134,19 +136,30 @@ public class UserController {
 		@RequestParam(value = "loginName", required = false) String loginName) {
 		JSONObject json = null;
 		try {
-			 json = userService.pageList( current,  size,  orgId,  idCard,  mobile,  no, name, loginName,request);
+			json = userService.pageList(current, size, orgId, idCard, mobile, no, name, loginName, request);
 		} catch (Exception e) {
-			log.error("错误",e);
+			log.error("错误", e);
 			return null;
 		}
 		return json;
 	}
 
-
+	@GetMapping(value = "/getLoginNameByUserInfo")
+	public JSONObject getLoginNameByUserInfo(@RequestParam(value = "info") String info) {
+		JSONObject json = null;
+		try {
+			json = userService.getLoginNameByUserInfo(info, request);
+		} catch (Exception e) {
+			log.error("错误", e);
+			return null;
+		}
+		return json;
+	}
 
 
 	/**
 	 * 退出登录
+	 *
 	 * @param token
 	 * @return
 	 */
@@ -156,7 +169,7 @@ public class UserController {
 		try {
 			json = remoteServiceBuilder.getGatewayUrl().removeByToken(token);
 		} catch (Exception e) {
-			log.error("错误",e);
+			log.error("错误", e);
 		}
 		return json;
 	}
@@ -170,7 +183,7 @@ public class UserController {
 		AtomicBoolean b = new AtomicBoolean(false);
 		user.stream().forEach(i -> {
 
-		b.set(userService.saveOrUpdate(i));
+			b.set(userService.saveOrUpdate(i));
 
 		});
 
@@ -185,7 +198,8 @@ public class UserController {
 
 	/**
 	 * 查询所有数据
-	 * @param id 主键
+	 *
+	 * @param id    主键
 	 * @param orgId 组织id
 	 * @return
 	 */
@@ -195,13 +209,14 @@ public class UserController {
 		@RequestParam(value = "id", required = false) String id,
 		@RequestParam(value = "orgId", required = false) String orgId,
 		@RequestParam(value = "unitId", required = false) String unitId) {
-		List<Myuser> list = userService.listAll(id, orgId,unitId);
+		List<Myuser> list = userService.listAll(id, orgId, unitId);
 		return R.ok().data(list);
 	}
 
 
 	/**
 	 * 查询所有数据
+	 *
 	 * @param id 主键
 	 * @return
 	 */

+ 1 - 4
ims-service/ims-eval/src/main/java/com/ims/eval/service/IUserService.java

@@ -87,9 +87,6 @@ public interface IUserService extends IService<Myuser> {
 	 */
 	JSONObject pageList(Integer current, Integer size, String orgId, String idCard, String mobile, String no,String name,String loginName,HttpServletRequest request);
 
-
-
-
 	/**
 	 * 登录
 	 *
@@ -99,5 +96,5 @@ public interface IUserService extends IService<Myuser> {
 	 */
 	JSONObject getbladeAuth(String username, String password) throws Exception;
 
-
+	JSONObject getLoginNameByUserInfo(String info, HttpServletRequest request);
 }

+ 31 - 19
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/UserServiceImpl.java

@@ -3,20 +3,22 @@ package com.ims.eval.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ims.common.utils.MD5Utils;
 import com.ims.common.utils.RSAUtils;
 import com.ims.common.utils.StringUtils;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.config.ImaConfig;
-import com.ims.eval.entity.Myuser;
 import com.ims.eval.dao.UserMapper;
+import com.ims.eval.entity.Myuser;
 import com.ims.eval.entity.dto.response.MyuserResDTO;
 import com.ims.eval.feign.RemoteServiceBuilder;
 import com.ims.eval.service.IUserService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
@@ -24,10 +26,8 @@ import org.springframework.web.client.RestTemplate;
 import springfox.documentation.annotations.Cacheable;
 
 import javax.servlet.http.HttpServletRequest;
-import java.nio.charset.StandardCharsets;
 import java.util.Base64;
 import java.util.List;
-import java.util.concurrent.CompletionException;
 
 /**
  * <p>
@@ -92,11 +92,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, Myuser> implements
 	@Cacheable(value = "user_code")
 	@Override
 	public MyuserResDTO getSysUser(String code) {
-		try{
+		try {
 			Object json = remoteServiceBuilder.getGatewayUrl().getSysUser(code);
 			MyuserResDTO user = JSON.parseObject(json.toString(), MyuserResDTO.class);
 			return user;
-		} catch (Exception e){
+		} catch (Exception e) {
 			return null;
 		}
 	}
@@ -105,12 +105,12 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, Myuser> implements
 	public MyuserResDTO getSysUser(HttpServletRequest request) {
 
 		try {
-			if(null == request.getHeader("code")){
+			if (null == request.getHeader("code")) {
 				throw new CustomException("请求鉴权信息为空");
 			}
 			String code = request.getHeader("code");
 			JSONObject json = remoteServiceBuilder.getGatewayUrl().getSysUser(code);
-			MyuserResDTO user =JSONObject.parseObject(json.getJSONObject("data").toJSONString(), MyuserResDTO.class);
+			MyuserResDTO user = JSONObject.parseObject(json.getJSONObject("data").toJSONString(), MyuserResDTO.class);
 			return user;
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -125,7 +125,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, Myuser> implements
 	}
 
 
-
 	@Override
 	public JSONObject getbladeAuth(String tenantId, String username, String password, String grantType, String scope, String type) throws Exception {
 		MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
@@ -142,7 +141,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, Myuser> implements
 
 		// 验证数字签名
 		boolean isValid = RSAUtils.verify(password.getBytes(), signature, RSAUtils.getKeyPair().getPublic());
-		if(!isValid){
+		if (!isValid) {
 			throw new CustomException("登录密码验证错误");
 		}
 
@@ -151,21 +150,21 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, Myuser> implements
 		ResponseEntity<String> responseEntity2 = restTemplate.postForEntity(imaConfig.getGatewayUrl() + "blade-auth/oauth/token?tenantId={1}&username={2}&password={3}&grant_type={4}&scope={5}&type={6}",
 			param, String.class, tenantId, username, pwdstr, grantType, scope, type);
 		log.info("\n code:{}\n header:{}\n body:{}\n", responseEntity2.getStatusCodeValue(), responseEntity2.getHeaders(), responseEntity2.getBody());
-		if(200== responseEntity2.getStatusCodeValue()){
+		if (200 == responseEntity2.getStatusCodeValue()) {
 			return JSON.parseObject(responseEntity2.getBody());
 		}
 		return null;
 	}
 
 	@Override
-	public JSONObject pageList(Integer current, Integer size, String orgId, String idCard, String mobile, String no, String name, String loginName,HttpServletRequest request) {
+	public JSONObject pageList(Integer current, Integer size, String orgId, String idCard, String mobile, String no, String name, String loginName, HttpServletRequest request) {
 
 		MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
-		headers.add("Blade-Auth", "bearer "+request.getHeader("Blade-Auth"));
+		headers.add("Blade-Auth", "bearer " + request.getHeader("Blade-Auth"));
 		HttpEntity<LinkedMultiValueMap<String, Object>> param = new HttpEntity<>(null, headers);
 
 		ResponseEntity<String> responseEntity2 = restTemplate.exchange(imaConfig.getGatewayUrl() + "ims-idms/sysuser/page?current={1}&size={2}&orgId={3}&idCard={4}&mobile={5}&no={6}&name={7}&loginName={8}",
-			HttpMethod.GET,param, String.class, current, size, orgId, idCard, mobile, no,name,loginName);
+			HttpMethod.GET, param, String.class, current, size, orgId, idCard, mobile, no, name, loginName);
 
 		log.info("\n code:{}\n header:{}\n body:{}\n", responseEntity2.getStatusCodeValue(), responseEntity2.getHeaders(), responseEntity2.getBody());
 		//
@@ -184,7 +183,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, Myuser> implements
 		headers.add("Content-Type", "application/x-www-form-urlencoded");
 
 		//固定字符串
-		String  auth  ="c2FiZXI6NWMwMmMzZDViNzYxNTNkZGM5ZTczYzc5YzMzNzYzODAxNmE5ZDM2Ng==";
+		String auth = "c2FiZXI6NWMwMmMzZDViNzYxNTNkZGM5ZTczYzc5YzMzNzYzODAxNmE5ZDM2Ng==";
 		// 使用后端私钥解密数据
 		byte[] pwdData = RSAUtils.decrypt(Base64.getDecoder().decode(password.replaceAll(" ", "+")), RSAUtils.getKeyPair().getPrivate());
 
@@ -194,16 +193,29 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, Myuser> implements
 
 		// 验证数字签名
 		boolean isValid = RSAUtils.verify(password.getBytes(), signature, RSAUtils.getKeyPair().getPublic());
-		if(!isValid){
+		if (!isValid) {
 			throw new CustomException("登录密码验证错误");
 		}
 
 		HttpEntity<LinkedMultiValueMap<String, Object>> param = new HttpEntity<>(null, headers);
 
 		ResponseEntity<String> responseEntity2 = restTemplate.postForEntity(imaConfig.getGatewayUrl() + "ims-idas/oauth/IToken?userInfo={1}&password={2}&auth={3}",
-			param, String.class, username, pwdstr,auth);
+			param, String.class, username, pwdstr, auth);
 		log.info("\n code:{}\n header:{}\n body:{}\n", responseEntity2.getStatusCodeValue(), responseEntity2.getHeaders(), responseEntity2.getBody());
-		if(200== responseEntity2.getStatusCodeValue()){
+		if (200 == responseEntity2.getStatusCodeValue()) {
+			return JSON.parseObject(responseEntity2.getBody());
+		}
+		return null;
+	}
+
+	@Override
+	public JSONObject getLoginNameByUserInfo(String info, HttpServletRequest request) {
+		MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
+		headers.add("Authorization", "Basic " + request.getHeader("Blade-Auth"));
+		HttpEntity<LinkedMultiValueMap<String, Object>> param = new HttpEntity<>(null, headers);
+		ResponseEntity<String> responseEntity2 = restTemplate.exchange(imaConfig.getGateway2Url() + "api/ims-idms/sysuser/getLoginNameByUserInfo?info={1}", HttpMethod.GET, param, String.class, info);
+		log.info("\n code:{}\n header:{}\n body:{}\n", responseEntity2.getStatusCodeValue(), responseEntity2.getHeaders(), responseEntity2.getBody());
+		if (200 == responseEntity2.getStatusCodeValue()) {
 			return JSON.parseObject(responseEntity2.getBody());
 		}
 		return null;

+ 5 - 2
ims-service/ims-eval/src/main/resources/application.yml

@@ -27,12 +27,15 @@ iam:
   gateway-url:
     dev: http://10.65.78.23:18600/
     pro: http://10.65.79.83:86/
+  gateway2-url:
+    dev: http://10.65.78.23:81/
+    pro: http://10.65.79.83:81/
   menu:
     dev: 10105
     pro: 6802
   flow-url:
-    dev: http://10.65.78.23:8080
-    pro: http://10.65.79.85:8080
+    dev: http://10.65.78.23:8080/
+    pro: http://10.65.79.85:8080/