syntax = "proto3";

option go_package = "../protogo";

import "google/protobuf/timestamp.proto";
import "mod-user.proto";

/**  站点相关的接口  **/


// 后端返回：站点列表元素-带所有信息//站点列表元素-带基本信息 // 站点列表元素-带预报参数
// 返回IID：IID_Server_SiteList_respond
message RetSiteElement {
    string no = 2;// suid 的前三位100，120 ... 不可修改
    string name = 3;//
    RetAdminUserElement operator = 4;//user-- 暂时没用
    string remark = 5;//
    double latitude = 6;//纬度
    double longitude = 7;//经度
    double altitude = 8;//海拔
    string parent = 9;//上级站
    map<string, string> params = 10;//预报间隔:slice (1.00 ), 最低仰角:minEleAngle (5), 最高仰角:maxEleAngle (90), 最小方位角:minAziAngle (0), 最大方位角:maxAziAngle (360), 最小距离:minDist (0.0 ), 最大距离:maxDist (1000000000.0 ), 星下点计算间隔:pointDuration (60), 星下点采集间隔:pointStep (1)
    map<string, string> extend = 11;//place-所在地string country-国家 timeZone-时区，voltage-供电电压V，deltaDelay-delta 延迟ms，bandwidth-网络带宽MB，networkOperators-网络运营商
    repeated string availableArray = 12;
    bool off = 13;//
    google.protobuf.Timestamp createDt = 14;//
}

// 前端请求：站点信息列表
// 请求IID：IID_Server_SiteList
// 返回IID：IID_Server_SiteList_respond
message SiteList {
    int32 token = 1; // 当前登录用户 token，暂定用户 id
    string siteNo = 2;//站点编号，没有默认全部
    bool available = 3;//是否返回管辖的卫星
}

// 前端请求：站点修改/新增
// 请求IID：IID_Server_SiteUpdate
// 返回IID：IID_Server_SiteUpdate_respond
message SiteUpdate {
    int32 token = 1; // 当前登录用户 token，暂定用户 id
    string siteNo = 2;
    string name = 3;//站点名
    string remark = 4;//备注
    double latitude = 5;//纬度
    double longitude = 6;//经度
    double altitude = 7;//海拔
    string country = 8;// 国家
    string place = 9;//所在地
    string timeZone = 10;// 时区
    double voltage = 11;// 供电电压V
    int32 deltaDelay = 12;// delta 延迟ms
    double bandwidth = 13;// 网络带宽MB
    string networkOperators = 14;// 网络运营商
}


// 前端请求：站点预报参数修改
// 请求IID：IID_Server_SiteParamUpdate
// 返回IID：IID_Server_SiteParamUpdate_respond
message SiteParamUpdate {
    int32 token = 1; // 当前登录用户 token，暂定用户 id
    int32 id = 2;//site ID
    double slice = 3;//预报间隔:slice (1.00 )
    double minEleAngle = 4;//最低仰角:minEleAngle (5)
    double maxEleAngle = 5;//最高仰角:maxEleAngle (90)
    double minAziAngle = 6;//最小方位角:minAziAngle (0)
    double maxAziAngle = 7;//最大方位角:maxAziAngle (360)
    double minDist = 8;//最小距离:minDist (0.0 )
    double maxDist = 9;//最大距离:maxDist (1000000000.0 )
    double taskDuration = 10;//任务间隔时间
}


