二阶段开发冲刺五

今天开发缘分匹配,这个匹配方式就是同时点击的用户才可能匹配的到,基本思路就是有一个用户库,当用户点击时放进去,匹配或者一定时间匹配不到自动删除

结果图:

 

 

 

 这个是现在没有人跟我一起点

 

 

代码:

//5.4缘分
    private void fateUser() {
        BmobManager.getInstance().addFateSet(new SaveListener<String>() {
            @Override
            public void done(final String s, BmobException e) {
                if(e==null)
                {
                    mDisposable=Observable.interval(1,TimeUnit.SECONDS)
                            .subscribe(new Consumer<Long>() {
                                @Override
                                public void accept(Long aLong) throws Exception {
                                    queryFateSet(s);
                                }
                            });

                }
            }
        });




    }
    //查询FateSet
    private void queryFateSet(final String s) {
        BmobManager.getInstance().queryFateSet(new FindListener<FateSet>() {
            @Override
            public void done(List<FateSet> list, BmobException e) {
                FateNumber++;
                if(e==null)
                {
                    if(CommonUtils.isEmpty(list))
                    {
                        //大于1才行,1 是自己
                        if(list.size()>1)
                        {
                            disposable();
                            //过滤自己
                            for(int i=0;i<list.size();i++)
                            {
                                if(list.get(i).getUserId().equals(meUserId))
                                {
                                    list.remove(i);
                                    break;
                                }
                            }

                            int  r=mRandom.nextInt(list.size());
                            onPairResultListener.OnPairListener(list.get(r).getUserId());
                            deleteFateSet(s);
                            FateNumber=0;
                        }

                        else
                        {

                            LogUtils.i("FateNumber"+FateNumber);
                            if(FateNumber>=10)
                            {
                                disposable();
                                deleteFateSet(s);
                                onPairResultListener.OnPairFailListener();
                                FateNumber=0;
                            }
                        }
                    }
                }
            }
        });
    }
    //删除自己FateSet
    private void deleteFateSet(String id) {
        BmobManager.getInstance().deleteFateSet(id, new UpdateListener() {
            @Override
            public void done(BmobException e) {
                if(e==null)
                {
                    LogUtils.i("Delete");
                }
            }
        });
    }

 

posted @ 2020-05-27 23:10  yizhixiaozhu  阅读(93)  评论(0编辑  收藏  举报