自我监控项目技术设计

2020-04-05

项目背景

一个自我进步量化的项目,一期只做为自己用,后面等功能完善开房出去给别人用。

  1. 人生进度
  2. 各个长期目标管理,以及进度 *
  3. 想法-验证-失败,想法-验证-成功
  4. 每日生活参数填写 *
  5. 把一个长期任务划分成各个阶段,匹配上完成度参数,再把完成度去细分成各个小任务,类似一个树状图结构。

目标任务功能点:任务增删改查,改只能改名字,不能改进度,进度根据下面参数自己计算

每日生活参数: 1.定时任务每日新增一条数据 2.每条数据,一,今天完成哪几个大目标的小目标了,完成度是多少,重要指数值是多少。二,今日日常任务(每日)完成度,选择后面需要写明小目标的目标值

三张表 1,目标表(三层,顶多四层,来做细分功能) 2,分数表 3,日记表 4,日记日模板表

CREATE TABLE `target_wjf` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `parent_id` int(10) unsigned zerofill NOT NULL COMMENT '父id',
  `target_level` tinyint(2) NOT NULL COMMENT '目标层级\n0,1,2,3',
  `cost_time` int(11) NOT NULL DEFAULT '0' COMMENT '花费时间,小时',
  `repeat_number` int(11) NOT NULL DEFAULT '0' COMMENT '需重复执行次数',
  `score` int(10) unsigned zerofill NOT NULL COMMENT '分数',
  `target_name` varchar(255) COLLATE utf8_bin NOT NULL COMMENT '目标名字',
  `target_status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '目标状态',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '编辑时间',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='执行目标表';


CREATE TABLE `day_score_wjf` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `target_wjf_id` int(11) NOT NULL DEFAULT '0' COMMENT '主tagetid',
  `target_wjf_id_c` int(11) NOT NULL DEFAULT '0' COMMENT '子tag的id',
  `score` float unsigned zerofill NOT NULL COMMENT '子score得分',
  `mark` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '备注',
  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '编辑时间',
  `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


CREATE TABLE `diary_temp_wjf` (
  `id` int(11) NOT NULL COMMENT '主键',
  `target_wjf_ids` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '目标值的id串',
  `enable` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否生效',
  `update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `create_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE TABLE `diary_item_wjf` (
  `id` int(11) NOT NULL COMMENT '主键',
  `diary_temp_wjf_id` int(11) NOT NULL COMMENT '模板id',
  `day_score_wjf_ids` varchar(0) COLLATE utf8_bin NOT NULL COMMENT '模板id',
  `diary_txt` varchar(255) COLLATE utf8_bin DEFAULT '' COMMENT '每日日记',
  `is_update` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否手动更新',
  `update_time` datetime NOT NULL COMMENT '更新时间',
  `create_time` datetime NOT NULL COMMENT '新增时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;