diff --git a/src/main/java/com/ffii/lioner/model/JwtResponse.java b/src/main/java/com/ffii/lioner/model/JwtResponse.java index cd85a12..fc2858c 100644 --- a/src/main/java/com/ffii/lioner/model/JwtResponse.java +++ b/src/main/java/com/ffii/lioner/model/JwtResponse.java @@ -16,8 +16,6 @@ public class JwtResponse implements Serializable { private final String refreshToken; private final String role; //private final Set abilities; - private final Long subDivisionId; - private final Boolean lotusNotesUser; private final List abilities; public JwtResponse(String accessToken, String refreshToken, String role, User user, /*Set*/List abilities) { @@ -27,8 +25,6 @@ public class JwtResponse implements Serializable { this.id = user.getId(); this.name = user.getName(); this.email = user.getEmail(); - this.subDivisionId = user.getSubDivisionId(); - this.lotusNotesUser = user.getLotusNotesUser(); this.abilities = abilities; } @@ -60,16 +56,4 @@ public class JwtResponse implements Serializable { return abilities; } - public Long getSubDivisionId() { - return this.subDivisionId; - } - - public Boolean isLotusNotesUser() { - return this.lotusNotesUser; - } - - public Boolean getLotusNotesUser() { - return this.lotusNotesUser; - } - } \ No newline at end of file diff --git a/src/main/java/com/ffii/lioner/modules/user/entity/User.java b/src/main/java/com/ffii/lioner/modules/user/entity/User.java index 3d8418f..d3c34ec 100644 --- a/src/main/java/com/ffii/lioner/modules/user/entity/User.java +++ b/src/main/java/com/ffii/lioner/modules/user/entity/User.java @@ -75,17 +75,6 @@ public class User extends BaseEntity implements UserDetails { @Column private String remarks; - @Column - private boolean lotusNotesUser = false; - - @Column - private String post; - - @Column - private Long subDivisionId; - - @Column - private boolean reminderFlag; public boolean isLocked() { return this.locked == null ? false : this.locked; @@ -248,44 +237,4 @@ public class User extends BaseEntity implements UserDetails { this.department = department; } - public boolean isLotusNotesUser() { - return this.lotusNotesUser; - } - - public boolean getLotusNotesUser() { - return this.lotusNotesUser; - } - - public void setLotusNotesUser(boolean lotusNotesUser) { - this.lotusNotesUser = lotusNotesUser; - } - - public String getPost() { - return this.post; - } - - public void setPost(String post) { - this.post = post; - } - - public Long getSubDivisionId() { - return this.subDivisionId; - } - - public void setSubDivisionId(Long subDivisionId) { - this.subDivisionId = subDivisionId; - } - - public boolean isReminderFlag() { - return this.reminderFlag; - } - - public boolean getReminderFlag() { - return this.reminderFlag; - } - - public void setReminderFlag(boolean reminderFlag) { - this.reminderFlag = reminderFlag; - } - } diff --git a/src/main/java/com/ffii/lioner/modules/user/req/NewLionerUserReq.java b/src/main/java/com/ffii/lioner/modules/user/req/NewLionerUserReq.java index 39bafd3..15e08e9 100644 --- a/src/main/java/com/ffii/lioner/modules/user/req/NewLionerUserReq.java +++ b/src/main/java/com/ffii/lioner/modules/user/req/NewLionerUserReq.java @@ -36,12 +36,10 @@ public class NewLionerUserReq { private String phone2; private String post; @NotBlank - private Long subDivisionId; + private Long userGroupId; private LocalDate expiryDate; private String locale; private String remarks; - private Boolean lotusNotesUser; - private Boolean reminderFlag; @NotBlank @Email @@ -56,30 +54,6 @@ public class NewLionerUserReq { private List addAuthIds; // @NotNull private List removeAuthIds; - - public Boolean isLotusNotesUser() { - return this.lotusNotesUser; - } - - public Boolean getLotusNotesUser() { - return this.lotusNotesUser; - } - - public Boolean isReminderFlag() { - return this.reminderFlag; - } - - public Boolean getReminderFlag() { - return this.reminderFlag; - } - - public void setReminderFlag(Boolean reminderFlag) { - this.reminderFlag = reminderFlag; - } - - public void setLotusNotesUser(Boolean lotusNotesUser) { - this.lotusNotesUser = lotusNotesUser; - } public Long getId() { return this.id; @@ -234,12 +208,12 @@ public class NewLionerUserReq { this.post = post; } - public Long getSubDivisionId() { - return this.subDivisionId; + public Long getUserGroupId() { + return this.userGroupId; } - public void setSubDivisionId(Long subDivisionId) { - this.subDivisionId = subDivisionId; + public void setUserGroupId(Long userGroupId) { + this.userGroupId = userGroupId; } public String getUsername() { diff --git a/src/main/java/com/ffii/lioner/modules/user/req/SearchUserReq.java b/src/main/java/com/ffii/lioner/modules/user/req/SearchUserReq.java index 74ca2d3..706bf33 100644 --- a/src/main/java/com/ffii/lioner/modules/user/req/SearchUserReq.java +++ b/src/main/java/com/ffii/lioner/modules/user/req/SearchUserReq.java @@ -15,7 +15,6 @@ public class SearchUserReq { private Integer subDivisionId; private String email; private String phone; - private Boolean isLotusNotesUser; public Integer getId() { return id; @@ -117,16 +116,4 @@ public class SearchUserReq { this.phone = phone; } - public Boolean isIsLotusNotesUser() { - return this.isLotusNotesUser; - } - - public Boolean getIsLotusNotesUser() { - return this.isLotusNotesUser; - } - - public void setIsLotusNotesUser(Boolean isLotusNotesUser) { - this.isLotusNotesUser = isLotusNotesUser; - } - } diff --git a/src/main/java/com/ffii/lioner/modules/user/req/UpdateUserReq.java b/src/main/java/com/ffii/lioner/modules/user/req/UpdateUserReq.java index e132907..2ccd5b0 100644 --- a/src/main/java/com/ffii/lioner/modules/user/req/UpdateUserReq.java +++ b/src/main/java/com/ffii/lioner/modules/user/req/UpdateUserReq.java @@ -29,7 +29,8 @@ public class UpdateUserReq { private String email; @NotBlank private String department; - + + private Integer userGroupId; // @NotNull private List addGroupIds; // @NotNull @@ -92,6 +93,14 @@ public class UpdateUserReq { this.firstname = firstname; } + public Integer getUserGroupId() { + return userGroupId; + } + + public void setUserGroupId(Integer userGroupId) { + this.userGroupId = userGroupId; + } + public List getAddGroupIds() { return addGroupIds; } diff --git a/src/main/java/com/ffii/lioner/modules/user/service/UserService.java b/src/main/java/com/ffii/lioner/modules/user/service/UserService.java index 78bd538..ae1f763 100644 --- a/src/main/java/com/ffii/lioner/modules/user/service/UserService.java +++ b/src/main/java/com/ffii/lioner/modules/user/service/UserService.java @@ -13,6 +13,7 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import org.apache.commons.collections4.Put; import org.apache.commons.lang3.StringUtils; import com.ffii.core.utils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -134,15 +135,10 @@ public class UserService extends AbstractBaseEntityService listUserAuthId(long id) { return jdbcDao.queryForInts( "SELECT" @@ -388,8 +392,8 @@ public class UserService extends AbstractBaseEntityService 1) { - String submitedPassword = req.getPassword(); + String submittedPassword = req.getPassword(); PasswordRule rule = new PasswordRule(settingsService); if (!PasswordUtils.checkPwd(req.getPassword(), rule, req.getUsername())) { @@ -427,7 +431,7 @@ public class UserService extends AbstractBaseEntityService> authBatchInsertValues = req.getAddAuthIds().stream() - .map(authId -> Map.of("userId", id, "authId", authId)) - .collect(Collectors.toList()); - List> authBatchDeleteValues = req.getRemoveAuthIds().stream() - .map(authId -> Map.of("userId", id, "authId", authId)) - .collect(Collectors.toList()); - - if (!authBatchInsertValues.isEmpty()) { - jdbcDao.batchUpdate( - "INSERT IGNORE INTO user_authority (userId, authId)" - + " VALUES (:userId, :authId)", - authBatchInsertValues); - } - if (!authBatchDeleteValues.isEmpty()) { - jdbcDao.batchUpdate( - "DELETE FROM user_authority" - + " WHERE userId = :userId AND authId = :authId", - authBatchDeleteValues); + Map userGroupMap = new HashMap<>(); + userGroupMap.put("userId", instance.getId()); + userGroupMap.put("groupId", req.getUserGroupId()); + if (req.getUserGroupId() > 0) { // The group id is updated + jdbcDao.executeUpdate( + "DELETE FROM user_group" + + " WHERE userId = :userId;", + userGroupMap + ); + + jdbcDao.executeUpdate( + "INSERT IGNORE INTO user_group (groupId,userId)" + + " VALUES (:groupId, :userId);", + userGroupMap + ); } - List> userBatchInsertValues = req.getAddGroupIds().stream() - .map(groupId -> Map.of("userId", id, "groupId", groupId)) - .collect(Collectors.toList()); - List> userBatchDeleteValues = req.getRemoveGroupIds().stream() - .map(groupId -> Map.of("userId", id, "groupId", groupId)) - .collect(Collectors.toList()); - - if (!userBatchInsertValues.isEmpty()) { - jdbcDao.batchUpdate( - "INSERT IGNORE INTO user_group (groupId,userId)" - + " VALUES (:groupId, :userId)", - userBatchInsertValues); - } - if (!userBatchDeleteValues.isEmpty()) { - jdbcDao.batchUpdate( - "DELETE FROM user_group" - + " WHERE groupId = :groupId AND userId = :userId", - userBatchDeleteValues); - } + // List> authBatchInsertValues = req.getAddAuthIds().stream() + // .map(authId -> Map.of("userId", id, "authId", authId)) + // .collect(Collectors.toList()); + // List> authBatchDeleteValues = req.getRemoveAuthIds().stream() + // .map(authId -> Map.of("userId", id, "authId", authId)) + // .collect(Collectors.toList()); + + // if (!authBatchInsertValues.isEmpty()) { + // jdbcDao.batchUpdate( + // "INSERT IGNORE INTO user_authority (userId, authId)" + // + " VALUES (:userId, :authId)", + // authBatchInsertValues); + // } + // if (!authBatchDeleteValues.isEmpty()) { + // jdbcDao.batchUpdate( + // "DELETE FROM user_authority" + // + " WHERE userId = :userId AND authId = :authId", + // authBatchDeleteValues); + // } + + // List> userBatchInsertValues = req.getAddGroupIds().stream() + // .map(groupId -> Map.of("userId", id, "groupId", groupId)) + // .collect(Collectors.toList()); + // List> userBatchDeleteValues = req.getRemoveGroupIds().stream() + // .map(groupId -> Map.of("userId", id, "groupId", groupId)) + // .collect(Collectors.toList()); + + // if (!userBatchInsertValues.isEmpty()) { + // jdbcDao.batchUpdate( + // "INSERT IGNORE INTO user_group (groupId,userId)" + // + " VALUES (:groupId, :userId)", + // userBatchInsertValues); + // } + // if (!userBatchDeleteValues.isEmpty()) { + // jdbcDao.batchUpdate( + // "DELETE FROM user_group" + // + " WHERE groupId = :groupId AND userId = :userId", + // userBatchDeleteValues); + // } // =====GET NEW AUDIT LOG=====// if (instance != null && instance.getId() != null && instance.getId() > 0) { diff --git a/src/main/java/com/ffii/lioner/modules/user/service/pojo/UserRecord.java b/src/main/java/com/ffii/lioner/modules/user/service/pojo/UserRecord.java index cbb7b7f..014fe52 100644 --- a/src/main/java/com/ffii/lioner/modules/user/service/pojo/UserRecord.java +++ b/src/main/java/com/ffii/lioner/modules/user/service/pojo/UserRecord.java @@ -13,6 +13,7 @@ public class UserRecord { private String name; private Integer companyId; private Integer customerId; + private Integer groupId; private String locale; private String fullname; private String firstname; @@ -24,9 +25,7 @@ public class UserRecord { private String phone1; private String phone2; private String remarks; - private Boolean lotusNotesUser; private String post; - private String subDivision; public Boolean isLocked() { return this.locked; @@ -35,10 +34,6 @@ public class UserRecord { this.remarks = remarks; } - public Boolean isLotusNotesUser() { - return this.lotusNotesUser; - } - public String getPost() { return this.post; } @@ -107,6 +102,12 @@ public class UserRecord { public void setCustomerId(Integer customerId) { this.customerId = customerId; } + public Integer getGroupId() { + return groupId; + } + public void setGroupId(Integer groupId) { + this.groupId = groupId; + } public String getLocale() { return locale; } @@ -170,19 +171,5 @@ public class UserRecord { public String getRemarks() { return remarks; } - public void setLotusNotesUser(Boolean lotusNotesUser) { - this.lotusNotesUser = lotusNotesUser; - } - public Boolean getLotusNotesUser() { - return lotusNotesUser; - } - - public String getSubDivision() { - return this.subDivision; - } - - public void setSubDivision(String subDivision) { - this.subDivision = subDivision; - } } diff --git a/src/main/java/com/ffii/lioner/modules/user/service/res/LoadUserRes.java b/src/main/java/com/ffii/lioner/modules/user/service/res/LoadUserRes.java index 5e8ddc9..3ae7733 100644 --- a/src/main/java/com/ffii/lioner/modules/user/service/res/LoadUserRes.java +++ b/src/main/java/com/ffii/lioner/modules/user/service/res/LoadUserRes.java @@ -6,14 +6,16 @@ import com.ffii.lioner.modules.user.entity.User; public class LoadUserRes { private User data; + private Integer groupId; private List authIds; private List groupIds; public LoadUserRes() { } - public LoadUserRes(User data, List authIds, List groupIds) { + public LoadUserRes(User data, Integer groupId, List authIds, List groupIds) { this.data = data; + this.groupId = groupId; this.authIds = authIds; this.groupIds = groupIds; } @@ -42,4 +44,12 @@ public class LoadUserRes { this.groupIds = groupIds; } + public Integer getGroupId() { + return groupId; + } + + public void setGroupId(Integer groupId) { + this.groupId = groupId; + } + } diff --git a/src/main/java/com/ffii/lioner/modules/user/web/UserController.java b/src/main/java/com/ffii/lioner/modules/user/web/UserController.java index 3250468..60ed43b 100644 --- a/src/main/java/com/ffii/lioner/modules/user/web/UserController.java +++ b/src/main/java/com/ffii/lioner/modules/user/web/UserController.java @@ -103,11 +103,12 @@ public class UserController { @GetMapping("/{id}") @PreAuthorize("hasAuthority('MAINTAIN_USER')") public LoadUserRes load(@PathVariable long id) { - LoadUserRes test = new LoadUserRes( + LoadUserRes userRes = new LoadUserRes( userService.find(id).orElseThrow(NotFoundException::new), + userService.getUserGroupId(id), userService.listUserAuthId(id), userService.listUserGroupId(id)); - return test; + return userRes; } // @Operation(summary = "delete user", responses = { @ApiResponse(responseCode = @@ -288,22 +289,6 @@ public class UserController { return new RecordsRes<>(temp); } - @GetMapping("/lotusCombo") - public ResponseEntity lotusCombo(@RequestParam(defaultValue = "") String username) throws Exception { - AtomicInteger tempId = new AtomicInteger(0); - List> searchUser = ldapTemplate.search("", "(&(objectClass=*)(cn=*" + username + "*))", - (AttributesMapper>) (attrs -> { - Map user = new HashMap<>(); - user.put("id", tempId.getAndIncrement()); - user.put("label", attrs.get("cn").get().toString()); - user.put("key", attrs.get("cn").get().toString()); - user.put("mail", attrs.get("mail").get().toString()); - return user; - })); - return ResponseEntity.ok(Map.of("records",searchUser)); - } - - @GetMapping("/checkDuplicate") public Map checkDuplicate(@RequestParam String name, Long id) { boolean isNameTaken = userService.isNameTaken(name, id); @@ -311,20 +296,6 @@ public class UserController { "isTaken", isNameTaken); } - @GetMapping("/getReminderFlag/{id}") - public Map getReminderFlag(@PathVariable Long id) { - User user = userService.find(id).get(); - return Map.of("isReminder", user.getReminderFlag()); - } - - @PostMapping("/setReminderFlag/{id}/{flag}") - @ResponseStatus(HttpStatus.NO_CONTENT) - public void setReminderFlag(@PathVariable Long id, @PathVariable Boolean flag) { - User user = userService.find(id).get(); - user.setReminderFlag(flag); - userService.save(user); - } - @GetMapping("/isPasswordExpired") public Map getIsPasswordExpired(@RequestParam Long id) { Integer maximumDay = settingsService.getInt(SettingNames.SYS_PASSWORD_RULE_DURATION);