فهرست منبع

【feat】【v3】

1.技术文档更新
ChenYL 11 ماه پیش
والد
کامیت
2e803fe31e
1فایلهای تغییر یافته به همراه174 افزوده شده و 60 حذف شده
  1. 174 60
      doc/技术文档.md

+ 174 - 60
doc/技术文档.md

@@ -23,115 +23,229 @@ ui设计工具:即时设计
 
 ## 系统功能
 
-* 用户
 
-  1. (已开发)微信用户登录
 
-     说明:简单获取头像、微信openid、昵称,然后用于后台数据处理和前端显示即可
+### 基本概念
 
-  2. (已开发)昵称修改
 
-  3. (现阶段不支持该功能)头像修改
 
-* 打卡任务
+#### 打卡结算
 
-  1. (已开发)查询当前用户拥有的打卡任务列表
+* 打卡规则:计时、计数、单次打卡(计数的特例,只需计一次数)
 
-     显示内容:任务名称、任务描述、奖励数、全勤奖励标识、周末奖励标识、本周打卡记录,今日打卡情况
+* 计量单位:次数、分钟(自己设置)
 
-     说明:今日打卡情况未完成时的状态,根据不同的打卡类型有不同的显示
+* 结算周期:日、周、月、季、半年、年、用户自定义
 
-     * 打卡类型:单次打卡,未完成显示“完成”
-     * 打卡类型:计数,未完成显示“计数”,并且显示当前已打卡次数
-     * 打卡类型:计时,未完成显示“计时”,并且显示当前已记录的打卡时间
+* 根据有没有结束时间分类:
 
-  2. (已开发)新建/编辑任务
+  * 任务式打卡任务(有结束时间)
+  * 普通打卡任务(没有结束时间)
 
-     显示内容:任务名称、奖励数、全勤奖励标识、周末奖励标识、任务描述,打卡类型,打卡配置(四种比较规则、两种数值类型)
+* 奖励规则:
 
-     说明:目前有3种打卡类型,打卡配置根据打卡类型的不同而有所变化,从而形成丰富的打卡规则
+  1. 结算则给予奖励
+  2. 完成则给予奖励
+     * 在打卡任务结束时,给予奖励
+     * 在周期结束时,给予奖励
+  3. 按日期不同给予奖励-按照工作日、周末、法定节假日 给予不同的奖励
 
-     * 打卡类型:单次打卡、计数、计时
-     * 打卡配置:
-       * 单次打卡:这个不需要额外配置
-       * 计数:需要设置比较规则和数值
-       * 计时:需要设置比较规则和时间
-     * 比较规则:大于、小于、大于等于、小于等于
+* 结算规则
 
-  3. (已开发)删除任务
+  * 普通结算-满足比较条件就给予奖励,比较条件:大于等于、小于等于
 
-  4. (已开发)打卡
+  * 额外奖励-满足基本之后,打一次卡就有一次额外奖励
 
-  5. (已开发)补打卡
+  * 分段式结算
 
-     对于不同的打卡类型,都是默认直接完成打卡
+    阶梯区间1-不同区间有不同的结算奖励
 
-     如果完全没有打过卡:按照当时的打卡规则,直接生成一条新的打卡记录和结算记录
+    阶梯区间2-不同区间有不同的结算奖励
 
-     如果打过卡但是未完成的
+    以此类推
 
-     * 对于单次打卡:不存在这种情况
-     * 对于计数打卡:修改打卡记录的数据并记录修改值和对应的状态位,修改结算记录并记录修改值和对应的状态位
-     * 对于计时打卡:修改打卡记录的数据并记录修改值和对应的状态位,修改结算记录并记录修改值和对应的状态位
+  * 前置式结算-有一个起步时间,过了这个时间才会真正有结算奖励
+  * 完美式结算-在指定时间段范围内,只要有一个没有打卡则全部失败
 
-  6. (已开发,待自测)误打卡撤销
 
-     有两种情况:
 
-     1. 当天撤销
+#### 积分账户
 
-        对于单次打卡:直接删除打卡记录即可
+* 基本户:用于结算积分转入,或者兑换奖励
 
-        对于计数打卡:直接扣减次数(-1)即可,次数变成0即删除打卡记录
+* 一般户:专项专用,只能兑换指定奖励
 
-        对于计时打卡:直接删除打卡记录即可,然后重新再打卡即可
 
-     2. (这种情况应该不存在,打卡当时应该就能即时处理不会留到结算后)~~结算后撤销,对于不同的打卡类型,都是默认直接没有打过卡~~
 
-        ~~删除对应记录,根据对应任务反向计算即可,并记录修改值和对应的状态位~~
+### 按页面划分
 
-  7. (已开发)归档
 
-  8. (已开发)针对单一任务查询时间范围内的打卡信息
 
-     显示内容:具体到天是否已打卡、打卡记录、打卡统计(打卡次数、全勤率
+#### 当前任务视图(主页
 
-     注意:这里在表增加一个状态值辅助判断
+1. 查询当前待使用的积分数、刮刮卡的投入与产出、已消耗积分数与总积分数的比值
 
-* 奖励
+2. 查询当前用户待打卡的打卡任务列表
 
-  1. (已开发)查询当前用户拥有的奖励数
+   显示内容:任务名称、任务描述、奖励数、全勤奖励标识、周末奖励标识、本周打卡记录,今日打卡情况
 
-     显示内容:总奖励数、已领取奖励数、待领取奖励数
+   说明:今日打卡情况未完成时的状态,根据不同的打卡类型有不同的显示
 
-  2. (已开发,全部领取需要前端部分支持)领取奖励(部分领取、一次性全部领取)
+   * 打卡类型:单次打卡,未完成则显示“完成”
+   * 打卡类型:计数,未完成则显示“计数”,并且显示当前已打卡次数
+   * 打卡类型:计时,未完成则显示“计时”,并且显示当前已记录的打卡时间
 
-     说明:全部领取功能通过前端页面支持,后端不需要额外开发
+3. 新建打卡任务
 
-  3. (已开发)按时间范围查询当前用户的领取奖励记录
 
-* 刮刮乐
 
-  1. (已开发)查询当前用户的投入刮刮乐信息
+#### 任务列表
 
-     显示内容:投入金额、中奖金额
+1. 查询打卡任务列表
 
-  2. (已开发)追加投入金额记录/中奖记录
+2. 新建/编辑打卡任务
 
-  3. (已开发)撤销投入金额记录/中奖记录
+   * 需要要任务排序功能
+   * 任务显示控制,可以控制过了某个时间点才出现,不要一下子就把当天的都列出来
 
-  4. (已开发)按时间范围的刮刮乐查询记录
+3. 删除任务
 
-     显示内容:投入金额记录、中奖记录
+4. 打卡
 
-* 结算
+5. 补打卡
 
-  1. (已完成)手动运维接口,可以指定具体结算日期
-  2. (已完成)按时间范围查询当前用户的结算记录
+   对于不同的打卡类型,都是默认直接完成打卡
 
-* 系统
+   如果完全没有打过卡:按照当时的打卡规则,直接生成一条新的打卡记录和结算记录
 
-  1. (已开发,待自测)每晚自动结算
+   如果打过卡但是未完成的
+
+   * 对于单次打卡:不存在这种情况
+   * 对于计数打卡:修改打卡记录的数据并记录修改值和对应的状态位,修改结算记录并记录修改值和对应的状态位
+   * 对于计时打卡:修改打卡记录的数据并记录修改值和对应的状态位,修改结算记录并记录修改值和对应的状态位
+
+6. 误打卡撤销
+
+   有两种情况:
+
+   1. 当天撤销
+
+      对于单次打卡:直接删除打卡记录即可
+
+      对于计数打卡:直接扣减次数(-1)即可,次数变成0即删除打卡记录
+
+      对于计时打卡:直接删除打卡记录即可,然后重新再打卡即可
+
+   2. (这种情况应该不存在,打卡当时应该就能即时处理不会留到结算后)~~结算后撤销,对于不同的打卡类型,都是默认直接没有打过卡~~
+
+      ~~删除对应记录,根据对应任务反向计算即可,并记录修改值和对应的状态位~~
+
+7. 归档
+
+
+
+#### 打卡任务详情页
+
+针对单一任务查询时间范围内的打卡信息
+
+显示内容:具体到天是否已打卡、打卡记录、打卡统计(打卡次数、全勤率)
+
+注意:这里在表增加一个状态值辅助判断
+
+
+
+#### 数据
+
+1. 图表-积分变动表(增加、消耗)
+2. 图表-任务完成数
+3. 图表-某一天完成的打卡任务(通过日历选中)
+4. 图表-新用户,特权用户专属,看一下新用户的增加率
+5. 打卡任务的年视图的统计功能
+6. 增加刮刮乐刮次数的平均中奖记录、投入与产出比
+7. 增加自定义报表,能够自主选择是否显示报表
+
+
+
+#### 积分商城
+
+1. 兑换奖励列表(名称、所需积分),
+
+   已知奖励:
+
+   * 双色球:增加号码自动生成
+
+   * 大乐透:增加号码自动生成
+
+   * 刮刮乐
+
+2. 创建奖励
+
+3. 删除奖励
+
+4. 兑换奖励
+
+5. 创建一般户
+
+6. 一般户关联指定奖励
+
+7. 删除一般户,删除时要把与指定奖励的关联关系也删除,并且把积分转入一般户
+
+8. 一般户与基本户的积分互转,需要记录对应的转积分日志
+
+
+
+#### 用户中心
+
+1. 微信用户登录,简单记录昵称和openId即可
+
+2. 昵称修改
+
+3. 注销
+
+4. 免责声明页面
+
+5. 关于我们页面
+
+6. 结算日志:按时间范围查询当前用户的结算记录
+
+7. 查询当前用户拥有的奖励数
+
+   显示内容:总奖励数、已领取奖励数、待领取奖励数
+
+  9. 按时间范围查询当前用户的领取奖励记录
+
+9. 查询当前用户的投入刮刮乐信息
+
+   显示内容:投入金额、中奖金额
+
+10. 追加投入金额记录/中奖记录
+
+11. 撤销投入金额记录/中奖记录
+
+12. 按时间范围的刮刮乐查询记录
+
+    显示内容:投入金额记录、中奖记录
+
+
+
+#### 系统
+
+
+
+##### 定时任务
+
+1. 自动结算定时任务
+2. 自动打卡定时任务,要考虑怎么分辨没有打卡的问题
+3. 自动兑换定时任务
+4. 自动归档定时任务
+
+
+
+##### 运维接口
+
+1. 清除缓存
+2. 调起定时任务
+3. 手动结算接口,需要防止重复手动结算