• 二阶段开发冲刺五


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

    结果图:

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

    代码:

    //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");
                    }
                }
            });
        }
  • 相关阅读:
    Npm 被公司墙解决方法
    使用Docker开发NodeJs APP
    如何利用Require.Js管理多页面站点文件(译)
    Swift语言指南(十)--字符串与字符
    Swift语言指南(九)--基本运算符
    Swift语言指南(八)--语言基础之元组
    Swift语言指南(七)--语言基础之布尔值和类型别名
    web 开发入门
    JDBC的操作总结
    JDBC连接数据库
  • 原文地址:https://www.cnblogs.com/yizhixiaozhu/p/13060308.html
Copyright © 2020-2023  润新知