Browse Source

微信第三方平台-优化

master
zxc 5 years ago
parent
commit
144456fa80
  1. 1
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java
  2. 28
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java

1
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/constant/ModuleConstant.java

@ -41,6 +41,7 @@ public interface ModuleConstant {
//使用授权码获取授权信息 如下
String AUTHORIZATION_CODE = "authorization_code";
String AUTHORIZATION_INFO = "authorization_info";
String ID = "id";
//获取/刷新接口调用令牌 如下
String AUTHORIZER_APPID = "authorizer_appid";

28
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ComponentVerifyTicketServiceImpl.java

@ -264,13 +264,14 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
HashMap<String,Map> hashMap = JSON.parseObject(authInfo, HashMap.class);
Map map = hashMap.get(ModuleConstant.AUTHORIZATION_INFO);
authorizationInfoResultDTO = mapToEntity(map, AuthorizationInfoResultDTO.class);
String authAppId = authorizationInfoResultDTO.getAuthorizer_appid();
log.info("授权信息:"+map);
String expiresIn = authorizationInfoResultDTO.getExpires_in();
Date expiresInTime = this.countExpirationTime(expiresIn);
//授权信息分为两张表,基础信息authorization_info,授权列表func_info
// 1. 基础信息
AuthorizationInfoFormDTO authInfoDTO = new AuthorizationInfoFormDTO();
authInfoDTO.setAuthorizerAppid(authorizationInfoResultDTO.getAuthorizer_appid());
authInfoDTO.setAuthorizerAppid(authAppId);
authInfoDTO.setAuthorizerAccessToken(authorizationInfoResultDTO.getAuthorizer_access_token());
authInfoDTO.setAuthorizerRefreshToken(authorizationInfoResultDTO.getAuthorizer_refresh_token());
authInfoDTO.setExpiresInTime(expiresInTime);
@ -284,20 +285,19 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe
List<FuncInfoFormDTO> funcInfos = new ArrayList<>();
List<Map> func_info = authorizationInfoResultDTO.getFunc_info();
log.info("权限列表信息:"+func_info);
for (Map map1 : func_info) {
List key = (List)map1.keySet();
FuncInfoFormDTO fu = new FuncInfoFormDTO();
String funcscopeCategory = key.get(NumConstant.ZERO).toString();
fu.setFuncscopeCategory(funcscopeCategory);
Map funcscope = (Map) map1.get(funcscopeCategory);
String funcscopeId = funcscope.get("id").toString();
fu.setFuncscopeId(funcscopeId);
fu.setAuthorizationInfoAppid(authorizationInfoResultDTO.getAuthorizer_appid());
fu.setCustomerId(customerId);
funcInfos.add(fu);
}
func_info.forEach(func -> {
func.forEach((key,value) -> {
FuncInfoFormDTO fu = new FuncInfoFormDTO();
fu.setFuncscopeCategory((String) key);
Map funcScope = (Map) value;
fu.setFuncscopeId(funcScope.get(ModuleConstant.ID).toString());
fu.setAuthorizationInfoAppid(authAppId);
fu.setCustomerId(customerId);
funcInfos.add(fu);
});
});
//先逻辑删除,在插入
funcInfoDao.updateOldFuncInfo(customerId,authorizationInfoResultDTO.getAuthorizer_appid());
funcInfoDao.updateOldFuncInfo(customerId,authAppId);
funcInfoDao.insertFuncInfo(funcInfos);
// 授权信息放入缓存
redisThird.setAuthInfo(authorizationInfoResultDTO,customerId,clientType);

Loading…
Cancel
Save