package com.telpo.dipperposition.service.impl; import com.telpo.dipperposition.entity.mongo.IpProvinceEntity; import com.telpo.dipperposition.mapper.IpProvinceMapper; import com.telpo.dipperposition.service.IpProvinceService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Example; import org.springframework.data.domain.ExampleMatcher; import org.springframework.stereotype.Service; import java.util.Optional; /** * @program: DataPushServer * @description: 推送记录服务接口实现类 * @author: linwl * @create: 2020-07-20 11:09 */ @Slf4j @Service public class IpProvinceServiceImpl implements IpProvinceService { @Autowired private IpProvinceMapper ipProvinceMapper; // private static IpProvinceService ipProvinceService; // /** // * spring会自动从ioc容器当中根据IPProvinceService类型找到ipProvinceService,当做参数传进来 // * // */ // @Override // public void setIPProvinceService(IpProvinceService ipProvinceService) { // this.ipProvinceService = ipProvinceService; // } @Override public boolean saveIpProvince(IpProvinceEntity entity) { ipProvinceMapper.save(entity); return true; } @Override public boolean romveById(String id) { ipProvinceMapper.deleteById(id); return false; } @Override public IpProvinceEntity getIpProvince(String ipAddress) { try { IpProvinceEntity query = new IpProvinceEntity(); query.setIp(ipAddress); //忽略_class属性,不参与查询 ExampleMatcher matcher = ExampleMatcher.matching().withIgnorePaths("_class"); Example example = Example.of(query, matcher); Optional data = ipProvinceMapper.findOne(example); if (data.isPresent() == true) { return data.get(); } else { return null; } //return data.orElse(null); } catch (Exception e) { log.error("获取IP省份异常:", e); return null; } } }