hxb
2020-12-17 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f
HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
using System.Net;
using HDL_ON.DAL.Server;
@@ -7,25 +7,34 @@
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
    public class Send
    public  class Send
    {
        ///// <summary>
        ///// 住宅ID
        ///// </summary>
        //public static string homeId = Entity.DB_ResidenceData.residenceData.CurReginID;
        ///// <summary>
        ///// 网关ID
        ///// </summary>
        //public static string gatewayId = DriverLayer.Control.Ins.GatewayId;
        /// <summary>
        /// 网关ID(获取嘉乐网关ID)
        /// </summary>
        public static string gatewayId
        {
            get
            {
                if (Entity.DB_ResidenceData.Instance.HomeGateway == null)
                {
                    return DriverLayer.Control.Ins.GatewayId;
                }
                return Entity.DB_ResidenceData.Instance.HomeGateway.gatewayId;
            }
        }
        /// <summary>
        /// 住宅ID
        /// </summary>
        public static string homeId = "1333681497069043713";
        /// <summary>
        /// 网关ID
        /// </summary>
        public static string gatewayId = "1333682616549752834";
        public static string homeId
        {
            get
            {
                return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID;
            }
        }
        /// <summary>
        /// 获取逻辑ID列表
        /// </summary>
@@ -34,18 +43,34 @@
        {
            var jObject = new JObject { { "homeId", homeId } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List);
            //如果是token过期则刷新token
            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
            {
                RefreshToken();
                getLogicIdList();
            }
            return responsePackNew;
        }
        /// <summary>
        /// 获取逻辑
        /// </summary>
        /// <param name="listIdList">逻辑ID列表</param>
        /// <returns></returns>
        public static ResponsePackNew getLogic(Logic logic)
        public static ResponsePackNew getLogic(List<string> listIdList)
        {
            var jArray = new JArray { };
            jArray.Add(logic.sid);
            for (int i = 0; i < listIdList.Count; i++)
            {
                jArray.Add(listIdList[i]);
            }
            var jObject = new JObject { { "userLogicIds", jArray } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info);
            //如果是token过期则刷新token
            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
            {
                RefreshToken();
                getLogic(listIdList);
            }
            return responsePackNew;
        }
        /// <summary>
@@ -119,6 +144,12 @@
                logicjArray.Add(logicIfon);
                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add);
                //如果是token过期则刷新token
                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
                {
                    RefreshToken();
                    AddLogic(logic);
                }
            }
            catch (Exception e)
@@ -129,7 +160,6 @@
            return responsePackNew;
        }
        /// <summary>
        /// 编辑更新逻辑
        /// </summary>
@@ -190,6 +220,7 @@
                var logicjArray = new JArray { };
                var logicIfon = new JObject { };
                logicIfon.Add("userLogicId", logic.userLogicId);
                logicIfon.Add("sid", logic.sid);
                logicIfon.Add("gatewayId", gatewayId);
                logicIfon.Add("name", logic.name);
@@ -201,7 +232,12 @@
                logicjArray.Add(logicIfon);
                var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update);
                //如果是token过期则刷新token
                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
                {
                    RefreshToken();
                    updateLogic(logic);
                }
            }
            catch (Exception e)
            {
@@ -218,9 +254,15 @@
        public static ResponsePackNew delLogic(Logic logic)
        {
            var jArray = new JArray { };
            jArray.Add(logic.sid);
            jArray.Add(logic.userLogicId);
            var jObject = new JObject { { "userLogicIds", jArray } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Delete);
            //如果是token过期则刷新token
            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
            {
                RefreshToken();
                delLogic(logic);
            }
            return responsePackNew;
        }
        /// <summary>
@@ -229,25 +271,29 @@
        /// <returns></returns>
        public static ResponsePackNew switchLogic(Logic logic)
        {
            logic.enable ="false";
            var jArray = new JArray { };
            var job = new JObject { { "userLogicId", logic.sid } , { "enable", logic.enable } };
            var job = new JObject { { "userLogicId", logic.userLogicId } , { "enable", logic.enable } };
            jArray.Add(job);
            var jObject = new JObject { { "logics", jArray } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Enable);
            //如果是token过期则刷新token
            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
            {
                RefreshToken();
                switchLogic(logic);
            }
            return responsePackNew;
        }
        /// <summary>
        ///请求服务器(与住宅有关:例如;homeId)
        /// </summary>
        /// <returns></returns>
        public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 10)
        public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 3)
        {
            var requestJson = HttpUtil.GetSignRequestJson(o);
            return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
        }
        /// <summary>
        /// 请求服务器
        /// </summary>
@@ -258,6 +304,13 @@
            return HttpUtil.RequestHttpsPost(api_Url, requestJson);
        }
        /// <summary>
        /// 刷新Token
        /// </summary>
        public static void RefreshToken()
        {
            IMessageCommon.Current.StartRefreshToken();
        }
    }
}