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(含订单号)
                    - 回调函数:更新订单状态
                
    """
        

 

转载于:https://www.cnblogs.com/zhen1996/p/9974283.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值