liuxiaolong
2020-08-12 aa981c60d68d3410d4ea580ca6f24abab43cb30f
fix sync person from hik and update phoneNum if change
3个文件已修改
29 ■■■■■ 已修改文件
models/user.go 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/carService.go 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/userService.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/user.go
@@ -55,17 +55,15 @@
    return all,nil
}
func (u *User) GetAllMapByPhone() (map[string]User, map[string]User) {
    m := make(map[string]User)
func (u *User) GetAllMap() (map[string]User) {
    idM := make(map[string]User)
    all, _ := u.GetAllUsers()
    if all !=nil {
        for _,p := range all {
            m[p.PhoneNum] = p
            idM[p.Id] = p
        }
    }
    return m, idM
    return idM
}
func (u *User) Update() (int64, error) {
@@ -73,9 +71,9 @@
    return o.Update(u)
}
func (u *User) SyncHikPersonId(phoneNum string, hikPersonId string) (int64, error) {
func (u *User) UpdatePhoneNum(phoneNum string, hikPersonId string) (int64, error) {
    o := orm.NewOrm()
    res, err := o.Raw("update sys_user set id=? where phoneNum=?", hikPersonId, phoneNum).Exec()
    res, err := o.Raw("update sys_user set phoneNum=? where id=?", phoneNum, hikPersonId).Exec()
    if err != nil {
        return 0, err
    }
service/carService.go
@@ -309,13 +309,13 @@
    hikPersons := sv.GetHikPersonList()
    if hikPersons != nil && len(hikPersons) >0 {
        var u models.User
        uMap,idMap := u.GetAllMapByPhone()
        idMap := u.GetAllMap()
        hikPM := make(map[string]string)
        for _,hp := range hikPersons {
            hikPM[hp.PersonId] = hp.PersonId
            if sp,ok := uMap[hp.PhoneNo];ok {
                if sp.Id != hp.PersonId {
                    u.SyncHikPersonId(hp.PhoneNo, hp.PersonId)
            hikPM[hp.PersonId] = hp.PhoneNo
            if sp,ok := idMap[hp.PersonId];ok {
                if sp.PhoneNum != hp.PhoneNo {
                    u.UpdatePhoneNum(hp.PhoneNo, hp.PersonId)
                    syncCount++
                }
            }
service/userService.go
@@ -37,7 +37,7 @@
        }
        var tmpUser models.User
        err := tmpUser.SelectByPhoneNum(phoneNum)
        err := tmpUser.SelectById(hikPersonId)
        fmt.Println("login err:", err)
        if err != nil { //用户不存在,则新增
            u := models.User{
@@ -88,12 +88,11 @@
                return false, nil, errors.New("注册失败")
            }
        } else { //用户已存在
            if hikPersonId != tmpUser.Id {
                tmpUser.Id = hikPersonId
                tmpUser.SyncHikPersonId(tmpUser.PhoneNum, hikPersonId)
            if phoneNum != tmpUser.PhoneNum {
                tmpUser.UpdatePhoneNum(tmpUser.PhoneNum, hikPersonId)
            }
            var plateNos = make([]string, 0)
            hikVehicles := carSv.GetVehicleListByPerson(tmpUser.Id)
            hikVehicles := carSv.GetVehicleListByPerson(hikPersonId)
            if hikVehicles != nil {
                for _,up := range hikVehicles {