fix: 修复企业微信用户查询并添加模拟登录接口
修复企业微信用户查询SQL未过滤已删除和禁用用户的问题 添加模拟企业微信登录接口用于测试环境
This commit is contained in:
parent
04fd224005
commit
929b70897f
|
@ -217,6 +217,44 @@ public class PaymentController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/login/qy/fake")
|
||||||
|
public ResponseDTO<QyLoginDTO> fakeQyLogin(String corpid, String userid) {
|
||||||
|
try {
|
||||||
|
QyAccessTokenEntity qyAccessToken = accessTokenApplicationService.getByAppid("QWTONG_YS_WXSHOP", corpid);
|
||||||
|
// 通过企业微信code获取用户ID
|
||||||
|
// 根据企业微信用户ID查询系统用户名
|
||||||
|
SysUserEntity sysUserEntity = sysUserQyUserApplicationService.getSysUserByQyUserid(userid);
|
||||||
|
|
||||||
|
SystemLoginUser loginUser = new SystemLoginUser();
|
||||||
|
loginUser.setAdmin(false);
|
||||||
|
loginUser.setUserId(sysUserEntity.getUserId());
|
||||||
|
List<RouterDTO> routerTree = menuApplicationService.getRouterTree(loginUser);
|
||||||
|
log.info("getRouterTree,userid: {}, routerTree: {}", userid, JSONUtil.toJsonStr(routerTree));
|
||||||
|
|
||||||
|
int isCabinetAdmin = 0;
|
||||||
|
if (routerTree != null && !routerTree.isEmpty()) {
|
||||||
|
isCabinetAdmin = isCabinetAdmin(routerTree)
|
||||||
|
? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
OpenidResponse openidResponse = QywxApiUtil.convertToOpenid(qyAccessToken.getAccessToken(), userid);
|
||||||
|
|
||||||
|
QyUserEntity qyUserEntity = qyUserApplicationService.getUserByUserIdAndCorpid(userid, corpid);
|
||||||
|
Ab98UserEntity ab98User = null;
|
||||||
|
if (qyUserEntity != null && qyUserEntity.getAb98UserId() != null) {
|
||||||
|
ab98User = ab98UserApplicationService.getByAb98UserId(qyUserEntity.getAb98UserId());
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResponseDTO.ok(new QyLoginDTO(userid, openidResponse.getOpenid(), isCabinetAdmin,
|
||||||
|
qyUserEntity == null ? 0 : qyUserEntity.getId(),
|
||||||
|
qyUserEntity == null ? "" : qyUserEntity.getName(),
|
||||||
|
ab98User));
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
log.error("qyLogin失败", e);
|
||||||
|
return ResponseDTO.fail(new ApiException(ErrorCode.Client.COMMON_REQUEST_PARAMETERS_INVALID, "微信服务调用失败"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean isCabinetAdmin(List<RouterDTO> routerTree) {
|
private static boolean isCabinetAdmin(List<RouterDTO> routerTree) {
|
||||||
if (routerTree == null || routerTree.isEmpty()) {
|
if (routerTree == null || routerTree.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -44,7 +44,7 @@ public interface SysUserQyUserMapper extends BaseMapper<SysUserQyUserEntity> {
|
||||||
"FROM sys_user_qy_user suqy " +
|
"FROM sys_user_qy_user suqy " +
|
||||||
"JOIN qy_user qu ON suqy.qy_user_id = qu.id " +
|
"JOIN qy_user qu ON suqy.qy_user_id = qu.id " +
|
||||||
"JOIN sys_user su ON suqy.sys_user_id = su.user_id " +
|
"JOIN sys_user su ON suqy.sys_user_id = su.user_id " +
|
||||||
"WHERE qu.userid = #{userid}")
|
"WHERE qu.userid = #{userid} AND qu.deleted = 0 AND qu.enable = 1")
|
||||||
SysUserEntity selectSysUserByQyUserid(@Param("userid") String userid);
|
SysUserEntity selectSysUserByQyUserid(@Param("userid") String userid);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue