liuxiaolong
2020-07-28 2d2f913495b6e1a93f928acbd99298b33088ae0c
add hik person and plateNo
3个文件已修改
121 ■■■■■ 已修改文件
controllers/user.go 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
routers/router.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/carService.go 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/user.go
@@ -132,12 +132,14 @@
func (u *UserController) MyPlateNos() {
    userId := u.GetString("userId")
    fmt.Println("MyPlateNos userId", userId)
    var uc models.UserCar
    all, err := uc.GetByUserId(userId)
    fmt.Println("all:", all, "err:", err)
    //var uc models.UserCar
    //all, err := uc.GetByUserId(userId)
    var sv service.CarService
    vehicleList := sv.GetVehicleListByPerson(userId)
    fmt.Println("vehicleList:", vehicleList)
    var nos = make([]string, 0)
    if err == nil && all != nil {
        for _,p := range all {
    if vehicleList != nil {
        for _,p := range vehicleList {
            nos = append(nos, p.PlateNo)
        }
    }
@@ -171,3 +173,18 @@
    u.ServeJSON()
}
func (u *UserController) GetUserAll() {
    resp := code.Code{}
    var sv service.CarService
    personAll := sv.GetHikPersonList()
    if personAll != nil {
        resp.Success = true
        resp.Status = http.StatusOK
        resp.Data = personAll
    }
    u.Data["json"] = resp
    u.ServeJSON()
}
routers/router.go
@@ -50,4 +50,6 @@
    beego.Router(preApi+"/user/addPlateNo", &controllers.UserController{}, "*:AddPlateNo")
    beego.Router(preApi+"/user/myPlateNos", &controllers.UserController{}, "*:MyPlateNos")
    beego.Router(preApi+"/user/delPlateNo", &controllers.UserController{}, "*:DelPlateNo")
    beego.Router(preApi+"/user/all", &controllers.UserController{}, "*:GetUserAll")
}
service/carService.go
@@ -159,7 +159,7 @@
        for _,p := range parkList {
            reqBody := map[string]interface{} {
                "parkSyscode": p.ParkIndexCode,//停车库唯一标识
                "state": 1, //车位状态,0:空闲,1:停车
                //"state": 1, //车位状态,0:空闲,1:停车
                "pageNo": 1,
                "pageSize": 1000,
            }
@@ -197,7 +197,7 @@
}
func (sv *CarService) BindCarSpace() bool {
    url := "/api/pms/v1/parking_space/car_bind/add"
    url := "/artemis/api/pms/v1/parking_space/car_bind/add"
    reqBody := map[string]interface{} {
        "spaceNos": "", //绑定的车位集
        "floorSyscode": "",//楼层唯一标识码
@@ -205,4 +205,92 @@
    }
    fmt.Println(url, reqBody)
    return true
}
type HikPerson struct {
    PersonId             string                         `json:"personId"`
    PersonName             string                         `json:"personName"`
    Gender                 int                         `json:"gender"`
    Phone                 string                         `json:"phone"`
    JobNo                string                         `json:"jobNo"`
    OrgIndexCode         string                         `json:"orgIndexCode"`
    CertificateType     string                         `json:"certificateCode"`
    CertificateNo         string                         `json:"certificateNo"`
    CreateTime             string                         `json:"createTime"`
    UpdateTime             string                         `json:"updateTime"`
    OrgPath             string                         `json:"orgPath"`
    OrgPathName         string                         `json:"orgPathName"`
    PersonPhone         []HikPersonPhoto            `json:"personPhoto"`
}
type HikPersonPhoto struct {
    PersonPhotoIndexCode             string                 `json:"personPhotoIndexCode"`
    PicUri                             string                 `json:"picUri"`
    ServerIndexCode                 string                 `json:"serverIndexCode"`
    PersonId                         string                 `json:"personId"`
}
func (sv *CarService) GetHikPersonList() []HikPerson {
    url := "/artemis/api/resource/v2/person/personList"
    reqBody := map[string]interface{} {
        "pageNo": 1,
        "pageSize": 10000,
    }
    fmt.Println(url, reqBody)
    result := sv.hikUtil.Post(url, reqBody)
    fmt.Println("findPersonList result:", result)
    if result.Code == reqUtil.HikResult_Success {
        b, err := json.Marshal(result.Data)
        if err == nil {
            var list []HikPerson
            if err = json.Unmarshal(b, &list);err == nil {
                return list
            }
        }
    }
    return nil
}
type HikVehicle struct {
    VehicleId                 string             `json:"vehicleId"`
    PlateNo                 string             `json:"plateNo"`
    PersonId                 string             `json:"personId"`
    RegionIndexCode         string             `json:"regionIndexCode"`
    PlateType                 int             `json:"plateType"`
    PlateColor                 int             `json:"plateColor"`
    VehicleType             int             `json:"vehicleType"`
    VehicleColor             int             `json:"vehicleColor"`
    Description             string             `json:"description"`
    CreateTime                 string             `json:"createTime"`
    UpdateTime                 string             `json:"updateTime"`
    RegionName                 string             `json:"regionName"`
    RegionPath                 string             `json:"regionPath"`
    RegionPathName             string             `json:"regionPathName"`
    IsBandPerson             int             `json:"isBandPerson"`
    PersonName                 string             `json:"personName"`
    OrgPath                 string             `json:"orgPath"`
    OrgPathName             string             `json:"orgPathName"`
}
//获取指定人员的车辆车牌信息
func (sv *CarService) GetVehicleListByPerson(personId string) []HikVehicle {
    url := "/artemis/api/resource/v2/vehicle/advance/vehicleList"
    reqBody := map[string]interface{} {
        "pageNo": 1,
        "pageSize": 100,
        "personIds": personId,
    }
    fmt.Println(url, reqBody)
    result := sv.hikUtil.Post(url, reqBody)
    fmt.Println("getVehicleList result:", result)
    if result.Code == reqUtil.HikResult_Success {
        b, err := json.Marshal(result.Data)
        if err == nil {
            var list []HikVehicle
            if err = json.Unmarshal(b, &list);err == nil {
                return list
            }
        }
    }
    return nil
}