diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/DepartmentController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/DepartmentController.java index ecb25106..19914ad2 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/DepartmentController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/DepartmentController.java @@ -85,7 +85,6 @@ public class DepartmentController extends BaseController { /** * 搜索部门返回基本信息 - * * @param key 部门名称或代码 */ @GetMapping("searchSimple") diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PositionController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PositionController.java index 220bb85a..180152be 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PositionController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PositionController.java @@ -55,7 +55,6 @@ public class PositionController extends BaseController { /** * 启用/禁用职位 - * * @param request 请求参数 */ @PostMapping("enable") @@ -66,7 +65,6 @@ public class PositionController extends BaseController { /** * 搜索职位列表 - * * @param request 请求参数 */ @PostMapping("search") diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/UserController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/UserController.java index 1a557212..1a49e1c2 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/UserController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/UserController.java @@ -53,7 +53,6 @@ public class UserController extends BaseController { /** * 启用/禁用用户 - * * @param request 请求参数 */ @PostMapping("enable") @@ -74,7 +73,6 @@ public class UserController extends BaseController { /** * 获取已授权角色 - * * @param userId 用户ID */ @GetMapping("getAuthorizeRole") @@ -84,7 +82,6 @@ public class UserController extends BaseController { /** * 搜索用户 - * * @param request 请求参数 */ @PostMapping("search") diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/DepartmentControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/DepartmentControllerService.java index 774d7bb7..3fd8ab9d 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/DepartmentControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/DepartmentControllerService.java @@ -85,7 +85,7 @@ public class DepartmentControllerService { public void syncFromLdap(AdDTO ad) { if (ad.getType() != 3) { LdapService ldapService = new LdapService(); - ldapService.init(ad.getServer(), ad.getPort(), ad.getUserName(), ad.getUserPwd(), ad.getOu()); + ldapService.init(ad.getServer(), ad.getPort(), ad.getUserName(), ad.getUserPwd(), ad.getOu(), ad.getTimeout()); LdapDepartmentDTO department = ldapService.getDepartmentTree(ad.getMapFrom(), ad.getType() == 1); if (Objects.nonNull(department)) { save(department, Optional.ofNullable(ad.getMapTo()).orElse(0L)); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/LdapService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/LdapService.java index ac1645f7..602f936f 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/LdapService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/LdapService.java @@ -12,10 +12,7 @@ import org.springframework.ldap.query.LdapQuery; import org.springframework.ldap.query.LdapQueryBuilder; import org.springframework.ldap.query.SearchScope; -import java.util.Comparator; -import java.util.List; -import java.util.Objects; -import java.util.UUID; +import java.util.*; @Slf4j public class LdapService { @@ -24,7 +21,7 @@ public class LdapService { private String baseDn; - public void init(String server, int port, String username, String password, String baseDn) { + public void init(String server, int port, String username, String password, String baseDn, int timeout) { this.baseDn = baseDn; LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl("ldap://" + server + ":" + port); @@ -34,6 +31,11 @@ public class LdapService { contextSource.setAnonymousReadOnly(false); contextSource.setPooled(false); // 启用连接池 contextSource.setReferral("follow"); // 处理引用 + Map env = new HashMap<>(); + // 全局读取超时(所有操作) + env.put("com.sun.jndi.ldap.connect.timeout", String.valueOf(timeout * 1000)); + env.put("com.sun.jndi.ldap.read.timeout", String.valueOf(timeout * 1000 * 5)); + contextSource.setBaseEnvironmentProperties(env); contextSource.afterPropertiesSet(); ldapTemplate = new LdapTemplate(contextSource); ldapTemplate.setIgnorePartialResultException(true); @@ -77,7 +79,7 @@ public class LdapService { .setName(attributes.get("name").get().toString()) .setDistinguishedName(attributes.get("distinguishedName").get().toString()) ); - log.info("开始获取部门父级信息完成"); + log.info("获取部门父级信息完成"); if (CollectionUtil.isNotEmpty(departments)) { LdapDepartmentDTO parent = departments.get(0); parent.getChildren().add(dto); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/PositionControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/PositionControllerService.java index 7262898f..3fd1e48e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/PositionControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/PositionControllerService.java @@ -39,6 +39,7 @@ public class PositionControllerService { .throwMessage("职位已存在"); positionService.save(new Position() .setName(request.getName()) + .setEnable(request.getEnable()) .setRemark(request.getRemark()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now())); @@ -53,6 +54,7 @@ public class PositionControllerService { positionService.updateById(new Position() .setId(request.getId()) .setName(request.getName()) + .setEnable(request.getEnable()) .setRemark(request.getRemark()) .setUpdateBy(UserUtil.getUserName()) .setUpdateTime(LocalDateTime.now())); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java index 7ef604a5..9ce2d7c6 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/UserControllerService.java @@ -129,7 +129,7 @@ public class UserControllerService { @Transactional public void syncFromLdap(AdDTO ad) { LdapService ldapService = new LdapService(); - ldapService.init(ad.getServer(), ad.getPort(), ad.getUserName(), ad.getUserPwd(), ad.getOu()); + ldapService.init(ad.getServer(), ad.getPort(), ad.getUserName(), ad.getUserPwd(), ad.getOu(), ad.getTimeout()); List users = ldapService.getUsers(ad.getMapFrom()); List forAdd = new ArrayList<>(); List forUpdate = new ArrayList<>(); diff --git a/nflg-wms-auth/src/main/java/com/nflg/wms/auth/controller/SsoServerController.java b/nflg-wms-auth/src/main/java/com/nflg/wms/auth/controller/SsoServerController.java index 55f27bb5..15193f24 100644 --- a/nflg-wms-auth/src/main/java/com/nflg/wms/auth/controller/SsoServerController.java +++ b/nflg-wms-auth/src/main/java/com/nflg/wms/auth/controller/SsoServerController.java @@ -1,14 +1,10 @@ package com.nflg.wms.auth.controller; -import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.sso.config.SaSsoServerConfig; import cn.dev33.satoken.sso.processor.SaSsoServerProcessor; -import cn.dev33.satoken.stp.SaLoginConfig; import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.parameter.SaLoginParameter; -import cn.dev33.satoken.util.SaResult; -import cn.hutool.core.util.StrUtil; import com.nflg.wms.common.constant.Constant; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.vo.RoleVO; @@ -87,6 +83,8 @@ public class SsoServerController { .setUserId(user.getId()) .setToken(tokenInfo.getTokenValue()) .setExpire(tokenInfo.getTokenTimeout()) + .setMustResetPwd(user.getMustResetPwd()) + .setEmail(user.getEmail()) .setRoles(roleCodes.stream().map(RoleVO::getName).collect(Collectors.toList()))); }; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DepartmentAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DepartmentAddQO.java index 00e5f279..63857ad9 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DepartmentAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DepartmentAddQO.java @@ -24,4 +24,9 @@ public class DepartmentAddQO { */ @NotBlank private String no; + + /** + * 是否启用 + */ + private Boolean enable = true; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DepartmentVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DepartmentVO.java index 30283432..59ff15c2 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DepartmentVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DepartmentVO.java @@ -27,31 +27,6 @@ public class DepartmentVO { private Integer source; private String sourceDesc; - /** - * 编号 - */ - private String sourceId; - /** - * 是否启用 - */ - private Boolean enable; - /** - * 创建人 - */ - private String createBy; - /** - * 创建时间 - */ - private LocalDateTime createTime; - /** - * 最后更新人 - */ - private String updateBy; - /** - * 最后更新时间 - */ - private LocalDateTime updateTime; - private List children = new ArrayList<>(); public String getSourceDesc() { return switch (source) { @@ -60,4 +35,36 @@ public class DepartmentVO { default -> "未知"; }; } + + /** + * 编号 + */ + private String sourceId; + + /** + * 是否启用 + */ + private Boolean enable; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 最后更新人 + */ + private String updateBy; + + /** + * 最后更新时间 + */ + private LocalDateTime updateTime; + + private List children = new ArrayList<>(); } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/UserLoginVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/UserLoginVO.java index 6850d20d..00efacd7 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/UserLoginVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/UserLoginVO.java @@ -15,5 +15,15 @@ public class UserLoginVO { private Long expire; + /** + * 是否必须要重新设置密码 + */ + private Boolean mustResetPwd; + + /** + * 邮箱 + */ + private String email; + private List roles; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/User.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/User.java index 45aea0c3..526c178a 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/User.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/User.java @@ -108,4 +108,9 @@ public class User implements Serializable { * 备注 */ private String remark; + + /** + * 登录后是否必须重设密码 + */ + private Boolean mustResetPwd; }