项目经验3

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

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

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

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

项目经验3_第1张图片
多线程就是用生产者和消费者模式

线程池执行对象

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

3、声明式事务

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

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

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

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

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

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

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

要不然只能用 结构化编程

付款对象
项目经验3_第2张图片
接口

项目经验3_第3张图片
实现类
项目经验3_第4张图片

aop是辅助类型

项目经验3_第5张图片

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

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

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

项目经验3_第6张图片

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

项目经验3_第7张图片
项目经验3_第8张图片

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

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

礼物:uid :礼物id:礼物数量
项目经验3_第9张图片

12、如果道具数量是0

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

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

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

通过nocas发

14、rocketmq 是发送消息通知的

nocas是调用服务接口的

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

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

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

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

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

数据库设计

todo

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

账单表

主播信息

项目经验3_第10张图片

提现信息

项目经验3_第11张图片

重置信息

项目经验3_第12张图片

账单数据库设计

项目经验3_第13张图片

安卓的数据库

项目经验3_第14张图片
项目经验3_第15张图片

用户日志

项目经验3_第16张图片

礼物

分为礼物活动

礼物动画数据库

项目经验3_第17张图片

礼物配置

项目经验3_第18张图片

经验值配置

项目经验3_第19张图片

连续签到有经验值加成

项目经验3_第20张图片
在这里插入图片描述

任务表

项目经验3_第21张图片

支付设置

项目经验3_第22张图片

充值账单

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

项目经验3_第23张图片

体现

项目经验3_第24张图片

家族

家族信息

项目经验3_第25张图片

用户表(id和添加时间)

id自增维护表

项目经验3_第26张图片

主播表

项目经验3_第27张图片

用户账户

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

项目经验3_第28张图片
oX2h6wNlwChbEpyeCw4dQIQ75MR8weixin
28C6B5B2B036ABD2435AE4B25680A95Eqq
项目经验3_第29张图片

主播认证

项目经验3_第30张图片

封号原因

项目经验3_第31张图片
项目经验3_第32张图片

项目启动初始化数据

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

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

直播推流

是阿里云推流的

配置推流和播流

项目经验3_第33张图片

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

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

axure 用来画网页的

项目经验3_第34张图片

业务是什么

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

bug管理工具

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

登录-指派给我的bug

项目经验3_第35张图片

你可能感兴趣的:(java)