求JAVA用户注册时按顺序绑定客户这个思路

场景:

数据库里面有100个客服,然后有一个新用户注册,当这个新用户注册的时候

我需要从数据库里面按顺序自动帮客户绑定用户

大概关系

客户一 ----客服一

客户二 --- 客服二

客户三 --- 客服一

客服四 --- 客服二

这样的一种循环顺序绑定

自己见解:
1、上面说的取模是可以的,但是要求客服id和客户id必须连续,每次添加客服后需要更改取模数,或者动态从数据库中获取 模数。
2、可以采用游标的方式,即记录当前客服位置,然后获取下一个,这种方式好处是一劳永逸,不必担心id断续问题,
需要注意线程安全问题,建议使用原子类。

新增客户时,同时记录当前绑定的客服。再次新增时,从记录中查询已绑定的客服,按照顺序取下一个就可以了。

最简单的,假设用户id按照顺序1 2 3 4 5...
用户绑定的客服id = 用户id % 2+1
也就是用户id除以2,如果余数0,就是客服1,如果余数1,就是客服2
如果你有100个客服,就是 % 100+1

写一个栈数据结构的类,将100个客服全部取出。
客服小的(客服1)位于栈顶,来一个用户注册,就从栈顶取一个客服。当这个客服处理完之后就放入栈中,这样便能保证每次取出来的客服都是排在最前面且已空闲的客服

当然,如果数据库新增客服,则同时更新栈。
100个客服不算多,可以完全放入栈中。如果你的客服以后有了很多,则可能需要考虑其他的数据结构。

望采纳