use of com.jeecg.qywx.api.core.common.AccessToken in project kms by mahonelau.
the class ThirdAppWechatEnterpriseServiceImpl method getAppAccessToken.
/**
* 获取APPToken,新版企业微信的秘钥是分开的
*/
public String getAppAccessToken() {
String CORP_ID = thirdAppConfig.getWechatEnterprise().getClientId();
String SECRET = thirdAppConfig.getWechatEnterprise().getAgentAppSecret();
// 如果没有配置APP秘钥,就说明是老企业,可以通用秘钥
if (oConvertUtils.isEmpty(SECRET)) {
SECRET = thirdAppConfig.getWechatEnterprise().getClientSecret();
}
AccessToken accessToken = JwAccessTokenAPI.getAccessToken(CORP_ID, SECRET);
if (accessToken != null) {
return accessToken.getAccesstoken();
}
log.warn("获取AccessToken失败");
return null;
}
use of com.jeecg.qywx.api.core.common.AccessToken in project kms by mahonelau.
the class ThirdAppWechatEnterpriseServiceImpl method syncThirdAppUserToLocal.
@Override
public SyncInfoVo syncThirdAppUserToLocal() {
SyncInfoVo syncInfo = new SyncInfoVo();
String accessToken = this.getAccessToken();
if (accessToken == null) {
syncInfo.addFailInfo("accessToken获取失败!");
return syncInfo;
}
// 获取企业微信所有的用户
List<User> qwUsersList = JwUserAPI.getDetailUsersByDepartid("1", null, null, accessToken);
if (qwUsersList == null) {
syncInfo.addFailInfo("企业微信用户列表查询失败!");
return syncInfo;
}
// 查询本地用户
List<SysUser> sysUsersList = sysUserService.list();
// 循环判断新用户和需要更新的用户
for (User qwUser : qwUsersList) {
/*
* 判断是否同步过的逻辑:
* 1. 查询 sys_third_account(第三方账号表)是否有数据,如果有代表已同步
* 2. 本地表里没有,就先用手机号判断,不通过再用username判断。
*/
SysThirdAccount sysThirdAccount = sysThirdAccountService.getOneByThirdUserId(qwUser.getUserid(), ThirdAppConfig.WECHAT_ENTERPRISE.toLowerCase());
List<SysUser> collect = sysUsersList.stream().filter(user -> (qwUser.getMobile().equals(user.getPhone()) || qwUser.getUserid().equals(user.getUsername()))).collect(Collectors.toList());
if (collect != null && collect.size() > 0) {
SysUser sysUserTemp = collect.get(0);
// 循环到此说明用户匹配成功,进行更新操作
SysUser updateSysUser = this.qwUserToSysUser(qwUser, sysUserTemp);
try {
sysUserService.updateById(updateSysUser);
String str = String.format("用户 %s(%s) 更新成功!", updateSysUser.getRealname(), updateSysUser.getUsername());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncUserCollectErrInfo(e, qwUser, syncInfo);
}
this.thirdAccountSaveOrUpdate(sysThirdAccount, updateSysUser.getId(), qwUser.getUserid());
// 更新完成,直接跳到下一次外部循环继续
} else {
// 没匹配到用户则走新增逻辑
SysUser newSysUser = this.qwUserToSysUser(qwUser);
try {
sysUserService.save(newSysUser);
String str = String.format("用户 %s(%s) 创建成功!", newSysUser.getRealname(), newSysUser.getUsername());
syncInfo.addSuccessInfo(str);
} catch (Exception e) {
this.syncUserCollectErrInfo(e, qwUser, syncInfo);
}
this.thirdAccountSaveOrUpdate(sysThirdAccount, newSysUser.getId(), qwUser.getUserid());
}
}
return syncInfo;
}
use of com.jeecg.qywx.api.core.common.AccessToken in project kykms by mahonelau.
the class ThirdAppWechatEnterpriseServiceImpl method getAccessToken.
@Override
public String getAccessToken() {
String CORP_ID = thirdAppConfig.getWechatEnterprise().getClientId();
String SECRET = thirdAppConfig.getWechatEnterprise().getClientSecret();
AccessToken accessToken = JwAccessTokenAPI.getAccessToken(CORP_ID, SECRET);
if (accessToken != null) {
return accessToken.getAccesstoken();
}
log.warn("获取AccessToken失败");
return null;
}
use of com.jeecg.qywx.api.core.common.AccessToken in project kykms by mahonelau.
the class ThirdAppWechatEnterpriseServiceImpl method getAppAccessToken.
/**
* 获取APPToken,新版企业微信的秘钥是分开的
*/
public String getAppAccessToken() {
String CORP_ID = thirdAppConfig.getWechatEnterprise().getClientId();
String SECRET = thirdAppConfig.getWechatEnterprise().getAgentAppSecret();
// 如果没有配置APP秘钥,就说明是老企业,可以通用秘钥
if (oConvertUtils.isEmpty(SECRET)) {
SECRET = thirdAppConfig.getWechatEnterprise().getClientSecret();
}
AccessToken accessToken = JwAccessTokenAPI.getAccessToken(CORP_ID, SECRET);
if (accessToken != null) {
return accessToken.getAccesstoken();
}
log.warn("获取AccessToken失败");
return null;
}
Aggregations