307 lines
11 KiB
C#
307 lines
11 KiB
C#
|
|
|
|
using Newtonsoft.Json.Linq;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
using RuralPower;
|
|
using Newtonsoft.Json;
|
|
|
|
public class Request
|
|
{
|
|
public static RuralPowerAPI api = new RuralPowerAPI();
|
|
/// <summary>
|
|
/// 上传选择的台区数据
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendAreaData(string data)
|
|
{
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string url = ScenesRecorder._Ip;
|
|
string result = api.SelectPlatformArea(url, ExamId, UserId, data);
|
|
Debug.Log("发送台区数据:" + data);
|
|
}
|
|
/// <summary>
|
|
/// 上传围栏数据
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendEnsureData(string reason)
|
|
{
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string url = ScenesRecorder._Ip;
|
|
string result = api.UpdateEnclosure(url, ExamId, UserId);
|
|
Debug.Log("接受围栏数据:" + result);
|
|
}
|
|
/// <summary>
|
|
/// 上传场景小物体数据
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void UpLoadSmallPartsMsg(RestoreSceneMsg rsm)
|
|
{
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string url = ScenesRecorder._Ip;
|
|
string msg = JsonConvert.SerializeObject(rsm);
|
|
string result = api.UpdateRestoreSceneMsg(url, UserId, ExamId, msg);
|
|
Debug.Log("接收场景小物体数据:" + result);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 上传未验电数据
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendElectricityData(string data)
|
|
{
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string url = ScenesRecorder._Ip;
|
|
string result = api.UpdateElectricity(url, ExamId, UserId, data);
|
|
Debug.Log("发送未验电数据:" + result);
|
|
}
|
|
/// <summary>
|
|
/// 上传巡检阶段带电爬杆数据
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendClimbPoleWithElectricity()
|
|
{
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string url = ScenesRecorder._Ip;
|
|
string result = api.UpdateClimbrod(url, ExamId, UserId);
|
|
Debug.Log("发送巡检爬杆事故:" + result);
|
|
}
|
|
/// <summary>
|
|
/// 上传带电插拔熔芯否决项
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendOperaFuseInElectric()
|
|
{
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string url = ScenesRecorder._Ip;
|
|
string result = api.UpdateFusibleCore(url, ExamId, UserId);
|
|
Debug.Log("未分闸状态取熔芯:" + result);
|
|
}
|
|
/// <summary>
|
|
/// 上传断路器数据
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendCircuitBreakerData(AttrData data)
|
|
{
|
|
data.UserId = ScenesRecorder.user.user_id;
|
|
data.ExamId = ScenesRecorder.user.ExamId;
|
|
string msg = JsonConvert.SerializeObject(data);
|
|
string url = ScenesRecorder._Ip;
|
|
string result = "";
|
|
if (ScenesRecorder.IsOn_SiteInspection)
|
|
{
|
|
result = "巡检" + api.AddUserFaultRecord(url, msg);
|
|
}
|
|
else
|
|
{
|
|
result = api.AddFaultOperation(url, msg);
|
|
}
|
|
Debug.Log("发送断路器数据:"+msg);
|
|
Debug.Log("接受断路器数据:"+ result);
|
|
}
|
|
/// <summary>
|
|
/// 上传普通故障处理结果
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendFaultData(AttrData data/*DefectDetails details*/,string faultName)
|
|
{
|
|
if (data == null)
|
|
return;
|
|
data.UserId = ScenesRecorder.user.user_id;
|
|
data.ExamId = ScenesRecorder.user.ExamId;
|
|
string msg = JsonConvert.SerializeObject(data);
|
|
string url = ScenesRecorder._Ip;
|
|
string result = api.AddFaultOperation(url, msg);
|
|
Debug.Log("发送故障处理数据:" + msg);
|
|
Debug.Log("接受故障处理数据:" + result);
|
|
}
|
|
/// <summary>
|
|
/// 结束故障处理
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void StopFault()
|
|
{
|
|
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
|
|
string url = ScenesRecorder._Ip;
|
|
string result = api.EndFaultOperation(url, ExamId, UserId);
|
|
Debug.Log("结束故障记录:" + result);
|
|
}
|
|
/// <summary>
|
|
/// 发送选择了什么工器具
|
|
/// </summary>
|
|
/// <param name="toolDict"></param>
|
|
/// <returns></returns>
|
|
public static bool SendToolsData(List<api_tool_data_request> toolDict)
|
|
{
|
|
//foreach (var item in toolDict)
|
|
//{
|
|
// //Debug.Log("上传工具数据:" + item.ToolName + " " + item.Quantity);
|
|
//}
|
|
add_user_tool_request data = new add_user_tool_request();
|
|
data.UserId = ScenesRecorder.user.user_id;
|
|
data.ExamId = ScenesRecorder.user.ExamId;
|
|
if (ScenesRecorder.OperationPhase.Equals(OperationPhase.On_SiteInspection))
|
|
{
|
|
data.Purpose = "巡线";
|
|
}
|
|
else
|
|
{
|
|
data.Purpose = "排故";
|
|
}
|
|
data.Tool = toolDict;
|
|
// 发送
|
|
string url = ScenesRecorder._Ip;
|
|
string content = JsonConvert.SerializeObject(data);
|
|
Debug.Log(content);
|
|
string result = api.AddUserTool(url, content);
|
|
if (string.IsNullOrEmpty(result))
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 上传操作票选择结果
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendOperationTickData(List<OperationTicketData> tmpList, string type)
|
|
{
|
|
string msg = JsonConvert.SerializeObject(
|
|
//new
|
|
//{
|
|
// ExamId = ScenesRecorder.user.ExamId,ceshi
|
|
// Type = type,
|
|
// UserId = ScenesRecorder.user.user_id,
|
|
tmpList
|
|
//}
|
|
);
|
|
string result = api.WriteTicket(ScenesRecorder._Ip, ScenesRecorder.user.ExamId, ScenesRecorder.user.user_id, type, msg);
|
|
Debug.Log("已上传:操作票:" + msg + " 接口:" + result);
|
|
}
|
|
/// <summary>
|
|
/// 上传操作票操作结果
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendOperationTickHandleData(OperationTicketStep tmp)
|
|
{
|
|
string url = ScenesRecorder._Ip;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
|
|
string result = api.WriteTicketProc(url, ExamId, UserId, tmp.Type, tmp.OperationTicketId, tmp.Score, tmp.ScoreReason);
|
|
Debug.Log("操作步骤得分:" + tmp.Type.ToString() + " " + tmp.Score);
|
|
Debug.Log("已上传处理操作票" + tmp + "结果" + result);
|
|
}
|
|
/// <summary>
|
|
/// 上传操作票操作处理完成
|
|
/// </summary>
|
|
/// <param name="details"></param>
|
|
public static void SendOperationTickHandleFinish(string type)
|
|
{
|
|
string url = ScenesRecorder._Ip;
|
|
string ExamId = ScenesRecorder.user.ExamId;
|
|
string UserId = ScenesRecorder.user.user_id;
|
|
string result = api.StopTicketProc(url, ExamId, UserId, type);
|
|
Debug.Log("已上传处理操作票处理完成" + "结果" + type + result);
|
|
}
|
|
public static IEnumerator Get(string url, System.Action<bool, string> action)
|
|
{
|
|
UnityWebRequest webRequest = UnityWebRequest.Get(url);
|
|
yield return webRequest.SendWebRequest();
|
|
if (webRequest.result== UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError)
|
|
{
|
|
Debug.Log(webRequest.error);
|
|
action.Invoke(false, string.Empty);
|
|
}
|
|
else
|
|
{
|
|
//string msg = webRequest.downloadHandler.text;
|
|
//Debug.Log(msg);
|
|
//JObject JO = JObject.Parse(msg);
|
|
//if (JO["state"].ToString().Equals("true") || JO["state"].ToString().Equals("True"))
|
|
//{
|
|
// action.Invoke(true, JO["data"].ToString());
|
|
//}
|
|
//else
|
|
//{
|
|
// action.Invoke(false, string.Empty);
|
|
//}
|
|
}
|
|
}
|
|
public static IEnumerator Post(string url, Dictionary<string, string> keyValuePairs, System.Action<bool, string> action)
|
|
{
|
|
WWWForm form = new WWWForm();
|
|
foreach (var item in keyValuePairs)
|
|
{
|
|
form.AddField(item.Key, item.Value);
|
|
}
|
|
UnityWebRequest webRequest = UnityWebRequest.Post(url, form);
|
|
yield return webRequest.SendWebRequest();
|
|
if (webRequest.result == UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError)
|
|
{
|
|
Debug.Log(webRequest.error);
|
|
action.Invoke(false, string.Empty);
|
|
}
|
|
else
|
|
{
|
|
string msg = webRequest.downloadHandler.text;
|
|
Debug.Log(msg);
|
|
JObject JO = JObject.Parse(msg);
|
|
if (JO["state"].ToString().Equals("true") || JO["state"].ToString().Equals("True"))
|
|
{
|
|
action.Invoke(true, JO["data"].ToString());
|
|
}
|
|
else
|
|
{
|
|
action.Invoke(false, string.Empty);
|
|
}
|
|
}
|
|
}
|
|
public static IEnumerator Post_Video(string url, Dictionary<string, string> keyValuePairs, byte[] b, System.Action<bool, string> action)
|
|
{
|
|
WWWForm form = new WWWForm();
|
|
foreach (var item in keyValuePairs)
|
|
{
|
|
form.AddField(item.Key, item.Value);
|
|
}
|
|
form.AddBinaryData("Files", b,"test.mp4");
|
|
UnityWebRequest webRequest = UnityWebRequest.Post(url, form);
|
|
Debug.Log("上传了吗");
|
|
yield return webRequest.SendWebRequest();
|
|
if (webRequest.result == UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError)
|
|
{
|
|
Debug.Log(webRequest.error);
|
|
action.Invoke(false, string.Empty);
|
|
}
|
|
else
|
|
{
|
|
string msg = webRequest.downloadHandler.text;
|
|
Debug.Log(msg);
|
|
JObject JO = JObject.Parse(msg);
|
|
if (JO["state"].ToString().Equals("true") || JO["state"].ToString().Equals("True"))
|
|
{
|
|
action.Invoke(true, JO["data"].ToString());
|
|
}
|
|
else
|
|
{
|
|
action.Invoke(false, string.Empty);
|
|
}
|
|
}
|
|
}
|
|
}
|