MapController.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.izouma.walkchina.web;
  2. import com.izouma.walkchina.dto.MapRegion;
  3. import com.izouma.walkchina.dto.Result;
  4. import com.izouma.walkchina.domain.UserInfo;
  5. import com.izouma.walkchina.repo.CityRepository;
  6. import com.izouma.walkchina.service.JourneyService;
  7. import com.izouma.walkchina.service.MapService;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.security.core.Authentication;
  10. import org.springframework.security.core.context.SecurityContextHolder;
  11. import org.springframework.web.bind.annotation.*;
  12. @RestController
  13. @RequestMapping("/map")
  14. public class MapController {
  15. @Autowired
  16. private MapService mapService;
  17. @Autowired
  18. private JourneyService journeyService;
  19. @Autowired
  20. private CityRepository cityRepository;
  21. @PostMapping("/citiesInRegion")
  22. public Result citiesInRegion(@RequestBody MapRegion mapRegion) {
  23. return Result.ok(mapService.citiesInRegion(mapRegion));
  24. }
  25. @PostMapping("/usersInRegion")
  26. public Result usersInRegion(@RequestBody MapRegion mapRegion) {
  27. Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
  28. UserInfo userInfo = (UserInfo) authentication.getPrincipal();
  29. return Result.ok(mapService.usersInRegion(userInfo.getId(), mapRegion));
  30. }
  31. @GetMapping("/userMap")
  32. public Result userMap(Long userId) {
  33. if (userId == null) {
  34. Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
  35. UserInfo userInfo = (UserInfo) authentication.getPrincipal();
  36. userId = userInfo.getId();
  37. }
  38. return Result.ok(mapService.userMap(userId));
  39. }
  40. @GetMapping("/calcAward")
  41. public Result calcAward(@RequestParam("originId") Long originId, @RequestParam("destinationId") Long destinationId) {
  42. return Result.ok(mapService.calcAward(originId, destinationId));
  43. }
  44. }