package com.stylefeng.guns.modular.system.service.impl;
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.stylefeng.guns.modular.system.dao.AdvertisementMapper;
|
import com.stylefeng.guns.modular.system.model.Advertisement;
|
import com.stylefeng.guns.modular.system.service.IAdvertisementService;
|
import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
|
import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
|
import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
|
import com.stylefeng.guns.modular.system.util.RedisUtil;
|
import com.stylefeng.guns.modular.system.warpper.AdvertisementWarpper;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
@Service
|
public class AdvertisementServiceImpl extends ServiceImpl<AdvertisementMapper, Advertisement> implements IAdvertisementService {
|
|
@Resource
|
private AdvertisementMapper advertisementMapper;
|
|
@Resource
|
private RedisUtil redisUtil;
|
|
|
|
/**
|
* 获取广告
|
* @param type 广告类型(1:弹窗广告,2:底部广告)
|
* @return
|
* @throws Exception
|
*/
|
@Override
|
public List<AdvertisementWarpper> queryAdvertisement(Integer uid, Double lat, Double lnt, Integer type) throws Exception {
|
String tripId = redisUtil.getValue("trip" + uid);
|
ReverseGeocodeVo reverseGeocode = GoogleMapUtil.getReverseGeocode(lat, lnt, tripId);
|
if(null == reverseGeocode){
|
return new ArrayList<>();
|
}
|
AddressComponentsVo[] addressComponentsVos = reverseGeocode.getAddressComponentsVos();
|
String[] city = new String[addressComponentsVos.length];
|
for (int i = 0; i < addressComponentsVos.length; i++) {
|
city[i] = addressComponentsVos[i].getLongName();
|
}
|
List<AdvertisementWarpper> list = advertisementMapper.queryAdvertisement(city, type);
|
return list;
|
}
|
}
|