| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package com.izouma.walkchina.web;
- import com.izouma.walkchina.domain.Result;
- import com.izouma.walkchina.domain.UserInfo;
- import com.izouma.walkchina.repo.UserInfoRepository;
- import org.springframework.data.domain.Example;
- import org.springframework.data.domain.PageRequest;
- import org.springframework.security.core.Authentication;
- import org.springframework.security.core.context.SecurityContextHolder;
- import org.springframework.web.bind.annotation.*;
- @RestController
- @RequestMapping("/user")
- public class UserInfoController {
- private final UserInfoRepository userInfoRepository;
- public UserInfoController(UserInfoRepository userInfoRepository) {
- this.userInfoRepository = userInfoRepository;
- }
- @GetMapping("/my")
- public Result my() {
- try {
- Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- UserInfo userInfo = (UserInfo) authentication.getPrincipal();
- userInfo = userInfoRepository.findById(userInfo.getId()).orElse(null);
- if (userInfo != null) {
- return Result.ok(userInfo);
- }
- } catch (Exception ignored) {
- }
- return Result.error("无记录");
- }
- @GetMapping("/get")
- public Result get(UserInfo probe) {
- UserInfo userInfo = userInfoRepository.findOne(Example.of(probe)).orElse(null);
- if (userInfo != null) {
- return Result.ok(userInfo);
- } else {
- return Result.error("无结果");
- }
- }
- @GetMapping("/get/{id}")
- public Result getOne(@PathVariable Long id) {
- UserInfo userInfo = userInfoRepository.findById(id).orElse(null);
- if (userInfo != null) {
- return Result.ok(userInfo);
- }
- return Result.error("无记录");
- }
- @GetMapping("/all")
- public Result all(UserInfo probe) {
- return Result.ok(userInfoRepository.findAll(Example.of(probe)));
- }
- @GetMapping("/page")
- public Result page(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "20") int size, UserInfo probe) {
- return Result.ok(userInfoRepository.findAll(Example.of(probe), PageRequest.of(page, size)));
- }
- }
|