liuxiaolong
2020-09-07 467880f0ce1dd1778b5e9bc92631f970b6b3aa98
add testNightPush
3个文件已修改
88 ■■■■■ 已修改文件
controllers/car.go 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
routers/router.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/msgPush.go 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/car.go
@@ -243,6 +243,30 @@
    c.ServeJSON()
}
// @router /testNightPush [get]
func (c *CarController) TestNightPush() {
    carOwnNames := service.GetLeftCarOwners()
    //将具体的车主信息推送给管理员
    if carOwnNames != nil && len(carOwnNames) >0 {
        //获取车主姓名
        managerMsg := fmt.Sprintf("%s 未驶离车主: %s", time.Now().Format("2006-01-02 15:04:05"), strings.Join(carOwnNames, " "))
        mb,me, managerArr := service.Push2Manager("育英中学停车", managerMsg)
        mLogE := models.Log{
            Id: uuid.NewV4().String(),
            CreateTime: time.Now().Format("2006-01-02 15:04:05"),
            Result: mb,
            Phones: strings.Join(managerArr, ","),
        }
        if me != nil {
            mLogE.Content = me.Error()
        } else {
            mLogE.Content = managerMsg
        }
        mLogE.Insert()
        fmt.Println("mb:", mb, "me:", me, "message:", managerMsg)
    }
}
// @router /spaceInfo [get]
func (c *CarController) SpaceInfo() {
    sv := service.NewCarService()
routers/router.go
@@ -61,6 +61,7 @@
    beego.Router(preApi+"/car/crossRecord", &controllers.CarController{}, "*:CrossRecord")
    beego.Router(preApi+"/car/testPush", &controllers.CarController{}, "*:TestPush")
    beego.Router(preApi+"/testNightPush", &controllers.CarController{}, "*:TestNightPush")
    beego.Router(preApi+"/car/pushLog", &controllers.CarController{}, "*:PushLog")
    beego.Router(preApi+"/car/spaceInfo", &controllers.CarController{}, "*:SpaceInfo")
    beego.Router(preApi+"/car/spaceUser", &controllers.CarController{}, "*:SpaceUser")
service/msgPush.go
@@ -507,6 +507,69 @@
    return b,e, aliasArr, carOwners
}
//此方法做测试使用
//获取停留在车库内车主的姓名,找不到姓名返回这牌
func GetLeftCarOwners() []string {
    var carOwners []string
    pushUserM := make(map[string]string)
    var userE models.User
    allUsers, _ := userE.GetAllUsers()
    if allUsers != nil {
        for _,u := range allUsers {
            pushUserM[u.Id] = u.PhoneNum
        }
    }
    carPersonM := make(map[string]string)
    csv := NewCarService()
    carPersons := csv.GetVehicleListByPerson("")
    if carPersons != nil {
        for _, cp := range carPersons {
            cnPlateNo := preDealPlateNo(cp.PlateNo)
            if cnPlateNo != "" {
                carPersonM[cnPlateNo] = cp.PersonId
            }
        }
    }
    //夜间某些领导的车可以停在车库内
    var vipPlateNoArr []string
    vipArr := strings.Split(beego.AppConfig.String("nightVipPlateNos"), ",")
    if vipArr != nil && len(vipArr) >0 {
        for _,po := range vipArr {
            if po != "" {
                cnPo := preDealPlateNo(po)
                if cnPo != "" {
                    vipPlateNoArr = append(vipPlateNoArr, cnPo)
                }
            }
        }
    }
    hikPersonMap := csv.GetHikPersonMap()
    spaceNos := csv.FindSpaceNo("")
    for _,sn := range spaceNos {
        if sn.State == 1 { //车尚在停车场的车牌
            inCnPlateNo := preDealPlateNo(sn.PlateNo)
            if inCnPlateNo != "" {
                if !isVipCar(inCnPlateNo, vipPlateNoArr) {
                    if personId,ok := carPersonM[inCnPlateNo];ok {
                        if v,ex := hikPersonMap[personId]; ex {
                            carOwners = append(carOwners, v.PersonName)
                        }
                    } else { //找不到车主,即视为临时车,将车牌作为车主姓名推送
                        carOwners = append(carOwners, sn.PlateNo)
                    }
                }
            }
        }
    }
    return carOwners
}
//vip车主,不接收请离开的通知,也不通知管理员这个车还在车库内
func isVipCar(targetPlateNo string, vipPlateNoArr []string) bool {
    b := false