日期:2014-05-17  浏览次数:20467 次

小需求。
现在做个下任务系统。
管理员去下一个任务怎么循环平均分配给张三,李四,王五这几个人呢。。。
第一个任务分配给张三,第二个分配给李四,第三个分配给王五。。。
然后不停循环分配,
张三,李四,王五,,,,,,

是不是要设计到什么算法。。数据库怎么设计?
------最佳解决方案--------------------
直接设计个任务表  任务表里面有用户id   下一次分配任务的时候查出任务表最后的用户ID  然后去用户表里面查出这个id下一个用户是谁 然后插入任务表  如果下一个用户为空 直接查第一个用户
------其他解决方案--------------------
查出任务表最后一个用户id就不用说了  sql查询 top1 desc  查询用户也比较简单  用户ID肯定要自增长 然后查询 select isnull(min(id),select min(id) from user) as userid from user where id>最后一个执行任务的用户id
------其他解决方案--------------------
循环一下就行了。。逻辑不是太复杂。。

数据库就

人物表
Rid name

任务表
Pid name

分配任务表
Fid Rid Pid

如果按我的思想就是这样。。不知道对不对(仅供参考)
------其他解决方案--------------------
应该是排队吧,领带任务的人排到队尾,给队头的人下任务,如果队头的人有任务,说明所有人都有任务了,