From d91087908dab99aad3cc4564ecb8ddbf20e948c4 Mon Sep 17 00:00:00 2001
From: wangxiang <1827945911@qq.com>
Date: Wed, 23 Aug 2023 18:34:38 +0800
Subject: [PATCH] chore: extraction userVo merge kiccUser
---
.../core/constant/SecurityConstants.java | 10 ++
.../kicc/common/data/entity/KiccUser.java | 91 ++++++++++++++-----
.../mock/annotation/WithMockOAuth2User.java | 5 +-
.../override/jackson2/ExUserDeserializer.java | 58 ------------
.../override/jackson2/ExUserMixin.java | 23 -----
.../jackson2/SimpleGrantedAuthorityMixin.java | 32 +++++++
.../service/KiccUserDetailsService.java | 40 ++++----
.../impl/KiccAppUserDetailsServiceImpl.java | 4 +-
.../impl/KiccUserDetailsServiceImpl.java | 4 +-
.../common/security/util/SecurityUtils.java | 60 ++++++------
.../system/api/feign/RemoteUserService.java | 8 +-
.../com/cloud/kicc/system/api/vo/UserVo.java | 62 -------------
.../controller/MapTaskController.java | 4 +-
.../controller/MapTaskPresetController.java | 4 +-
.../commonbiz/mapper/PushBlacklistMapper.java | 5 +-
.../service/impl/MapLogisticServiceImpl.java | 6 +-
.../impl/PushBlacklistServiceImpl.java | 3 -
.../kicc/system/controller/AppController.java | 6 +-
.../system/controller/SsoUserController.java | 7 +-
.../system/controller/TenantController.java | 4 +-
.../system/controller/UserController.java | 40 ++++----
.../cloud/kicc/system/mapper/UserMapper.java | 12 +--
.../kicc/system/service/ISsoUserService.java | 7 +-
.../kicc/system/service/UserService.java | 24 ++---
.../system/service/impl/AppServiceImpl.java | 4 +-
.../service/impl/SsoUserServiceImpl.java | 31 +++----
.../system/service/impl/UserServiceImpl.java | 46 +++++-----
.../src/main/resources/mapper/UserMapper.xml | 8 +-
28 files changed, 276 insertions(+), 332 deletions(-)
delete mode 100644 kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserDeserializer.java
delete mode 100644 kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserMixin.java
create mode 100644 kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/SimpleGrantedAuthorityMixin.java
delete mode 100644 kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/UserVo.java
diff --git a/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/SecurityConstants.java b/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/SecurityConstants.java
index 90d16d92..71f3cec0 100644
--- a/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/SecurityConstants.java
+++ b/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/SecurityConstants.java
@@ -114,4 +114,14 @@ public interface SecurityConstants {
*/
String CLIENT_ID = "clientId";
+ /**
+ * 模拟测试账户
+ */
+ String MOCK_USERNAME = "admin";
+
+ /**
+ * 模拟测试密码
+ */
+ String MOCK_PASSWORD = "kanglai123";
+
}
diff --git a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java
index 8593bdb2..f08d02d4 100644
--- a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java
+++ b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java
@@ -1,11 +1,19 @@
package com.cloud.kicc.common.data.entity;
-import lombok.*;
+import cn.hutool.core.util.ObjectUtil;
+import com.cloud.kicc.common.core.constant.SecurityConstants;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
import lombok.experimental.Accessors;
-import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.AuthorityUtils;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import java.util.Collection;
-import java.util.Set;
+import java.util.List;
/**
*
@@ -19,27 +27,64 @@ import java.util.Set;
@Setter
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
+@ApiModel(description = "完整用户信息")
public class KiccUser extends CasUser {
- /** 部门ID */
- private String deptId;
-
- /** 用户类型 */
- private String userType;
-
- /** 扩展用户权限 */
- private String[] exPermissions;
-
- public KiccUser(String username,
- String password,
- Collection extends GrantedAuthority> authorities,
- String deptId,
- String userType,
- String[] exPermissions) {
- super(username, password, authorities);
- this.deptId = deptId;
- this.userType = userType;
- this.exPermissions = exPermissions;
+ @ApiModelProperty("扩展用户ID")
+ private String id;
+
+ @ApiModelProperty("CAS用户ID")
+ private String casUserId;
+
+ @ApiModelProperty("用户类型 {@link com.cloud.kicc.system.api.enums.UserTypeEnum }")
+ private String userType;
+
+ @ApiModelProperty("机构ID")
+ private String deptId;
+
+ @ApiModelProperty("机构名称")
+ private String deptName;
+
+ @ApiModelProperty("地图标记点位置图片旋转值")
+ private Double mapOrientation;
+
+ @ApiModelProperty("地图设计器默认中心点位置")
+ private String mapCenter;
+
+ @ApiModelProperty("帐号状态(0正常 1停用)")
+ private String status;
+
+ @ApiModelProperty("指定登录后首页跳转")
+ private String homePath;
+
+ @ApiModelProperty("角色ID集合")
+ private String[] roleIds;
+
+ @ApiModelProperty("菜单按钮权限")
+ private String[] permissions;
+
+ @ApiModelProperty("多租户ID集合")
+ private String[] tenantIds;
+
+ public KiccUser() {
+ super(SecurityConstants.MOCK_USERNAME, SecurityConstants.MOCK_PASSWORD, AuthorityUtils.createAuthorityList());
+ }
+
+ @JsonCreator
+ public KiccUser(@JsonProperty("username") String username,
+ @JsonProperty("password") String password,
+ @JsonProperty("enabled") boolean enabled,
+ @JsonProperty("accountNonExpired") boolean accountNonExpired,
+ @JsonProperty("credentialsNonExpired") boolean credentialsNonExpired,
+ @JsonProperty("accountNonLocked") boolean accountNonLocked,
+ @JsonProperty("authorities") List authorities) {
+ super(ObjectUtil.defaultIfNull(username, SecurityConstants.MOCK_USERNAME),
+ ObjectUtil.defaultIfNull(password, SecurityConstants.MOCK_PASSWORD),
+ enabled,
+ accountNonExpired,
+ credentialsNonExpired,
+ accountNonLocked,
+ ObjectUtil.defaultIfNull(authorities, AuthorityUtils.createAuthorityList()));
}
}
diff --git a/kicc-common/kicc-common-mock/src/main/java/com/cloud/kicc/common/mock/annotation/WithMockOAuth2User.java b/kicc-common/kicc-common-mock/src/main/java/com/cloud/kicc/common/mock/annotation/WithMockOAuth2User.java
index 256f5f42..56849487 100644
--- a/kicc-common/kicc-common-mock/src/main/java/com/cloud/kicc/common/mock/annotation/WithMockOAuth2User.java
+++ b/kicc-common/kicc-common-mock/src/main/java/com/cloud/kicc/common/mock/annotation/WithMockOAuth2User.java
@@ -1,5 +1,6 @@
package com.cloud.kicc.common.mock.annotation;
+import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.mock.WithMockSecurityContextFactory;
import org.springframework.security.test.context.support.WithSecurityContext;
@@ -22,11 +23,11 @@ public @interface WithMockOAuth2User {
/**
* 用户名
*/
- String username() default "admin";
+ String username() default SecurityConstants.MOCK_USERNAME;
/**
* 密码
*/
- String password() default "kanglai123";
+ String password() default SecurityConstants.MOCK_PASSWORD;
}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserDeserializer.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserDeserializer.java
deleted file mode 100644
index d32a1a4d..00000000
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserDeserializer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.cloud.kicc.common.security.override.jackson2;
-
-import com.cloud.kicc.common.data.entity.KiccUser;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonDeserializer;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.MissingNode;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.AuthorityUtils;
-
-import java.io.IOException;
-import java.util.List;
-
-/**
- *
- * 反序列化扩展用户实现
- *
- *
- * @Author: wangxiang4
- * @Since: 2023/8/19
- */
-class ExUserDeserializer extends JsonDeserializer {
-
- private static final TypeReference EX_PERMISSIONS_SET = new TypeReference() {};
-
- @Override
- public KiccUser deserialize(JsonParser jp, DeserializationContext context) throws IOException {
- ObjectMapper mapper = (ObjectMapper) jp.getCodec();
- JsonNode jsonNode = mapper.readTree(jp);
- JsonNode passwordNode = readJsonNode(jsonNode, "password");
- String username = readJsonNode(jsonNode, "username").asText();
- String password = passwordNode.asText("");
- String deptId = readJsonNode(jsonNode, "deptId").asText();
- String userType = readJsonNode(jsonNode, "userType").asText();
- String[] exPermissions = mapper.convertValue(jsonNode.get("exPermissions"), EX_PERMISSIONS_SET);
- List authorities = AuthorityUtils.createAuthorityList(exPermissions);
- KiccUser result = new KiccUser(
- username,
- password,
- authorities,
- deptId,
- userType,
- exPermissions
- );
- if (passwordNode.asText(null) == null) {
- result.eraseCredentials();
- }
- return result;
- }
-
- private JsonNode readJsonNode(JsonNode jsonNode, String field) {
- return jsonNode.has(field) ? jsonNode.get(field) : MissingNode.getInstance();
- }
-
-}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserMixin.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserMixin.java
deleted file mode 100644
index 1591fc5a..00000000
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/ExUserMixin.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.cloud.kicc.common.security.override.jackson2;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-/**
- *
- * 序列化扩展SSO用户信息
- *
- *
- * @Author: wangxiang4
- * @Since: 2023/8/19
- */
-@JsonDeserialize(using = ExUserDeserializer.class)
-@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY,
- getterVisibility = JsonAutoDetect.Visibility.NONE,
- isGetterVisibility = JsonAutoDetect.Visibility.NONE)
-@JsonIgnoreProperties(ignoreUnknown = true)
-public abstract class ExUserMixin {
-
-}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/SimpleGrantedAuthorityMixin.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/SimpleGrantedAuthorityMixin.java
new file mode 100644
index 00000000..5325bad9
--- /dev/null
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/override/jackson2/SimpleGrantedAuthorityMixin.java
@@ -0,0 +1,32 @@
+
+
+package com.cloud.kicc.common.security.override.jackson2;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ *
+ * 反序列化扩展SSO用户权限
+ *
+ *
+ * @Author: wangxiang4
+ * @Since: 2023/8/19
+ */
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE,
+ getterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY,
+ isGetterVisibility = JsonAutoDetect.Visibility.NONE)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public abstract class SimpleGrantedAuthorityMixin {
+
+ /**
+ * Mixin Constructor.
+ * @param role the role
+ */
+ @JsonCreator
+ public SimpleGrantedAuthorityMixin(@JsonProperty("authority") String role) {
+ }
+
+}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
index a43c4de0..83ed2cac 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
@@ -5,20 +5,22 @@ 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.enums.CasSystemEnum;
+import com.cloud.kicc.common.core.jackson.KiccJavaTimeModule;
import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.exception.SecurityCheckedException;
-import com.cloud.kicc.system.api.vo.UserVo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.SneakyThrows;
+import org.springframework.beans.BeanUtils;
import org.springframework.core.Ordered;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.AuthorityUtils;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -54,16 +56,19 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered {
* @return UserDetails
*/
@SneakyThrows
- default UserDetails getUserDetails(R result) {
+ default UserDetails getUserDetails(R result) {
// 验证请求是否成功
if (result.getCode() != R.SUCCESS) {
throw new SecurityCheckedException(result.getMsg());
}
- UserVo user = result.getData();
- List authorities = AuthorityUtils.createAuthorityList(user.getPermissions());
+
+ KiccUser user = result.getData();
+ List authorities = Arrays.stream(user.getPermissions())
+ .map(SimpleGrantedAuthority::new)
+ .collect(Collectors.toList());
CasUser casUser = new CasUser(
- user.getUserName(),
+ user.getUsername(),
SecurityConstants.BCRYPT + user.getPassword(),
true,
true,
@@ -88,18 +93,21 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered {
String.join(",", user.getRoleIds()),
String.join(",", user.getTenantIds())
);
-
+ KiccUser kiccUser = new KiccUser(
+ casUser.getUsername(),
+ casUser.getPassword(),
+ casUser.isEnabled(),
+ casUser.isAccountNonExpired(),
+ casUser.isCredentialsNonExpired(),
+ casUser.isAccountNonLocked(),
+ authorities
+ );
+ BeanUtils.copyProperties(user, kiccUser);
// 设置扩展用户数据
casUser.getExPrincipals().put(CasSystemEnum.KICC, new ObjectMapper()
+ .registerModule(new KiccJavaTimeModule())
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
- .writeValueAsString(new KiccUser(
- user.getUserName(),
- SecurityConstants.BCRYPT + user.getPassword(),
- authorities,
- user.getDeptId(),
- user.getUserType(),
- user.getPermissions()
- )));
+ .writeValueAsString(kiccUser));
// 构造security用户
return casUser;
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
index b5674c3b..0544745c 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccAppUserDetailsServiceImpl.java
@@ -3,9 +3,9 @@ package com.cloud.kicc.common.security.service.impl;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.data.entity.CasUser;
+import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.service.KiccUserDetailsService;
import com.cloud.kicc.system.api.feign.RemoteUserService;
-import com.cloud.kicc.system.api.vo.UserVo;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@@ -32,7 +32,7 @@ public class KiccAppUserDetailsServiceImpl implements KiccUserDetailsService {
@Override
@SneakyThrows
public UserDetails loadUserByUsername(String phone) {
- R result = remoteUserService.selectByPhone(phone);
+ R result = remoteUserService.selectByPhone(phone);
return getUserDetails(result);
}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
index 614ec508..e231db57 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/impl/KiccUserDetailsServiceImpl.java
@@ -1,9 +1,9 @@
package com.cloud.kicc.common.security.service.impl;
import com.cloud.kicc.common.core.api.R;
+import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.service.KiccUserDetailsService;
import com.cloud.kicc.system.api.feign.RemoteUserService;
-import com.cloud.kicc.system.api.vo.UserVo;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@@ -32,7 +32,7 @@ public class KiccUserDetailsServiceImpl implements KiccUserDetailsService {
@Override
@SneakyThrows
public UserDetails loadUserByUsername(String username) {
- R result = remoteUserService.selectByUserName(username);
+ R result = remoteUserService.selectByUserName(username);
return getUserDetails(result);
}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java
index 778e2fa8..22e56f0b 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/util/SecurityUtils.java
@@ -7,12 +7,12 @@ import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.core.enums.CasSystemEnum;
import com.cloud.kicc.common.core.exception.CheckedException;
+import com.cloud.kicc.common.core.jackson.KiccJavaTimeModule;
import com.cloud.kicc.common.core.util.SpringContextHolderUtil;
import com.cloud.kicc.common.data.entity.CasUser;
import com.cloud.kicc.common.data.entity.KiccUser;
-import com.cloud.kicc.common.security.override.jackson2.ExUserMixin;
+import com.cloud.kicc.common.security.override.jackson2.SimpleGrantedAuthorityMixin;
import com.cloud.kicc.system.api.feign.RemoteUserService;
-import com.cloud.kicc.system.api.vo.UserVo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.SneakyThrows;
@@ -21,13 +21,15 @@ import org.springframework.beans.BeanUtils;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.AuthorityUtils;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -73,21 +75,18 @@ public class SecurityUtils {
* 获取完整用户
* @param casSystemEnum SSO系统枚举
* @param valueType 自定义扩展用户
- * @param mixinSource 自定义jackson混合解析源
* @return T
*/
@SneakyThrows
- public T getUser(CasSystemEnum casSystemEnum,
- Class valueType,
- Class> mixinSource) {
+ public T getUser(CasSystemEnum casSystemEnum, Class valueType) {
CasUser casUser = getCasUser();
if (casUser == null) return null;
String str = casUser.getExPrincipals().get(casSystemEnum);
- if (JSONUtil.isJson(str)) {
- T exUser = new ObjectMapper().addMixIn(valueType, mixinSource).readValue(str, valueType);
- BeanUtils.copyProperties(casUser, exUser);
- return exUser;
- }
+ if (JSONUtil.isJson(str))
+ return new ObjectMapper()
+ .registerModule(new KiccJavaTimeModule())
+ .addMixIn(SimpleGrantedAuthority.class, SimpleGrantedAuthorityMixin.class)
+ .readValue(str, valueType);
return null;
}
@@ -95,7 +94,7 @@ public class SecurityUtils {
* 获取SSO扩展用户
*/
public KiccUser getUser() {
- return getUser(CasSystemEnum.KICC, KiccUser.class, ExUserMixin.class);
+ return getUser(CasSystemEnum.KICC, KiccUser.class);
}
/**
@@ -121,16 +120,18 @@ public class SecurityUtils {
* @return User 用户对象
*/
@SneakyThrows
- public UserVo openInterfaceTemporaryLoginSession(String userId) {
+ public KiccUser openInterfaceTemporaryLoginSession(String userId) {
RemoteUserService remoteUserService = SpringContextHolderUtil.getBean(RemoteUserService.class);
- R result = remoteUserService.selectByUserId(userId);
+ R result = remoteUserService.selectByUserId(userId);
if (result == null || result.getData() == null) {
throw new CheckedException("用户不存在");
}
- UserVo user = result.getData();
- List authorities = AuthorityUtils.createAuthorityList(user.getPermissions());
+ KiccUser user = result.getData();
+ List authorities = Arrays.stream(user.getPermissions())
+ .map(SimpleGrantedAuthority::new)
+ .collect(Collectors.toList());
CasUser casUser = new CasUser(
- user.getUserName(),
+ user.getUsername(),
SecurityConstants.BCRYPT + user.getPassword(),
true,
true,
@@ -155,18 +156,21 @@ public class SecurityUtils {
String.join(",", user.getRoleIds()),
String.join(",", user.getTenantIds())
);
+ KiccUser kiccUser = new KiccUser(
+ casUser.getUsername(),
+ casUser.getPassword(),
+ casUser.isEnabled(),
+ casUser.isAccountNonExpired(),
+ casUser.isCredentialsNonExpired(),
+ casUser.isAccountNonLocked(),
+ authorities
+ );
+ BeanUtils.copyProperties(user, kiccUser);
// 设置扩展用户数据
casUser.getExPrincipals().put(CasSystemEnum.KICC, new ObjectMapper()
- .setSerializationInclusion(JsonInclude.Include.NON_NULL)
- .writeValueAsString(new KiccUser(
- user.getUserName(),
- SecurityConstants.BCRYPT + user.getPassword(),
- authorities,
- user.getDeptId(),
- user.getUserType(),
- user.getPermissions()
- )));
-
+ .registerModule(new KiccJavaTimeModule())
+ .setSerializationInclusion(JsonInclude.Include.NON_NULL)
+ .writeValueAsString(kiccUser));
Authentication authentication = new UsernamePasswordAuthenticationToken(casUser, "N/A", casUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
return user;
diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java
index 999860af..e98c544a 100644
--- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java
+++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java
@@ -4,7 +4,7 @@ import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.core.constant.ServiceNameConstants;
-import com.cloud.kicc.system.api.vo.UserVo;
+import com.cloud.kicc.common.data.entity.KiccUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@@ -26,7 +26,7 @@ public interface RemoteUserService {
* @return R
*/
@GetMapping(value = AppConstants.APP_SYSTEM + "/user/selectByUserName/{userName}", headers = SecurityConstants.HEADER_FROM_IN)
- R selectByUserName(@PathVariable("userName") String userName);
+ R selectByUserName(@PathVariable("userName") String userName);
/**
* 通过手机号码查询用户
@@ -34,7 +34,7 @@ public interface RemoteUserService {
* @return R
*/
@GetMapping(value = AppConstants.APP_SYSTEM + "/user/selectByPhone/{phone}", headers = SecurityConstants.HEADER_FROM_IN)
- R selectByPhone(@PathVariable("phone") String phone);
+ R selectByPhone(@PathVariable("phone") String phone);
/**
* 通过用户ID查询用户
@@ -42,6 +42,6 @@ public interface RemoteUserService {
* @return R
*/
@GetMapping(value = AppConstants.APP_SYSTEM + "/user/getUser/{userId}", headers = SecurityConstants.HEADER_FROM_IN)
- R selectByUserId(@PathVariable("userId") String userid);
+ R selectByUserId(@PathVariable("userId") String userid);
}
diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/UserVo.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/UserVo.java
deleted file mode 100644
index 5bedd617..00000000
--- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/UserVo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.cloud.kicc.system.api.vo;
-
-import com.cloud.kicc.system.api.entity.SsoUser;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- *
- * 返回完整用户信息(CasUser and SystemUser)
- *
- *
- * @Author: wangxiang4
- * @Since: 2023/8/21
- */
-@Data
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = true)
-@ApiModel(description = "完整用户信息VO")
-public class UserVo extends SsoUser {
-
- private static final long serialVersionUID = 1L;
-
- private String id;
-
- @ApiModelProperty("CAS用户ID")
- private String casUserId;
-
- /** {@link com.cloud.kicc.system.api.enums.UserTypeEnum } */
- @ApiModelProperty("用户类型")
- private String userType;
-
- @ApiModelProperty("机构ID")
- private String deptId;
-
- @ApiModelProperty("机构名称")
- private String deptName;
-
- @ApiModelProperty("地图标记点位置图片旋转值")
- private Double mapOrientation;
-
- @ApiModelProperty("地图设计器默认中心点位置")
- private String mapCenter;
-
- @ApiModelProperty("帐号状态(0正常 1停用)")
- private String status;
-
- @ApiModelProperty("指定登录后首页跳转")
- private String homePath;
-
- @ApiModelProperty("角色ID集合")
- private String[] roleIds;
-
- @ApiModelProperty("菜单按钮权限")
- private String[] permissions;
-
- @ApiModelProperty("多租户ID集合")
- private String[] tenantIds;
-
-}
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java
index 294c746e..e9c93ece 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskController.java
@@ -9,11 +9,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
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.data.entity.KiccUser;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.*;
import com.cloud.kicc.commonbiz.service.*;
import com.cloud.kicc.system.api.feign.RemoteUserService;
-import com.cloud.kicc.system.api.vo.UserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -85,7 +85,7 @@ public class MapTaskController {
mapTask.setBatchCode(batchCode);
JSONObject jsonObject = new JSONObject();
- R user = remoteUserService.selectByUserId(mapTask.getCourierUserId());
+ R user = remoteUserService.selectByUserId(mapTask.getCourierUserId());
Hospital hospital = hospitalService.getById(mapTask.getHospitalId());
jsonObject.put("hospitalId", hospital.getKlabHospitalAccount());
if (StrUtil.isNotBlank(mapTask.getOrgId())) {
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskPresetController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskPresetController.java
index 6f488486..d3678d26 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskPresetController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapTaskPresetController.java
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
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.data.entity.KiccUser;
import com.cloud.kicc.commonbiz.api.entity.Hospital;
import com.cloud.kicc.commonbiz.api.entity.MapTaskPreset;
import com.cloud.kicc.commonbiz.api.entity.Org;
@@ -17,7 +18,6 @@ import com.cloud.kicc.commonbiz.service.IMapLogisticService;
import com.cloud.kicc.commonbiz.service.IMapTaskPresetService;
import com.cloud.kicc.commonbiz.service.OrgService;
import com.cloud.kicc.system.api.feign.RemoteUserService;
-import com.cloud.kicc.system.api.vo.UserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -81,7 +81,7 @@ public class MapTaskPresetController {
String batchCode = UUID.fromString(UUID.randomUUID().toString()).toString();
mapTaskPreset.setBatchCode(batchCode);
JSONObject jsonObject = new JSONObject();
- R user = remoteUserService.selectByUserId(mapTaskPreset.getCourierUserId());
+ R user = remoteUserService.selectByUserId(mapTaskPreset.getCourierUserId());
if (StrUtil.isNotBlank(mapTaskPreset.getOrginPresetId())) {
Hospital hospital = hospitalService.getById(mapTaskPreset.getOrginPresetId());
jsonObject.put("hospitalId", hospital.getKlabHospitalAccount());
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushBlacklistMapper.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushBlacklistMapper.java
index 5114960f..734f4d9f 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushBlacklistMapper.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushBlacklistMapper.java
@@ -1,11 +1,8 @@
package com.cloud.kicc.commonbiz.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cloud.kicc.commonbiz.api.entity.PushBlacklist;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.cloud.kicc.system.api.entity.User;
-import com.cloud.kicc.system.api.vo.UserVo;
-import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java
index bd79d939..6011461c 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java
@@ -10,13 +10,13 @@ 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.data.entity.KiccUser;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.*;
import com.cloud.kicc.commonbiz.mapper.MapLogisticMapper;
import com.cloud.kicc.commonbiz.service.*;
import com.cloud.kicc.commonbiz.util.PushClientUtil;
import com.cloud.kicc.system.api.feign.RemoteUserService;
-import com.cloud.kicc.system.api.vo.UserVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import okhttp3.*;
@@ -115,7 +115,7 @@ public class MapLogisticServiceImpl extends ServiceImpl {
if (mapTask.getEnabledCreateReport()) {
JSONObject jsonObject = new JSONObject();
- R user = remoteUserService.selectByUserId(mapTask.getCourierUserId());
+ R user = remoteUserService.selectByUserId(mapTask.getCourierUserId());
Hospital hospital = hospitalService.getById(mapTask.getHospitalId());
jsonObject.put("hospitalId", hospital.getKlabHospitalAccount());
if (StrUtil.isNotBlank(mapTask.getOrgId())) {
@@ -138,7 +138,7 @@ public class MapLogisticServiceImpl extends ServiceImpl {
JSONObject jsonObject = new JSONObject();
if (mapTaskPreset.getEnabledCreateReport()) {
- R taskPresetUser = remoteUserService.selectByUserId(mapTaskPreset.getCourierUserId());
+ R taskPresetUser = remoteUserService.selectByUserId(mapTaskPreset.getCourierUserId());
if (StrUtil.isNotBlank(mapTaskPreset.getOrginPresetId())) {
Hospital hospital = hospitalService.getById(mapTaskPreset.getOrginPresetId());
jsonObject.put("hospitalId", hospital.getKlabHospitalAccount());
diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushBlacklistServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushBlacklistServiceImpl.java
index e655e132..0794a901 100644
--- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushBlacklistServiceImpl.java
+++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushBlacklistServiceImpl.java
@@ -5,9 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.kicc.commonbiz.api.entity.PushBlacklist;
import com.cloud.kicc.commonbiz.mapper.PushBlacklistMapper;
import com.cloud.kicc.commonbiz.service.IPushBlacklistService;
-import com.cloud.kicc.system.api.entity.User;
-import com.cloud.kicc.system.api.vo.UserVo;
-import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import java.util.Map;
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java
index f2c77df1..d41e4c7c 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AppController.java
@@ -2,8 +2,8 @@ package com.cloud.kicc.system.controller;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
+import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.annotation.Inner;
-import com.cloud.kicc.system.api.vo.UserVo;
import com.cloud.kicc.system.service.AppService;
import com.cloud.kicc.system.service.UserService;
import io.swagger.annotations.Api;
@@ -46,8 +46,8 @@ public class AppController {
*/
@Inner
@GetMapping("/selectByPhone/{phone:\\d+}")
- public R selectByPhone(@PathVariable String phone) {
- List user = userService.getUserByPhone(phone);
+ public R selectByPhone(@PathVariable String phone) {
+ List user = userService.getUserByPhone(phone);
if (user.isEmpty()) {
return R.error("该手机号不存在,请注册!");
}
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java
index d8bfc579..b4ea9479 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/SsoUserController.java
@@ -1,18 +1,17 @@
package com.cloud.kicc.system.controller;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.data.entity.KiccUser;
import com.cloud.kicc.common.log.annotation.SysLog;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.system.api.entity.SsoUser;
import com.cloud.kicc.system.api.entity.User;
-import com.cloud.kicc.system.api.vo.UserVo;
import com.cloud.kicc.system.service.ISsoUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@@ -104,8 +103,8 @@ public class SsoUserController {
@SysLog("同时修改SSO跟系统用户")
@PutMapping("/updateSsoUserAndExUser")
- public R updateSsoUserAndExUser(@Validated @RequestBody UserVo userVo) {
- iSsoUserService.updateSsoUserAndExUser(userVo);
+ public R updateSsoUserAndExUser(@Validated @RequestBody KiccUser kiccUser) {
+ iSsoUserService.updateSsoUserAndExUser(kiccUser);
return R.ok();
}
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/TenantController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/TenantController.java
index 3800421d..88332e62 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/TenantController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/TenantController.java
@@ -8,11 +8,11 @@ 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.data.entity.KiccUser;
import com.cloud.kicc.common.log.annotation.SysLog;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.system.api.entity.RoleTenant;
import com.cloud.kicc.system.api.entity.Tenant;
-import com.cloud.kicc.system.api.vo.UserVo;
import com.cloud.kicc.system.service.RoleTenantService;
import com.cloud.kicc.system.service.TenantService;
import com.cloud.kicc.system.service.UserService;
@@ -57,7 +57,7 @@ public class TenantController {
@GetMapping("/currentUserTenantList")
@PreAuthorize("@pms.hasPermission('tenant_view')")
public R currentUserTenantList() {
- UserVo user = userService.getUserById(SecurityUtils.getCasUser().getId());
+ KiccUser user = userService.getUserById(SecurityUtils.getCasUser().getId());
userService.getUserAuthority(user);
List tenantList = tenantService.list(Wrappers.query().lambda().in(Tenant::getCode, user.getTenantIds()));
return R.ok(tenantList);
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 e274be00..cf0cb05b 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
@@ -11,6 +11,7 @@ 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.data.entity.KiccUser;
import com.cloud.kicc.common.log.annotation.SysLog;
import com.cloud.kicc.common.security.annotation.Inner;
import com.cloud.kicc.common.security.util.SecurityUtils;
@@ -21,7 +22,6 @@ import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.entity.UserRole;
import com.cloud.kicc.system.api.enums.UserTypeEnum;
import com.cloud.kicc.system.api.vo.ResultVo;
-import com.cloud.kicc.system.api.vo.UserVo;
import com.cloud.kicc.system.service.MenuService;
import com.cloud.kicc.system.service.RoleService;
import com.cloud.kicc.system.service.UserRoleService;
@@ -58,14 +58,14 @@ public class UserController {
@GetMapping("/list")
public R list(Page page,@RequestParam Map param) {
- IPage userIPage = userService.selectUserList(page, param);
+ IPage userIPage = userService.selectUserList(page, param);
return R.ok(userIPage.getRecords(), userIPage.getTotal());
}
@GetMapping("/getCourierUserList")
@ApiOperation(value = "获取全部快递员集合")
public R getCourierUserList() {
- List userList = userService.getCourierUserList();
+ List userList = userService.getCourierUserList();
return R.ok(userList);
}
@@ -88,7 +88,7 @@ public class UserController {
@GetMapping("/{id:\\w+}")
public R getById(@PathVariable("id") String id) {
- UserVo user = userService.getUserById(id);
+ KiccUser user = userService.getUserById(id);
List roles;
// 设置所有角色集合信息
List roleList = roleService.list();
@@ -104,15 +104,25 @@ public class UserController {
@Inner
@GetMapping("/getUser/{id:\\w+}")
public R getUser(@PathVariable("id") String id) {
- UserVo user = userService.getUserById(id);
+ KiccUser user = userService.getUserById(id);
if (user == null) return R.error("该用户不存在,请注册!");
return R.ok(userService.getUserAuthority(user));
}
+ @Inner
+ @GetMapping("/selectByUserName/{userName}")
+ public R selectByUserName(@PathVariable String userName) {
+ KiccUser user = userService.getUserByName(userName);
+ if (user == null) {
+ return R.error("该用户不存在,请注册!");
+ }
+ return R.ok(userService.getUserAuthority(user));
+ }
+
@SysLog("用户新增")
@PostMapping("/save")
@PreAuthorize("@pms.hasPermission('user_add')")
- public R save(@RequestBody UserVo user) {
+ public R save(@RequestBody KiccUser user) {
userService.saveUser(user);
// fixme: 推送.APP相关
// 企业内部用户推送类型数据同步
@@ -134,20 +144,10 @@ public class UserController {
return R.ok();
}
- @Inner
- @GetMapping("/selectByUserName/{userName}")
- public R selectByUserName(@PathVariable String userName) {
- UserVo user = userService.getUserByName(userName);
- if (user == null) {
- return R.error("该用户不存在,请注册!");
- }
- return R.ok(userService.getUserAuthority(user));
- }
-
@SysLog("用户修改")
@PutMapping("/update")
@PreAuthorize("@pms.hasPermission('user_edit')")
- public R update(@RequestBody UserVo user) {
+ public R update(@RequestBody KiccUser user) {
userService.saveUser(user);
return R.ok();
}
@@ -177,8 +177,8 @@ public class UserController {
@ResponseExcel(name = "用户列表", sheets = @Sheet(sheetName = "user_list"))
@GetMapping("/exportUser")
@PreAuthorize("@pms.hasPermission('user_export')")
- public List exportUserList() {
- IPage userIPage = userService.selectUserList(new Page<>(1, 1000), MapUtil.builder().build());
+ public List exportUserList() {
+ IPage userIPage = userService.selectUserList(new Page<>(1, 1000), MapUtil.builder().build());
return userIPage.getRecords();
}
@@ -207,7 +207,7 @@ public class UserController {
@GetMapping("/resetTenant")
@PreAuthorize("@pms.hasPermission('user_edit')")
public R resetTenant() {
- UserVo user = userService.getUserById(SecurityUtils.getCasUser().getId());
+ KiccUser user = userService.getUserById(SecurityUtils.getCasUser().getId());
userService.getUserAuthority(user);
userService.setCurrentUserTenant(user.getTenantId());
return R.ok();
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/UserMapper.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/UserMapper.java
index b6cd9a97..df34942d 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/UserMapper.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/UserMapper.java
@@ -2,8 +2,8 @@ package com.cloud.kicc.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.system.api.entity.User;
-import com.cloud.kicc.system.api.vo.UserVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -23,26 +23,26 @@ public interface UserMapper extends BaseMapper {
* 获取全部快递员集合
* @return List
*/
- List getCourierUserList();
+ List getCourierUserList();
/**
* 查询用户列表
* @param page 分页
* @param param 请求参数
- * @return IPage
+ * @return IPage
*/
- IPage selectUserList(@Param("page") IPage