Эх сурвалжийг харах

【feat】【第一版开发】
1.增加jasypt,配置文件敏感信息加解密
2.增加新用户登录处理
3.代码逻辑优化
4.增加定时任务配置

ChenYL 1 жил өмнө
parent
commit
45b5668b3f

+ 4 - 3
README.md

@@ -14,11 +14,12 @@
 
 ## 待办列表
 
+* 前端样式和使用细节优化
 * uniapp环境配置分离
-* 对接前端
+* ~~对接前端~~
 * certbot自动续期
-* 结算任务增加定时任务自动执行
-* 数据库脚本审计字段(creation_time、last_update_time)增加默认值
+* ~~结算任务增加定时任务自动执行~~
+* ~~数据库脚本审计字段(creation_time、last_update_time)增加默认值~~
 * ~~功能开发~~
 * ~~前端开发~~
 * ~~表设计~~

+ 18 - 18
doc/sql/schema.sql

@@ -7,9 +7,9 @@ CREATE TABLE `punch_in` (
   `full_attendance_flag` tinyint NOT NULL DEFAULT '0' COMMENT '是否启用全勤奖励标志(0-不是,1-是)',
   `archive_flag` tinyint NOT NULL DEFAULT '0' COMMENT '是否归档标志(0-不是,1-是)',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -23,9 +23,9 @@ CREATE TABLE `punch_in_record` (
   `punch_in_id` bigint NOT NULL COMMENT '打卡任务表主键',
   `punch_in_date` varchar(10) NOT NULL COMMENT '打卡日期',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -38,9 +38,9 @@ CREATE TABLE `punch_in_record_settlement_rela` (
   `record_id` bigint NOT NULL COMMENT '打卡任务记录表ID',
   `settlement_id` bigint NOT NULL COMMENT '打卡任务结算表ID',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -61,9 +61,9 @@ CREATE TABLE `punch_in_settlement` (
   `notify_status` varchar(20) DEFAULT NULL COMMENT '结算通知状态(fail-通知失败,success-成功通知,pending-待通知)',
   `notify_time` timestamp NULL DEFAULT NULL COMMENT '结算通知时间',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -82,9 +82,9 @@ CREATE TABLE `settlement_notify_task` (
   `notify_fail_num` int NOT NULL DEFAULT '0' COMMENT '通知失败数量',
   `error_message` text COMMENT '失败异常信息',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -103,9 +103,9 @@ CREATE TABLE `settlement_task` (
   `processed_unsettle_num` int NOT NULL DEFAULT '0' COMMENT '处理没结算数量',
   `error_message` text COMMENT '失败异常信息',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -122,9 +122,9 @@ CREATE TABLE `user` (
   `reward_num` int NOT NULL DEFAULT '0',
   `claimed_reward_num` int NOT NULL DEFAULT '0' COMMENT '已领取奖励数',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -140,9 +140,9 @@ CREATE TABLE `user_reward` (
   `unclaimed_reward_num` int NOT NULL DEFAULT '0' COMMENT '未领取奖励数',
   `claimed_reward_num` int NOT NULL DEFAULT '0' COMMENT '已领取奖励数',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)
@@ -159,9 +159,9 @@ CREATE TABLE `user_claim_reward_record` (
   `before_claim_reward_num` int NOT NULL DEFAULT '0' COMMENT '领取前用户拥有的奖励数',
   `after_claim_reward_num` int NOT NULL DEFAULT '0' COMMENT '领取后用户拥有的奖励数',
   `created_by` bigint NOT NULL COMMENT '创建人',
-  `creation_time` timestamp NOT NULL COMMENT '创建时间',
+  `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `last_updated_by` bigint NOT NULL COMMENT '最后更新人',
-  `last_update_time` timestamp NOT NULL COMMENT '最后更新时间',
+  `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `version` bigint NOT NULL DEFAULT '1' COMMENT '版本号',
   `delete_flag` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
   PRIMARY KEY (`id`)

+ 2 - 0
src/main/java/com/punchsettle/server/Application.java

@@ -4,11 +4,13 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 /**
  * @author tyuio
  */
 @EnableCaching
+@EnableScheduling
 @EnableFeignClients
 @SpringBootApplication
 public class Application {

+ 2 - 0
src/main/java/com/punchsettle/server/service/manager/impl/TaskManagerImpl.java

@@ -11,6 +11,7 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -62,6 +63,7 @@ public class TaskManagerImpl implements ITaskManager {
     private IPunchInRecordSettlementRelaService punchInRecordSettlementRelaService;
 
     @Override
+    @Scheduled(cron = "0 5 0 * * ?")
     @Transactional(rollbackFor = Exception.class)
     public void autoSettle() {
         log.info("结算任务开始");