优化接口
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 registerUser(String username, String password, List<Long> roleIds);
|
||||||
boolean verifyPassword(String username, String plainText);
|
boolean verifyPassword(String username, String plainText);
|
||||||
|
boolean deleteUser(Long id);
|
||||||
|
boolean updateUser(Long id, UserDTO userDTO);
|
||||||
|
|
||||||
// 用户资料
|
// 用户资料
|
||||||
Optional<UserDTO> findByUsername(String username);
|
Optional<UserDTO> findByUsername(String username);
|
||||||
@ -49,4 +51,5 @@ public interface UserAppService {
|
|||||||
List<RoleFileRuleDTO> listAllRules();
|
List<RoleFileRuleDTO> listAllRules();
|
||||||
boolean addRoleFileRule(RoleFileRuleDTO rule);
|
boolean addRoleFileRule(RoleFileRuleDTO rule);
|
||||||
boolean removeRoleFileRule(Long id);
|
boolean removeRoleFileRule(Long id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.knowledge.base.application.service;
|
package com.knowledge.base.application.service;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
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.model.UserDO;
|
||||||
import com.knowledge.base.domain.user.service.iface.UserDomainService;
|
import com.knowledge.base.domain.user.service.iface.UserDomainService;
|
||||||
import com.knowledge.base.infrastructure.converter.*;
|
import com.knowledge.base.infrastructure.converter.*;
|
||||||
@ -41,6 +42,28 @@ public class UserAppServiceImpl implements UserAppService {
|
|||||||
return userDomainService.verifyPassword(username, plainText);
|
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
|
@Override
|
||||||
public Optional<UserDTO> findByUsername(String username) {
|
public Optional<UserDTO> findByUsername(String username) {
|
||||||
return Optional.ofNullable(UserDtoConverter.toDTO(userDomainService.findByUsername(username).get()));
|
return Optional.ofNullable(UserDtoConverter.toDTO(userDomainService.findByUsername(username).get()));
|
||||||
|
|||||||
@ -11,6 +11,8 @@ public interface UserDomainService {
|
|||||||
Optional<UserDO> findById(Long id);
|
Optional<UserDO> findById(Long id);
|
||||||
List<UserDO> findAllUsers();
|
List<UserDO> findAllUsers();
|
||||||
boolean registerUser(String username, String plainPassword);
|
boolean registerUser(String username, String plainPassword);
|
||||||
|
boolean deleteUser(Long id);
|
||||||
|
boolean updateUser(UserDO user);
|
||||||
|
|
||||||
// 认证/Token
|
// 认证/Token
|
||||||
Optional<UserTokenDO> findToken(String token);
|
Optional<UserTokenDO> findToken(String token);
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.knowledge.base.domain.user.service.impl;
|
package com.knowledge.base.domain.user.service.impl;
|
||||||
|
|
||||||
import com.knowledge.base.domain.user.model.*;
|
import com.knowledge.base.domain.user.model.*;
|
||||||
import com.knowledge.base.domain.user.repository.po.*;
|
|
||||||
import com.knowledge.base.domain.user.service.iface.*;
|
import com.knowledge.base.domain.user.service.iface.*;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -42,6 +41,16 @@ public class UserDomainServiceImpl implements UserDomainService {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateUser(UserDO userDO) {
|
||||||
|
return userProfileDomainSupport.updateUser(userDO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteUser(Long id) {
|
||||||
|
return userProfileDomainSupport.deleteUser(id);
|
||||||
|
}
|
||||||
|
|
||||||
// 认证/Token
|
// 认证/Token
|
||||||
@Override
|
@Override
|
||||||
public Optional<UserTokenDO> findToken(String token) {
|
public Optional<UserTokenDO> findToken(String token) {
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import javax.servlet.http.Cookie;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -46,6 +47,22 @@ public class UserWriteController {
|
|||||||
return ResponseEntity.ok(Map.of("msg", "注册成功"));
|
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")
|
@PostMapping("/login")
|
||||||
public ResponseEntity<?> login(@RequestBody Map<String, String> body, HttpServletResponse response) {
|
public ResponseEntity<?> login(@RequestBody Map<String, String> body, HttpServletResponse response) {
|
||||||
String username = body.getOrDefault("username", "").trim();
|
String username = body.getOrDefault("username", "").trim();
|
||||||
|
|||||||
@ -2,6 +2,8 @@ package com.knowledge.base.infrastructure.north.dto.user;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Luke.ye
|
* @author Luke.ye
|
||||||
* @date 2025/6/9 10:36
|
* @date 2025/6/9 10:36
|
||||||
@ -12,4 +14,5 @@ public class UserDTO {
|
|||||||
private Long id;
|
private Long id;
|
||||||
private String username;
|
private String username;
|
||||||
private String addTime;
|
private String addTime;
|
||||||
|
private Set<Integer> userRoles;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user