2019独角兽企业重金招聘Python工程师标准>>>
ms项目
#1.简介 该app是一个问答交流平台,连接专业人士与普通人士。主要是普通人士(花钱)向专业人士提问,旁人还可以花钱偷听专业人士对该问题的回答。
#2.该项目主要构成模块/对应操作
1.普通用户
偷听回答问题、向老师提问、评论已回答问题、追问、收藏视频
2.老师
回答问题、休息、有无参加活动
3.视频
被点赞、被评论、被收藏、上架/下架
4.问题
被偷听、免费听、提问付款、提问审核、上架/下架
5.基础信息
地点、敏感词汇、老师类型、广告
6.系统信息
系统信息设置、管理员信息、意见返回、系统收支管理、系统结算管理
#3.后端框架
spring+springMVC+mybatis+redis+mysql+apache+tomcat
实现spring读写分离、mysql主从复制、redis缓存、apache+tomcat集群
#4.cms框架
spring+springMVC+mybatis+redis+mysql+tomcat+jQuery+jqgrid+bootstrap
#5.数据库部分--将来分库/分表
基础表
地点信息、敏感词汇、导师类别、广告
系统相关
系统信息、系统用户信息、短信息、意见反馈、系统收入、系统支出、系统结算、系统结算系数
用户相关
用户表、用户提问、用户偷听、用户收入、用户支出、用户收藏、用户评价、用户分享、用户点赞、用户第三方信息
导师相关
导师信息、导师所属类别、导师活动记录
资源相关
资源表(本地服务器)、富媒体(远程服务器)
支付相关
微信预支付记录、微信支付记录、微信支付关闭、微信支付退款、微信企业支付记录、微信企业支付查询、支付宝发起支付记录、支付宝支付记录
#6.请求
1.app初始化请求进来
获取系统信息-->获取基础信息(移动端有缓存)-->登陆/注册-->发送短信-->(首页)获取广告列表/获取问题列表 2.提问流程
问题详情/老师详情页面-->输入问题信息开始提问-->(后台)插入一条提问记录-->支付
3.支付流程
微信支付流程
用户下单参数(用户id、订单id、订单金额、商品描述、)-->发起支付参数(商户号、商户订单号、随机字符串、回调地址、终端ip、交易类型、签名)-->发起支付-->插入微信预支付记录表-->支付,接收返回参数xml格式,转map-->判断是否支付成功-->支付成功,验证返回信息-->成功,插入微信支付记录表信息-->微信异步通知本地服务器支付结果(在这里更新本地操作,比如问题表状态、支付表凭证信息等);同步通知移动端支付结果-->移动端发起支付查询请求-->本地服务器根据订单id去微信服务器查询支付结果-->支付成功,更新本地数据库操作-->返回给移动端支付成功信息
微信退款流程
用户退款参数(订单id、退款金额、退款原因)-->本地服务器,做判断,超过7天等不予退款,向退款记录表插入数据,生成退款单号-->移动端再请求本地服务器的微信退款接口-->用户退款参数(用户id、订单编号、订单金额、退款金额、退款单号)-->本地服务器向微信服务器发起退款请求-->退款成功,向退款表插入一条记录(更新本地数据库字段)-->服务端将退款信息返回给移动端-->移动端再调用 微信退款申请查询接口-->本地服务器根据退款单号去查询退款状态,返回给移动端,同时做本地数据库更新。
支付宝支付流程