我正在尝试解决一个问题:当用户单击删除记录而不是删除记录时,该记录将状态更改为isempty(x(1,2))
。
我想在MySQL中创建'false'
,"getAllUser"
之类的存储过程,但是我却感到困惑。
这是我项目的结构:
"changeStatus"
然后,我希望索引页仅获取状态为-configuration
JpaConfiguration
-controller
RestApiController
-model
User
-Repository
UserRepository
-Service
UserService
UserServiceImpl
的记录。
'true'
CREATE DEFINER=`root`@`localhost` PROCEDURE `getAllUsers`()
BEGIN
SELECT * FROM APP_USER where status = 0;
END
@RestController
@RequestMapping("/api")
public class RestApiController {
@Autowired
UserService userService;
@RequestMapping(value = "/user/", method = RequestMethod.GET)
public List<User> getAllUsers(Boolean status){
Boolean statusWhere = org.apache.commons.lang3.BooleanUtils.isNotTrue(false);
List<User> users = userServiceImpl.getAllUsers(statusWhere);
if (users == null){
return new ArrayList<>();
} else {
return users;
}
}
// Change status
@RequestMapping(value = "/user/{id}", method = RequestMethod.DELETE)
public ResponseEntity<?>deleteUserById(@PathVariable("id") long id){
logger.info("Delete User with id {}", id);
User currentUser = userService.findById(id);
currentUser.setStatus(true);
return new ResponseEntity<User>(currentUser, HttpStatus.OK);
}
@Entity
@NamedStoredProcedureQueries({
@NamedStoredProcedureQuery(
name = "getAllUsers",
procedureName = "getAllUsers",
resultClasses = {User.class},
parameters = {
@StoredProcedureParameter(
mode = ParameterMode.IN,
name = "status",
type = Boolean.class)
}
)
})