/客服组/
$kf_arr=array(
0=>array('kf_id'=>'01','task_num'=>10),
1=>array('kf_id'=>'02','task_num'=>30),
1=>array('kf_id'=>'03','task_num'=>15),
);
foreach ($kf_arr as $k=>$v){
$new\_arr\[$v['task_num']][]=$v;//按接单量进行分组
$k\_arr\[\]=$v['task_num'];
}
$min\_key=min($k_arr);//订单量最少的分组索引key
$max\_key=max($k_arr);
$ensure\_count=count($new_arr[$min_key])-1;//统计接单数最少有多少个
$random\_key=rand(0, $ensure_count);//在接单最少组里生成随机key
$kf\_info=$new_arr[$min\_key\]\[$random_key];//待分配客服信息
$kf\_id=$kf_info['uid'];
$max\_min\_diff=$max_key-$min_key;
if($max_min_diff==0){
$kf\_data\['v1'\]=++$kf_info['v1'];
}else{
$kf\_data\['v1'\]=$new_arr[$max_key][0]['v1'];
}
$user\_groups\_m\_obj->where('ug\_id = '.$kf_info['ug_id'])->save($kf_data);
return $kf_id;