| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package com.izouma.walkchina.web;
- import com.izouma.walkchina.dto.Result;
- import com.izouma.walkchina.domain.UserInfo;
- import com.izouma.walkchina.exception.ServiceException;
- import com.izouma.walkchina.repo.UserInfoRepository;
- import com.izouma.walkchina.service.UserInfoService;
- import com.izouma.walkchina.utils.SecurityUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- 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 {
- @Autowired
- private UserInfoRepository userInfoRepository;
- @Autowired
- private UserInfoService userInfoService;
- @GetMapping("/my")
- public Result my() {
- Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- UserInfo userInfo = (UserInfo) authentication.getPrincipal();
- userInfo = userInfoRepository.findById(userInfo.getId()).orElseThrow(new ServiceException("无记录"));
- return Result.ok(userInfo);
- }
- @GetMapping("/get")
- public Result get(UserInfo probe) {
- UserInfo userInfo = userInfoRepository.findOne(Example.of(probe)).orElseThrow(new ServiceException("无结果"));
- return Result.ok(userInfo);
- }
- @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)));
- }
- @PostMapping("/getMiniAppUserInfo")
- public Result getMiniAppUserInfo(String sessionKey, String rawData, String signature,
- String encryptedData, String iv) {
- UserInfo userInfo = userInfoService.getMiniAppUserInfo(sessionKey, rawData, signature, encryptedData, iv);
- if (userInfo != null) {
- return Result.ok(userInfo);
- }
- return Result.error("获取用户信息失败,请稍后再试");
- }
- @GetMapping("/saveFriend")
- public Result saveFriend(@RequestParam("userId") Long userId) {
- try {
- Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- UserInfo userInfo = (UserInfo) authentication.getPrincipal();
- userInfoService.saveFriend(userId, userInfo.getId());
- return Result.ok();
- } catch (Exception ignored) {
- }
- return Result.error();
- }
- @PostMapping("/updateLocation")
- public Result updateLocation(@RequestParam("latitude") Double latitude, @RequestParam("longitude") Double longitude) {
- try {
- Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- UserInfo userInfo = (UserInfo) authentication.getPrincipal();
- userInfoService.updateLocation(userInfo.getId(), latitude, longitude);
- return Result.ok();
- } catch (Exception ignored) {
- }
- return Result.error();
- }
- @PostMapping("/saveUser")
- public Result saveUser(UserInfo userInfo) {
- userInfoRepository.save(userInfo);
- return Result.ok();
- }
- @GetMapping("/walkStats")
- public Result walkStats(Long userId) {
- if (userId == null) {
- UserInfo userInfo = SecurityUtils.getAuthenticatedUser();
- userId = userInfo.getId();
- }
- return Result.ok(userInfoService.getUserWalkStats(userId));
- }
- }
|