From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/util/UserRoleClient.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 140 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/util/UserRoleClient.java b/src/main/java/com/highdatas/mdm/util/UserRoleClient.java index 883cf5b..2a559b1 100644 --- a/src/main/java/com/highdatas/mdm/util/UserRoleClient.java +++ b/src/main/java/com/highdatas/mdm/util/UserRoleClient.java @@ -6,55 +6,72 @@ import com.highdatas.mdm.entity.TRole; import com.highdatas.mdm.entity.TUser; import com.highdatas.mdm.entity.TUserGroup; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; -import java.util.HashMap; -import java.util.List; +import java.util.*; @ConfigurationProperties(prefix = "user") @Component +@Slf4j public class UserRoleClient { @Value("${user.url}") String url; String prefix ; + @Autowired + RedisClient redisClient; - private UserRoleClient() { + public UserRoleClient() { this.prefix = "/api/datacvg/"; } public TUser getTUserById(String userId) { + Object redisValObj = redisClient.getRedisValObj(RedisClient.getRealRedisKey(userId)); + if (redisValObj != null) { + JSONObject object = (JSONObject) redisValObj; + TUser user = JSONObject.parseObject(object.toJSONString(), TUser.class); + return user; + } String url = this.url + prefix + "user/selectUser"; - MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); - params.set("userId",userId); + Map<String, String> params = new LinkedHashMap<>(); + params.put("userId",userId); String s = HttpUtils.HttpRestClient(url, HttpMethod.POST, params, MediaType.APPLICATION_JSON); + log.info(s); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); if (StringUtils.isEmpty(sucess) || !Boolean.valueOf(sucess)) { return null; }else { JSONObject data = result.getJSONObject(Constant.Data); + data = data.getJSONObject(Constant.userDO); TUser user = JSON.toJavaObject(data, TUser.class); if (user == null){ return null; } + redisClient.putRedisValObj(RedisClient.getRealRedisKey(userId), user); return user; } } public TRole getRoleByRoleId(String roleId) { + Object redisValObj = redisClient.getRedisValObj(RedisClient.getRealRedisKey(roleId)); + if (redisValObj != null) { + JSONObject object = (JSONObject) redisValObj; + TRole user = JSONObject.parseObject(object.toJSONString(), TRole.class); + return user; + } try { String url = this.url + prefix + "role/selectRole"; - MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); - params.set("roleId", roleId); + Map<String, String> params = new LinkedHashMap<>(); + params.put("roleId", roleId); String s = HttpUtils.HttpRestClient(url, HttpMethod.POST, params, MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); @@ -66,6 +83,7 @@ if (role == null){ return null; } + redisClient.putRedisValObj(RedisClient.getRealRedisKey(roleId), role); return role; } }catch (Exception e){ @@ -76,10 +94,24 @@ } public List<TUserGroup> getUserGroupByUserId(String userId) { + + String key = RedisClient.getRealRedisKey(userId + "-getUserGroupByUserId"); + List<Object> redisList = redisClient.getRedisList(key); + if (redisList != null && !redisList.isEmpty()) { + List<TUserGroup> result = new ArrayList<>(); + for (Object o : redisList) { + JSONObject object = (JSONObject) o; + TUserGroup menu = JSONObject.parseObject(object.toJSONString(), TUserGroup.class); + result.add(menu); + } + return result; + } + String url = this.url + prefix + "group/userGroupInfo"; - MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); - params.set("userId",userId); - String s = HttpUtils.HttpRestClient(url, HttpMethod.POST, params, MediaType.APPLICATION_JSON); + Map<String, Object> params = new LinkedHashMap<>(); + params.put("userId",userId); + String urlParamsByMap = HttpUtils.getUrlParamsByMap(params); + String s = HttpUtils.HttpRestClient(url, HttpMethod.POST, null,urlParamsByMap, MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); if (StringUtils.isEmpty(sucess) || !Boolean.valueOf(sucess)) { @@ -90,36 +122,61 @@ if (tUserGroups == null || tUserGroups.isEmpty()) { return null; } + redisClient.putRedisList(key, (tUserGroups)); return tUserGroups; } } public List<TRole> getTRoleListByUserId(String userId) { - String url = this.url + prefix + "userRole/selectUserRole"; - MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); - params.set("userId",userId); + + String key = RedisClient.getRealRedisKey(userId + "-getTRoleListByUserId"); + List<Object> redisList = redisClient.getRedisList(key); + if (redisList != null && !redisList.isEmpty()) { + List<TRole> result = new ArrayList<>(); + for (Object o : redisList) { + JSONObject object = (JSONObject) o; + TRole menu = JSONObject.parseObject(object.toJSONString(), TRole.class); + result.add(menu); + } + return result; + } + String url = this.url + prefix + "userRole/selectUserRoleList"; + Map<String, String> params = new LinkedHashMap<>(); + params.put("userId",userId); String s = HttpUtils.HttpRestClient(url, HttpMethod.POST, params, MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); if (StringUtils.isEmpty(sucess) || !Boolean.valueOf(sucess)) { return null; }else { - JSONObject data = result.getJSONObject(Constant.Data); - JSONArray groupArray = data.getJSONArray("Unauthorized"); + JSONArray groupArray = result.getJSONArray(Constant.Data); List<TRole> tRoles = JSONArray.parseArray(groupArray.toJSONString(), TRole.class); if (tRoles == null || tRoles.isEmpty()) { return null; } + redisClient.putRedisList(key, tRoles); return tRoles; } } public List<TRole> getRoleListByGroupId(String groupId) { + String key = RedisClient.getRealRedisKey(groupId + "-getTRoleListByUserId"); + List<Object> redisList = redisClient.getRedisList(key); + if (redisList != null && !redisList.isEmpty()) { + List<TRole> result = new ArrayList<>(); + for (Object o : redisList) { + JSONObject object = (JSONObject) o; + TRole menu = JSONObject.parseObject(object.toJSONString(), TRole.class); + result.add(menu); + } + return result; + } try { String url = this.url + prefix + "group/groupRoleInfo"; - MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); - params.set("groupId", groupId); - String s = HttpUtils.HttpRestClient(url, HttpMethod.POST, params, MediaType.APPLICATION_JSON); + Map<String, Object> params = new LinkedHashMap<>(); + params.put("groupId", groupId); + String urlParamsByMap = HttpUtils.getUrlParamsByMap(params); + String s = HttpUtils.HttpRestClient(url, HttpMethod.POST, null,urlParamsByMap, MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); if (StringUtils.isEmpty(sucess) || !Boolean.valueOf(sucess)) { @@ -130,6 +187,7 @@ if (role == null || role.isEmpty()){ return null; } + redisClient.putRedisList(key, role); return role; } }catch (Exception e){ @@ -142,10 +200,10 @@ public boolean addRoleByUser(String userId, List<String> roleIds, String userName) { try { String url = this.url + prefix + "userRole/addRoleUser"; - MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); - params.set("userId", userId); - params.set("listRoleId", roleIds); - params.set("createUser", userId); + Map<String, Object> params = new LinkedHashMap<>(); + params.put("userId", userId); + params.put("listRoleId", roleIds); + params.put("createUser", userId); String s = HttpUtils.HttpRestClientByObjectParams(url, HttpMethod.POST, params, null, null,MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); @@ -161,13 +219,12 @@ } } - public boolean deleteRoleByUser(String userId, List<String> roleIds, String userName) { + public boolean deleteRoleByUser(String userId, List<String> roleIds) { try { String url = this.url + prefix + "userRole/deleteRoleUsers"; - MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); - params.set("userId", userId); - params.set("listRoleId", roleIds); - params.set("createUser", userId); + Map<String, Object> params = new LinkedHashMap<>(); + params.put("userId", userId); + params.put("listRoleId", roleIds); String s = HttpUtils.HttpRestClientByObjectParams(url, HttpMethod.POST, params, null, null,MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); @@ -190,9 +247,9 @@ HashMap<String, String> headerMap = new HashMap<>(); headerMap.put("userId", userId); - MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); - params.set("groupId", groupId); - params.set("roleIdList", roleIds); + Map<String, Object> params = new LinkedHashMap<>(); + params.put("groupId", groupId); + params.put("roleIdList", roleIds); String s = HttpUtils.HttpRestClientByObjectParams(url, HttpMethod.POST, params, null,headerMap,MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); @@ -206,13 +263,31 @@ } } + public List<TUser> listUserRoleGroup() { + try { + String url = this.url + prefix + "user/listUserRoleGroup"; + String s = HttpUtils.HttpRestClientByObjectParams(url, HttpMethod.POST, null, null,null,MediaType.APPLICATION_JSON); + JSONObject result = (JSONObject) JSON.parse(s); + String sucess = result.getString(Constant.Success); + if (StringUtils.isEmpty(sucess) || !Boolean.valueOf(sucess)) { + return null; + } + JSONArray jsonArray = result.getJSONArray(Constant.Data); + List<TUser> tUsers = JSONObject.parseArray(jsonArray.toJSONString(), TUser.class); + return tUsers; + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + public boolean deleteRoleByGroupId(List<String> roleIds, String groupId) { try { String url = this.url + prefix + "group/delGroupRole"; - MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); - params.set("groupId", groupId); - params.set("roleIdList", roleIds); + Map<String, Object> params = new LinkedHashMap<>(); + params.put("groupId", groupId); + params.put("roleIdList", roleIds); String s = HttpUtils.HttpRestClientByObjectParams(url, HttpMethod.POST, params, null,null,MediaType.APPLICATION_JSON); JSONObject result = (JSONObject) JSON.parse(s); String sucess = result.getString(Constant.Success); @@ -225,4 +300,34 @@ return false; } } + + public List<String> getUserListByRole(String roleId) { + String key = RedisClient.getRealRedisKey(roleId + "-getUserListByRole"); + List<Object> redisList = redisClient.getRedisList(key); + if (redisList != null && !redisList.isEmpty()) { + List<String> result = new ArrayList<>(); + for (Object o : redisList) { + result.add(o.toString()); + } + return result; + } + try { + String url = this.url + prefix + "userRole/selectUserMap"; + Map<String, Object> params = new LinkedHashMap<>(); + params.put("roleId", roleId); + String s = HttpUtils.HttpRestClientByObjectParams(url, HttpMethod.POST, params, null,null,MediaType.APPLICATION_JSON); + JSONObject result = (JSONObject) JSON.parse(s); + String sucess = result.getString(Constant.Success); + if (StringUtils.isEmpty(sucess) || !Boolean.valueOf(sucess)) { + return null; + } + List<String> array = result.getObject(Constant.Data, List.class); + + redisClient.putRedisList(key,array); + return array; + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } } -- Gitblit v1.8.0