diff --git a/task/add_user_flag.py b/task/add_user_flag.py index 1a2e8c8..c15faeb 100644 --- a/task/add_user_flag.py +++ b/task/add_user_flag.py @@ -75,9 +75,28 @@ class AddUserFlag(Task): bulk_data.append( UpdateOne({'_game_role_id': model.game_role_id}, {'$set': {'is_new_device': 1}})) + except Exception as e: + logger.error(f'msg:{e}') + pass + + # 记录第一次登录设备id + where = { + 'role_create_time': { + '$gte': ts['cursor_st'], + '$lt': ts['cursor_et'], + }, + '_first_device_id': '' + } + for item in self.local_db[source_coll].find(where, projection): + try: + # 新设备 + model = self.Model(**item) + bulk_data.append( + UpdateOne({'_game_role_id': model.game_role_id}, {'$set': {'_first_device_id': model.device_id}})) except Exception as e: logger.error(f'msg:{e}') # pass + if bulk_data: self.local_db[self.dest_coll].bulk_write(bulk_data, ordered=False) self.remote_db[self.dest_coll].bulk_write(bulk_data, ordered=False)