From aafaf19184a4d3ef5bb88a8613d9bc9d7c1f27e5 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 02 七月 2019 13:52:36 +0800
Subject: [PATCH] ---

---
 main.go |  163 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 85 insertions(+), 78 deletions(-)

diff --git a/main.go b/main.go
index 33128bf..e82a43a 100644
--- a/main.go
+++ b/main.go
@@ -1,40 +1,47 @@
 package main
 
 import (
+	"basic.com/dbapi.git"
+	"basic.com/pubsub/protomsg.git"
+	"basic.com/valib/deliver.git"
 	"bufio"
 	"bytes"
-	"encoding/json"
-	"errors"
+	"flag"
 	"fmt"
+	"github.com/golang/protobuf/proto"
 	"gocv.io/x/gocv"
 	"image"
 	"image/color"
-	"io"
 	"log"
-	"mime/multipart"
-	"net/http"
 	"os"
+	"ruleprocess/cache"
 	"ruleprocess/insertdata"
 	"ruleprocess/ruleserver"
 	"ruleprocess/util"
-	"time"
-
-	"basic.com/pubsub/protomsg.git"
-	"basic.com/valib/deliver.git"
-	"github.com/golang/protobuf/proto"
+	"sync"
 )
-
+var dbIp = flag.String("dbIp","127.0.0.1","dbserver ip")
+var dbPort = flag.Int("dbPort",8001,"default dbPort=8001")
+var surveyPort = flag.Int("surveyPort",40007,"survey port") //蹇冭烦
+var pubPort = flag.Int("pubPort",50007,"pubsub port") //鏁版嵁鏇存柊
+var initchan = make(chan bool)
 func main() {
-	//wg := sync.WaitGroup{}
-	//wg.Add(1)
-	//go ruleserver.TimeTicker()
-	//nReciever("ipc:///tmp/sdk-2-rules-process.ipc", deliver.PushPull, 1)
-	//wg.Wait()
-	resp,err := DrawPolygonOnImage()
-	if err != nil {
-		log.Println("鐢绘鎴栬�呬笂浼犳湁闂")
-	}
-	log.Println(resp["fileUrl"].(string))
+	flag.Parse()
+	wg := sync.WaitGroup{}
+	wg.Add(1)
+
+	dbapi.Init(*dbIp,*dbPort)
+	go cache.Init(initchan,*dbIp,*surveyPort,*pubPort)
+	fmt.Println("cache init completed!!!",<- initchan)//dbserver鍒濆鍖栧畬姣�
+
+	go ruleserver.TimeTicker()
+	nReciever("ipc:///tmp/sdk-2-rules-process.ipc", deliver.PushPull, 1)
+	wg.Wait()
+	//resp,err := DrawPolygonOnImage()
+	//if err != nil {
+	//	log.Println("鐢绘鎴栬�呬笂浼犳湁闂")
+	//}
+	//log.Println(resp["fileUrl"].(string))
 }
 func nReciever(url string, m deliver.Mode, count int) {
 	c := deliver.NewServer(m, url)
@@ -103,7 +110,7 @@
 	}
 	i := protomsg.Image{}
 	err = proto.Unmarshal(bdata, &i)
-
+	log.Println("----------------鐪嬬湅鏈夊嚑涓畻娉曪細",len(m.Tasklab.Sdkinfos))
 	for _, sdkinfo := range m.Tasklab.Sdkinfos { // yolo绠楁硶
 		if sdkinfo.Sdktype == "Yolo" {
 			arg := ruleserver.SdkData{}
@@ -124,13 +131,13 @@
 			arg.IsStatic = false
 			if len(sdkinfo.Sdkdata) > 1 {
 				// 澶т簬1鎵嶆湁鏁版嵁
-				fmt.Println("----------------------------------------------------",m.Cid)
 				yoloParam := protomsg.ParamYoloObj{}
 				err = proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam)
 				if err != nil {
 					fmt.Println("瑙f瀽YOLO sdk鏁版嵁鏃跺嚭鐜伴敊璇�", err)
 					continue
 				}
+				log.Println("------褰撳墠绠楁硶name",sdkinfo.SdkName,"--------------鐪嬬湅yolo涓湁鍑犱釜鐩爣锛�",len(yoloParam.Infos))
 				for _, info := range yoloParam.Infos {
 					if info.Typ == 0 {
 						photoMap := ruleserver.PhotoMap{Rects: rectFormat(info.RcObj), Score: float64(info.Prob)*100,IsYolo:true}
@@ -244,61 +251,61 @@
 	}
 	gocv.FillPoly(&rook, points, green)
 	// 涓婁紶
-	fdata,_ := gocv.IMEncode(".jpg",rook)
-	body := &bytes.Buffer{}
-	writer := multipart.NewWriter(body)
-	_, err1 := writer.CreateFormFile("file", "fasjuierf")
-	if err1 != nil {
-		return nil, err1
-	}
-	boundary := writer.Boundary()
-	//close_string := fmt.Sprintf("\r\n--%s--\r\n", boundary)
-	close_buf := bytes.NewBufferString(fmt.Sprintf("\r\n--%s--\r\n", boundary))
-	file := bytes.NewBuffer(fdata)
-	request_reader := io.MultiReader(body, file, close_buf)
-	//_, err = io.Copy(part, file)
-	//writer.WriteField(key, val)
-	request, err := http.NewRequest("POST", "http://192.168.1.182:6333/submit", request_reader)
-	request.Header.Add("Content-Type", writer.FormDataContentType())
-	timeout := time.Duration(5 * time.Second) //瓒呮椂鏃堕棿50ms
-	client := &http.Client{Timeout: timeout}
-	resp, err := client.Do(request)
-	if err != nil {
-		log.Fatal(err)
-		return nil, err
-	}
-	defer func() {
-		if r := recover(); r != nil {
-			fmt.Printf("panic鐨勫唴瀹�%v\n", r)
-			msg := "涓婁紶鍥剧墖鏈嶅姟鍣ㄥ紓甯�"
-			if _, ok := r.(error); ok {
-				msg = r.(error).Error()
-				fmt.Println("panic--recover()寰楀埌鐨勬槸error绫诲瀷")
-			}
-			if _, ok := r.(string); ok {
-				msg = r.(string)
-				fmt.Println("panic--recover()寰楀埌鐨勬槸string绫诲瀷")
-			}
-			err0 = errors.New(msg)
-		}
-	}()
-	defer resp.Body.Close()
-	{
-		body := &bytes.Buffer{}
-		_, err := body.ReadFrom(resp.Body)
-		if err != nil {
-			log.Fatal(err)
-		}
-		fmt.Println(resp.StatusCode)
-		//fmt.Println(resp.Header)
-		fmt.Println(body)
-		//decoder := json.NewDecoder(strings.NewReader(body.String()))
-		decoder := make(map[string]interface{})
-		if err := json.Unmarshal([]byte(body.String()), &decoder); err != nil {
-			return nil, err
-		}
-		return decoder, nil
-	}
+	//fdata,_ := gocv.IMEncode(".jpg",rook)
+	//body := &bytes.Buffer{}
+	//writer := multipart.NewWriter(body)
+	//_, err1 := writer.CreateFormFile("file", "fasjuierf")
+	//if err1 != nil {
+	//	return nil, err1
+	//}
+	//boundary := writer.Boundary()
+	////close_string := fmt.Sprintf("\r\n--%s--\r\n", boundary)
+	//close_buf := bytes.NewBufferString(fmt.Sprintf("\r\n--%s--\r\n", boundary))
+	//file := bytes.NewBuffer(fdata)
+	//request_reader := io.MultiReader(body, file, close_buf)
+	////_, err = io.Copy(part, file)
+	////writer.WriteField(key, val)
+	//request, err := http.NewRequest("POST", "http://192.168.1.182:6333/submit", request_reader)
+	//request.Header.Add("Content-Type", writer.FormDataContentType())
+	//timeout := time.Duration(5 * time.Second) //瓒呮椂鏃堕棿50ms
+	//client := &http.Client{Timeout: timeout}
+	//resp, err := client.Do(request)
+	//if err != nil {
+	//	log.Fatal(err)
+	//	return nil, err
+	//}
+	//defer func() {
+	//	if r := recover(); r != nil {
+	//		fmt.Printf("panic鐨勫唴瀹�%v\n", r)
+	//		msg := "涓婁紶鍥剧墖鏈嶅姟鍣ㄥ紓甯�"
+	//		if _, ok := r.(error); ok {
+	//			msg = r.(error).Error()
+	//			fmt.Println("panic--recover()寰楀埌鐨勬槸error绫诲瀷")
+	//		}
+	//		if _, ok := r.(string); ok {
+	//			msg = r.(string)
+	//			fmt.Println("panic--recover()寰楀埌鐨勬槸string绫诲瀷")
+	//		}
+	//		err0 = errors.New(msg)
+	//	}
+	//}()
+	//defer resp.Body.Close()
+	//{
+	//	body := &bytes.Buffer{}
+	//	_, err := body.ReadFrom(resp.Body)
+	//	if err != nil {
+	//		log.Fatal(err)
+	//	}
+	//	fmt.Println(resp.StatusCode)
+	//	//fmt.Println(resp.Header)
+	//	fmt.Println(body)
+	//	//decoder := json.NewDecoder(strings.NewReader(body.String()))
+	//	decoder := make(map[string]interface{})
+	//	if err := json.Unmarshal([]byte(body.String()), &decoder); err != nil {
+	//		return nil, err
+	//	}
+		return nil, nil
+	//}
 }
 
 // 鎶婂浘鐗囪浆鎴愪簩杩涘埗娴�

--
Gitblit v1.8.0