feat: 优化修改初始密码提示

This commit is contained in:
fit2cloud-chenyw 2022-06-30 04:06:16 -04:00
parent 303056bf95
commit e3fcb702c9
5 changed files with 56 additions and 7 deletions

View File

@ -30,6 +30,10 @@ public interface AuthApi {
@PostMapping("/useInitPwd")
Boolean useInitPwd();
@ApiOperation("不再提示修改密码")
@PostMapping("/removeNoti")
void removeNoti();
@ApiOperation("用户初始密码")
@PostMapping("/defaultPwd")
String defaultPwd();

View File

@ -158,7 +158,16 @@ public class AuthServer implements AuthApi {
return false;
}
String md5 = CodingUtil.md5(DEFAULT_PWD);
return StringUtils.equals(AuthUtils.getUser().getPassword(), md5);
boolean isInitPwd = StringUtils.equals(AuthUtils.getUser().getPassword(), md5);
if (isInitPwd) {
return sysUserService.needPwdNoti(user.getUserId());
}
return false;
}
@Override
public void removeNoti() {
sysUserService.saveUserAssist(false);
}
@Override

View File

@ -0,0 +1,17 @@
package io.dataease.ext;
import io.dataease.plugins.common.base.domain.SysUserAssist;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface ExtSysUserAssistMapper {
@Insert("insert into sys_user_assist values(#{po.userId}, #{po.needFirstNoti})")
void save(@Param("po") SysUserAssist po);
@Select("select * from sys_user_assist where user_id = #{userId}")
SysUserAssist query(@Param("userId") Long userId);
}

View File

@ -2,6 +2,7 @@ package io.dataease.service.sys;
import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.auth.service.ExtAuthService;
import io.dataease.ext.ExtSysUserAssistMapper;
import io.dataease.ext.ExtSysUserMapper;
import io.dataease.ext.query.GridExample;
import io.dataease.commons.constants.AuthConstants;
@ -16,10 +17,7 @@ import io.dataease.controller.sys.request.SysUserStateRequest;
import io.dataease.controller.sys.response.SysUserGridResponse;
import io.dataease.controller.sys.response.SysUserRole;
import io.dataease.i18n.Translator;
import io.dataease.plugins.common.base.domain.SysUser;
import io.dataease.plugins.common.base.domain.SysUserExample;
import io.dataease.plugins.common.base.domain.SysUsersRolesExample;
import io.dataease.plugins.common.base.domain.SysUsersRolesKey;
import io.dataease.plugins.common.base.domain.*;
import io.dataease.plugins.common.base.mapper.SysUserMapper;
import io.dataease.plugins.common.base.mapper.SysUsersRolesMapper;
import io.dataease.plugins.common.entity.XpackLdapUserEntity;
@ -28,7 +26,6 @@ import io.dataease.plugins.xpack.oidc.dto.SSOUserInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;
@ -56,9 +53,12 @@ public class SysUserService {
@Resource
private ExtSysUserMapper extSysUserMapper;
@Autowired
@Resource
private ExtAuthService extAuthService;
@Resource
private ExtSysUserAssistMapper extSysUserAssistMapper;
public List<SysUserGridResponse> query(BaseGridRequest request) {
@ -435,5 +435,17 @@ public class SysUserService {
}
}
public boolean needPwdNoti(Long userId) {
SysUserAssist userAssist = extSysUserAssistMapper.query(userId);
return ObjectUtils.isEmpty(userAssist) || userAssist.getNeedFirstNoti();
}
public void saveUserAssist(Boolean noti) {
Long userId = AuthUtils.getUser().getUserId();
SysUserAssist sysUserAssist = new SysUserAssist();
sysUserAssist.setUserId(userId);
sysUserAssist.setNeedFirstNoti(noti);
extSysUserAssistMapper.save(sysUserAssist);
}
}

View File

@ -58,3 +58,10 @@ INSERT INTO `sys_auth` (`id`, `auth_source`, `auth_source_type`, `auth_target`,
INSERT INTO `sys_auth_detail` (`id`, `auth_id`, `privilege_name`, `privilege_type`, `privilege_value`, `privilege_extend`, `remark`, `create_user`, `create_time`, `update_time`, `copy_from`, `copy_id`) VALUES ('be90dc66-f5c7-11ec-bbef-0242ac130004', 'be9028cb-f5c7-11ec-bbef-0242ac130004', 'i18n_auth_grant', 15, 1, 'grant', '基础权限-授权', 'auto', 1656299878000, NULL, NULL, NULL);
INSERT INTO `sys_auth_detail` (`id`, `auth_id`, `privilege_name`, `privilege_type`, `privilege_value`, `privilege_extend`, `remark`, `create_user`, `create_time`, `update_time`, `copy_from`, `copy_id`) VALUES ('be90ddbc-f5c7-11ec-bbef-0242ac130004', 'be9028cb-f5c7-11ec-bbef-0242ac130004', 'i18n_auth_manage', 3, 1, 'manage', '基础权限-管理', 'auto', 1656299878000, NULL, NULL, NULL);
INSERT INTO `sys_auth_detail` (`id`, `auth_id`, `privilege_name`, `privilege_type`, `privilege_value`, `privilege_extend`, `remark`, `create_user`, `create_time`, `update_time`, `copy_from`, `copy_id`) VALUES ('be911f44-f5c7-11ec-bbef-0242ac130004', 'be9028cb-f5c7-11ec-bbef-0242ac130004', 'i18n_auth_use', 1, 1, 'use', '基础权限-使用', 'auto', 1656299878000, NULL, NULL, NULL);
DROP TABLE IF EXISTS `sys_user_assist`;
CREATE TABLE `sys_user_assist` (
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`need_first_noti` bit(1) DEFAULT NULL COMMENT '是否需要首登提示',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;