package com.jiuqi.mobile.lbs.intf.pub;
import java.io.Serializable;
import com.jiuqi.mobile.lbs.intf.internal.LBSType;
import com.jqmobile.core.orm.DBColumn;
import com.jqmobile.core.orm.DBTable;
import com.jqmobile.core.utils.plain.GUIDUtils;
import com.jqmobile.core.utils.plain.UUIDUtils;
@DBTable(name="S_LBS_INFO")
public class LBSInfo implements Serializable{
@DBColumn(mapping=false)
private static final long serialVersionUID = 6644239184456563134L;
@DBColumn(primaryId=true)
private String recid;
private int lbsType;//定位方式
@DBColumn(id=true)
private String userId;//请求用户ID
private String mobileNumber;// 手机号码
//===========
// 值 含义
// 0 未使用
// 1 返回的是初始位置
// 2 返回的是更新后的位置
// 3 返回的是最近一次的位置
// 4 所请求的位置信息不可得
// 5 目标MS断开。目标MS不再有分配的业务信道(例如MS话音呼叫已断开)并且定位业务是与话音呼叫相关的。
// 6 目标MS已切换。由于切换而使位置不可得(例如,切换至无定位能力的系统)
// 7 MS已去激活或漫游至其它系统
// 8 无响应
// 9 MS有响应,但拒绝位置请求
// 10 系统失败
// 11 未知的MSID
// 12 回叫号码未知
// 13 无效的请求信息(例如,无效的信道信息,无效的ESN)
// 14 返回的是手机的信道信息
// 15 未检测到信号
// 16 PDE超时
// 17 位置未确定
// 18 返回的是TDMA MAHO信息
// 19 TDMA MAHO信息不可得
// 20 接入拒绝(例如,请求方未授权)
// 21 所请求的PQOS无法达到
// 22 CDMA中基于移动台的定位所需的资源目前不可得。目标MS目前不能进行基于移动台的定位操作(例如,业务信道不可用)
// 23 CDMA中基于移动台的定位操作失败。
// 24 CDMA中基于移动台的定位操作不能被PDE触发。
// 25 CDMA中基于移动台的定位操作未完成——业务信道用于话音业务。CDMA中基于移动台的定位操作不能完成,因为业务信道被释放以用于向话音业务提供资源
// 其它值 未使用
//自定义(当前手机端使用)
// -1 手机端GPS获取位置失败
// -2 手机端网络获取位置失败
// -4 手机端获取位置失败
// 0 手机端获取位置成功
private int resultCode;//定位结果
@DBColumn(length=2000)
private String resultContent;//返回原始文本
private int cellId;//基站ID
private int positionResult;//定位类型返回值
private int longitudeType;//< LONGITUDETYPE>0</ LONGITUDETYPE>【注释:0:东经,1:西经】
private double longitude;//经度
private int latitudeType;//<LATITUDETYPE>0</LATITUDETYPE>【注释:0:南纬;1:北纬】
private double latitude;//纬度
private double altitude;//高度
private double radius;//定位半径
private int posour;//定义位置来源:位置信息是从哪里获取的
@DBColumn(date=true)
private long lbstime;//定位时间
// @DBColumn(mapping=false)
private GisInfo gisInfo;//详细地址信息
public String getRecid() {
return recid;
}
public void setRecid() {
this.recid = UUIDUtils.getUUIDByText(mobileNumber+lbstime).toString();
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = GUIDUtils.valueOf(userId).toString();
}
public LBSType getLbsType() {
return LBSType.getLBSType(lbsType);
}
public void setLbsType(int lbsTypeCode) {
this.lbsType = lbsTypeCode;
}
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
public String getResultContent() {
return resultContent;
}
public void setResultContent(String resultContent) {
this.resultContent = resultContent;
}
public int getPositionResult() {
return positionResult;
}
public void setPositionResult(int positionResult) {
this.positionResult = positionResult;
}
public int getLongitudeType() {
return longitudeType;
}
public void setLongitudeType(int longitudeType) {
this.longitudeType = longitudeType;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public int getLatitudeType() {
return latitudeType;
}
public void setLatitudeType(int latitudeType) {
this.latitudeType = latitudeType;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getAltitude() {
return altitude;
}
public void setAltitude(double altitude) {
this.altitude = altitude;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public int getPosour() {
return posour;
}
public void setPosour(int posour) {
this.posour = posour;
}
public long getLbstime() {
return lbstime;
}
public void setLbstime(long lbstime) {
this.lbstime = lbstime;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public int getCellId() {
return cellId;
}
public void setCellId(int cellId) {
this.cellId = cellId;
}
public int getResultCode() {
return resultCode;
}
public void setResultCode(int resultCode) {
this.resultCode = resultCode;
}
public GisInfo getGisInfo() {
if(null == this.gisInfo){
this.gisInfo = new GisInfo(longitude, latitude);
this.gisInfo.setRecid();
}
return gisInfo;
}
}