| | |
| | | |
| | | face := req.FaceListObject.FaceObject[0] |
| | | |
| | | logger.Debug("接收到人脸数据, Id:%s Ip:%s faceId:%s, LeftTopX:%d, appearTime:%s", c.RemoteIP(), face.DeviceID, face.FaceID, face.LeftTopX, face.FaceAppearTime) |
| | | logger.Debug("Receive new message, Id:%s Ip:%s faceId:%s, LeftTopX:%d, appearTime:%s", c.RemoteIP(), face.DeviceID, face.FaceID, face.LeftTopX, face.FaceAppearTime) |
| | | |
| | | a.Repository.FaceForward(req.FaceListObject.FaceObject) |
| | | |
| | |
| | | |
| | | func (c CaptureRepository) FaceForward(faceList []vo.FaceObject) { |
| | | if faceList == nil || len(faceList) == 0 { |
| | | logger.Warn("faceList is nil") |
| | | logger.Warn("FaceList is nil") |
| | | return |
| | | } |
| | | |
| | |
| | | return |
| | | } |
| | | |
| | | if !c.SendData(payload, config.ForwardConf.SyncServer) { |
| | | c.CacheData(payload) |
| | | logger.Warn("数据转发失败, 添加缓存") |
| | | if !util.SendData(payload, config.ForwardConf.SyncServer) { |
| | | cacheItem, _ := json.Marshal(pd) |
| | | c.CacheData(cacheItem) |
| | | logger.Warn("The data forwarding failed, adding to local cache.") |
| | | } else { |
| | | logger.Debug("数据转发成功") |
| | | logger.Debug("The data forwarding successful. deviceId:%s", deviceId) |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | return pd |
| | | } |
| | | |
| | | func (c CaptureRepository) SendData(payload []byte, url string) bool { |
| | | body, err := util.HttpPost(url, nil, payload) |
| | | if err != nil { |
| | | logger.Error("Post request failure, url:%s, err:%s", err.Error()) |
| | | return false |
| | | } |
| | | |
| | | var rsp vo.SyncServerResponse |
| | | err = json.Unmarshal(body, &rsp) |
| | | if err != nil { |
| | | logger.Error("Can't parse response, url:%s, rsp: %v", url, body) |
| | | return false |
| | | } |
| | | |
| | | return rsp.Success |
| | | } |
| | | |
| | | func (c CaptureRepository) CacheData(payload []byte) { |
| | |
| | | package service |
| | | |
| | | import ( |
| | | "encoding/json" |
| | | "gat1400Exchange/config" |
| | | "gat1400Exchange/models" |
| | | "gat1400Exchange/pkg/logger" |
| | | "gat1400Exchange/util" |
| | | "gat1400Exchange/vo" |
| | | ) |
| | | |
| | | func ResendImageData() { |
| | |
| | | cacheItems, _ := cacheMod.FindAll() |
| | | |
| | | for _, c := range cacheItems { |
| | | if !SendData([]byte(c.Data), config.ForwardConf.SyncServer) { |
| | | if !util.SendData([]byte(c.Data), config.ForwardConf.SyncServer) { |
| | | logger.Warn("The data resend failed. retry count %d", c.Retry) |
| | | |
| | | c.Retry = c.Retry + 1 |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | func SendData(payload []byte, url string) bool { |
| | | body, err := util.HttpPost(url, nil, payload) |
| | | if err != nil { |
| | | logger.Error("Post request failure, url:%s, err:%s", err.Error()) |
| | | return false |
| | | } |
| | | |
| | | var rsp vo.SyncServerResponse |
| | | err = json.Unmarshal(body, &rsp) |
| | | if err != nil { |
| | | logger.Error("Can't parse response, url:%s, rsp: %v", url, body) |
| | | return false |
| | | } |
| | | |
| | | return rsp.Success |
| | | } |
| | |
| | | |
| | | import ( |
| | | "bytes" |
| | | "encoding/json" |
| | | "io" |
| | | "net/http" |
| | | |
| | | "gat1400Exchange/pkg/logger" |
| | | "gat1400Exchange/vo" |
| | | ) |
| | | |
| | | func SendData(payload []byte, url string) bool { |
| | | body, err := HttpPost(url, nil, payload) |
| | | if err != nil { |
| | | logger.Error("Post request failure, url:%s, err:%s", err.Error()) |
| | | return false |
| | | } |
| | | |
| | | var rsp vo.SyncServerResponse |
| | | err = json.Unmarshal(body, &rsp) |
| | | if err != nil { |
| | | logger.Error("Can't parse response, url:%s, rsp: %v", url, body) |
| | | return false |
| | | } |
| | | |
| | | return rsp.Success |
| | | } |
| | | |
| | | func HttpPost(url string, header map[string]string, data []byte) ([]byte, error) { |
| | | req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(data)) |
| | | if err != nil { |