fix sync person from hik and update phoneNum if change
| | |
| | | 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) { |
| | |
| | | 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 |
| | | } |
| | |
| | | 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++ |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | var tmpUser models.User |
| | | err := tmpUser.SelectByPhoneNum(phoneNum) |
| | | err := tmpUser.SelectById(hikPersonId) |
| | | fmt.Println("login err:", err) |
| | | if err != nil { //用户不存在,则新增 |
| | | u := models.User{ |
| | |
| | | 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 { |