java项目随笔

如果用Spring security + Oauth2完成用户认证及用户授权。
认证授权流程如下:
1、用户请求认证服务完成身份认证。
2、认证服务下发用户身份令牌和JWT令牌,拥有身份令牌表示身份合法,Jwt令牌用于完成授权。
3、用户携带jwt令牌请求资源服务。
4、网关校验用户身份令牌的合法,不合法表示用户没有登录,如果合法则放行继续访问。
5、资源服务获取jwt令牌,根据jwt令牌完成授权。

用多张表存储课程信息的原因
1、课程信息比较复杂,为了方便教学机构按步骤管理课程信息,并且也可以划分权限管理课程信息,将课程信息管理功能分为课程基本信息管理、课程图片管理,课程计划管理等模块。
2、将课程信息分开也是为了系统扩展需要,如果将课程所有信息存储在一张表中将不利于系统扩展。

搜索
项目中搜索采用ElasticSearch来完成。
实现方法是:
1、使用 Logstash(logstash是ES下的一款开源软件,它能够同时 从多个来源采集数据、转换数据)将MySQL中的课程信息读取到ES中创建索引,使用IK分词器进行分词。
2、使用 Java High Level REST Client完成搜索。
3、生产环境使用ES部署为集群。

图片上传流程
1、管理员进入教学管理前端,点击上传图片。
2、图片上传至文件系统服务,文件系统请求fastDFS上传文件。
3、文件系统将文件入库,存储到文件系统服务数据库中。
4、文件系统服务向前端返回文件上传结果,如果成功则包括文件的Url路径。
5、课程管理前端请求课程管理进行保存课程图片信息到课程数据库。
6、课程管理服务将课程图片保存在课程数据库。

支付接口实现过程
1、系统中收费的课程需要用户在线支付,支付接口采用微信的扫码支付。
2、拿到需求后,确定使用微信支付,首先去阅读微信的接口文档,阅读统一下单、支付结果通知、支付结果查询三个接口。
3、下载官方提供的sdk编写单元测试用例测试每个接口。测试时没有使用微信的沙箱测试,直接使用正式接口,我们将金额改的小一些进行测试。
4、单元测试通过后开发整个支付功能,最终集成测试通过。
注意:接口参数的签名问题,当时是因为自己没有仔细看接口文档导致少写一个必填参数一直报签名失败,一定要将所有必填参数填写完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值