北斗定位
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 satır
1.9KB

  1. package com.telpo.dipperposition.service.impl;
  2. import com.telpo.dipperposition.entity.mongo.IpProvinceEntity;
  3. import com.telpo.dipperposition.mapper.IpProvinceMapper;
  4. import com.telpo.dipperposition.service.IpProvinceService;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.data.domain.Example;
  8. import org.springframework.data.domain.ExampleMatcher;
  9. import org.springframework.stereotype.Service;
  10. import java.util.Optional;
  11. /**
  12. * @program: DataPushServer
  13. * @description: 推送记录服务接口实现类
  14. * @author: linwl
  15. * @create: 2020-07-20 11:09
  16. */
  17. @Slf4j
  18. @Service
  19. public class IpProvinceServiceImpl implements IpProvinceService {
  20. @Autowired
  21. private IpProvinceMapper ipProvinceMapper;
  22. // private static IpProvinceService ipProvinceService;
  23. // /**
  24. // * spring会自动从ioc容器当中根据IPProvinceService类型找到ipProvinceService,当做参数传进来
  25. // *
  26. // */
  27. // @Override
  28. // public void setIPProvinceService(IpProvinceService ipProvinceService) {
  29. // this.ipProvinceService = ipProvinceService;
  30. // }
  31. @Override
  32. public boolean saveIpProvince(IpProvinceEntity entity) {
  33. ipProvinceMapper.save(entity);
  34. return true;
  35. }
  36. @Override
  37. public boolean romveById(String id) {
  38. ipProvinceMapper.deleteById(id);
  39. return false;
  40. }
  41. @Override
  42. public IpProvinceEntity getIpProvince(String ipAddress) {
  43. try {
  44. IpProvinceEntity query = new IpProvinceEntity();
  45. query.setIp(ipAddress);
  46. //忽略_class属性,不参与查询
  47. ExampleMatcher matcher = ExampleMatcher.matching().withIgnorePaths("_class");
  48. Example<IpProvinceEntity> example = Example.of(query, matcher);
  49. Optional<IpProvinceEntity> data = ipProvinceMapper.findOne(example);
  50. return data.orElse(null);
  51. } catch (Exception e) {
  52. log.error("获取IP省份异常:", e);
  53. return null;
  54. }
  55. }
  56. }