修复用户同步请求数据问题
This commit is contained in:
parent
6560a9a5c2
commit
27858d41e7
|
|
@ -150,3 +150,9 @@ type UserSyncResp struct {
|
||||||
Add []User `json:"add" form:"add"` //添加用户
|
Add []User `json:"add" form:"add"` //添加用户
|
||||||
Delete []proto.UserDelID `json:"delete" form:"delete"` //删除用户
|
Delete []proto.UserDelID `json:"delete" form:"delete"` //删除用户
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 清空用户表
|
||||||
|
func ClearAllUsers() error {
|
||||||
|
res := DB.Exec("TRUNCATE TABLE users")
|
||||||
|
return res.Error
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -115,6 +115,12 @@ func UserSyncDataFromMaster() {
|
||||||
var is_all bool //是否全量同步
|
var is_all bool //是否全量同步
|
||||||
if all == "" || all == "1" {
|
if all == "" || all == "1" {
|
||||||
is_all = true
|
is_all = true
|
||||||
|
//清空数据表
|
||||||
|
err := dao.ClearAllUsers()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("All ClearAllUsers error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
worker.SetRedis("user_sync_all", "1")
|
worker.SetRedis("user_sync_all", "1")
|
||||||
req.Types = 1
|
req.Types = 1
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -122,7 +128,11 @@ func UserSyncDataFromMaster() {
|
||||||
req.Types = 2
|
req.Types = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
user_sync_data := worker.SyncDataFromMasterReq2(url, req)
|
user_sync_data, err := worker.SyncDataFromMasterReq2(url, req)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("UserSyncDataFromMaster error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
add_users := user_sync_data.Add
|
add_users := user_sync_data.Add
|
||||||
update_users := user_sync_data.Update
|
update_users := user_sync_data.Update
|
||||||
delete_users := user_sync_data.Delete
|
delete_users := user_sync_data.Delete
|
||||||
|
|
@ -173,6 +183,8 @@ func UserSyncDataFromMaster() {
|
||||||
confirm_req.Types = 3
|
confirm_req.Types = 3
|
||||||
confirm_req.Confirm = data
|
confirm_req.Confirm = data
|
||||||
worker.SyncDataFromMasterReq2(url, confirm_req)
|
worker.SyncDataFromMasterReq2(url, confirm_req)
|
||||||
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -130,16 +130,22 @@ func SyncDataFromMasterReq(url string, token string) proto.UserSync {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取数据,全量及增量
|
// 获取数据,全量及增量
|
||||||
func SyncDataFromMasterReq2(url string, data proto.SyncUserReq) proto.UserSync {
|
func SyncDataFromMasterReq2(url string, data proto.SyncUserReq) (proto.UserSync, error) {
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
fmt.Println("SyncDataFromMasterReq2 error:", r)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
var res proto.UserSync
|
var res proto.UserSync
|
||||||
//从接口获取数据
|
//从接口获取数据
|
||||||
json_data, err := json.Marshal(data)
|
json_data, err := json.Marshal(data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res
|
return res, err
|
||||||
}
|
}
|
||||||
req, err := http.NewRequest("POST", url, bytes.NewBuffer(json_data))
|
req, err := http.NewRequest("POST", url, bytes.NewBuffer(json_data))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res
|
return res, err
|
||||||
}
|
}
|
||||||
req.Header.Set("Content-Type", "application/json")
|
req.Header.Set("Content-Type", "application/json")
|
||||||
//传输数据
|
//传输数据
|
||||||
|
|
@ -149,23 +155,23 @@ func SyncDataFromMasterReq2(url string, data proto.SyncUserReq) proto.UserSync {
|
||||||
//获取数据
|
//获取数据
|
||||||
resp, err := client.Do(req)
|
resp, err := client.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res
|
return res, err
|
||||||
}
|
}
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
//解析数据
|
//解析数据
|
||||||
var m map[string]interface{}
|
var m map[string]interface{}
|
||||||
err = json.NewDecoder(resp.Body).Decode(&m)
|
err = json.NewDecoder(resp.Body).Decode(&m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return res
|
return res, err
|
||||||
}
|
}
|
||||||
if m["code"].(float64) != 0 {
|
if m["code"].(float64) != 0 {
|
||||||
return res
|
return res, err
|
||||||
}
|
}
|
||||||
err = json.Unmarshal([]byte(m["data"].(string)), &res)
|
err = json.Unmarshal([]byte(m["data"].(string)), &res)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("SyncDataFromMasterReq2 error decode data:", err)
|
fmt.Println("SyncDataFromMasterReq2 error decode data:", err)
|
||||||
return res
|
return res, err
|
||||||
}
|
}
|
||||||
fmt.Println("SyncDataFromMasterReq2 result add data:", len(res.Add), "update data:", len(res.Update), "delete data:", len(res.Delete))
|
fmt.Println("SyncDataFromMasterReq2 result add data:", len(res.Add), "update data:", len(res.Update), "delete data:", len(res.Delete))
|
||||||
return res
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue