项目经验3

1、数据库字段 时间是int(10) 把秒数直接给安卓就可以了,他不用转换,但是我们用着需要转换

因为当前用户主要来自安卓

2、单独把id拿出来了,是为了自增,自增和添加时间

只要把主键生成,之后的功能,都可以放到多线程里面

在这里插入图片描述
多线程就是用生产者和消费者模式

线程池执行对象

ThreadPoolTaskExecutor bean = SpringContextUtil.getBean(ThreadPoolTaskExecutor.class);
    bean.execute(runnable);

3、声明式事务

4、 登录的时候,用户名密码是明文传输的

用https 发送的时候 用公钥加密
我的服务器有专门的秘钥解密

5、rocketmq 是发送消息的 springcloud 是调用controller层 方法的

6、把内部调用频繁的模块放在一起

功能一样的微服务放在一起

7、多态,比如我做一个付款

给一个接口,就可以写支付宝付款接口
微信付款接口之类的

要不然只能用 结构化编程

付款对象
在这里插入图片描述
接口

在这里插入图片描述
实现类
在这里插入图片描述

aop是辅助类型

在这里插入图片描述

8、多线程和消息队列的区别

9、原来送礼物就是用socket 发送消息到聊天室吗??

送礼物 是 想聊天服务器发送 消息队列 送礼成功

在这里插入图片描述

聊天服务器,发送到其他用户客户端

在这里插入图片描述
在这里插入图片描述

10、想让礼物列表更快,放到内存里面

11、因为用户的礼物很多,所以redis里面存的是hash

礼物:uid :礼物id:礼物数量
在这里插入图片描述

12、如果道具数量是0

就去redis里面吧map里面的 对应的key删掉

12-1、代码优化,先写完了,逻辑缕清了再优化

13、账户礼物不足检查余额

通过nocas发

14、rocketmq 是发送消息通知的

nocas是调用服务接口的

项目出的错 1、我跟负责用户的同事要一个接口,他说做了非空校验了,然后我一运行有几率空指针,最后我自己又加了一层,就是不要相信他们说的,就算看了代码,他们写的也可能有错

记住了,发送消息,比如发个邮件啥的,用消息队列是

			如果是想让别的调用别的模块的接口    用nocas

15、余额不足直接返回自定义异常,余额足的话,扣完款,记得把数字塞回redis,多线程写到数据库里面

从redis里面取数据 修改 改完了塞回去 ,消息队列修改数据库

数据库设计

todo

用户
用户id 带个登录时间字段
用户基本信息 注册手机号 城市 注册渠道
用户账户 余额之类

账单表

主播信息

在这里插入图片描述

提现信息

在这里插入图片描述

重置信息

在这里插入图片描述

账单数据库设计

在这里插入图片描述

安卓的数据库

在这里插入图片描述
在这里插入图片描述

用户日志

在这里插入图片描述

礼物

分为礼物活动

礼物动画数据库

在这里插入图片描述

礼物配置

在这里插入图片描述

经验值配置

在这里插入图片描述

连续签到有经验值加成

在这里插入图片描述
在这里插入图片描述

任务表

在这里插入图片描述

支付设置

在这里插入图片描述

充值账单

支付状态 =0生成支付单 =1以到支付平台等待支付 =2已支付 =3取消

在这里插入图片描述

体现

在这里插入图片描述

家族

家族信息

在这里插入图片描述

用户表(id和添加时间)

id自增维护表

在这里插入图片描述

主播表

在这里插入图片描述

用户账户

第三方用户表示 好像是给qq互通发邮件

在这里插入图片描述
oX2h6wNlwChbEpyeCw4dQIQ75MR8weixin
28C6B5B2B036ABD2435AE4B25680A95Eqq
在这里插入图片描述

主播认证

在这里插入图片描述

封号原因

在这里插入图片描述
在这里插入图片描述

项目启动初始化数据

configuration在项目启动的时候会被调用

去数据库拿东西 放到redis里面

直播推流

是阿里云推流的

配置推流和播流

在这里插入图片描述

m3u8 是索引文件,用来按顺序播放ts文件的

所以我们可以知道,索引文件非常重要,索引文件里面存储着ts文件的网络url链接,网站需要拿到索引文件,去按照url链接下载在http服务器中的ts文件,类似于爬虫。
拿到了ts文件之后,本身这些ts文件就是原视频中的一小段视频,所有ts文件下载顺序播放,就完成了整个视频的播放。
而索引文件就是m3u8文件。
现在大部分视频网站传输都是采用这种方法,所以,也就是说,如果你在观看网页视频的时候,能够弄到加载该视频的m3u8文件,那么再配合一些工具,就能下载该视频了。
该工具的作用就类似于视频网站,能够根据索引文件去下载ts文件。
下面就给大家介绍如何拿到视频的m3u8文件和下载m3u8文件的工具。

axure 用来画网页的

在这里插入图片描述

业务是什么

需要比业务员还清楚才能写的出来程序

bug管理工具 (项目管理工具) (和版本管理工具不一样)

面试的时候,问bug管理工具,就说是禅道,别的不知道

登录-指派给我的bug

在这里插入图片描述

测试的提bug功能

在这里插入图片描述

最基本的系统

在这里插入图片描述

原来我以前认为的mysql 写复杂的是没用的,白担心了

在这里插入图片描述

有一个用户分析的网页有点难

难的是 统计活跃设备 活跃账号
活跃设备 按 日 周 月 统计
在这里插入图片描述
要说五人日还是七人日,不能说一周这样

按模块来分

sql一天
接口一天
调bug一天
这是顺利的情况下 不顺利一个bug调整一天

这个要一周,一周写不出来可能就要被开了

大额礼物的佣金不一样,1000块的礼物 和 1000多一元的话,拿的佣金不一样

额,这个数据分析系统,我写两个月能写完吗…写不出来就被开了

如果用户第一次登录,跳转到注册,或者手机验证码直接注册

随机分配头像,昵称
在这里插入图片描述

校验用户信息是否合法,可能是被封号的用户,不能让他登录

因为用户登录要做一系列操作,而且要是注册的话会更慢,所以怎么优化

多线程 放在多线程里面执行的东西,你可以认为主线程不需要的东西,你把它删了,主线程也能执行业务的东西

是否第一次登录,去数据库里面查手机号,或微信号 微博号之类的

直接去redis里面查,如果redis里面没有就认为他没有注册

redis是非关系型数据库,记住他也是数据库,可以吧用户信息存一份到redis里面
在这里插入图片描述

文件上传,我到现在都没有写!!!

推流 拉流

在这里插入图片描述

点播和实时收费不一样

在这里插入图片描述

送礼物

在这里插入图片描述

HTTP/S的请求是一次请求,一次响应,就是说要浏览器发送请求给我,我才能给他响应

在这里插入图片描述

我用消息队列发给聊天服务器

在这里插入图片描述

记得充钱成功,是支付宝告诉服务器,充钱成功了

原来往支付宝发送的消息是干这个的

而且1 可能被抓包修改,所以业务服务器要 判断充值虚拟金额的比例

在这里插入图片描述

要返回给他一个成功,不然支付宝会以为我们这里 服务器宕机了,会发第二次第三次

在这里插入图片描述

因为支付宝 微信 还有别的都需要对接,所以有聚合支付,这样可以使用聚合支付,但是可能会跑路

ISO充值也不一样了

在这里插入图片描述
苹果的佣金是30%

支付宝想调用我的接口,要有外网ip

可以模拟一下

签到

因为签到一周是一样的,先从redis里面把签到奖励拿出来
在这里插入图片描述

再查一下,这个人哪天签到了,对比一下,就有了

一条sql就行了

在这里插入图片描述

一个??功能??对应一个实体类 24:30之前 等会去听一下 13

实体类和实体类直接的相互转换

在这里插入图片描述

gateWay 配合nocas 和 负载均衡 做了用户权限检查把

后台管理系统的vue 是我来写的

手机验证码 是外置服务

提供验证码模板
发送什么模板直接调用服务
需要消息队列来支持

要是不连接redis 就要全局变量验证码le

在这里插入图片描述

怎么做第三方法登录

1、去对应的平台注册账号 QQ互联 实名认证 成为开发者

在这里插入图片描述

2、创建应用审核
3、新建工程
4、下载sdk
5、 放置图标 复制那个前端代码
6、通过回调参数获得

微信是在腾讯开放平台
步骤一模一样

扫码登录

扫码用到的技术
长连接 推送

二维码,是服务器生成过来的 库:zxing 二维码生成 二维码里面保存的是字符串
二维码包含的东西:两个内容 1、过期时间 比如判断时间戳 2、手机端本地缓存了用户名和密码 拼接到接口链接

java端 使用 推送 告诉 电脑端成功了

socket 长连接 服务器 通知 客户端 (就是网页)

不同项目 都有评论模块

最难的表设计 谁评论了谁

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值