Example #1
0
        public string Process(string json)
        {
            Response resultInfo = new Response();

            try
            {
                //string citFilePath, int fs, int upperFreq, int lowerFreq, int windowLen, List<double> upperChannelFreq, List<double> lowerChannelFreq, int segmentLen, out string filePath

                BatRequest request = JsonConvert.DeserializeObject <BatRequest>(json);

                string idfFilePath = "";

                var avgList = batProcess.BatProcessAll(request.path, request.fs, request.upperFreq, request.lowerFreq, request.windowLen,
                                                       request.upperChannelFreq, request.lowerChannelFreq, request.segmentLen, request.idfFilePath, out idfFilePath);

                string result = JsonConvert.SerializeObject(avgList);

                BatResult br = new BatResult();
                br.IdfFilePath = idfFilePath;
                br.AvgResult   = result;

                string data = JsonConvert.SerializeObject(br);

                resultInfo.flag = 1;
                resultInfo.msg  = "Success";
                resultInfo.data = data;
            }
            catch (Exception ex)
            {
                resultInfo.flag = 0;
                resultInfo.msg  = ex.Message;
            }

            return(JsonConvert.SerializeObject(resultInfo));
        }
Example #2
0
        public string ProcessMaxAndAvg(string json)
        {
            Response resultInfo = new Response();

            try
            {
                MaxRequest obj         = JsonConvert.DeserializeObject <MaxRequest>(json);
                string     idfFilePath = batProcess.CalcMax(obj.path, obj.sectionLen, obj.exportPath, obj.isCreateIdf);

                var avgList = batProcess.CalcAvg(idfFilePath);

                string result = JsonConvert.SerializeObject(avgList);

                BatResult br = new BatResult();
                br.IdfFilePath = idfFilePath;
                br.AvgResult   = result;

                string data = JsonConvert.SerializeObject(br);

                resultInfo.flag = 1;
                resultInfo.msg  = "Success";
                resultInfo.data = data;
            }
            catch (Exception ex)
            {
                resultInfo.flag = 0;
                resultInfo.msg  = ex.Message;
            }

            return(JsonConvert.SerializeObject(resultInfo));
        }
Example #3
0
        public string ProcessAvg(string json)
        {
            Response resultInfo = new Response();

            try
            {
                BaseRequest obj = JsonConvert.DeserializeObject <BaseRequest>(json);

                var avgList = batProcess.CalcAvg(obj.path);

                string result = JsonConvert.SerializeObject(avgList);

                BatResult br = new BatResult();
                br.IdfFilePath = obj.path;
                br.AvgResult   = result;

                string data = JsonConvert.SerializeObject(br);

                resultInfo.flag = 1;
                resultInfo.msg  = "Success";
                resultInfo.data = data;
            }
            catch (Exception ex)
            {
                resultInfo.flag = 0;
                resultInfo.msg  = ex.ToString();
            }

            return(JsonConvert.SerializeObject(resultInfo));
        }
Example #4
0
        /// <summary>
        /// 多线程处理批处理任务(此方法专为任务管线定制而成)
        /// 目的:在主线程中避免进行耗时操作
        /// </summary>
        /// <param name="batPath"></param>
        public static void CallBatByThread <T>(string batPath, BuildTask <T> task)
        {
            Func <string, BatResult> callBatThread = CallBatFunc;

            callBatThread.BeginInvoke(batPath, (ar) => {
                BatResult result = callBatThread.EndInvoke(ar);
                //UnityEngine.Debug.LogError("CallBatByThread result : " + result);
                switch (result)
                {
                case BatResult.Success:
                    task.Status = TaskStatus.Success;
                    break;

                case BatResult.Failure:
                    task.Status = TaskStatus.Failure;
                    break;
                }
            }, callBatThread);
        }