Browse Source

fix: 修复会话登录

master
wangxiang 2 years ago
parent
commit
78d2920f77
  1. 25
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java
  2. 2
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java

25
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java

@ -8,8 +8,10 @@ import com.alibaba.fastjson.JSONObject; @@ -8,8 +8,10 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.commonbiz.api.entity.*;
import com.cloud.kicc.commonbiz.mapper.PushApplicationMapper;
import com.cloud.kicc.commonbiz.service.*;
@ -18,6 +20,10 @@ import com.cloud.kicc.system.api.entity.User; @@ -18,6 +20,10 @@ import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.feign.RemoteUserService;
import lombok.RequiredArgsConstructor;
import okhttp3.OkHttpClient;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
@ -57,11 +63,26 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe @@ -57,11 +63,26 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
throw new CheckedException("当前推送方用户ID与推送应用密钥必填!");
}
R<User> result = remoteUserService.selectByUserId(pushChatMessage.getPushTypeId(), SecurityConstants.FROM_IN);
R<User> result = remoteUserService.selectByUserId(pushChatMessage.getUserId(), SecurityConstants.FROM_IN);
if (result == null || result.getData() == null) {
throw new CheckedException("用户不存在");
}
pushChatMessage.setTenantId(result.getData().getTenantId());
User user = result.getData();
KiccUser kiccUser = new KiccUser(
user.getId(),
user.getDeptId(),
user.getUserName(),
SecurityConstants.BCRYPT + user.getPassword(),
user.getPhone(),
user.getTenantId(),
true,
true,
true,
StrUtil.equals(user.getStatus(), CommonConstants.STATUS_NORMAL),
AuthorityUtils.createAuthorityList(user.getPermissions())
);
Authentication authentication = new UsernamePasswordAuthenticationToken(kiccUser, "N/A", kiccUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
PushApplication pushApplication = baseMapper.selectOne(Wrappers.<PushApplication>lambdaQuery()
.eq(PushApplication::getMessageSecret, pushChatMessage.getMessageSecret())

2
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java

@ -98,7 +98,7 @@ public class UserController { @@ -98,7 +98,7 @@ public class UserController {
}
@Inner
@GetMapping("getUser/{id:\\w+}")
@GetMapping("/getUser/{id:\\w+}")
public R getUser(@PathVariable("id") String id) {
User user = userService.getById(id);
if (user == null) {

Loading…
Cancel
Save