From aa981c60d68d3410d4ea580ca6f24abab43cb30f Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期三, 12 八月 2020 17:15:11 +0800
Subject: [PATCH] fix sync person from hik and update phoneNum if change
---
service/carService.go | 10 +++++-----
service/userService.go | 9 ++++-----
models/user.go | 10 ++++------
3 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/models/user.go b/models/user.go
index ea773c9..bab5e41 100644
--- a/models/user.go
+++ b/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
}
diff --git a/service/carService.go b/service/carService.go
index a3c45e0..3fdff76 100644
--- a/service/carService.go
+++ b/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++
}
}
diff --git a/service/userService.go b/service/userService.go
index 71bf37f..dc2f08b 100644
--- a/service/userService.go
+++ b/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 {
--
Gitblit v1.8.0