二阶段开发冲刺五

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

结果图:

 

 

 

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

 

 

代码:

复制代码
//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 @   yizhixiaozhu  阅读(93)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示