需求文档:https://shimo.im/docs/jwh8kG8pcQ8JpYh9/read
共计: 工时天数29天 / 2人 = 平均每人14.5天 + 接口联调3天 = 平均每人17.5天
小程序端 15天(104小时 / 7)
限时抢购(针对小程序)
预估开发时间:16.5小时 预估开发方案:
- 修改服务详情接口(返回参数增加促销信息,活动是否开始,活动开始时间,活动结束时间,活动价) 时间:2.5小时
- 修改创建订单接口,扩展促销活动的逻辑( 时间:7小时
- 创建订单促销信息关联表(订单ID,促销活动ID,占用促销活动数量)
- 创建订单接口增加请求参数判断订单来源是否为小程序,只有小程序参与促销
- 验证促销活动的状态,如果促销活动已下架,不参与促销,原订单逻辑不修改;
- 验证促销活动的状态,如果促销活动已上架,后端计算数量为促销价,并且生成订单,记录
订单促销信息关联表
信息 - 促销活动的状态更新,创建订单就消耗促销活动的剩余数量,并且促销数量为0时,更新促销活动的状态为已完成 )
- 修改取消订单接口,扩展促销活动的逻辑( 时间:3.5小时
- 用户取消订单或者系统自动取消订单,剩余数量加1,已出售的数量减1;活动时间结束后,如果用户取消订单或者系统自动取消订单, 活动不再重新开启,但是已出售的数量需要减掉取消的订单数量; )
- 修改订单支付(微信小程序支付)接口,扩展促销活动的逻辑(
- 验证促销活动的状态,如果促销活动已下架(促销活动已完成的不等于已下架):接口返回错误信息提示"活动已下架, 重新返回订单预约界面去重新提交订单"; 时间:3.5小时 )
微信登录 已完成,剩余3小时
预估开发时间:10小时 预估开发方案:
- 小程序调用wx.login方法获取code,并请求
开发微信登录接口
- 开发微信登录接口:服务端接收code参数用来调用微信登录的接口
auth.code2Session
获取用户openid 和 session_key, 创建第三方登录用户表,主要记录微信登录openid和unionid字段与绑定的用户ID字段,检查第三方登录用户,是否已有相同用户, 没有则新增一条第三方登录用户数据,接口返回token为空,有则检查是否绑定用户,检查到有绑定的用户时接口返回有效的token, 没有绑定时,接口返回token为空 - 前端根据
开发微信登录接口
返回的token是否为空决定是否需要绑定手机号,token为空就需要绑定手机号 - 开发微信绑定手机号接口:前端获取不到手机号,前端通过getPhoneNumber获取的encryptedData,iv,接口进行解密获取手机号, 并完成微信用户与平台用户的绑定,不存在的用户时自动注册用户,最终返回参数与登录接口一致
- 修改token有效期为30天
微信小程序支付 已完成
预估开发时间:3小时 预估开发方案:在原微信支付接口上扩展,订单支付与补时订单支付接口扩展微信小程序支付
免单(针对小程序) 正在开发,剩余4.5小时
预估开发时间:12.5小时 预估开发方案:
- 创建免单退款信息表(记录第三方平台退款成功的信息)
- 封装随机免单概率算法(比如5%,生成一个长度为100的数组,设置其中5个元素的值为中奖标识符)
- 添加/更新redis随机免单概率池(redis为每个参与免单的服务创建一个key,使用集合类型存储
封装随机免单概率算法
返回的每个元素) - 封装随机免单方法(通过服务ID和订单ID,检查服务是否开启随机免单,开启则检查redis中是否有当前服务的 随机免单概率池数据,没有则创建,有则随机取一个值并从redis随机免单概率池中删除,判断概率池是否为空,为空则创建, 判断是否抽到免单,没有抽到就中断免单程序,抽到则调用第三方退款接口实时进行订单退款,开发新的退款回调接口, 记录免单退款信息,修改订单的实际支付金额为0,完成随机免单)
- 修改订单申请退款页面的接口,检查订单是否免单,免单则返回退款金额为0
我的钱包
预估开发时间:19.5小时 预估开发方案:
- 数据库设计:用户表增加用户余额字段,设计账单记录表,设计提现订单表 时间:1小时
- 获取用户钱包数据接口 时间:1.5小时
- 提现页面聚合数据接口 时间:3小时
- 申请提现接口(队列锁的使用,减少余额,创建提现订单,创建账单记录) 时间:4小时
- 账单明细接口(筛选,时间,类型,状态) 时间:3.5小时
- 已登录用户绑定微信接口(绑定提现微信账户) 时间:3.5小时
- 封装账单信息统一写入数据的的方法(提现减少,提现失败增加,订单完成时返佣增加,订单退款时扣除返佣(可扣为负数) 这些业务逻辑需要记录账单信息时,调用这个统一的方法写入数据库) 时间:3小时
邀请人数 已完成
预估开发时间:26小时 预估开发方案:
- 数据库设计:设计用户邀请关系记录表(一个用户一条记录,邀请人数,上级,唯一邀请码,被邀请时间) 时间:1小时
- 获取邀请人数页面聚合数据 时间:2.5小时
- 获取我邀请的好友列表数据 时间:2.5小时
- 添加我的邀请者 时间:2.5小时
- 封装唯一邀请码生成器(读取所有已使用的邀请码,生成的唯一邀请码,判断新生成的邀请码是否被占用, 被占用则重新生成,条件控制重新生成次数超过5次时接口报异常,避免死循环) 时间:3小时
- 一键创建邀请码接口(上线前执行一下给所有用户创建一条用户邀请关系记录表数据,因为需要提前生成邀请码) 时间:2.5小时
- 获取邀请好友页面聚合数据 时间:3小时
- 分享绑定上下级关系(修改注册登录接口,新增邀请者邀请码请求参数,接口新增逻辑代码,判断为新注册用户时同步创建邀请关系) 时间:3小时
- 实名认证(
- 修改个人中心接口,增加返回参数,当前用户是否已实名 时间:1小时
- 获取用户实名认证信息接口 时间:2.5小时
- 提交用户实名认证接口 时间:2.5小时 )
邀请赠送优惠券
预估开发时间:6小时 预估开发方案:
- 修改h5领取优惠券页面,调用领取优惠券的接口增加邀请码参数传递 时间:1小时
- 修改H5领取优惠券的接口,获取邀请码,检测到有邀请码并且为新用户时,扩展邀请赠送的逻辑, 获取邀请赠送的优惠券配置信息,发放优惠券,记录发放优惠券日志 时间:5小时
邀请返佣
预估开发时间:4小时 预估开发方案:
- 修改员工端完成服务的接口,扩展邀请返佣的逻辑(
- 订单完成时计算返佣金额,增加下单用户的上级用户的余额,并记录账单信息 时间:4小时 )
后台端 25天(174.5小时 / 7)
#### 促销服务 预估开发时间:31小时 预估开发方案:
- 修改后台"促销模块管理"相关页面的"促销"为"专题"两个字 时间:1.5小时
- 创建促销活动数据库表(开始时间,结束时间,服务ID,活动价,促销数量,已出售数量,实际结束时间,状态等) 时间:1小时
- 创建促销活动菜单数据,创建促销活动权限表数据 时间:1小时
- 新建活动(
- 页面开发(时间选择控件,,服务选择控件,前端表单验证) 时间:3小时
- 新建活动接口(接口参数验证,根据需求完成对新建活动的数据做条件控制) 时间:5小时 )
- 促销活动列表页(
- 页面开发(时间选择控件,状态选择列表,列表数据渲染,区分状态展示操作按钮,按钮点击交互) 时间:5小时
- 促销活动列表接口(条件筛选查询,分页,排序,各种数据组装) 时间:3小时 )
- 促销活动上架or下架接口 时间:3.5小时
- 促销活动删除接口 时间:2.5小时
- 获取促销活动详情信息接口(编辑促销活动时数据填充时需要) 时间:2小时
- 修改订单列表管理页(增加显示订单参与促销优惠的金额与使用优惠券优惠的金额) 时间:3.5小时
随机免单(针对小程序)
预估开发时间:13.5小时 预估开发方案:
- 服务表增加字段(免单状态:默认关闭,免单频率) 时间:0.5小时
- 创建免单后台操作日志表(操作时间,服务ID,服务名称,免单概率,状态) 时间:1小时
- 随机免单列表页(
- 页面开发(列表数据渲染) 时间:3小时
- 随机免单数据列表接口(名称搜索) 时间:3小时 )
- 开关日志页(
- 页面开发(时间选择控件,列表数据渲染) 时间:3小时
- 开关日志列表接口(条件筛选查询,分页,排序,各种数据组装) 时间:3小时 )
用户管理
预估开发时间:19小时 预估开发方案:
- 用户列表页面改版(
- 时间筛选组件改版,创建时间的开始时间与结束时间独立选择,并且需修改查询接口时间筛选的逻辑,开始时间与结束时间精确到秒,可单选 时间:3小时
- 增加UID筛选项,增加用户昵称筛选项,增加电话筛选项 时间:2小时
- 增加下载二维码按钮,列表增加复选框,增加全选与取消全选前端交互逻辑,批量下载二维码,生成二维码 时间:5小时 )
- 新增查看下级账户弹框(内容无分页) 时间:3小时
- 新增查看实名信息弹框 时间:2.5小时
- 修改编辑用户页面(div区域滚动,新增多项参数展示) 时间3.5小时
钱包管理
预估开发时间:12.5小时 预估开发方案:
- 创建钱包管理菜单数据,创建钱包管理权限表数据 时间:1小时
- 钱包管理列表页面(统计钱包总余额、提现总金额、返佣总金额,指定时间筛选查询该时间点账号的钱包情况) 时间:7小时
- 钱包流水页面(跟随列表的指定时间筛选查询该时间点账号的钱包账单,分页) 4.5小时
提现审核
预估开发时间:20.5小时 预估开发方案:
- 提现列表页,页面改版(基本相当于整个页面重构) 时间:6小时
- 通过提现(开发微信企业付款,实时转账并完成提现,记录微信企业付款第三方返回信息作为记录) 时间:7.5小时
- 驳回提现(填写备注,驳回提现,返回用户提现金额,记录用户钱包账单数据) 时间:3.5小时
- 收到新的申请自动刷新(修改长链接推送项目,增加提现申请的查询与推送(与其他的推送类似,后台前端判断是否需要刷新页面)) 时间:3.5小时
返佣管理
预估开发时间:14小时 预估开发方案:
- 创建钱包管理菜单数据,创建钱包管理权限表数据 时间:1小时
- 创建返佣管理配置表,创建返佣管理日志记录表 时间:0.5小时
- 开发返佣管理页面及日志数据渲染 时间:6小时
- 添加一条配置 时间:2.5小时
- 修改订单退款功能,订单退款时扣除返佣(可扣为负数),减少下单用户的上级用户的余额,并记录账单信息 时间:4小时
邀请赠送管理
预估开发时间:23小时 预估开发方案:
- 创建邀请赠送管理菜单数据,创建邀请赠送管理权限表数据 时间:1小时
- 创建邀请赠送配置表,创建邀请赠送日志记录表 时间:1小时
- 邀请赠送管理页面(
- 开发邀请赠送管理页面及日志数据渲染 时间:6小时
- 开启or关闭一条邀请赠送 时间:3小时
- 添加一条配置 时间:2.5小时
- 操作日志页面 时间:4.5小时 )
- 创建邀请赠送日志菜单数据,创建邀请赠送日志权限表数据 时间:1小时
- 邀请日志页面(多条件筛选,数据渲染,分页) 时间:4小时
分享海报管理
预估开发时间:27小时 预估开发方案:
- 创建分享海报管理菜单数据,创建分享海报管理权限表数据 时间:1小时
- 创建分享海报配置表 时间:1小时
- 分享海报管理页面(
- 渲染海报列表 时间3.5小时
- 拖动海报进行排序 时间:4.5小时
- 保存排序的接口 时间:3.5小时
- 删除海报接口(删除是更新排序) 时间:2.5小时 )
- 新增海报页面(表单验证,图片尺寸及大小验证,修改图片上传公共接口,增加场景控制,不同场景使用会有不同的要求) 时间:7小时
- 新增海报接口(表单验证) 时间:3小时
实名审核
预估开发时间:14小时 预估开发方案:
- 创建实名审核菜单数据,创建实名审核权限表数据 时间:1小时
- 实名审核管理页面(
- 渲染列表数据 时间:3.5小时
- 筛选查询接口 时间:3.5小时
- 通过or驳回审核接口 时间:2.5小时 )
- 收到新的申请自动刷新(修改长链接推送项目,增加实名认证审核的查询与推送(与其他的推送类似,后台前端判断是否需要刷新页面)) 时间:3.5小时
需完善的地方 (已完善已评估工时及分解任务,下面的时间已经增加到对应的任务中,标记出来只是记录这些增加了多少时间)
时间:36.5 / 7 = 5.2天
- [ok]需求文档-后台管理,1.1新建活动,需完善需求,比如允不允许重复创建活动等等 时间:2小时
- [ok]需求文档-创建订单,支付订单,扩展促销活动的逻辑暂无需求文档(参考本文档
小程序端章节 的 限时抢购
),需确认 时间:14小时 - [ok]如果订单已经参与了促销活动,订单详情等等任何地方,现在无任何地方展示参与过促销活动的订单信息,包括后台,需确认 时间:3.5小时
- [ok]后台的需求文档中的配图,本次实现后台的需求是否需要严格按照配图的交互完成交互?UI界面是否需要出图? 避免未按需求文档实现的问题,(目前主要是用户列表,编辑用户,提现审核)需确认
- [ok]需补充用户钱包的账单数据入口(在什么地方增加记录账单的方法,这个未评估) 提现减少,提现失败增加,订单完成时返佣增加,订单退款时扣除返佣(可扣为负数) 时间:7小时
- [ok]需补充返佣的订单逻辑(牵扯到提现,订单退款等等一系列逻辑,这个还未评估) 时间:4小时
- [ok]需求文档待补充 - 邀请赠送优惠券的逻辑(这个还未评估,产品经理的想法是分享二维码识别后打开的是H5领取优惠券的页面, 按照原逻辑在领取优惠券的接口上增加请求参数邀请码,然后接口内部的自动注册用户逻辑中扩展邀请赠送优惠券逻辑, 即使无邀请赠送优惠券的配置时,也要记录邀请赠送优惠券的日志记录,待见到需求文档时补充任务及估时) 时间:6小时
- 小程序首页增加限时抢购接口
- [ok]补时订单小程序支付 时间:2.5小时