|
@@ -4,11 +4,15 @@ import (
|
|
|
"eta/eta_bridge/controller/resp"
|
|
|
"eta/eta_bridge/logic/xiangyu"
|
|
|
"github.com/gin-gonic/gin"
|
|
|
+ "sync"
|
|
|
)
|
|
|
|
|
|
// XiangyuController 象屿指标
|
|
|
type XiangyuController struct{}
|
|
|
|
|
|
+// 同步用户锁,防止重复同步,不管是全量还是增量,都是同一时间只能一个同步
|
|
|
+var lockSyncUser sync.Mutex
|
|
|
+
|
|
|
// SyncUser
|
|
|
// @Description: 全量同步用户
|
|
|
// @author: Roc
|
|
@@ -16,13 +20,17 @@ type XiangyuController struct{}
|
|
|
// @datetime 2024-01-22 15:51:25
|
|
|
// @param c *gin.Context
|
|
|
func (xc *XiangyuController) SyncUser(c *gin.Context) {
|
|
|
+ lockSyncUser.Lock()
|
|
|
+ defer func() {
|
|
|
+ lockSyncUser.Unlock()
|
|
|
+ }()
|
|
|
err := xiangyu.SyncUser()
|
|
|
if err != nil {
|
|
|
resp.FailData("同步失败", err.Error(), c)
|
|
|
return
|
|
|
}
|
|
|
resp.Ok("同步成功", c)
|
|
|
-
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -33,6 +41,10 @@ func (xc *XiangyuController) SyncUser(c *gin.Context) {
|
|
|
// @datetime 2024-01-23 17:13:07
|
|
|
// @param c *gin.Context
|
|
|
func (xc *XiangyuController) PullUser(c *gin.Context) {
|
|
|
+ lockSyncUser.Lock()
|
|
|
+ defer func() {
|
|
|
+ lockSyncUser.Unlock()
|
|
|
+ }()
|
|
|
err := xiangyu.PullUser()
|
|
|
if err != nil {
|
|
|
resp.FailData("同步失败", err.Error(), c)
|