From 78d2920f77f41daa841094a1082efcb45486cdd8 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Sat, 1 Apr 2023 15:48:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PushApplicationServiceImpl.java | 25 +++++++++++++++++-- .../system/controller/UserController.java | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java index 144c3fc5..12b36aad 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java +++ b/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; 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; 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 result = remoteUserService.selectByUserId(pushChatMessage.getPushTypeId(), SecurityConstants.FROM_IN); + R 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.lambdaQuery() .eq(PushApplication::getMessageSecret, pushChatMessage.getMessageSecret()) diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java index 1465c663..85d7d2a7 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java +++ b/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 { } @Inner - @GetMapping("getUser/{id:\\w+}") + @GetMapping("/getUser/{id:\\w+}") public R getUser(@PathVariable("id") String id) { User user = userService.getById(id); if (user == null) {