From d4c46951d97641f401e9409042fb7f687a4da202 Mon Sep 17 00:00:00 2001
From: "review512jwy@163.com" <“review512jwy@163.com”>
Date: Thu, 17 Apr 2025 23:41:11 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=88=86=E8=B6=85=E7=AE=A1=E5=92=8C?=
=?UTF-8?q?=E6=99=AE=E9=80=9A=E7=94=A8=E6=88=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
document/db/init.sql | 19 ++++++-------
.../mappers/auto/BasicCompanyMapper.xml | 4 +--
.../mappers/auto/BasicUserMapper.xml | 3 ++-
.../mappers/ex/BasicUserMapperExt.xml | 8 +++---
.../back/dto/account/CacheUserData.java | 2 +-
.../viewer/back/dto/user/OptUserParam.java | 6 +++--
.../viewer/back/model/BasicCompany.java | 8 +++---
.../viewer/back/model/BasicUser.java | 4 +++
.../viewer/back/vo/user/UserPageDTO.java | 8 +++---
.../back/service/impl/AccountServiceImpl.java | 7 ++++-
.../back/service/impl/UserServiceImpl.java | 27 +++++++++++--------
11 files changed, 55 insertions(+), 41 deletions(-)
diff --git a/document/db/init.sql b/document/db/init.sql
index 6482df3..ef12160 100644
--- a/document/db/init.sql
+++ b/document/db/init.sql
@@ -24,6 +24,7 @@ CREATE TABLE `basic_company` (
`id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`parent_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`company_name` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `apikey` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`flag` int DEFAULT '0' COMMENT '0-正常,1-删除',
`create_time` bigint DEFAULT NULL,
`modify_time` bigint DEFAULT NULL,
@@ -32,7 +33,7 @@ CREATE TABLE `basic_company` (
/*Data for the table `basic_company` */
-insert into `basic_company`(`id`,`parent_id`,`company_name`,`flag`,`create_time`,`modify_time`) values ('1','-1','MiniSolution',0,1658978002231,1658978002231);
+insert into `basic_company`(`id`,`parent_id`,`company_name`,`apikey`,`flag`,`create_time`,`modify_time`) values ('1','-1','MiniSolution','1234567890',0,1658978002231,1658978002231);
/*Table structure for table `basic_menu` */
DROP TABLE IF EXISTS `basic_menu`;
@@ -62,9 +63,9 @@ CREATE TABLE `basic_role` (
`role_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`flag` int DEFAULT '0' COMMENT '0-正常,1-删除',
- `creator_id` bigint DEFAULT NULL,
+ `creator_id` varchar(50) DEFAULT NULL,
`create_time` bigint DEFAULT NULL,
- `modifier_id` bigint DEFAULT NULL,
+ `modifier_id` varchar(50) DEFAULT NULL,
`modify_time` bigint DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -76,7 +77,7 @@ DROP TABLE IF EXISTS `basic_role_menu_relation`;
CREATE TABLE `basic_role_menu_relation` (
`role_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`menu_id` bigint DEFAULT NULL,
- `creator_id` bigint DEFAULT NULL,
+ `creator_id` varchar(50) DEFAULT NULL,
`create_time` bigint DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -88,7 +89,7 @@ DROP TABLE IF EXISTS `basic_role_user_relation`;
CREATE TABLE `basic_role_user_relation` (
`user_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`role_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
- `creator_id` bigint DEFAULT NULL,
+ `creator_id` varchar(50) DEFAULT NULL,
`create_time` bigint DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -100,9 +101,9 @@ DROP TABLE IF EXISTS `basic_user`;
CREATE TABLE `basic_user` (
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
`company_id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
- `shop_uuid` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`username` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`login_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
+ `role` int DEFAULT '2' COMMENT '1-超管,2-普通用户',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`password_modify_time` bigint DEFAULT NULL,
`salt` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
@@ -113,15 +114,15 @@ CREATE TABLE `basic_user` (
`flag` int NOT NULL DEFAULT '0' COMMENT '0-正常,1-删除',
`expire_time` bigint DEFAULT '4114487556000',
`create_time` bigint DEFAULT NULL,
- `creator_id` bigint DEFAULT NULL,
+ `creator_id` varchar(50) DEFAULT NULL,
`modify_time` bigint DEFAULT NULL,
- `modifier_id` bigint DEFAULT NULL,
+ `modifier_id` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*Data for the table `basic_user` */
-insert into `basic_user`(`id`,`company_id`,`shop_uuid`,`username`,`login_name`,`password`,`password_modify_time`,`salt`,`email`,`mobile_number`,`last_login_time`,`remark`,`flag`,`expire_time`,`create_time`,`creator_id`,`modify_time`,`modifier_id`) values ('1','1','1','admin_name','admin','nVg+buw0YAs=',1670312031273,'09bc3a7898','1053492832@qq.com',NULL,1743496632944,NULL,0,4114487556000,NULL,NULL,NULL,NULL);
+insert into `basic_user`(`id`,`company_id`,`username`,`login_name`,`role`,`password`,`password_modify_time`,`salt`,`email`,`mobile_number`,`last_login_time`,`remark`,`flag`,`expire_time`,`create_time`,`creator_id`,`modify_time`,`modifier_id`) values ('1','1','admin_name','admin','1','nVg+buw0YAs=',1670312031273,'09bc3a7898','1053492832@qq.com',NULL,1743496632944,NULL,0,4114487556000,NULL,NULL,NULL,NULL);
/*Table structure for table `login_history` */
DROP TABLE IF EXISTS `login_history`;
diff --git a/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicCompanyMapper.xml b/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicCompanyMapper.xml
index 816962c..483a58e 100644
--- a/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicCompanyMapper.xml
+++ b/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicCompanyMapper.xml
@@ -7,15 +7,15 @@
+
-
- id, parent_id, company_name, flag, create_time, modify_time, apikey
+ id, parent_id, company_name, apikey, flag, create_time, modify_time
diff --git a/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicUserMapper.xml b/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicUserMapper.xml
index 9cf1dcb..d309bb2 100644
--- a/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicUserMapper.xml
+++ b/model2d3d-viewer-back-dao/src/main/resources/mappers/auto/BasicUserMapper.xml
@@ -8,6 +8,7 @@
+
@@ -25,7 +26,7 @@
- id, company_id, username, login_name, password, password_modify_time, salt, email, mobile_number, last_login_time, remark, flag, expire_time, create_time, creator_id, modify_time, modifier_id
+ id, company_id, username, login_name, role, password, password_modify_time, salt, email, mobile_number, last_login_time, remark, flag, expire_time, create_time, creator_id, modify_time, modifier_id
diff --git a/model2d3d-viewer-back-dao/src/main/resources/mappers/ex/BasicUserMapperExt.xml b/model2d3d-viewer-back-dao/src/main/resources/mappers/ex/BasicUserMapperExt.xml
index 97c5103..99df919 100644
--- a/model2d3d-viewer-back-dao/src/main/resources/mappers/ex/BasicUserMapperExt.xml
+++ b/model2d3d-viewer-back-dao/src/main/resources/mappers/ex/BasicUserMapperExt.xml
@@ -20,20 +20,17 @@
bcom.id companyId,
bcom.company_name companyName,
buser.id userId,
+ buser.role,
buser.username username,
buser.login_name loginName,
buser.email,
buser.mobile_number mobileNumber,
buser.create_time createTime,
- any_value(brole.id) roleId,
- any_value(brole.role_name) roleName,
ubrelation.buildingIds,
ubrelation.buildingNames
FROM
basic_user buser
INNER JOIN basic_company bcom ON buser.company_id = bcom.id
- INNER JOIN basic_role_user_relation brur ON brur.user_id = buser.id
- INNER JOIN basic_role brole ON brur.role_id = brole.id
LEFT JOIN
(
SELECT
@@ -48,7 +45,7 @@
user_building_relation.user_id
) ubrelation ON buser.id = ubrelation.user_id
WHERE
- buser.flag != 1 AND brole.flag != 1 AND buser.company_id IN #{item}
+ buser.flag != 1 AND buser.company_id IN #{item}
AND buser.id != #{params.userId}
@@ -90,6 +87,7 @@
buser.company_id,
buser.username,
buser.login_name,
+ buser.role,
buser.`password`,
buser.salt,
buser.email,
diff --git a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/account/CacheUserData.java b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/account/CacheUserData.java
index e168de4..8179b2f 100644
--- a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/account/CacheUserData.java
+++ b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/account/CacheUserData.java
@@ -18,6 +18,6 @@ public class CacheUserData {
private Long createTime;
private Long expireTime;
private String menuIds;
-// private String userGroupIds;
+ private Integer role;
}
diff --git a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/user/OptUserParam.java b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/user/OptUserParam.java
index abf1524..ecb636c 100644
--- a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/user/OptUserParam.java
+++ b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/dto/user/OptUserParam.java
@@ -7,6 +7,7 @@ import jakarta.validation.constraints.NotEmpty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
import java.util.List;
@@ -22,8 +23,9 @@ public class OptUserParam {
@Schema(description ="用户ID, 新增时无此参数",example = "111", required = false)
private String userId;
- @Schema(description ="角色ID",example = "24", required = false)
- private String roleId;
+ @Range(min = 1, max = 2, message = "1005")
+ @Schema(description ="1-超管,2-普通用户",example = "2", required = true)
+ private Integer role;
@NotBlank(message = "1001")
@Length(max = 255,message = "1002")
diff --git a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicCompany.java b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicCompany.java
index 861deda..a4b28bc 100644
--- a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicCompany.java
+++ b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicCompany.java
@@ -30,6 +30,10 @@ public class BasicCompany implements Serializable {
@Schema(description = "")
private String companyName;
+ @TableField("apikey")
+ @Schema(description = "")
+ private String apikey;
+
@TableField("flag")
@Schema(description = "0-正常,1-删除")
private Integer flag;
@@ -42,9 +46,5 @@ public class BasicCompany implements Serializable {
@Schema(description = "")
private Long modifyTime;
- @TableField("apikey")
- @Schema(description = "")
- private String apikey;
-
}
diff --git a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicUser.java b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicUser.java
index 3da6aec..0c94966 100644
--- a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicUser.java
+++ b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/model/BasicUser.java
@@ -34,6 +34,10 @@ public class BasicUser implements Serializable {
@Schema(description = "")
private String loginName;
+ @TableField("role")
+ @Schema(description = "1-超管,2-普通用户")
+ private Integer role;
+
@TableField("password")
@Schema(description = "")
private String password;
diff --git a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/vo/user/UserPageDTO.java b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/vo/user/UserPageDTO.java
index d42d66a..4fbb022 100644
--- a/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/vo/user/UserPageDTO.java
+++ b/model2d3d-viewer-back-model/src/main/java/com/model2d3d/viewer/back/vo/user/UserPageDTO.java
@@ -2,6 +2,7 @@ package com.model2d3d.viewer.back.vo.user;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
+import org.hibernate.validator.constraints.Range;
/**
* @author Mr.Jiang
@@ -19,11 +20,8 @@ public class UserPageDTO {
@Schema(description ="用户ID, 新增时无此参数",example = "111", required = false)
private String userId;
- @Schema(description ="角色ID",example = "24", required = false)
- private String roleId;
-
- @Schema(description ="角色名",example = "24", required = false)
- private String roleName;
+ @Schema(description ="1-超管,2-普通用户",example = "2", required = true)
+ private Integer role;
@Schema(description ="用户名",example = "管理员", required = true)
private String username;
diff --git a/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/AccountServiceImpl.java b/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/AccountServiceImpl.java
index d42ecd2..cbc5da2 100644
--- a/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/AccountServiceImpl.java
+++ b/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/AccountServiceImpl.java
@@ -4,6 +4,7 @@ import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.model2d3d.viewer.back.model.BasicUser;
import com.model2d3d.viewer.back.model.LoginHistory;
import com.model2d3d.viewer.back.util.redis.RedisUtil;
@@ -145,6 +146,7 @@ public class AccountServiceImpl implements AccountService {
cacheUserData.setCreateTime(userInfoVO.getCreateTime());
cacheUserData.setLoginName(userInfoVO.getLoginName());
cacheUserData.setUserId(userInfoVO.getId());
+ cacheUserData.setRole(userInfoVO.getRole());
cacheUserData.setUsername(userInfoVO.getUsername());
cacheUserData.setExpireTime(userInfoVO.getExpireTime());
cacheUserData.setCompanyId(userInfoVO.getCompanyId());
@@ -189,7 +191,10 @@ public class AccountServiceImpl implements AccountService {
}
private void updateUserInfo(BasicUser basicUser) {
- basicUserMapperExt.updateById(basicUser);
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(BasicUser::getId, basicUser.getId())
+ .set(BasicUser::getLastLoginTime, basicUser.getLastLoginTime());
+ basicUserMapperExt.update(null, updateWrapper);
}
private UserInfoVO getAccountInfo(String loginname) {
diff --git a/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/UserServiceImpl.java b/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/UserServiceImpl.java
index d83330b..1b969bb 100644
--- a/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/UserServiceImpl.java
+++ b/model2d3d-viewer-back-service/src/main/java/com/model2d3d/viewer/back/service/impl/UserServiceImpl.java
@@ -116,7 +116,7 @@ public class UserServiceImpl implements UserService {
basicUserMapperExt.insert(basicUser);
- insertUserRoleRelation(userId, currentUnix, basicUser.getId(), param.getRoleId());
+// insertUserRoleRelation(userId, currentUnix, basicUser.getId(), param.getRoleId());
insertUserBuildingRelation(userId, currentUnix, basicUser.getId(), param.getBuildingIds());
@@ -245,13 +245,14 @@ public class UserServiceImpl implements UserService {
.set(BasicUser::getCompanyId, param.getCompanyId())
.set(BasicUser::getUsername, param.getUsername())
.set(BasicUser::getLoginName, param.getLoginName())
+ .set(BasicUser::getRole, param.getRole())
.set(BasicUser::getEmail, param.getEmail())
.set(BasicUser::getMobileNumber, param.getMobileNumber())
.set(BasicUser::getModifierId, userId)
.set(BasicUser::getModifyTime, currentUnix);
basicUserMapperExt.update(null, updateWrapper);
- insertUserRoleRelation(userId, currentUnix, param.getUserId(), param.getRoleId());
+// insertUserRoleRelation(userId, currentUnix, param.getUserId(), param.getRoleId());
insertUserBuildingRelation(userId, currentUnix, param.getUserId(), param.getBuildingIds());
@@ -319,8 +320,7 @@ public class UserServiceImpl implements UserService {
return SimpleDataResponse.success();
}
try {
- List ids = Arrays.asList(StringUtils.split(resetPassword.getUserIds(), ",")).stream()
- .map(id -> CommonUtil.String2Long(id.trim())).collect(Collectors.toList());
+ List ids = Arrays.asList(StringUtils.split(resetPassword.getUserIds(), ","));
List userList = basicUserMapperExt.selectList(
new LambdaQueryWrapper()
@@ -331,9 +331,12 @@ public class UserServiceImpl implements UserService {
long currentUnix = System.currentTimeMillis();
for (BasicUser basicUser : userList) {
String rawPwd = generateRandomPwd();
- basicUser.setPassword(DESUtil.encrypt(rawPwd, basicUser.getSalt()));
-// basicUser.setPasswordModifyTime(currentUnix);
- basicUserMapperExt.updateById(basicUser);
+
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(BasicUser::getId, basicUser.getId())
+ .set(BasicUser::getPassword, DESUtil.encrypt(rawPwd, basicUser.getSalt()))
+ .set(BasicUser::getPasswordModifyTime, currentUnix);
+ basicUserMapperExt.update(null, updateWrapper);
BasicCompany basicCompany = basicCompanyMapperExt.selectById(basicUser.getCompanyId());
@@ -377,10 +380,12 @@ public class UserServiceImpl implements UserService {
if (newPwd.equals(basicUser.getPassword())) {
return new SimpleDataResponse(ResponseCode.MSG_ERROR, msgLanguageChange.getParameterMapByCode(languageType, "newPwdSameOld"));
}
- basicUser.setPassword(newPwd);
- basicUser.setModifyTime(System.currentTimeMillis());
-// basicUser.setPasswordModifyTime(basicUser.getModifyTime());
- basicUserMapperExt.updateById(basicUser);
+
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(BasicUser::getId, basicUser.getId())
+ .set(BasicUser::getPassword, newPwd)
+ .set(BasicUser::getPasswordModifyTime, System.currentTimeMillis());
+ basicUserMapperExt.update(null, updateWrapper);
return SimpleDataResponse.success();
} catch (Exception e) {