11.17 luffycity(7)完结
2018-11-17 15:59:01
路飞项目已经完结!后面已是flask的学习!然后还有十几天的课程等回学校再看
明天归校!! 开始全面整理自己学习的知识,整理博客!还有好多面试题!233333333333333333
越努力,越幸运!永远不要高估自己!!
放上github连接: https://github.com/TrueNewBee/luffycity_demo
说一下路飞项目的整体 思路
luffycity项目简介:
1. 一开始的课程和深科技用前后端结合用的vue
2. 后面只注重写接口,不写vue
3. 后面接口 购物车,支付相关,重点的使用了redis的方法
4. 剩下一个支付宝相关支付功能,只有伪代码未实现,有空实现一下
5. 其余的看代码 代码里有详细注释
也不算太难!主要有redis部分 ,详情可以看代码,代买里面有详细注释!
贴上笔记!
s9day114 内容回顾:
1. 为什么要开发“学城”?
- 提高在线 完课率(学成率)。
- 具体:
- 购买时间周期
- 闯关式学习
- 考核
- 导师筛选
- 导师监督(跟进记录)
- 答疑时间(12小时)
- 奖惩措施
- 时间
- 作业 2. 开发周期和团队?
团队:
- 开发
- 导师后台,stark组件+rbac : 1人
- 管理后台,stark组件+rbac : 1人
- 主站
- vue.js 1人
- api 村长+1/2文州+1/2Alex+其他 + 村长
- 运维(1人)
- 测试(1人)
- 产品经理(1人)
- UI设计(1人)
- 运营(1人)
- 销售(4人)
- 全职导师(2人)
- 签约讲师(...)
周期:
- 7月份
- 11月份上线
- 11月份~次年5月份: 修Bug,活动支持,广告。。。
- 6月份:开发题库系统 3. 购买流程
- 加入购物车
- 去结算
- 去支付 今日内容:
- 去支付
- Flask
- 基础
- 第三方组件
- 上下文管理聊源码 内容详细:
1. 去支付(面向专题课) POST请求:
URL:
https://www.luffycity.com/course/order/?token=123879shdfkjshdf123
请求体:
{
balance:1000,
money:900
}
业务处理:
...
2. Flask
- pip3 install flask - 短小精悍、可扩展强 的一个Web框架。 注意:上下文管理机制 - 依赖wsgi:werkzurg - 学习werkzurg:
示例一:
from werkzeug.wrappers import Request, Response
from werkzeug.serving import run_simple def run(environ,start_response): return [b"asdfasdf"] if __name__ == '__main__': run_simple('localhost', 4000, run) 示例二:
from werkzeug.wrappers import Request, Response @Request.application
def hello(request):
return Response('Hello World!') if __name__ == '__main__':
from werkzeug.serving import run_simple
run_simple('localhost', 4000, hello) - 学习Flask 作业:
"""
1. 获取用户提交数据
{
balance:1000,
money:900
}
balance = request.data.get("balance")
money = request.data.get("money") 2. 数据验证
- 大于等于0
- 个人账户是否有1000贝里 if user.auth.user.balance < balance:
账户贝里余额不足 优惠券ID_LIST = [1,3,4]
总价
实际支付
3. 去结算中获取课程信息
for course_dict in redis的结算中获取:
# 获取课程ID
# 根据course_id去数据库检查状态 # 获取价格策略
# 根据policy_id去数据库检查是否还依然存在 # 获取使用优惠券ID
# 根据优惠券ID检查优惠券是否过期 # 获取原价+获取优惠券类型
- 立减
0 = 获取原价 - 优惠券金额
或
折后价格 = 获取原价 - 优惠券金额
- 满减:是否满足限制
折后价格 = 获取原价 - 优惠券金额
- 折扣:
折后价格 = 获取原价 * 80 / 100 4. 全站优惠券
- 去数据库校验全站优惠券的合法性
- 应用优惠券:
- 立减
0 = 实际支付 - 优惠券金额
或
折后价格 =实际支付 - 优惠券金额
- 满减:是否满足限制
折后价格 = 实际支付 - 优惠券金额
- 折扣:
折后价格 = 实际支付 * 80 / 100
- 实际支付
5. 贝里抵扣 6. 总金额校验
实际支付 - 贝里 = money:900 7. 为当前课程生成订单 - 订单表创建一条数据 Order
- 订单详细表创建一条数据 OrderDetail EnrolledCourse
- 订单详细表创建一条数据 OrderDetail EnrolledCourse
- 订单详细表创建一条数据 OrderDetail EnrolledCourse - 如果有贝里支付
- 贝里金额扣除 Account
- 交易记录 TransactionRecord - 优惠券状态更新 CouponRecord 注意:
如果支付宝支付金额0, 表示订单状态:已支付
如果支付宝支付金额110,表示订单状态:未支付
- 生成URL(含订单号)
- 回调函数:更新订单状态 """
11.17 luffycity(7)完结的更多相关文章
- International Programming Retreat Day(2018.11.17)
时间:2018.11.17地点:北京国华投资大厦
- Notes of Daily Scrum Meeting(11.17)
Notes of Daily Scrum Meeting(11.17) 今天是第四周的周一,也就是说距离最后发布也只剩下一周的时间,但我们的工程里面还有很多的问题没有解决,我关注过 其他一两个小组,他 ...
- Beta周第8次Scrum会议(11/17)【王者荣耀交流协会】
一.小组信息 队名:王者荣耀交流协会 小组成员 队长:高远博 成员:王超,袁玥,任思佳,王磊,王玉玲,冉华 小组照片 今天拍照的人是王磊.因此他没有出现在照片中. 二.开会信息 时间:2017/11/ ...
- Java编程思想(11~17)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第十一章 持有对象 11.1 泛型和类型安全的容器>eg: List<St ...
- C++98/11/17表达式类别
目标 以下代码能否编译通过,能否按照期望运行?(点击展开) #include <utility> #include <type_traits> namespace cpp98 ...
- 2016/11/17 周四 <javascript的封装简单示例>
这是一个简单的javascript代码封装的示例以及封装后的调用方法: var ticker={ n:0, add:function() { this.n++; }, show:function() ...
- Sprint1(第四天11.17)
Sprint1第一阶段 1.类名:软件工程-第一阶段 2.时间:11.14-11.23 3.选题内容:web版-餐厅到店点餐系统 4.团队博客地址: http://www.cnblogs.com/qu ...
- 【Alpha版本】 第九天 11.17
一.站立式会议照片: 二.项目燃尽图: 三.项目进展: 成 员 昨天完成任务 今天完成任务 明天要做任务 问题困难 心得体会 胡泽善 完成我要应聘的详情显示,解决头像不能显示的问题,完成了报名及取消操 ...
- 11.14 luffycity项目(6)
2018-11-14 21:26:45 实现了购物车功能! 涉及到了redis的使用 需要在pycharm中下载 django_redis 其他的看一下笔记,有购物车里面数据存储的结构才发现数据 ...
随机推荐
- JAVA自学笔记23
JAVA自学笔记23 1.多线程 1)引入: 2)进程 是正在运行的程序.是系统进行资源分配和调用的独立单位.每一个进程都有它自己的内存空间和系统资源. 多进程: 单进程的计算机只能做一件事情,而现在 ...
- poj3259 Wormholes(Bellman-Ford判断负圈)
https://vjudge.net/problem/POJ-3259 一开始理解错题意了,以为从A->B一定得走路,B->A一定得走虫洞.emmm其实回来的时候可以路和虫洞都可以走,只要 ...
- 基于spring boot 2.x的websocket示例
spring boot 2/spring 5自带了websocket,下面是最基本的示例(包括java服务端.java客户端以及js客户端) 一.pom依赖 <dependencies> ...
- c++中transform()函数和find()函数的使用方法。
1.transform函数的使用 transform在指定的范围内应用于给定的操作,并将结果存储在指定的另一个范围内.transform函数包含在<algorithm>头文件中. 以下是s ...
- mssql f_Split
mssql可以如下CREATE FUNCTION [dbo].[f_Split] ( @val varchar(max),@Splits varchar(100))RETURNS @Table TAB ...
- MongoDB地理空间数据存储及检索
目录 1.存入地理数据 GeoJSON数据存入 1.Ponit 点数据 2.LineString 线数据(多段线) 3. Polygon 多边形数据 4.MultiPoint多点.MultiLineS ...
- http://www.360doc.com/userhome.aspx?userid=5054188&cid=235
http://www.360doc.com/userhome.aspx?userid=5054188&cid=235
- Unable to find vcvarsall.bat
windows下pip安装各种包时,经常会遇到此错误.本文介绍解决方案. 第一步:安装visual studio 第二步:安装everything 打开everything,搜索vcvarsall.b ...
- 单片机成长之路(51基础篇) - 004 STC89C52MCU 软件实现系统复位
用户应用程序在运行过程中,有时会有特殊需求,需要实现单片机系统复位(热启动之一),传统的8051单片机由于硬件上未支持此功能,用户必须用软件模拟实现,实现起来较麻烦.STC单片机增加了相应的硬件功能, ...
- service_names配置不正确,导致dg创建失败
service_names配置不正确,导致dg创建失败 伙伴发来消息,创建dg后,主备一直无法进行日志同步. 以下是查看过程 备库的alert日志: 2018-11-13T17:47:36.23129 ...