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) {