xuruiqian
2025-06-04 5955ac5715a811407e183042875fd1d130572d58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System;
using System.Collections.Generic;
using System.ServiceModel.Activation;
using GTech.Solution.Api.Contract;
using GTech.Solution.Api.Domain.Model;
using GTech.Solution.Api.Domain.Option;
 
namespace GTech.Solution.Api.WebSite
{
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class TruckAlarm : ApiServicesBase, ITruckAlarm
    {
        public ApiData<TruckAlarmResult> POSTAlarm(TruckAlarmData dto)
        {
            ApiData<TruckAlarmResult> data = new ApiData<TruckAlarmResult>();
            string message = string.Empty;
            if (doCheck(dto, out message))
            {
                var result = AlarmHandler(dto, out message);
                if (result != null)
                {
                    data.Code = (int)ApiDataStatus.SUCCESS;
                    data.Status = ApiDataStatus.SUCCESS.ToString();
                    data.Message = "Operation is successful!";
                    data.Data = result;
                }
                else
                {
                    data.Code = (int)ApiDataStatus.FAILED;
                    data.Status = ApiDataStatus.FAILED.ToString();
                    data.Message = message;
                    data.Data = null;
                }
            }
            else
            {
                data.Code = (int)ApiDataStatus.FAILED;
                data.Status = ApiDataStatus.FAILED.ToString();
                data.Message = message;
                data.Data = null;
            }
 
            return data;
        }
 
        private bool doCheck(TruckAlarmData dto, out string message)
        {
            message = string.Empty;
 
            return true;
        }
 
        private TruckAlarmResult AlarmHandler(TruckAlarmData dto, out string message)
        {
            TruckAlarmResult result = new TruckAlarmResult();
            message = string.Empty;
            try
            {
                result.name = dto.name;
                result.cam_ip = dto.cam_ip;
                result.distance = dto.distance;
 
                //TODO: handle alarm logic
 
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                message = "服务器内部错误,请稍后重试或联系服务器管理员!错误信息:" + e.StackTrace;
                return null;
            }
 
            return result;
        }
 
    }
}