优化接口
This commit is contained in:
parent
57ebe17bb2
commit
ac5c66199b
@ -14,6 +14,8 @@ public interface UserAppService {
|
||||
// 用户注册
|
||||
boolean registerUser(String username, String password, List<Long> roleIds);
|
||||
boolean verifyPassword(String username, String plainText);
|
||||
boolean deleteUser(Long id);
|
||||
boolean updateUser(Long id, UserDTO userDTO);
|
||||
|
||||
// 用户资料
|
||||
Optional<UserDTO> findByUsername(String username);
|
||||
@ -49,4 +51,5 @@ public interface UserAppService {
|
||||
List<RoleFileRuleDTO> listAllRules();
|
||||
boolean addRoleFileRule(RoleFileRuleDTO rule);
|
||||
boolean removeRoleFileRule(Long id);
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.knowledge.base.application.service;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.knowledge.base.application.exceptions.AppException;
|
||||
import com.knowledge.base.domain.user.model.UserDO;
|
||||
import com.knowledge.base.domain.user.service.iface.UserDomainService;
|
||||
import com.knowledge.base.infrastructure.converter.*;
|
||||
@ -41,6 +42,28 @@ public class UserAppServiceImpl implements UserAppService {
|
||||
return userDomainService.verifyPassword(username, plainText);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteUser(Long userId) {
|
||||
return userDomainService.deleteUser(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateUser(Long id, UserDTO userDTO) {
|
||||
UserDO userDO = UserDtoConverter.toDO(userDTO);
|
||||
try {
|
||||
userDomainService.updateUser(userDO);
|
||||
userDomainService.findRolesByUserId(id).forEach(role -> {
|
||||
userDomainService.removeUserRole(id, role.getRoleId());
|
||||
});
|
||||
userDTO.getUserRoles().forEach(roleId -> {
|
||||
userDomainService.addUserRole(id, roleId.longValue());
|
||||
});
|
||||
} catch (Exception e) {
|
||||
throw new AppException("更新用户信息失败", e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<UserDTO> findByUsername(String username) {
|
||||
return Optional.ofNullable(UserDtoConverter.toDTO(userDomainService.findByUsername(username).get()));
|
||||
|
||||
@ -11,6 +11,8 @@ public interface UserDomainService {
|
||||
Optional<UserDO> findById(Long id);
|
||||
List<UserDO> findAllUsers();
|
||||
boolean registerUser(String username, String plainPassword);
|
||||
boolean deleteUser(Long id);
|
||||
boolean updateUser(UserDO user);
|
||||
|
||||
// 认证/Token
|
||||
Optional<UserTokenDO> findToken(String token);
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.knowledge.base.domain.user.service.impl;
|
||||
|
||||
import com.knowledge.base.domain.user.model.*;
|
||||
import com.knowledge.base.domain.user.repository.po.*;
|
||||
import com.knowledge.base.domain.user.service.iface.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -42,6 +41,16 @@ public class UserDomainServiceImpl implements UserDomainService {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateUser(UserDO userDO) {
|
||||
return userProfileDomainSupport.updateUser(userDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteUser(Long id) {
|
||||
return userProfileDomainSupport.deleteUser(id);
|
||||
}
|
||||
|
||||
// 认证/Token
|
||||
@Override
|
||||
public Optional<UserTokenDO> findToken(String token) {
|
||||
|
||||
@ -15,6 +15,7 @@ import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -46,6 +47,22 @@ public class UserWriteController {
|
||||
return ResponseEntity.ok(Map.of("msg", "注册成功"));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
public ResponseEntity<?> deleteUser(@RequestParam Long id) {
|
||||
if(Objects.isNull(id)) {
|
||||
return ResponseEntity.badRequest().body(Map.of("msg", "userId 不能为空"));
|
||||
}
|
||||
return ResponseEntity.ok(userAppService.deleteUser(id));
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public ResponseEntity<?> updateUser(@PathVariable Long id, @RequestBody UserDTO userDTO) {
|
||||
if(Objects.isNull(id) || Objects.isNull(userDTO)) {
|
||||
return ResponseEntity.badRequest().body(Map.of("msg", "参数错误:id或用户信息为空!"));
|
||||
}
|
||||
return ResponseEntity.ok(userAppService.updateUser(id, userDTO));
|
||||
}
|
||||
|
||||
@PostMapping("/login")
|
||||
public ResponseEntity<?> login(@RequestBody Map<String, String> body, HttpServletResponse response) {
|
||||
String username = body.getOrDefault("username", "").trim();
|
||||
|
||||
@ -2,6 +2,8 @@ package com.knowledge.base.infrastructure.north.dto.user;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author Luke.ye
|
||||
* @date 2025/6/9 10:36
|
||||
@ -12,4 +14,5 @@ public class UserDTO {
|
||||
private Long id;
|
||||
private String username;
|
||||
private String addTime;
|
||||
private Set<Integer> userRoles;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user