|
@@ -133,19 +133,20 @@ function cancel_goods_order($user_id = 0)
|
|
|
}
|
|
|
|
|
|
// 商品抽签
|
|
|
-function goods_draw($goods_id)
|
|
|
-{
|
|
|
+function goods_draw($goods_id){
|
|
|
$redis = new Redis();
|
|
|
$goods_info = Db::name('store_collect')->find($goods_id);
|
|
|
$stock = $redis->get('collection_count_'.$goods_id);
|
|
|
if(!$stock) return ['code'=>201,'msg'=>'商品库存不足'];
|
|
|
$apply_list = Db::name('store_collection_draw')->where(['coll_id'=>$goods_id,'is_ballot'=>0])->column('id,user_id,code');
|
|
|
- shuffle($apply_list);
|
|
|
- $ballot = array_slice($apply_list,0,$stock);
|
|
|
+ shuffle($apply_list);// 打乱申请记录顺序
|
|
|
+ $ballot = array_slice($apply_list,0,$stock);//截取数据
|
|
|
$ballot_ids = array_column($ballot,'id');
|
|
|
+ $ballot_user = array_column($ballot,'user_id');
|
|
|
Db::name('store_collection_draw')->where(['coll_id'=>$goods_id,'is_ballot'=>0])->whereIn('id',implode($ballot_ids))->update(['is_ballot'=>1]);
|
|
|
Db::name('store_collection_draw')->where(['coll_id'=>$goods_id,'is_ballot'=>0])->whereNotIn('id',implode($ballot_ids))->update(['is_ballot'=>2]);
|
|
|
- $redis->hMSet('lucky_draw',[$goods_id=>json_encode($ballot_ids)]);
|
|
|
+ Db::name('store_collect')->where('id',$goods_id)->update(['is_task'=>1]);
|
|
|
+ $redis->hMSet('lucky_draw',['goods_id_'.$goods_id=>json_encode($ballot_user)]);
|
|
|
return ['code'=>200,'msg'=>'ok'];
|
|
|
}
|
|
|
|