package com.jiuqi.mobile.nigo.comeclose.manager.app; import java.util.List; import com.jiuqi.mobile.nigo.comeclose.bean.LoadOnGetList; import com.jiuqi.mobile.nigo.comeclose.bean.SelectKey; import com.jiuqi.mobile.nigo.comeclose.bean.app.gps.UserPositionBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.UserType; import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException; import com.jiuqi.mobile.nigo.comeclose.manager.IManager; import com.jiuqi.mobile.nigo.comeclose.manager.ManagerAnnotation; import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectPositionLasKey; import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectReplayKey; import com.jiuqi.mobile.nigo.comeclose.portal.PortalAnnotation; import com.jiuqi.mobile.nigo.comeclose.portal.PortalMethodAnnctation; /** * 位置处理接口,所有数组返回,默认按照距离由近到远排序 * * @author modi * */ @ManagerAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.lbs.PositionManagerImpl") @PortalAnnotation(implClass = "com.jiuqi.mobile.nigo.biz.lbs.PositionManagerImpl") public interface IPositionManager extends IManager { /** * 插入新位置记录 * @param userGPS * @throws NiGoException */ void add(UserPositionBean userGPS) throws NiGoException; /** * 插入多条记录 * @Date 2013-12-27上午11:44:01 * @method add * @fileName IPositionManager * @package com.jiuqi.mobile.nigo.comeclose.manager.app * @project comeclose * @param userGPSs * @throws NiGoException * @return void */ void add(UserPositionBean[] userGPSs) throws NiGoException; /** * 获取用户历史位置信息 * @param userGuid * @return */ UserPositionBean[] getOlds(String userGuid, long startTime, long endTime); /** * 获取用户历史位置信息 * @param mobileNumber 手机号码 * @return */ UserPositionBean[] getOldsByMobileNumber(String mobileNumber,long startTime, long endTime); /** * 获取用户历史位置信息(20150612) * @param mobileNumber 手机号码 * @return */ UserPositionBean[] getOldsByMobileNumber(String mobileNumber,long startTime, long endTime,SelectReplayKey key); /** * @Title: getOldsByMobileNumberCount * @Description: 用户位置总条数(20150612) * @param @param mobileNumber * @param @param startTime * @param @param endTime * @param @return 设定文件 * @return int 返回类型 * @throws */ int getOldsByMobileNumberCount(String mobileNumber,long startTime, long endTime,SelectReplayKey key); /** * 获取用户当前位置信息(获取当前位置) webservice方法,有效率问题 * @param userGuid * @return */ UserPositionBean find(String userGuid); /** * 获取用户当前位置信息(获取当前位置) webservice方法,有效率问题 * @param mobileNumber * @return */ UserPositionBean findByMobileNumber(String mobileNumber, int role); /** * 根据经纬度获取用户当前位置信息(获取当前位置) webservice方法,有效率问题 * @param lon * @param lat * @param mobileNumber * @return */ UserPositionBean findGisByLonLat(String lon, String lat); /** * 获取用户最后一次定位位置(无返回null) * @param mobileNumber * @return */ UserPositionBean findOldByMobileNumber(String mobileNumber); /** * 此方法有效率问题</br> 根据用户的数据字典获取周边信息 * @param mobileNumber * @return */ @Deprecated // 用getPoisBySelectKey(SelectPoiKey selectPoiKey)代替 UserPositionBean[] getNearbyPointsByUserType(UserType userType); /** * 根据距离查找周边 * @param longitude * @param latitude * @param range_kilometer 辐射范围,单位:公里 * @return */ @Deprecated // 用getPoisBySelectKey(SelectPoiKey selectPoiKey)代替 UserPositionBean[] getNearByPointsByRange(double longitude,double latitude, double range_kilometer,long startPage,long size); /** * @Title: getPoisBySelectKey * @Description: TODO(通过周边条件获取位置信息) * @param @param selectPoiKey * @param @return 设定文件 * @return UserPositionBean[] 返回类型 * @throws */ UserPositionBean[] getPoisBySelectKey(SelectPoiKey selectPoiKey); /** * @Title: resetLastSuccAreaCode * @Description: TODO(重置最后一次定位的areacode) * @param 设定文件 * @return void 返回类型 * @throws */ void resetLastSuccAreaCode(); /** * @Title: findByContent * @Description: TODO(查询“错误代码102”的定位信息) * @param 设定文件 * @return void 返回类型 * @throws */ @PortalMethodAnnctation void findByContent(); /** * @Title: planLbs * @Description: TODO(定时定位) * @param 设定文件 * @return void 返回类型 * @throws */ void planLbs(); /** * 清理三个月前的位置信息 */ @PortalMethodAnnctation void clearPositionGpsoneHis(); /** * @Title: getIsSuccessCodes * @Description: TODO(获取定位返回码,0表示成功,其他表示错误代码) * @param @return 设定文件 * @return List<UserPositionBean> 返回类型 * @throws */ List<UserPositionBean> getIsSuccessCodes(); /** * * @Title: search * @Description: TODO(带分页的最后一次定位详情查询) * @param @param key * @param @return 设定文件 * @return LoadOnGetList<UserPositionBean> 返回类型 * @throws */ public LoadOnGetList<UserPositionBean> search(SelectPositionLasKey key); /** * * @Title: statisticsIsSuccessByPrivince * @Description: TODO(按省份统计定位返回结果) * @param @return 设定文件 * @return List<UserPositionBean> 返回类型 * @throws */ public List<UserPositionBean> statisticsIsSuccessByPrivince(long code,String startDate,String endDate); /** * * @Title: findLastSuccess * @Description: TODO(查询最后一次定位成功信息) * @param @param mobileNumber * @param @return 设定文件 * @return UserPositionBean 返回类型 * @throws */ @PortalMethodAnnctation public UserPositionBean findLastSuccess(String mobileNumber); /** * * @Title: getPositionsForWeather * @Description: TODO(获取发送天气预报的位置信息) * @param @return 设定文件 * @return List<UserPositionBean> 返回类型 * @throws */ public List<UserPositionBean> getPositionsForWeather(); /** * @Title: getSimByProvinceAndCityForWeather * @Description: TODO(根据定位所得省市获取电话号码集合。注释:仅用于天气预报) * @param @param province * @param @param city * @param @return 设定文件 * @return String[] 返回类型 * @throws */ public String[] getSimByProvinceAndCityForWeather(String province,String city); }