luffy

为什么做路飞?

为什么要做路飞学城?

   -提高在线 完课率(学成率).

  -具体:

    -购买时间周期

    -闯关式的学习

    -考核

    -导师筛选

    -导师监督(跟进记录)

    -答疑时间(12小时)

    -奖惩措施

      -时间

      -作业

扫描二维码关注公众号,回复: 4035604 查看本文章

开发周期和团队?

  -开发团队

    -导师后台   stark组件 +rbac 1人

    -管理后台 stark组件 +rbac 1人

    -主站

      -vue  1人

      - api    3人

  -运维(1人)

  -产品经理 (1人)

  -UI设计  (1人)

  -运营团队(1人)

  -销售(4人)

  -全职导师(2人)

  -测试 (1人)

  -签约导师()  

  周期:

    -17年7月份

    -11月份第一版上线

    -11月份至18年5月份:  修bug,    活动支持 广告...

    -6月份: 开发题库系统

路飞主站业务

     - 课程
            - 课程列表
            - 课程详细
            - 大纲、导师、推荐课程
            - 价格策略
            - 章节和课时
            - 常见问题
        - 深科技
            - 文章列表
            - 文章详细
            - 收藏
            - 评论
            - 点赞
        - 支付
            - 购物车(4- 结算中心(3- 立即支付(1)
            知识点:
                - redis
                - 支付宝
                - 消息推送
                - 构建数据结构
                - 优惠券+贝里+支付宝
        - 个人中心
        - 课程中心

路飞表结构相关

路飞的课程结构?

.-课程(13张)

  • -课程大类
    •   -课程子类
  • -学位课
    •   -导师
    •   -奖学金
  • -专题课
    • -  课程详细
    •   -常见问题
    • -  课时
    • -  作业
    • -  章节
    •   -课程大纲
  • -价格策略

路飞的深科技结构?

  • -文章来源
  • -文章详细
  • -收藏
  • -点赞
  • -评论
  • -用户
  • -用户token

路飞微信消息推送相关

微信消息推送的流程是什么?

1. 注册账号
                appID:wx89085e915d351cae
                appsecret:64f87abfc664f1d4f11d0ac98b24c42d
                
                网页授权获取用户基本信息:47.98.134.86 或 域名 
                
            2. 关注公众号(已认证的服务号)
            
            3. 生成二维码,用户扫描;
                将用户信息发送给微信,微信再将数据发送给设置redirect_uri地址(md5值)
                
            4. 回调地址:47.98.134.86/callback/
                - 授权 
                - 用户md5
                - 获取wx_id 
                在数据库中更新设置:wx_id 
            5. 发送消息(模板消息)
                - wx_id 
                - access_token(2小时有效期)

微信消息推送是用的是什么号?

- 微信消息推送
- 公众号
- 已认证公众号
- 服务号
- 已认证服务号
- 企业号

基于:微信认证服务号 主动推送微信消息。
前提:关注服务号
环境:沙箱环境

微信消息推送是什么消息?

 模板消息

路飞支付宝接口相关

路飞学成的支付接口是怎样的流程?

路飞学成的支付接口用的是什么加密?

 rsa

路飞学成的支付接口公匙和私匙?

 商户私钥+支付宝公钥

路飞的购物车相关

路飞购物车为什么使用redis?

  •  因为购物车只是一个暂时的状态,当结算完成的实收会删除购物车的内容.且购物车的操作可能比较频繁,因为客户会考虑的比较多
  • 如果只用数据库的话,那么每次修改都对数据库进行修改,数据库的压力会比较大.
  • 如果用redis+数据库,比如一天放到redis里,然后12点后存放到数据库.这个方案也是可以
    •  但是如果存在数据库,那么就需要一个购物车的表结构.
    •  而reids可以不用创建表结构,就能完成同样的事情,而且性能更高

路飞购物车字典是如何构造的?

    {    # luffy_shopping_car_用户id_课程id
        luffy_shopping_car_6_1:{
                        'title':'xxxxx',
                        'img':'xxx'
                        'prolicy':{
                            10:{'name':'有效期1个月','price':123},
                            11:{'name':'有效期1个月','price':123},
                            12:{'name':'有效期1个月','price':123},
                        'defalut_prolicy':10,
                        },
        },
        luffy_shopping_car_6_2:{
        ...
        },
        luffy_shopping_car_6_3:{
        ...
        }
    }

商品是否有个数?

我们设计的购物车商品是没有个数的,首先个数在这里没有多大的意义,

但是我们有类似于个数的设计,就是根据不同的时间有相应的价格

比如说一个月100,两个月199

购物车购买的数量有限制吗?

购物车的上限是200个,为什么要有上限,因为怕有非法用户恶意添加很多的购物车信息,

造成购物车取值的时候很慢.

购物车是否设置超时时间?

购物车我们不设置超时时间,

因为我们在购物车的购买数量上已经做了限制了,不会对redis造成压力

具体购物车的逻辑/路飞学成的购物车如何实现的?

1.用户选择:课程 价格策略,提交
        2.获取课程 价格策略进行合法校验(数据库)
        3.数据获取,构造结构:
            {
                shopping_car_用户id_课程id:{
                    'title':'',
                     img:'xxx',
                     policy:{
                     },
                     default:''
                }
            
            }
        4. 将数据以字典的形式保存到redis中.
        
    修改:
        1.用户选择:课程 价格策略,提交
        2.获取课程 价格策略进行合法校验(redis查询)
        3.更新
        
    删除:
        1.用户选择:课程 价格策略,提交
        2.获取课程 价格策略进行合法校验(redis查询)
        3.删除
        
    查看:1.构造key_shopping_car_用户ID_*
         2.scan_iter

 结算中心的数据结构

#结算中心
{
    payment_1_2:{
                'course_id':str(course_id),
                'title':self.conn.hget(car_key, 'title').decode('utf-8'),
                'img'  :self.conn.hget(car_key, 'img').decode('utf-8'),
                'coupon':{
                    'coupon_id':coupon_id,
                    'coupon_type':coupon_type,
                    'coupon_type_display':item.coupon.get_coupon_type_display(),
                    'money_equivalent_value':item.coupon.money_equivalent_value,
                },
                'default_coupon':0,
    },
    payment_1_3:{
                'course_id':str(course_id),
                'title':self.conn.hget(car_key, 'title').decode('utf-8'),
                'img'  :self.conn.hget(car_key, 'img').decode('utf-8'),
                'coupon':{
                    'coupon_id':coupon_id,
                    'coupon_type':coupon_type,
                    'coupon_type_display':item.coupon.get_coupon_type_display(),
                    'money_equivalent_value':item.coupon.money_equivalent_value,
                },
                'default_coupon':0,
    },
}

payment_global_coupon_1={
    'coupon':{
        coupon_id:{ 
            'coupon_id':coupon_id,
            'coupon_type':coupon_type,
            'coupon_type_display':item.coupon.get_coupon_type_display(),
            'money_equivalent_value':item.coupon.money_equivalent_value,
                    },
    },
    'defalut_coupon':0
}

为什么做路飞?

为什么要做路飞学城?

   -提高在线 完课率(学成率).

  -具体:

    -购买时间周期

    -闯关式的学习

    -考核

    -导师筛选

    -导师监督(跟进记录)

    -答疑时间(12小时)

    -奖惩措施

      -时间

      -作业

开发周期和团队?

  -开发团队

    -导师后台   stark组件 +rbac 1人

    -管理后台 stark组件 +rbac 1人

    -主站

      -vue  1人

      - api    3人

  -运维(1人)

  -产品经理 (1人)

  -UI设计  (1人)

  -运营团队(1人)

  -销售(4人)

  -全职导师(2人)

  -测试 (1人)

  -签约导师()  

  周期:

    -17年7月份

    -11月份第一版上线

    -11月份至18年5月份:  修bug,    活动支持 广告...

    -6月份: 开发题库系统

路飞主站业务

     - 课程
            - 课程列表
            - 课程详细
            - 大纲、导师、推荐课程
            - 价格策略
            - 章节和课时
            - 常见问题
        - 深科技
            - 文章列表
            - 文章详细
            - 收藏
            - 评论
            - 点赞
        - 支付
            - 购物车(4- 结算中心(3- 立即支付(1)
            知识点:
                - redis
                - 支付宝
                - 消息推送
                - 构建数据结构
                - 优惠券+贝里+支付宝
        - 个人中心
        - 课程中心

路飞表结构相关

路飞的课程结构?

.-课程(13张)

  • -课程大类
    •   -课程子类
  • -学位课
    •   -导师
    •   -奖学金
  • -专题课
    • -  课程详细
    •   -常见问题
    • -  课时
    • -  作业
    • -  章节
    •   -课程大纲
  • -价格策略

路飞的深科技结构?

  • -文章来源
  • -文章详细
  • -收藏
  • -点赞
  • -评论
  • -用户
  • -用户token

路飞微信消息推送相关

微信消息推送的流程是什么?

1. 注册账号
                appID:wx89085e915d351cae
                appsecret:64f87abfc664f1d4f11d0ac98b24c42d
                
                网页授权获取用户基本信息:47.98.134.86 或 域名 
                
            2. 关注公众号(已认证的服务号)
            
            3. 生成二维码,用户扫描;
                将用户信息发送给微信,微信再将数据发送给设置redirect_uri地址(md5值)
                
            4. 回调地址:47.98.134.86/callback/
                - 授权 
                - 用户md5
                - 获取wx_id 
                在数据库中更新设置:wx_id 
            5. 发送消息(模板消息)
                - wx_id 
                - access_token(2小时有效期)

微信消息推送是用的是什么号?

- 微信消息推送
- 公众号
- 已认证公众号
- 服务号
- 已认证服务号
- 企业号

基于:微信认证服务号 主动推送微信消息。
前提:关注服务号
环境:沙箱环境

微信消息推送是什么消息?

 模板消息

路飞支付宝接口相关

路飞学成的支付接口是怎样的流程?

路飞学成的支付接口用的是什么加密?

 rsa

路飞学成的支付接口公匙和私匙?

 商户私钥+支付宝公钥

路飞的购物车相关

路飞购物车为什么使用redis?

  •  因为购物车只是一个暂时的状态,当结算完成的实收会删除购物车的内容.且购物车的操作可能比较频繁,因为客户会考虑的比较多
  • 如果只用数据库的话,那么每次修改都对数据库进行修改,数据库的压力会比较大.
  • 如果用redis+数据库,比如一天放到redis里,然后12点后存放到数据库.这个方案也是可以
    •  但是如果存在数据库,那么就需要一个购物车的表结构.
    •  而reids可以不用创建表结构,就能完成同样的事情,而且性能更高

路飞购物车字典是如何构造的?

    {    # luffy_shopping_car_用户id_课程id
        luffy_shopping_car_6_1:{
                        'title':'xxxxx',
                        'img':'xxx'
                        'prolicy':{
                            10:{'name':'有效期1个月','price':123},
                            11:{'name':'有效期1个月','price':123},
                            12:{'name':'有效期1个月','price':123},
                        'defalut_prolicy':10,
                        },
        },
        luffy_shopping_car_6_2:{
        ...
        },
        luffy_shopping_car_6_3:{
        ...
        }
    }

商品是否有个数?

我们设计的购物车商品是没有个数的,首先个数在这里没有多大的意义,

但是我们有类似于个数的设计,就是根据不同的时间有相应的价格

比如说一个月100,两个月199

购物车购买的数量有限制吗?

购物车的上限是200个,为什么要有上限,因为怕有非法用户恶意添加很多的购物车信息,

造成购物车取值的时候很慢.

购物车是否设置超时时间?

购物车我们不设置超时时间,

因为我们在购物车的购买数量上已经做了限制了,不会对redis造成压力

具体购物车的逻辑/路飞学成的购物车如何实现的?

1.用户选择:课程 价格策略,提交
        2.获取课程 价格策略进行合法校验(数据库)
        3.数据获取,构造结构:
            {
                shopping_car_用户id_课程id:{
                    'title':'',
                     img:'xxx',
                     policy:{
                     },
                     default:''
                }
            
            }
        4. 将数据以字典的形式保存到redis中.
        
    修改:
        1.用户选择:课程 价格策略,提交
        2.获取课程 价格策略进行合法校验(redis查询)
        3.更新
        
    删除:
        1.用户选择:课程 价格策略,提交
        2.获取课程 价格策略进行合法校验(redis查询)
        3.删除
        
    查看:1.构造key_shopping_car_用户ID_*
         2.scan_iter

 结算中心的数据结构

#结算中心
{
    payment_1_2:{
                'course_id':str(course_id),
                'title':self.conn.hget(car_key, 'title').decode('utf-8'),
                'img'  :self.conn.hget(car_key, 'img').decode('utf-8'),
                'coupon':{
                    'coupon_id':coupon_id,
                    'coupon_type':coupon_type,
                    'coupon_type_display':item.coupon.get_coupon_type_display(),
                    'money_equivalent_value':item.coupon.money_equivalent_value,
                },
                'default_coupon':0,
    },
    payment_1_3:{
                'course_id':str(course_id),
                'title':self.conn.hget(car_key, 'title').decode('utf-8'),
                'img'  :self.conn.hget(car_key, 'img').decode('utf-8'),
                'coupon':{
                    'coupon_id':coupon_id,
                    'coupon_type':coupon_type,
                    'coupon_type_display':item.coupon.get_coupon_type_display(),
                    'money_equivalent_value':item.coupon.money_equivalent_value,
                },
                'default_coupon':0,
    },
}

payment_global_coupon_1={
    'coupon':{
        coupon_id:{ 
            'coupon_id':coupon_id,
            'coupon_type':coupon_type,
            'coupon_type_display':item.coupon.get_coupon_type_display(),
            'money_equivalent_value':item.coupon.money_equivalent_value,
                    },
    },
    'defalut_coupon':0
}

猜你喜欢

转载自www.cnblogs.com/pupilheart/p/9944609.html