TopologicalHouseWdController.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.ruoyi.demo.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.ruoyi.common.core.domain.R;
  4. import com.ruoyi.demo.constant.RedisContant;
  5. import com.ruoyi.demo.entity.TopologicalHouseWd;
  6. import com.ruoyi.demo.entity.TopologicalHouseWdStatisticsData;
  7. import com.ruoyi.demo.entity.vo.TopologicalWdAceeptVo;
  8. import com.ruoyi.demo.service.TopologicalHouseWdService;
  9. import com.ruoyi.demo.valida.TopologicalWdGroup;
  10. import com.ruoyi.demo.valida.TopologicalWdListGroup;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.data.redis.core.RedisTemplate;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.concurrent.TimeUnit;
  19. @RestController
  20. @RequestMapping("/poi/topologicalHouseWd")
  21. public class TopologicalHouseWdController {
  22. @Autowired
  23. TopologicalHouseWdService topologicalHouseWdService;
  24. @Autowired
  25. RedisTemplate redisTemplate;
  26. /**
  27. * 获取小区网点关键信息
  28. * @param topologicalWdAceeptVo 周边网点接受体
  29. * @return
  30. */
  31. @RequestMapping("/info")
  32. public R info(@Validated(value = {TopologicalWdGroup.class}) TopologicalWdAceeptVo topologicalWdAceeptVo){
  33. String md5 = topologicalWdAceeptVo.getHash();
  34. //2.查看redis中是否存在有缓存
  35. TopologicalHouseWdStatisticsData wdCount = (TopologicalHouseWdStatisticsData) redisTemplate.boundHashOps(RedisContant.TOPOLOGICAL_HOUSE_WD_INFO).get(md5);
  36. if (wdCount != null) {
  37. return R.ok(wdCount);
  38. }
  39. TopologicalHouseWdStatisticsData info = topologicalHouseWdService.info(topologicalWdAceeptVo);
  40. redisTemplate.boundHashOps(RedisContant.TOPOLOGICAL_HOUSE_WD_INFO).put(md5,info);
  41. redisTemplate.expire(RedisContant.TOPOLOGICAL_HOUSE_WD_INFO,RedisContant.TOPOLOGICAL_HOUSE_WD_INFO_TIME, TimeUnit.MINUTES); //30分钟
  42. return R.ok(info);
  43. }
  44. /**
  45. * 获取小区网点列表
  46. * @param topologicalWdAceeptVo 周边网点接受体
  47. * @return
  48. */
  49. @RequestMapping("/list")
  50. public R list(@Validated(value = {TopologicalWdListGroup.class}) TopologicalWdAceeptVo topologicalWdAceeptVo){
  51. String md5 = topologicalWdAceeptVo.getHash();
  52. //2.查看redis中是否存在有缓存
  53. Page<TopologicalHouseWd> wdCount = (Page<TopologicalHouseWd>) redisTemplate.boundHashOps(RedisContant.TOPOLOGICAL_HOUSE_WD_LIST).get(md5);
  54. if (wdCount != null) {
  55. return R.ok(wdCount);
  56. }
  57. Page<TopologicalHouseWd> list = topologicalHouseWdService.list(topologicalWdAceeptVo);
  58. redisTemplate.boundHashOps(RedisContant.TOPOLOGICAL_HOUSE_WD_LIST).put(md5,list);
  59. redisTemplate.expire(RedisContant.TOPOLOGICAL_HOUSE_WD_LIST,RedisContant.TOPOLOGICAL_HOUSE_WD_LIST_TIME, TimeUnit.MINUTES); //30分钟
  60. return R.ok(list);
  61. }
  62. }