From 89488ad059f74dcdb59c70e9c87d7af51f680112 Mon Sep 17 00:00:00 2001
From: wangxiang <1827945911@qq.com>
Date: Thu, 23 Feb 2023 04:14:26 +0800
Subject: [PATCH] =?UTF-8?q?:rocket:=20=E4=BC=81=E4=B8=9A=E8=AE=A4=E8=AF=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../core/exception/CommonException.java | 34 -------------------
.../handle/GlobalBizExceptionHandler.java | 6 ++--
.../controller/PushThirdPartyController.java | 19 +++++++++--
.../impl/MapLogisticSseServiceImpl.java | 8 ++---
.../system/service/impl/UserServiceImpl.java | 8 ++---
5 files changed, 27 insertions(+), 48 deletions(-)
delete mode 100644 kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/exception/CommonException.java
diff --git a/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/exception/CommonException.java b/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/exception/CommonException.java
deleted file mode 100644
index ad188d3e..00000000
--- a/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/exception/CommonException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.cloud.kicc.common.core.exception;
-
-import lombok.NoArgsConstructor;
-
-/**
- *
- * 通用前端提示自定义异常信息
- *
- *
- * @Author: entfrm开发团队-王翔
- * @Date: 2022/2/18
- */
-@NoArgsConstructor
-public class CommonException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- public CommonException(String message) {
- super(message);
- }
-
- public CommonException(Throwable cause) {
- super(cause);
- }
-
- public CommonException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public CommonException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
- super(message, cause, enableSuppression, writableStackTrace);
- }
-
-}
diff --git a/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java b/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java
index 6c187ba3..822c89f2 100644
--- a/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java
+++ b/kicc-common/kicc-common-feign/src/main/java/com/cloud/kicc/common/feign/sentinel/handle/GlobalBizExceptionHandler.java
@@ -2,7 +2,7 @@ package com.cloud.kicc.common.feign.sentinel.handle;
import com.alibaba.csp.sentinel.Tracer;
import com.cloud.kicc.common.core.api.R;
-import com.cloud.kicc.common.core.exception.CommonException;
+import com.cloud.kicc.common.core.exception.CheckedException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.http.HttpStatus;
@@ -52,9 +52,9 @@ public class GlobalBizExceptionHandler {
* @param e the e
* @return R
*/
- @ExceptionHandler(CommonException.class)
+ @ExceptionHandler(CheckedException.class)
@ResponseStatus(HttpStatus.NETWORK_AUTHENTICATION_REQUIRED)
- public R handleGlobalCommonException(CommonException e) {
+ public R handleGlobalCommonException(CheckedException e) {
log.error("自定义异常信息 ex={}", e.getMessage(), e);
// 业务异常交由 sentinel 记录
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushThirdPartyController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushThirdPartyController.java
index f9007217..3ce70cb8 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushThirdPartyController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushThirdPartyController.java
@@ -3,11 +3,13 @@ package com.cloud.kicc.commonbiz.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
+import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.PushThirdParty;
import com.cloud.kicc.commonbiz.service.IPushThirdPartyService;
@@ -30,7 +32,7 @@ import java.util.Arrays;
@RestController
@RequestMapping(AppConstants.APP_COMMON + "/pushThirdParty")
@RequiredArgsConstructor
-@Api(tags = "第三方推送信息")
+@Api(tags = "第三方认证")
public class PushThirdPartyController {
private final IPushThirdPartyService iPushThirdPartyService;
@@ -63,7 +65,12 @@ public class PushThirdPartyController {
@ApiOperation("保存")
@PostMapping("/save")
public R save(@Valid @RequestBody PushThirdParty pushThirdParty) {
- if (StrUtil.isBlank(pushThirdParty.getUserId())) pushThirdParty.setUserId(SecurityUtils.getUser().getId());
+ if(iPushThirdPartyService.count(Wrappers.lambdaQuery()
+ .eq(PushThirdParty::getUserId, SecurityUtils.getUser().getId())) > 0) {
+ throw new CheckedException("当前已经存在认证申请不能重复申请!");
+ }
+ if (StrUtil.isBlank(pushThirdParty.getUserId()))
+ pushThirdParty.setUserId(SecurityUtils.getUser().getId());
iPushThirdPartyService.save(pushThirdParty);
return R.ok();
}
@@ -82,5 +89,13 @@ public class PushThirdPartyController {
return R.ok();
}
+ @ApiOperation("撤销申请")
+ @DeleteMapping("/revokeAuth")
+ public R revokeAuth() {
+ iPushThirdPartyService.remove(Wrappers.lambdaQuery()
+ .eq(PushThirdParty::getUserId, SecurityUtils.getUser().getId()));
+ return R.ok();
+ }
+
}
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticSseServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticSseServiceImpl.java
index d778c5b7..ed4cbdeb 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticSseServiceImpl.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticSseServiceImpl.java
@@ -2,7 +2,7 @@ package com.cloud.kicc.commonbiz.service.impl;
import cn.hutool.core.collection.ConcurrentHashSet;
import cn.hutool.core.util.StrUtil;
-import com.cloud.kicc.common.core.exception.CommonException;
+import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.SseSignalContainer;
@@ -49,7 +49,7 @@ public class MapLogisticSseServiceImpl implements IMapLogisticSseService {
@SneakyThrows
public SseEmitter SseSubscribe(String clientId) {
KiccUser kiccUser = getUser();
- Optional.ofNullable(clientId).orElseThrow(() -> new CommonException("当前客户端Id为空,请检查后重试!"));
+ Optional.ofNullable(clientId).orElseThrow(() -> new CheckedException("当前客户端Id为空,请检查后重试!"));
// 设置超时时间为1小时
SseEmitter sseEmitter = new SseEmitter(3600_000L);
SseSignalContainer sseSignalContainer =new SseSignalContainer(
@@ -96,7 +96,7 @@ public class MapLogisticSseServiceImpl implements IMapLogisticSseService {
@Override
public void disconnect(String clientId) {
KiccUser kiccUser = getUser();
- Optional.ofNullable(clientId).orElseThrow(() -> new CommonException("当前客户端Id为空,请检查后重试!"));
+ Optional.ofNullable(clientId).orElseThrow(() -> new CheckedException("当前客户端Id为空,请检查后重试!"));
Set sendSseSignalContainers = sseSignalContainers.stream()
.filter(item -> StrUtil.equals(item.getClientId(), clientId) && StrUtil.equals(item.getTenantId(), kiccUser.getTenantId()))
.collect(Collectors.toSet());
@@ -156,7 +156,7 @@ public class MapLogisticSseServiceImpl implements IMapLogisticSseService {
private KiccUser getUser() {
KiccUser kiccUser = SecurityUtils.getUser();
- Optional.ofNullable(kiccUser).orElseThrow(() -> new CommonException("当前用户登录,请先登录后重试!"));
+ Optional.ofNullable(kiccUser).orElseThrow(() -> new CheckedException("当前用户登录,请先登录后重试!"));
return kiccUser;
}
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java
index 0c7ac04d..185ecf84 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/UserServiceImpl.java
@@ -6,10 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.SecurityConstants;
import com.cloud.kicc.common.core.exception.CheckedException;
-import com.cloud.kicc.common.core.exception.CommonException;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.system.api.entity.Dept;
@@ -106,7 +104,7 @@ public class UserServiceImpl extends ServiceImpl implements Us
});
// 检测多租户信息是否存在,不存在抛出异常
if (tenantCode.size() == 0) {
- throw new CommonException("当前用户多租户不存在,请联系统管理员检查多租户是否过期或者冻结!");
+ throw new CheckedException("当前用户多租户不存在,请联系统管理员检查多租户是否过期或者冻结!");
}
user.setTenantId(String.join(",", tenantCode));
user.setPermissions(ArrayUtil.toArray(permissions, String.class));
@@ -118,7 +116,7 @@ public class UserServiceImpl extends ServiceImpl implements Us
User user = super.getOne(Wrappers.query().lambda().eq(User::getId, SecurityUtils.getUser().getId()));
this.getUserAuthority(user);
if (user == null) {
- throw new CommonException("用户信息为空,请检查当前多租户下是否有当前用户信息!");
+ throw new CheckedException("用户信息为空,请检查当前多租户下是否有当前用户信息!");
}
return user;
}
@@ -127,7 +125,7 @@ public class UserServiceImpl extends ServiceImpl implements Us
public void setCurrentUserTenant(String... tenantIds) {
Authentication currentAuthentication = SecurityContextHolder.getContext().getAuthentication();
if (currentAuthentication == null) {
- new CommonException("当前用户未登录,请登录后重试!");
+ new CheckedException("当前用户未登录,请登录后重试!");
}
OAuth2Authentication oAuth2Authentication = (OAuth2Authentication) currentAuthentication;
OAuth2AccessToken accessToken = tokenStore.getAccessToken(oAuth2Authentication);