Jelajahi Sumber

update 完善ip白名单

Alvin 10 bulan lalu
induk
melakukan
8142475d8b
1 mengubah file dengan 14 tambahan dan 17 penghapusan
  1. 14 17
      game/game_cluster/nodes/webadmin/service/whitelist.go

+ 14 - 17
game/game_cluster/nodes/webadmin/service/whitelist.go

@@ -29,28 +29,25 @@ func (w *Whitelist) Add(req entity.WhitelistAddReq) *code.Result {
 	collection := mdb.MDB.Collection(whitelistModel.TableName())
 	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
 	defer cancel()
+
 	// 判断是否已经存在
 	err := collection.FindOne(ctx, bson.M{"ip": req.IP}).Decode(&whitelistModel)
-	if err == nil {
-		mhayaLogger.Warnf("IP %s already exists in the whitelist", req.IP)
-		return nil
+	if err != nil && !errors.Is(err, mongo.ErrNoDocuments) {
+		mhayaLogger.Warnf("Add InsertOne error:%v", err)
+		return common.NewResult(code.InternalError)
 	}
 
-	_, err = collection.InsertOne(ctx, bson.M{
-		"ip":         req.IP,
-		"created_at": time.Now().Unix(),
-		"updated_at": time.Now().Unix(),
-		"desc":       req.Desc,
-	})
-	if err != nil {
-		mhayaLogger.Warnf("Add inserting IP %s into whitelist error: %v", req.IP, err)
-		if errors.Is(err, mongo.ErrNoDocuments) {
-			mhayaLogger.Warnf("IP %s already exists in the whitelist", req.IP)
-			return nil
+	if errors.Is(err, mongo.ErrNoDocuments) {
+		_, err = collection.InsertOne(ctx, bson.M{
+			"ip":         req.IP,
+			"created_at": time.Now().Unix(),
+			"updated_at": time.Now().Unix(),
+			"desc":       req.Desc,
+		})
+		if err != nil {
+			mhayaLogger.Warnf("Add InsertOne error:%v", err)
+			return common.NewResult(code.InternalError)
 		}
-
-		mhayaLogger.Warnf("Add InsertOne error:%v", err)
-		return common.NewResult(code.InternalError)
 	}
 
 	return nil