qixiaoning
8 天以前 eac932eb827c93e2e998ac1210c3f5e548af0dbf
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package controllers
 
import (
    "basic.com/valib/bhomeclient.git"
    "basic.com/valib/logger.git"
    "github.com/satori/go.uuid"
    "vamicro/camera-common/models"
)
 
type AreaController struct {
}
 
// @Summary 添加menu的区域
// @Description 添加目录上区域
// @Produce json
// @Tags 国标目录树
// @Param name formData string true "区域名字"
// @Param parentid formData string true "上一级父id"
// @Success 200 {string} json "{"code":200, data:"添加的区域信息",msg:"请求成功", success:true}"
// @Failure 200 {string} json "{"code":"错误码", data:"出错信息",msg:"请求失败", success:false}"
// @Router /data/api-v/gb28181/area/add [post]
func (ac AreaController) AreaAdd(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
    var pArea models.Area
    var cArea models.Area
    name := c.PostForm("name")
    parentId := c.PostForm("parentId")
    if parentId == "" || parentId == "0" {
        cArea.Parentids = ",0,"
    } else {
        if _, err := pArea.SelectbyId(parentId); err != nil {
            return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
        }
        cArea.Parentids = pArea.Parentids + parentId+","
    }
    cArea.Id = uuid.NewV4().String()
    cArea.Name = name
    cArea.Parentid = parentId
    cArea.Type = models.TYPE_LOCAL_TREE
    if err := cArea.Insert(); err != nil {
        return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
    }
    return &bhomeclient.Reply{ Success: true, Data: cArea }
}
 
// @Summary 修改名字
// @Description 修改区域名字
// @Accept  json
// @Produce json
// @Tags 国标目录树
// @Param id formData string true "区域id"
// @Param name formData string true "区域名字"
// @Param parentId formData string true "上一级父id"
// @Param alias formData string false "备注名称"
// @Success 200 {string} json "{"code":200, data:"删除的区域信息",msg:"请求成功", success:true}"
// @Failure 200 {string} json "{"code":"错误码", data:"出错信息",msg:"请求失败", success:false}"
// @Router /data/api-v/gb28181/area/update [post]
func (ac AreaController) AreaUpdate(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
    var aram models.Area
 
    id := c.PostForm("id")
    if id == ""{
        return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
    }
    name := c.PostForm("name")
    parentId := c.PostForm("parentId")
    if parentId == "" {
        return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
    }
    alias := c.PostForm("alias")
    rows, err := aram.SelectbyId(id)
    if err != nil {
        return &bhomeclient.Reply{ Success: false, Msg: err.Error()}
    }
    if rows == 0 {
        return &bhomeclient.Reply{ Success: false, Msg: "没有记录"}
    }
 
    err = aram.Update(id, name, parentId, alias)
    if err != nil {
        return &bhomeclient.Reply{ Success: false, Msg: err.Error()}
    }
    return &bhomeclient.Reply{ Success: true, Data: aram}
}
 
// @Summary 删除一个区域
// @Description 点击删除按钮时删除一个区域
// @Produce json
// @Tags 国标目录树
// @Param id formData string true "当前id"
// @Success 200 {string} json "{"code":200, data:"删除的区域信息",msg:"请求成功", success:true}"
// @Failure 200 {string} json "{"code":"500", data:"出错信息",msg:"请求失败", success:false}"
// @Router /data/api-v/gb28181/area/del [post]
func (ac AreaController) AreaDelete(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
    var aram models.Area
    id := c.PostForm("id")
    logger.Debug("AreaDelete id:",id)
    if id == "" {
        return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
    }
 
    rows, err := aram.SelectbyId(id)
    if err != nil {
        return &bhomeclient.Reply{ Success: false, Msg: err.Error()}
    }
    if rows == 0 {
        return &bhomeclient.Reply{ Success: false, Msg: "没有记录"}
 
    }
 
    //如果存在子节点或者摄像机
    msg, ishas := aram.IsHasCnode(id)
    if ishas {
        return &bhomeclient.Reply{ Success: false, Msg: msg }
    }
 
    if err := aram.Delete(id); err != nil {
        return &bhomeclient.Reply{ Success: false, Msg: err.Error()}
    } else {
        return &bhomeclient.Reply{ Success: true, Msg: "删除成功"}
    }
}
 
// @Summary 将摄像机挂到指定的目录树下
// @Description 将摄像机挂到指定的目录树下
// @Produce json
// @Tags 国标目录树
// @Param cameraId formData string true "摄像机id"
// @Param areaId formData string true "目录区域id"
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/gb28181/camera/updateCameraArea [post]
func (ac AreaController) UpdateCameraArea(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
    cameraId := c.PostForm("cameraId")
    areaId := c.PostForm("areaId")
    logger.Debug("UpdateCameraArea cameraId:", cameraId, "areaId:", areaId)
    if cameraId == "" || areaId == "" {
        return &bhomeclient.Reply{ Msg: "参数有误"}
    }
    var caE models.CameraArea
    if caE.UpdateArea(cameraId, areaId) {
        return &bhomeclient.Reply{ Success:true, Msg:"更新成功"}
    } else {
        return &bhomeclient.Reply{ Msg:"更新失败"}
    }
}