ui设计工具:即时设计
小程序框架:uniapp
后端框架:spring boot + mybatis + tk mybatis+ spring mvc
数据库:mysql
待增加功能
用户
说明:简单获取头像、微信openid、昵称,然后用于后台数据处理和前端显示即可
(未完成,这个最后开发)昵称修改
(未完成,这个最后开发)头像修改
打卡任务
显示内容:任务名称、任务描述、奖励数、全勤奖励标识、周末奖励标识、本周打卡记录,今日打卡情况
说明:今日打卡情况未完成时的状态,根据不同的打卡类型有不同的显示
显示内容:任务名称、奖励数、全勤奖励标识、周末奖励标识、任务描述,打卡类型,打卡配置(四种比较规则、两种数值类型)
说明:目前有3种打卡类型,打卡配置根据打卡类型的不同而有所变化,从而形成丰富的打卡规则
(已开发)删除任务
(已开发)打卡
(已开发,待自测)补打卡
对于不同的打卡类型,都是默认直接完成打卡
如果完全没有打过卡:按照当时的打卡规则,直接生成一条新的打卡记录和结算记录
如果打过卡但是未完成的
有两种情况:
当天撤销
对于单次打卡:直接删除打卡记录即可
对于计数打卡:直接扣减次数(-1)即可,次数变成0即删除打卡记录
对于计时打卡:直接删除打卡记录即可,然后重新再打卡即可
(这种情况应该不存在,打卡当时应该就能即时处理不会留到结算后)结算后撤销,对于不同的打卡类型,都是默认直接没有打过卡
删除对应记录,根据对应任务反向计算即可,并记录修改值和对应的状态位
(已开发)归档
(未完成)针对单一任务查询时间范围内的打卡信息
显示内容:具体到天是否已打卡、打卡记录、打卡统计(打卡次数、全勤率)
注意:这里在表增加一个状态值辅助判断
奖励
显示内容:总奖励数、已领取奖励数、待领取奖励数
说明:全部领取功能通过前端页面支持,后端不需要额外开发
刮刮乐
显示内容:投入金额、中奖金额
(已开发)追加投入金额记录/中奖记录
(已开发)撤销投入金额记录/中奖记录
(已开发)按时间范围的刮刮乐查询记录
显示内容:投入金额记录、中奖记录
结算
系统
字典名称:彩票来源
字典编码:LOTTERY_SOURCE
字典项:
| 字典项编码 | 字典名称 |
|---|---|
| WELFARE_LOTTERY | 福利彩票 |
| SPORTS_LOTTERY | 体育彩票 |
字典名称:彩票刮刮乐种类
字典编码:LOTTERY_SCRATCH_OFF_CATEGORY
字典项
| 字典项编码 | 字典名称 |
|---|---|
| XINGYUN88 | 幸运88 |
| CHAOGEILI | 超给力 |
表名:user
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| open_id | varchar(128) | 微信id |
| nickname | varchar(100) | 微信昵称 |
| avatar | varchar(1000) | 微信头像url |
| total_reward_num | int | 总奖励数 |
| unclaimed_reward_num | int | 未领取奖励数 |
| claimed_reward_num | int | 已领取奖励数 |
| lottery_invest_amount | decimal(10,2) | 彩票投入金额(元) |
| lottery_win_amount | decimal(10,2) | 彩票中奖金额(元) |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更新人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:punch_in
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| task_name | varchar(128) | 任务名称 |
| reward_num | int | 奖励倍数 |
| category | int | 打卡类型(0-单次打卡,1-计数、2计时) |
| rule | int | 比较规则(0-大于,1-大于等于,2-小于,3-小于等于) |
| count_track | int | 次数记录 |
| time_track | time | 时间记录 |
| description | varchar(300) | 任务描述 |
| weekend_double_flag | tinyint | 是否启用周末双倍标志(0-不是,1-是) |
| full_attendance_flag | tinyint | 是否启用全勤奖励标志(0-不是,1-是) |
| archive_flag | tinyint | 是否归档标志(0-不是,1-是) |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:punch_in_record
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| punch_in_id | bigint | 打卡任务表主键 |
| punch_in_date | varchar(10) | 打卡日期 |
| count_track | int | 次数记录 |
| time_track | time | 时间记录 |
| settle_reward_num | int | 结算时任务上的奖励倍数 |
| settle_category | int | 结算时任务上的打卡类型(0-单次打卡,1-计数、2计时) |
| settle_rule | int | 结算时任务上的比较规则(0-大于,1-大于等于,2-小于,3-小于等于) |
| settle_count_track | int | 结算时任务上的次数记录 |
| settle_time_track | time | 结算时任务上的时间记录 |
| punch_in_status | int | 打卡状态(0-进行中,1-完成,2-未完成) ,结算后修改状态,单次打卡除外 |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:punch_in_settlement
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| user_id | bigint | 用户表主键 |
| settle_reward_num | int | 结算奖励数 |
| before_settle_reward_num | int | 结算前用户拥有的奖励数 |
| after_settle_reward_num | int | 结算后用户拥有的奖励数 |
| settlement_task_id | bigint | 结算任务表id |
| settlement_time | timestamp | 结算时间 |
| notify_id | bigint | 通知表ID |
| notify_status | varchar(20) | 结算通知状态(fail-通知失败,success-成功通知,pending-待通知) |
| notify_time | timestamp | 结算通知时间 |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:punch_in_record_settlement_rela
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| record_id | bigint | 打卡任务记录表ID |
| settlement_id | bigint | 打卡任务结算表ID |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:user_claim_reward_record
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| user_id | bigint | 用户表主键 |
| claim_reward_num | int | 本次领取奖励数 |
| claim_reward_time | timestamp | 领取奖励时间 |
| before_claim_reward_num | int | 领取前用户拥有的奖励数 |
| after_claim_reward_num | int | 领取后用户拥有的奖励数 |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:settlement_task
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| settle_date | varchar(10) | 结算日期 |
| start_time | timestamp | 任务开始时间 |
| end_time | timestamp | 任务结束时间 |
| processed_num | int | 待处理结算数量 |
| processed_settle_num | int | 处理已结算数量 |
| processed_unsettle_num | int | 处理没结算数量 |
| error_message | text | 失败异常信息 |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:settlement_notify_task
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| start_time | timestamp | 任务开始时间 |
| end_time | timestamp | 任务结束时间 |
| notify_num | int | 通知数量 |
| notify_success_num | int | 通知成功数量 |
| notify_fail_num | int | 通知失败数量 |
| error_message | text | 失败异常信息 |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:lottery_scratch_record
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| user_id | bigint | 用户主键 |
| action_type | int | 动作类型(0-投入/购买,1-中奖,2-撤销投入,3-撤销中奖) |
| source | varchar(100) | 彩票来源 |
| category | varchar(100) | 彩票种类 |
| amount | decimal(10,2) | 金额(元) |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:sys_dict
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| dict_code | varchar(100) | 字典编码 |
| dict_name | varchar(100) | 字典名称 |
| description | varchar(200) | 描述 |
| status | int | 状态(1-启用,0-失效) |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |
表名:sys_dict_item
| 字段 | 类型 | 描述 |
|---|---|---|
| id | bigint | 主键 |
| dict_id | bigint | 字典表主键 |
| item_code | varchar(100) | 字典项编码 |
| item_name | varchar(100) | 字典项名称 |
| description | varchar(200) | 描述 |
| status | int | 状态(1-启用,0-失效) |
| created_by | bigint | 创建人 |
| creation_time | timestamp | 创建时间 |
| last_updated_by | bigint | 最后更信人 |
| last_update_time | timestamp | 最后更新时间 |
| version | bigint | 版本号 |
| delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |