76 lines
1.6 KiB
Go
76 lines
1.6 KiB
Go
package iot
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"myschools.me/suguo/hikvision/iot/model"
|
|
)
|
|
|
|
const (
|
|
card_base = "/api/v1/open/basic/cards"
|
|
card_create = card_base + "/batchCreate"
|
|
card_delete = card_base + "/batchDelete"
|
|
card_delete_cards = card_base + "/deletePersonCards"
|
|
)
|
|
|
|
// 新增卡片
|
|
func CardCreate(cards []model.CardCreateReq) (*model.Hikvision, error) {
|
|
req := &struct {
|
|
Cards []model.CardCreateReq `json:"cards"`
|
|
}{
|
|
Cards: cards,
|
|
}
|
|
|
|
resp, err := hikvisionRequest("POST", card_create, req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
var result = &model.Hikvision{}
|
|
if err := json.Unmarshal(resp, &result); err != nil {
|
|
return nil, err
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
// 删除卡片
|
|
func CardDelete(cardNos []string) (*model.Hikvision, error) {
|
|
req := &struct {
|
|
CardNos []string `json:"cardNos"`
|
|
}{
|
|
CardNos: cardNos,
|
|
}
|
|
|
|
resp, err := hikvisionRequest("POST", card_delete, req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
var result = &model.Hikvision{}
|
|
if err := json.Unmarshal(resp, &result); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return result, nil
|
|
}
|
|
|
|
// 根据人员编号删除卡片
|
|
func CardDeleteByEmployeeNo(employeeNo string, cardNos []string) (*model.Hikvision, error) {
|
|
req := &struct {
|
|
EmployeeNo string `json:"employeeNo"`
|
|
CardNos []string `json:"cardNos"`
|
|
}{
|
|
EmployeeNo: employeeNo,
|
|
CardNos: cardNos,
|
|
}
|
|
|
|
resp, err := hikvisionRequest("POST", card_delete_cards, req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
var result = &model.Hikvision{}
|
|
if err := json.Unmarshal(resp, &result); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return result, nil
|
|
}
|