diff --git a/mallinkAdmin/pom.xml b/mallinkAdmin/pom.xml index b4e69011d..3b9d17bd9 100644 --- a/mallinkAdmin/pom.xml +++ b/mallinkAdmin/pom.xml @@ -47,13 +47,15 @@ 5.2.4 - + - net.sourceforge.tess4j - tess4j - 4.5.2 + com.iformall + mallinkOcr + 1.0 + + diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java index 5ef94bdb3..87c71911f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java @@ -105,4 +105,12 @@ public class WxActivityController extends BaseController { return wxActivityService.sendToCampaign(id); } + @ApiOperation("从宣传页下线") + @PostMapping("offLineCampaign") + @SystemControllerLog(description = "活动-更新状态") + public ResultData offLineCampaign(@RequestBody WxActivity wxActivity) { + logger.debug("[" + getIpAddr() + "] WxActivityController::updateStatus"); + return wxActivityService.offLineCampaign(wxActivity); + } + } diff --git a/mallinkAdmin/src/main/resources/db/migration/V202101400001__memberImport.sql b/mallinkAdmin/src/main/resources/db/migration/V202101140001__memberImport.sql similarity index 100% rename from mallinkAdmin/src/main/resources/db/migration/V202101400001__memberImport.sql rename to mallinkAdmin/src/main/resources/db/migration/V202101140001__memberImport.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V202101900001__wx_score_rules.sql b/mallinkAdmin/src/main/resources/db/migration/V202101190001__wx_score_rules.sql similarity index 85% rename from mallinkAdmin/src/main/resources/db/migration/V202101900001__wx_score_rules.sql rename to mallinkAdmin/src/main/resources/db/migration/V202101190001__wx_score_rules.sql index dd3880155..562929495 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202101900001__wx_score_rules.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202101190001__wx_score_rules.sql @@ -1,5 +1,5 @@ INSERT INTO `mallink`.`wx_score_rules`(`id`, `tenant_id`, `type`, `scale`) select CEILING(RAND()*90000000000+10000000000),`tenant_id`,4,`scale` from wx_score_rules where type = 2 and scale > 10; ---集团版手动处理,(集团版不存在这类数据,子集团数据与原集团规则相等) +--集团版手动处理,(集团版不存在这类数据,子集团生日倍率数据与原集团规则相等) --目前集团版(1008-1020-----1028)(1026-1027-----1025) \ No newline at end of file diff --git a/mallinkAdmin/src/main/resources/db/migration/V202101210001__wx_c_user_basic_sign.sql b/mallinkAdmin/src/main/resources/db/migration/V202101210001__wx_c_user_basic_sign.sql new file mode 100644 index 000000000..b9e94193b --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202101210001__wx_c_user_basic_sign.sql @@ -0,0 +1,1999 @@ +CREATE TABLE `wx_c_user_basic_sign_0` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_1` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_2` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_3` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_4` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_5` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_6` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_7` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_8` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_9` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_10` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_11` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_12` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_13` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_14` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_15` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_16` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_17` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_18` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_19` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_20` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_21` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_22` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_23` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_24` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_25` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_26` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_27` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_28` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_29` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_30` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_31` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_32` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_33` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_34` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_35` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_36` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_37` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_38` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_39` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_40` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_41` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_42` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_43` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_44` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_45` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_46` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_47` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_48` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_49` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_50` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_51` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_52` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_53` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_54` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_55` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_56` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_57` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_58` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_59` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_60` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_61` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_62` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_63` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_64` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_65` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_66` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_67` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_68` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_69` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_70` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_71` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_72` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_73` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_74` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_75` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_76` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_77` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_78` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_79` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_80` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_81` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_82` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_83` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_84` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_85` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_86` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_87` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_88` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_89` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_90` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_91` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_92` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_93` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_94` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_95` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_96` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_97` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_98` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_sign_99` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `parent_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `user_id` bigint(20) NOT NULL, + `type` smallint(1) NOT NULL DEFAULT 1 COMMENT '1:签到', + `signin_date` datetime(0) NOT NULL COMMENT '签到时间', + `create_date` datetime(0) NOT NULL, + `update_date` datetime(0) NOT NULL, + `continue_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月连续签到天数', + `count_month_sign` int(11) NOT NULL COMMENT '截止当前签到时间当月累计签到天数', + `continue_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年连续签到天数', + `count_year_sign` int(11) NOT NULL COMMENT '截止当前签到时间当年累计签到天数', + `continue_sign` int(11) NOT NULL COMMENT '截止当前签到时间连续签到天数', + `count_sign` int(11) NOT NULL COMMENT '截止当前签到时间累计签到天数', + `mark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `tenant_id`(`tenant_id`, `user_id`, `signin_date`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; diff --git a/mallinkAdmin/src/main/resources/db/migration/V202101250001__user_sign_update_wx_score_rules.sql b/mallinkAdmin/src/main/resources/db/migration/V202101250001__user_sign_update_wx_score_rules.sql new file mode 100644 index 000000000..fa4bfb043 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202101250001__user_sign_update_wx_score_rules.sql @@ -0,0 +1,8 @@ +update wx_score_rules set rules = concat(SUBSTRING(rules,1,char_length(rules)-1), +",{\"id\": 17, \"desc\": \"每日签到\", \"step\": 1, \"limit\": 1, \"score\": 0}", +",{\"id\": 18, \"desc\": \"连续签到7天\", \"step\": 1, \"limit\": 1, \"score\": 0}", +",{\"id\": 19, \"desc\": \"连续签到14天\", \"step\": 1, \"limit\": 1, \"score\": 0}", +",{\"id\": 20, \"desc\": \"连续签到28天\", \"step\": 1, \"limit\": 1, \"score\": 0}", +RIGHT(rules,1)) where type = 2 + +--type=2 积分规则,每日登陆去掉-- 缓存--缓存--缓存 \ No newline at end of file diff --git a/mallinkAdmin/src/main/resources/db/migration/V202101260001__ocr.sql b/mallinkAdmin/src/main/resources/db/migration/V202101260001__ocr.sql new file mode 100644 index 000000000..26c195125 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202101260001__ocr.sql @@ -0,0 +1,24 @@ +CREATE TABLE `wx_merchant_ocr_model` ( + `id` bigint(20) NOT NULL, + `merchant_id` bigint(20) NOT NULL COMMENT '商户编号', + `ocr_model_id` bigint(20) NOT NULL COMMENT 'ocr模板编号', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `tenant_id` varchar(5) DEFAULT NULL COMMENT '租户id', + `parent_tenant_id` varchar(5) DEFAULT NULL, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `UNIQUE` (`merchant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE `wx_ocr_model` ( + `id` bigint(20) NOT NULL, + `lang_code` varchar(20) NOT NULL DEFAULT 'iformallLang' COMMENT '语言定义', + `font_name` varchar(20) NOT NULL COMMENT '字库名称', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `remark` text COMMENT '说明', + `status` tinyint(1) DEFAULT '0' COMMENT '0-有效 1-无效', + PRIMARY KEY (`id`), + UNIQUE KEY `UNIQUE` (`font_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + diff --git a/mallinkCApi/pom.xml b/mallinkCApi/pom.xml index 9c71414ee..a65c4b7e4 100644 --- a/mallinkCApi/pom.xml +++ b/mallinkCApi/pom.xml @@ -16,6 +16,17 @@ com.iformall mallinkService 1.0 + + + com.iformall + mallinkOcr + 1.0 + + + + com.iformall + mallinkOcr + 1.0 diff --git a/mallinkCApi/src/main/java/com/iformall/CApplication.java b/mallinkCApi/src/main/java/com/iformall/CApplication.java index 4e5aeb268..5fc95eb94 100644 --- a/mallinkCApi/src/main/java/com/iformall/CApplication.java +++ b/mallinkCApi/src/main/java/com/iformall/CApplication.java @@ -32,6 +32,9 @@ public class CApplication { @Value("${fm.upload_dir}") private String uploadDir; + + @Value("${fm.ocr_data}") + private String ocrData; @Bean public boolean isFmException() { diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxActivityController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxActivityController.java index 55f39e052..da01b2ae4 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxActivityController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxActivityController.java @@ -1,20 +1,27 @@ package com.iformall.controller; +import com.github.pagehelper.PageInfo; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxActivity; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.enums.EnumActivityStatus; import com.iformall.service.WxActivityService; +import com.iformall.utils.DateUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -30,6 +37,38 @@ public class WxActivityController extends BaseController { @Autowired private WxActivityService wxActivityService; + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute WxActivity wxActivity, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxActivityController::list"); + if (null == wxActivity) wxActivity = new WxActivity(); + wxActivity.setStatus(EnumActivityStatus.INJECT_ONLINE.getCode()); + wxActivity.updateTenantInfo(getTenantInfo()); + wxActivity.setSortColumns(BaseEntity.SortField.ActivityStartTime_DESC,BaseEntity.SortField.Id_DESC); + final PageInfo page = wxActivityService.listAsPage(wxActivity, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("") + @GetMapping("listStatus") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData listStatus(@ModelAttribute WxActivity wxActivity) { + logger.debug("[" + getIpAddr() + "] WxActivityController::list"); + if (null == wxActivity) wxActivity = new WxActivity(); + wxActivity.setStatus(EnumActivityStatus.INJECT_ONLINE.getCode()); + wxActivity.updateTenantInfo(getTenantInfo()); + wxActivity.setSortColumns(BaseEntity.SortField.ActivityStartTime_DESC,BaseEntity.SortField.Id_DESC); + if(wxActivity.getStartDate() == null || wxActivity.getEndDate() == null){ + wxActivity.setStartDate(DateUtils.getFirstDayForCurrMonth()); + wxActivity.setEndDate(DateUtils.getLastDayForMonth(new Date())); + } + return wxActivityService.getListStatus(wxActivity); + } @ApiOperation("查询活动状态") @GetMapping("/queryStatus") diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCUserBasicSignController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCUserBasicSignController.java new file mode 100644 index 000000000..d4956c5de --- /dev/null +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCUserBasicSignController.java @@ -0,0 +1,189 @@ +package com.iformall.controller; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCUserBasicSign; +import com.iformall.domain.po.WxCreditHistory; +import com.iformall.enums.EnumScoreType; +import com.iformall.exception.MallinkException; +import com.iformall.service.WxCUserBasicSignService; +import com.iformall.utils.DateUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.Map; + +@RestController +@RequestMapping("/api/userSign") +@Api(description = "签到接口") +public class WxCUserBasicSignController extends BaseController { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxCUserBasicSignService wxCUserBasicSignService; + + @ApiOperation("用户签到列表") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), + @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) + public ResultData list(@ModelAttribute WxCUserBasicSign wxCUserBasicSign, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxCUserBasicSignController::list"); + if (null == wxCUserBasicSign){ + wxCUserBasicSign = new WxCUserBasicSign(); + } + Long memberId; + try { + memberId = getMemberId(); + } catch (MallinkException me) { + return new ResultData(ErrorCode.getByCode(me.getErrorCode())); + } +// wxCUserBasicSign.updateTenantInfo(getTenantInfo()); + wxCUserBasicSign.setTenantId(getTenantInfo().getFinalTenantId()); + wxCUserBasicSign.setUserId(memberId); + final PageInfo page = wxCUserBasicSignService.listAsPage(wxCUserBasicSign, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("") + @GetMapping("listStatus") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData listStatus(@ModelAttribute WxCUserBasicSign wxCUserBasicSign) { + logger.debug("[" + getIpAddr() + "] WxCUserBasicSignController::listStatus"); + if (null == wxCUserBasicSign){ + wxCUserBasicSign = new WxCUserBasicSign(); + } + Long memberId; + try { + memberId = getMemberId(); + } catch (MallinkException me) { + return new ResultData(ErrorCode.getByCode(me.getErrorCode())); + } +// wxCUserBasicSign.updateTenantInfo(getTenantInfo()); + wxCUserBasicSign.setTenantId(getTenantInfo().getFinalTenantId()); + wxCUserBasicSign.setUserId(memberId); + + if(wxCUserBasicSign.getStartDate() == null || wxCUserBasicSign.getEndDate() == null){ + wxCUserBasicSign.setStartDate(DateUtils.getFirstDayForCurrMonth()); + wxCUserBasicSign.setEndDate(DateUtils.getLastDayForMonth(new Date())); + } + return wxCUserBasicSignService.getListStatus(wxCUserBasicSign); + } + + @ApiOperation("签到") + @PostMapping("signIn") + @ApiImplicitParams({ + @ApiImplicitParam(name = "", value = "", dataType = "", paramType = "", required = true)}) + public ResultData signIn(@RequestBody WxCUserBasicSign wxCUserBasicSign) { + logger.debug("[" + getIpAddr() + "] WxCUserBasicSignController::signIn"); + if (null == wxCUserBasicSign){ + wxCUserBasicSign = new WxCUserBasicSign(); + } + Long memberId; + try { + memberId = getMemberId(); + } catch (MallinkException me) { + return new ResultData(ErrorCode.getByCode(me.getErrorCode())); + } +// wxCUserBasicSign.updateTenantInfo(getTenantInfo()); + wxCUserBasicSign.setTenantId(getTenantInfo().getFinalTenantId()); + wxCUserBasicSign.setUserId(memberId); + + WxCUserBasicSign todaySign = wxCUserBasicSignService.getTodaySignIn(wxCUserBasicSign); + if(todaySign == null){ + try { + todaySign = wxCUserBasicSignService.signIn(wxCUserBasicSign); + }catch(Exception e){ + return new ResultData(ErrorCode.SYS_SERVER_ERROR); + } + if(todaySign == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"type"); + } + return new ResultData(todaySign); + }else{ + return new ResultData(ErrorCode.MEM_IS_SIGNIN,todaySign); + } + + } + + @ApiOperation("签到状态") + @GetMapping("signInStatus") + @ApiImplicitParams({ + @ApiImplicitParam(name = "", value = "", dataType = "", paramType = "", required = true)}) + public ResultData signInStatus() { + logger.debug("[" + getIpAddr() + "] WxCUserBasicSignController::signIn"); + WxCUserBasicSign wxCUserBasicSign = new WxCUserBasicSign(); + Long memberId; + try { + memberId = getMemberId(); + } catch (MallinkException me) { + return new ResultData(ErrorCode.getByCode(me.getErrorCode())); + } +// wxCUserBasicSign.updateTenantInfo(getTenantInfo()); + wxCUserBasicSign.setTenantId(getTenantInfo().getFinalTenantId()); + wxCUserBasicSign.setUserId(memberId); + Map map = wxCUserBasicSignService.getLastSignIn(wxCUserBasicSign); + return new ResultData(map); + } + + @ApiOperation("签到领取") + @PostMapping("signInCredit") + @ApiImplicitParams({ + @ApiImplicitParam(name = "", value = "", dataType = "", paramType = "", required = true)}) + public ResultData signInCredit(@RequestBody WxCreditHistory wxCreditHistory) { + logger.debug("[" + getIpAddr() + "] WxCUserBasicSignController::signIn"); + if (null == wxCreditHistory){ + wxCreditHistory = new WxCreditHistory(); + } + Long memberId; + try { + memberId = getMemberId(); + } catch (MallinkException me) { + return new ResultData(ErrorCode.getByCode(me.getErrorCode())); + } + WxCUserBasicSign wxCUserBasicSign = new WxCUserBasicSign(); + wxCUserBasicSign.setTenantId(getFinalTenantId()); + wxCUserBasicSign.setUserId(memberId); + Map map = wxCUserBasicSignService.getLastSignIn(wxCUserBasicSign); + int continueMonthSign = map.get("continueMonthSign");//本月连续签到天数 + int continueSign = map.get("continueSign");//连续签到天数 + int signInSevenDay = map.get("signInSevenDay");//7日连续奖励 + int signInFTDay = map.get("signInFTDay");//14日连续奖励 + int signInTEDay = map.get("signInTEDay");//28日连续奖励 + + if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_SEVENDAY.getCode())){ + if(continueSign >= 7 && signInSevenDay == 0){ + wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_SEVENDAY); + return new ResultData(); + } + return new ResultData(ErrorCode.MEM_MONTH_IS_USED); + }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_FTDAY.getCode())){ + if(continueSign >= 14 && signInFTDay == 0){ + wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_FTDAY); + return new ResultData(); + } + return new ResultData(ErrorCode.MEM_MONTH_IS_USED); + }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_TEDAY.getCode())){ + if(continueSign >= 28 && signInTEDay == 0){ + wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_TEDAY); + return new ResultData(); + } + return new ResultData(ErrorCode.MEM_MONTH_IS_USED); + }else{ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"creditType"); + } + + } + +} diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOcrController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOcrController.java new file mode 100644 index 000000000..79bef0746 --- /dev/null +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOcrController.java @@ -0,0 +1,63 @@ +package com.iformall.controller; + +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxMerchantOcrModel; +import com.iformall.domain.po.WxOcrModel; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.ocr.FormallTess4j; +import com.iformall.service.WxOcrService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author gongbiao + */ +@RestController +@RequestMapping("/api/wxOcr") +@Api(description = "ocr") +public class WxOcrController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxOcrService ocrService; + @Autowired + private String ocrData; + + @ApiOperation("分析图片信息") + @GetMapping("/analyImage") + @ApiImplicitParams({ + @ApiImplicitParam(name = "merchantId", value = "商户编号", dataType = "Long", paramType = "query", required = true), + @ApiImplicitParam(name = "imageUrl", value = "小票图片url", dataType = "String", paramType = "query", required = true), + }) + public ResultData analyImage(Long merchantId,String imageUrl) { + TenantEntity tenantEntity = getTenantInfo(); + WxMerchantOcrModel MerchantModel = ocrService.getMerchantOcrModel(merchantId, tenantEntity.getTenantId(), tenantEntity.getParentTenantId()); + if (null == MerchantModel) { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(), "当前商户没有配置OCR模板"); + } + WxOcrModel ocrModel = ocrService.getOcrModelById(MerchantModel.getOcrModelId()); + if (null == ocrModel) { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(), "当前商户配置的OCR模板未查询到"); + } + String result; + try { + result = FormallTess4j.ocrNetImgFile(ocrData,imageUrl,ocrModel.getFontName()); + return new ResultData(result); + } catch (Exception e) { + logger.error("ocr识别失败。",e); + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(), "ocr识别失败。"+e.getMessage()); + } + + } + + +} diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index a921fbf96..142382cc9 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -1014,7 +1014,7 @@ public class WxUserGrantController extends BaseController { wxCUserBasicInfoService.updateQrCode(wxCUserBasicInfo); } } - RedisCacheUtils.cache(objectCommonRedisTemplate, key, qrCode, Constant.S_D_EXPIRE); + RedisCacheUtils.cache(objectCommonRedisTemplate, key, qrCode, 0); } catch (Exception e) { logger.error("getUserinfoQrCode error.",e); diff --git a/mallinkCApi/src/main/resources/application-dev.yml b/mallinkCApi/src/main/resources/application-dev.yml index b2b606aad..a3334c605 100644 --- a/mallinkCApi/src/main/resources/application-dev.yml +++ b/mallinkCApi/src/main/resources/application-dev.yml @@ -160,6 +160,7 @@ fm: deploy: 1 open: true upload_dir: /home/test/server/uploads/ + ocr_data: /home/test/server/ocr_data/ logging: level: diff --git a/mallinkCApi/src/main/resources/application-prod.yml b/mallinkCApi/src/main/resources/application-prod.yml index cb6c367fc..86d1a247c 100644 --- a/mallinkCApi/src/main/resources/application-prod.yml +++ b/mallinkCApi/src/main/resources/application-prod.yml @@ -115,6 +115,7 @@ fm: deploy: 3 open: true upload_dir: /root/uploads/ + ocr_data: /root/ocr_data/ logging: level: diff --git a/mallinkCApi/src/main/resources/application-test.yml-bak b/mallinkCApi/src/main/resources/application-test.yml-bak index 4aa4daf72..e75ea2d83 100644 --- a/mallinkCApi/src/main/resources/application-test.yml-bak +++ b/mallinkCApi/src/main/resources/application-test.yml-bak @@ -93,6 +93,7 @@ fm: deploy: 2 open: true upload_dir: /home/ec2-user/server/uploads/ + ocr_data: /home/ec2-user/server/ocr_data/ logging: level: diff --git a/mallinkOcr/pom.xml b/mallinkOcr/pom.xml index b43f32111..e0177547c 100644 --- a/mallinkOcr/pom.xml +++ b/mallinkOcr/pom.xml @@ -15,20 +15,27 @@ net.java.dev.jna jna - 4.1.0 + 5.3.1 net.sourceforge.tess4j tess4j - 3.4.0 + 4.4.0 - com.sun.jna - jna - + commons-io + commons-io + + + commons-logging + commons-logging + + + jna + net.java.dev.jna + - \ No newline at end of file diff --git a/mallinkOcr/src/main/java/com/iformall/ocr/FormallTess4j.java b/mallinkOcr/src/main/java/com/iformall/ocr/FormallTess4j.java index a9fd26661..50b457b9e 100644 --- a/mallinkOcr/src/main/java/com/iformall/ocr/FormallTess4j.java +++ b/mallinkOcr/src/main/java/com/iformall/ocr/FormallTess4j.java @@ -124,16 +124,16 @@ public class FormallTess4j { } } - public static String ocrLocalImgFile(String filePath,String dataPath) throws Exception { - File imageFile = new File(filePath); - String result = testDoOCR_File(imageFile,dataPath); + private static String ocrLocalImgFile(String languagePath,String filePath,String fontName) throws Exception { + File imageFile = new File(filePath,fontName); + String result = testDoOCR_File(languagePath,imageFile,fontName); deletetempFile(imageFile); return result; } - public static String ocrNetImgFile(String fileUrl,String dataPath) throws Exception { + public static String ocrNetImgFile(String languagePath,String fileUrl,String fontName) throws Exception { File imageFile = urlImgToFile(fileUrl); - String result = testDoOCR_File(imageFile,dataPath); + String result = testDoOCR_File(languagePath,imageFile,fontName); deletetempFile(imageFile); return result; } @@ -143,11 +143,11 @@ public class FormallTess4j { * 根据图片文件进行识别 * @throws Exception while processing image. */ - private static String testDoOCR_File(File imageFile,String dataPath) throws Exception { + public static String testDoOCR_File(String languagePath,File imageFile,String fontName) throws Exception { logger.info("doOCR on a jpg image"); //set language - instance.setDatapath(dataPath); - instance.setLanguage("chi_sim"); + instance.setDatapath(languagePath); + instance.setLanguage(fontName); String result = instance.doOCR(imageFile); return result; } @@ -155,14 +155,13 @@ public class FormallTess4j { public static void main(String[] args) { try { - System.out.println(ocrNetImgFile("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.my0832.com%2Fattachments%2Fbbs%2F20140424%2F201442413083356803_740_1186.jpg&refer=http%3A%2F%2Fimg.my0832.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613903848&t=985fc4c6c7b7ee82cb98f97ab5bf1459",testResourcesLanguagePath)); + System.out.println(ocrNetImgFile(testResourcesLanguagePath,"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.my0832.com%2Fattachments%2Fbbs%2F20140424%2F201442413083356803_740_1186.jpg&refer=http%3A%2F%2Fimg.my0832.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613903848&t=985fc4c6c7b7ee82cb98f97ab5bf1459","test1")); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } - // // /** // * Test of doOCR method, of class Tesseract. diff --git a/mallinkOcr/src/main/java/com/iformall/ocr/FormallTess4jTrain.java b/mallinkOcr/src/main/java/com/iformall/ocr/FormallTess4jTrain.java new file mode 100644 index 000000000..eceac2147 --- /dev/null +++ b/mallinkOcr/src/main/java/com/iformall/ocr/FormallTess4jTrain.java @@ -0,0 +1,134 @@ +package com.iformall.ocr; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.LineNumberReader; + +/** + * 训练 + * @author iformall + */ +public class FormallTess4jTrain { + + private static final String newFileFolder = "C:\\Users\\iformall\\Desktop\\newfile"; + + private static final String huanhangstr = " \n"; + + private static String getprefix(String lang,String fontName) { + String realFileName = lang+"."+fontName+".exp0"; + return realFileName; + } + + private static String createBoxFile(String tifFileName,String lang,String fontName) { + String prefix = getprefix(lang,fontName); + String realFileName = prefix+".tif"; + if (tifFileName.equals(realFileName)) { + String cmdstr = "tesseract "+tifFileName+" "+prefix+" -l chi_sim batch.nochop makebox"; + return cmdstr; + //String result = executeLocalCmd(cmdstr, null); + + //System.out.println("Done createBoxFile"+result); + }else { + return "文件必须是.tif"; + } + } + + private static String createTranFile(String lang,String fontName) { + String prefix = getprefix(lang,fontName); + String realFileName = prefix+".tif"; + String trainCmdstr = "tesseract "+realFileName+" "+prefix+" nobatch box.train"; + return trainCmdstr; + } + + private static String getBoxFont(String lang,String fontName) { + String prefix = getprefix(lang,fontName); + String extractorCmdstr = "unicharset_extractor "+prefix+".box"; + return extractorCmdstr; + } + + /** + * 第六步,执行完成后生成以下几个文件加前缀 + * unicharset、inttemp、pffmtable、shapetable、normproto 添加这几个文件的前缀为fontName + * @param lang + * @param fontName + * @return + */ + private static String renameTrainFiles(String fontName) { + StringBuffer sb = new StringBuffer(); + String renCmdstr = "REN unicharset "+fontName+".unicharset"; + sb.append(renCmdstr).append(huanhangstr); + + renCmdstr = "REN inttemp "+fontName+".inttemp"; + sb.append(renCmdstr).append(huanhangstr); + + renCmdstr = "REN pffmtable "+fontName+".pffmtable"; + sb.append(renCmdstr).append(huanhangstr); + + renCmdstr = "REN shapetable "+fontName+".shapetable"; + sb.append(renCmdstr).append(huanhangstr); + + renCmdstr = "REN normproto "+fontName+".normproto"; + sb.append(renCmdstr).append(huanhangstr); + return sb.toString(); + } + + /** + * 第七步:合并5个文件 + * @param lang + * @param fontName + * @return + */ + private static String mergeTrainFiles(String fontName) { + String mergeCmdstr = "combine_tessdata "+fontName+"."; + return mergeCmdstr; + } + + + public static String getTrainSteps(String lang,String fontName) { + + StringBuffer sb = new StringBuffer("请进入到样本图片文件夹用doc命令执行.").append(huanhangstr); + sb.append("第一步,用jTessBoxEditor --> Tools --> Merge 多选图片,保存为tif格式 .命名格式为[lang].[fontName].exp0.tif. 命名:").append(lang).append(".").append(fontName).append(".exp0.tif ").append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第二步,用tif生成box ").append(huanhangstr); + sb.append(createBoxFile(lang+"."+fontName+".exp0.tif", lang, fontName)).append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第三步,用jTessBoxEditor 打开.box文件进行矫正 ").append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第四步:用box文件生成。tr文件 ").append(huanhangstr); + sb.append(createTranFile(lang,fontName)).append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第五步:提取box字符 ").append(huanhangstr); + sb.append(getBoxFont(lang,fontName)).append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("@@@!!!!从此处开始,可以处理多个字库处理。如原来的字库现在做升级,需要把老的字库的。tif,.box,.tr文件重新命名也放到同目录文件夹, ").append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第六步:新建font_properties(没有.txt后缀), 把所有box对应的字体特征加进去。").append(huanhangstr); + sb.append("fontname为字体名称,保持和 图片集文件 .tif 和.box文件的前缀名一致 .的取值为1或0,表示字体是否具有这些属性。 ").append(huanhangstr); + sb.append("如以下内容: ").append(huanhangstr); + sb.append("fontName1 0 0 0 0 0 ").append(huanhangstr); + sb.append("fontName2 0 1 0 0 0 ").append(huanhangstr); + sb.append("fontName3 1 1 0 0 0 ").append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第六步:批量执行系列命令。多个文件在后面累加。 ").append(huanhangstr); + String prefix = getprefix(lang,fontName); + String shapeCmdStr = "shapeclustering -F font_properties -U unicharset "+prefix+".tr [other .tr files...] "; + sb.append(shapeCmdStr).append(huanhangstr); + String mftraingCmdstr = "mftraining -F font_properties -U unicharset -O unicharset "+prefix+".tr [other .tr files...] "; + sb.append(mftraingCmdstr).append(huanhangstr); + String cntrainCmdstr = "cntraining "+prefix+".tr [other .tr files...] "; + sb.append(cntrainCmdstr).append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第七步,执行完成后生成以下几个文件加前缀: unicharset、inttemp、pffmtable、shapetable、normproto 添加这几个文件的前缀为[fontName] ").append(huanhangstr); + sb.append(renameTrainFiles(fontName)); + sb.append("............ ").append(huanhangstr); + sb.append("第七步:合并5个文件").append(huanhangstr); + sb.append(mergeTrainFiles(fontName)).append(huanhangstr); + sb.append("............ ").append(huanhangstr); + sb.append("第八步:将").append(fontName).append(".traineddata 文件拷贝到后端服务器ocr_data(项目配置fm.ocr_data)目录下。 .tif、。box、。tr文件也需要保留,后面如果这个字库有更新,需要用到这些文件。").append(huanhangstr); + return sb.toString(); + } + +} diff --git a/mallinkOcr/src/main/resources/Read.txt b/mallinkOcr/src/main/resources/Read.txt index f10a0bd35..9a470fa25 100644 --- a/mallinkOcr/src/main/resources/Read.txt +++ b/mallinkOcr/src/main/resources/Read.txt @@ -1,3 +1,14 @@ https://www.cnblogs.com/wj-1314/p/9454656.html -https://www.cnblogs.com/pejsidney/p/9487881.html \ No newline at end of file +https://www.cnblogs.com/pejsidney/p/9487881.html + + +https://digi.bib.uni-mannheim.de/tesseract/ + +https://blog.csdn.net/qq_40147863/article/details/82290015 + +https://blog.csdn.net/boonya/article/details/81325997 + + +合并字库 https://www.cnblogs.com/c2soft/articles/10415236.html +完整教程 https://www.cnblogs.com/wpcnblog/p/12850590.html diff --git a/mallinkOcr/src/main/resources/tessdata/test1.traineddata b/mallinkOcr/src/main/resources/tessdata/test1.traineddata new file mode 100644 index 000000000..a07542f43 Binary files /dev/null and b/mallinkOcr/src/main/resources/tessdata/test1.traineddata differ diff --git a/mallinkService/pom.xml b/mallinkService/pom.xml index c9a09ec90..8a019e55a 100644 --- a/mallinkService/pom.xml +++ b/mallinkService/pom.xml @@ -35,14 +35,6 @@ mybatis-multi-tenancy 1.0 - - - - com.iformall - mallinkOcr - 1.0 - - \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index c2d161a16..607aac091 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -396,6 +396,8 @@ public enum ErrorCode{ CREDIT_NOT_ENOUGH(13101, "积分不够扣减值"), USER_NOT_MEMBER(13102, "该用户不是小程序会员"), OUT_OF_CREDIT(13103, "超出最大积分"), + MEM_IS_SIGNIN(13104, "该用户已签到"), + MEM_MONTH_IS_USED(13105, "该用户本月已领取或未到领取条件"), /** @@ -538,6 +540,7 @@ public enum ErrorCode{ ACTIVITY_TIME_ERROR(30005, "活动报名结束时间不能大于活动结束时间"), ACTIVITY_WAIT_CONFIRMED(30006, "您报名的活动还在审核中"), ACTIVITY_EXPIRED(30007, "您报名的活动已过期"), + ACTIVITY_SEND_ERROR_NOONLINE(30008, "活动投放到宣传页失败,活动未上线!"), /** * 文件上传 diff --git a/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java b/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java index b0e7342a8..c3663f209 100644 --- a/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java +++ b/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java @@ -76,6 +76,13 @@ public class BaseMyBatisConfiguration { basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); shardingList.add(basicInfoSharding); + ShardingSphere basicSignSharding = new ShardingSphere(); + basicSignSharding.setColumn("tenant_id"); + basicSignSharding.setTableName("wx_c_user_basic_sign"); + basicSignSharding.setCount(100); + basicSignSharding.setRule(EnumShardingRule.HASH.getCode()); + shardingList.add(basicSignSharding); + ShardingSphere wxbasicChildSharding = new ShardingSphere(); wxbasicChildSharding.setColumn("tenant_id"); wxbasicChildSharding.setTableName("wx_c_user_basic_child"); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java index 872a6ed78..3fb0ab51a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java @@ -72,11 +72,11 @@ public class WxActivity extends TenantEntity { @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "开始时间", name = "starttime") - private Date starttime; + private Date startDate; @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endtime") - private Date endtime; + private Date endDate; @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicSign.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicSign.java new file mode 100644 index 000000000..a4f5f553d --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicSign.java @@ -0,0 +1,67 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + +@TableName(value = "wx_c_user_basic_sign") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxCUserBasicSign extends TenantEntity { + + @TableField(exist = false) + public static final Integer SIGNIN_TYPE = 1; + + protected Long id; + + @io.swagger.annotations.ApiModelProperty(value="userId",name="userId") + private Long userId; + + @io.swagger.annotations.ApiModelProperty(value="1:签到",name="type") + private Integer type; + + @io.swagger.annotations.ApiModelProperty(value="签到时间",name="signinDate") + private Date signinDate; + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + private Date createDate; + @io.swagger.annotations.ApiModelProperty(value="修改时间",name="updateDate") + private Date updateDate; + + @io.swagger.annotations.ApiModelProperty(value="截止当前签到时间当月连续签到天数",name="continueMonthSign") + private Integer continueMonthSign; + @io.swagger.annotations.ApiModelProperty(value="截止当前签到时间当月累计签到天数",name="countMonthSign") + private Integer countMonthSign; + + @io.swagger.annotations.ApiModelProperty(value="截止当前签到时间当年连续签到天数",name="continueYearSign") + private Integer continueYearSign; + @io.swagger.annotations.ApiModelProperty(value="截止当前签到时间当年累计签到天数",name="countYearSign") + private Integer countYearSign; + + @io.swagger.annotations.ApiModelProperty(value="截止当前签到时间连续签到天数",name="continueSign") + private Integer continueSign; + @io.swagger.annotations.ApiModelProperty(value="截止当前签到时间累计签到天数",name="countSign") + private Integer countSign; + + @io.swagger.annotations.ApiModelProperty(value="备注",name="mark") + private String mark; + + + @TableField(exist = false) + private Date startDate; + + @TableField(exist = false) + private Date endDate; + + @TableField(exist = false) + private Integer begin; + + @TableField(exist = false) + private Integer limit; + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantOcrModel.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantOcrModel.java new file mode 100644 index 000000000..d98f628c3 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchantOcrModel.java @@ -0,0 +1,25 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + +@TableName(value = "wx_merchant_ocr_model") +@Data +@EqualsAndHashCode(callSuper = true) +public class WxMerchantOcrModel extends TenantEntity { + private static final long serialVersionUID = 1L; + + protected Long id; + @io.swagger.annotations.ApiModelProperty(value="商户编号",name="merchantId") + private Long merchantId; + @io.swagger.annotations.ApiModelProperty(value="ocr模板编号",name="ocrModelId") + private Long ocrModelId; + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createTime") + private Date createTime; + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="updateTime") + private Date updateTime; + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOcrModel.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOcrModel.java new file mode 100644 index 000000000..c407d7390 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOcrModel.java @@ -0,0 +1,28 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; + +@TableName(value = "wx_ocr_model") +@Data +@EqualsAndHashCode(callSuper = true) +public class WxOcrModel extends BaseEntity { + private static final long serialVersionUID = 1L; + + protected Long id; + @io.swagger.annotations.ApiModelProperty(value="语言定义,默认iformallLang",name="langCode") + private String langCode; + @io.swagger.annotations.ApiModelProperty(value="字库名称",name="fontName") + private String fontName; + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createTime") + private Date createTime; + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateTime") + private Date updateTime; + @io.swagger.annotations.ApiModelProperty(value="备注",name="remark") + private String remark; + @io.swagger.annotations.ApiModelProperty(value="0-有效 1-无效",name="status") + private Integer status; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java b/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java index e4f5f9cd2..3b04c477a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java @@ -48,7 +48,6 @@ public class WxScoreRules extends BaseTenantEntity { " {\"businessId\":6,\"limit\":0,\"step\":1,\"score\":0 ,\"desc\":\"线上交易1元\"}" + "]}," + "{\"id\":3,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"绑定车牌1个\"}," + - "{\"id\":5,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"授权个人信息\"}," + "{\"id\":6,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"授权手机号\"}," + "{\"id\":7,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"编辑个人信息\"}" + "]"; @@ -56,7 +55,7 @@ public class WxScoreRules extends BaseTenantEntity { @TableField(exist = false) private static final String creditDefaultRules = "[" + - "{\"id\":1,\"limit\":0,\"step\":1,\"score\":0 ,\"desc\":\"每日登陆\"}," + +// "{\"id\":1,\"limit\":0,\"step\":1,\"score\":0 ,\"desc\":\"每日登陆\"}," + "{\"id\":2,\"childs\":[" + " {\"businessId\":1,\"limit\":0,\"step\":1,\"score\":0 ,\"desc\":\"线上交易1元\"}," + " {\"businessId\":2,\"limit\":0,\"step\":1,\"score\":0 ,\"desc\":\"线上交易1元\"}," + @@ -71,10 +70,12 @@ public class WxScoreRules extends BaseTenantEntity { " {\"businessId\":6,\"limit\":0,\"step\":1,\"score\":0 ,\"desc\":\"线上交易1元\"}" + "]}," + "{\"id\":3,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"绑定车牌1个\"}," + - "{\"id\":5,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"授权个人信息\"}," + "{\"id\":6,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"授权手机号\"}," + "{\"id\":7,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"编辑个人信息\"}," + - "{\"id\":8,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"编辑个人信息\"}" + + "{\"id\": 17, \"desc\": \"每日签到\", \"step\": 1, \"limit\": 1, \"score\": 0},"+ + "{\"id\": 18, \"desc\": \"连续签到7天\", \"step\": 1, \"limit\": 1, \"score\": 0},"+ + "{\"id\": 19, \"desc\": \"连续签到14天\", \"step\": 1, \"limit\": 1, \"score\": 0},"+ + "{\"id\": 20, \"desc\": \"连续签到28天\", \"step\": 1, \"limit\": 1, \"score\": 0},"+ "]"; @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java index 67e94f9f0..9220fad65 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/base/BaseEntity.java @@ -205,6 +205,10 @@ public class BaseEntity implements Serializable { ReportDate_ASC("`report_date` ASC"), ReportDate_DESC("`report_date` DESC"), + + ActivityStartTime_ASC("`activity_start_time` ASC"), + ActivityStartTime_DESC("`activity_start_time` DESC"), + ; private String value; diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java index d97f28f98..a7f896a0f 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java @@ -8,7 +8,8 @@ public enum EnumActivityStatus { STATUS_THROW_IN(0, "已保存"), STATUS_TAKE_OFFF(1, "已下线"), - INJECT_CAMPAIGN(2, "已投放"),; + INJECT_CAMPAIGN(2, "已投放"), + INJECT_ONLINE(3, "已上线"),; public static EnumActivityStatus getEnum(Integer code) { for (EnumActivityStatus value : values()) { diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java b/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java index 8544c22d5..8624cff4d 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java @@ -20,7 +20,12 @@ public enum EnumScoreType { ACTIVITY_JOIN(13, "活动报名"), CLEAN_CREDIT(14, "积分清零计划"), GAME_LES_CREDIT(15, "游戏消耗积分"), - GAME_ADD_CREDIT(16, "游戏奖励积分"),; + GAME_ADD_CREDIT(16, "游戏奖励积分"), + + SIGN_IN_DAY(17, "每日签到"), + SIGN_IN_SEVENDAY(18, "连续签到7天"), + SIGN_IN_FTDAY(19, "连续签到14天"), + SIGN_IN_TEDAY(20, "连续签到28天"),; public static EnumScoreType getEnum(Integer code) { for (EnumScoreType value : values()) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicSignMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicSignMapper.java new file mode 100644 index 000000000..63a31f8e4 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicSignMapper.java @@ -0,0 +1,13 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxCUserBasicSign; + +import java.util.List; + +public interface WxCUserBasicSignMapper extends CommonMapper { + + List findList(WxCUserBasicSign record); + + WxCUserBasicSign getLastSignIn(WxCUserBasicSign record); +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java index 2fc4a298b..64a61dd62 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java @@ -41,4 +41,6 @@ public interface WxCreditHistoryMapper extends CommonMapper merchantCreditRanking(WxCreditHistory record); + + int monthCount(WxCreditHistory record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantOcrModelMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantOcrModelMapper.java new file mode 100644 index 000000000..51766acda --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantOcrModelMapper.java @@ -0,0 +1,14 @@ +package com.iformall.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iformall.domain.po.WxMerchantOcrModel; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface WxMerchantOcrModelMapper extends BaseMapper { + + List findList(WxMerchantOcrModel merchantOcrModel); +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOcrModelMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOcrModelMapper.java new file mode 100644 index 000000000..d2a5bdbfc --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOcrModelMapper.java @@ -0,0 +1,14 @@ +package com.iformall.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.iformall.domain.po.WxOcrModel; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface WxOcrModelMapper extends BaseMapper { + + List findList(WxOcrModel ocrModel); +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxActivityService.java index 4ed660f41..74bf4a6f2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxActivityService.java @@ -46,4 +46,7 @@ public interface WxActivityService { Integer queryStatus(Long id, Long userId); + ResultData offLineCampaign(WxActivity wxActivity); + + ResultData getListStatus(WxActivity wxActivity); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserBasicSignService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicSignService.java new file mode 100644 index 000000000..c3844e22c --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicSignService.java @@ -0,0 +1,31 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCUserBasicSign; +import com.iformall.enums.EnumScoreType; + +import java.util.Map; + +public interface WxCUserBasicSignService { + + /** + * 根据实体查询分页列表 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listAsPage(WxCUserBasicSign record, Integer pageIndex, Integer pageSize); + + WxCUserBasicSign signIn(WxCUserBasicSign record); + + WxCUserBasicSign getTodaySignIn(WxCUserBasicSign record); + + Map getLastSignIn(WxCUserBasicSign record); + + void signInCreditHistory(WxCUserBasicSign record, EnumScoreType enumScoreType); + + ResultData getListStatus(WxCUserBasicSign wxCUserBasicSign); +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java index 678a118aa..60b3e1cb5 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java @@ -85,4 +85,5 @@ public interface WxCreditHistoryService { Integer getLesCreditSummary(WxCreditHistory wxCreditHistory); PageInfo listAsPageMcrv(WxCreditHistory record, Integer pageIndex, Integer pageSize); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOcrService.java b/mallinkService/src/main/java/com/iformall/service/WxOcrService.java new file mode 100644 index 000000000..a4366a717 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxOcrService.java @@ -0,0 +1,30 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxActivity; +import com.iformall.domain.po.WxMerchantOcrModel; +import com.iformall.domain.po.WxOcrModel; +import com.iformall.enums.EnumPayWay; + +import java.util.List; + +import javax.servlet.http.HttpServletResponse; + +/** + * @author gongbiao + */ +public interface WxOcrService { + + PageInfo listOcrModelAsPage(WxOcrModel record, Integer pageIndex, Integer pageSize); + + WxOcrModel getOcrModelById(Long id); + + ResultData saveOrUpdateOcrModel(WxOcrModel record); + + WxMerchantOcrModel getMerchantOcrModel(Long merchantId,String tenantId,String parentTenantId); + + ResultData saveOrUpdateMerchantOcrModel(WxMerchantOcrModel record); + + ResultData deleteMerchantOcrModel(Long id); +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java index adee61af0..ad9cf1b94 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java @@ -17,6 +17,7 @@ import com.iformall.mapper.WxActivityMapper; import com.iformall.mapper.WxCampaignMapper; import com.iformall.service.WxActivityService; import com.iformall.service.WxCampaignService; +import com.iformall.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,7 +31,7 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; -import java.util.Date; +import java.util.*; /** * @author gongbiao @@ -121,14 +122,20 @@ public class WxActivityServiceImpl implements WxActivityService { if (activity == null) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } + if (wxActivity.getStatus().equals(EnumActivityStatus.INJECT_ONLINE.getCode()) + && activity.getEndTime().before(new Date())) { + return new ResultData(ErrorCode.ACTIVITY_JOIN_TIME_END); + } wxActivity.setUpdateTime(new Date()); wxActivityMapper.updateById(wxActivity); if (wxActivity.getStatus().equals(EnumActivityStatus.STATUS_TAKE_OFFF.getCode())) { WxCampaign campaign = new WxCampaign(); campaign.setProduceId(wxActivity.getId()); WxCampaign wxCampaign = wxCampaignMapper.selectOne(new QueryWrapper(campaign)); - wxCampaign.setStatus(EnumCampaignStatus.STATUS_TAKE_OFFF.getCode()); - wxCampaignMapper.updateById(wxCampaign); + if(wxCampaign != null){ + wxCampaign.setStatus(EnumCampaignStatus.STATUS_TAKE_OFFF.getCode()); + wxCampaignMapper.updateById(wxCampaign); + } } return new ResultData(Result.SUCCESS, "操作成功"); } @@ -172,6 +179,9 @@ public class WxActivityServiceImpl implements WxActivityService { if (wxActivity.getEndTime().before(new Date())) { return new ResultData(ErrorCode.ACTIVITY_JOIN_TIME_END); } + if(!wxActivity.getStatus().equals(EnumActivityStatus.INJECT_ONLINE.getCode())){ + return new ResultData(ErrorCode.ACTIVITY_SEND_ERROR_NOONLINE); + } wxActivity.setStatus(EnumActivityStatus.INJECT_CAMPAIGN.getCode()); wxActivity.setUpdateTime(new Date()); wxActivityMapper.updateById(wxActivity); @@ -233,5 +243,56 @@ public class WxActivityServiceImpl implements WxActivityService { return EnumActivityEnrollStatus.NORMAL.getCode(); } + @Override + public ResultData offLineCampaign(WxActivity wxActivity) { + WxActivity activity = wxActivityMapper.selectById(wxActivity.getId()); + if (activity == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + } + activity.setStatus(EnumActivityStatus.INJECT_ONLINE.getCode()); + activity.setUpdateTime(new Date()); + wxActivityMapper.updateById(activity); + if (wxActivity.getStatus().equals(EnumActivityStatus.STATUS_TAKE_OFFF.getCode())) { + WxCampaign campaign = new WxCampaign(); + campaign.setProduceId(wxActivity.getId()); + WxCampaign wxCampaign = wxCampaignMapper.selectOne(new QueryWrapper(campaign)); + wxCampaign.setStatus(EnumCampaignStatus.STATUS_TAKE_OFFF.getCode()); + wxCampaignMapper.updateById(wxCampaign); + } + return new ResultData(Result.SUCCESS, "操作成功"); + } + + @Override + public ResultData getListStatus(WxActivity wxActivity) { + List list = new ArrayList(); + List activityList = wxActivityMapper.findList(wxActivity); + if(activityList != null){ + for (WxActivity activity:activityList) { + + Date start = activity.getActivityStartTime(); + Date end = activity.getActivityEndTime(); + + Calendar dd = Calendar.getInstance(); + dd.setTime(start); + while (start.getTime() < end.getTime()) { + Map map = new HashMap<>(); + map.put("yyyy", DateUtils.getYear(start)); + map.put("mm", DateUtils.getMonth(start)); + map.put("dd", DateUtils.getMonthOfDate(start)); + list.add(map); + // 天数加上1 + dd.add(Calendar.DAY_OF_MONTH, 1); + start = dd.getTime(); + } + } + } + if(list.size() > 0){ + HashSet h = new HashSet(list); + list.clear(); + list.addAll(h); + } + return new ResultData(list); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java new file mode 100644 index 000000000..381fb8f2a --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java @@ -0,0 +1,243 @@ +package com.iformall.service.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCUserBasicSign; +import com.iformall.domain.po.WxCreditHistory; +import com.iformall.enums.EnumScoreType; +import com.iformall.enums.EnumUserType; +import com.iformall.mapper.WxCUserBasicSignMapper; +import com.iformall.mapper.WxCreditHistoryMapper; +import com.iformall.service.WxCUserBasicSignService; +import com.iformall.service.WxCreditHistoryService; +import com.iformall.utils.DateUtils; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.*; + +import static java.util.Calendar.DAY_OF_MONTH; + +@Service +@Slf4j +public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxCUserBasicSignMapper wxCUserBasicSignMapper; + + @Autowired + WxCreditHistoryService wxCreditHistoryService; + + @Autowired + WxCreditHistoryMapper wxCreditHistoryMapper; + + @Override + public PageInfo listAsPage(WxCUserBasicSign record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicSignMapper.findList(record)); + } + + @Transactional(rollbackFor = {Exception.class}) + @Override + public WxCUserBasicSign signIn(WxCUserBasicSign record) { + if(record.getType() == null){ + record.setType(WxCUserBasicSign.SIGNIN_TYPE); + } + + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + + Date today = new Date(); + record.setCreateDate(today); + record.setUpdateDate(today); + + if(record.getType().equals(WxCUserBasicSign.SIGNIN_TYPE)){ + record.setSigninDate(DateUtils.getDateZero(today)); + WxCUserBasicSign lastSignIn = wxCUserBasicSignMapper.getLastSignIn(record); + if(lastSignIn == null){ + + record.setContinueMonthSign(1); + record.setCountMonthSign(1); + record.setContinueYearSign(1); + record.setCountYearSign(1); + record.setContinueSign(1); + record.setCountSign(1); + wxCUserBasicSignMapper.insert(record); + }else{ + long daysL = DateUtils.startToEnd(lastSignIn.getSigninDate(), today); + int daysI = new Long(daysL).intValue(); + if(daysI == 0){ + return lastSignIn; + } + + record.setCountSign(lastSignIn.getCountSign() + 1); + if(daysI == 1){ + record.setContinueSign(lastSignIn.getContinueSign() + 1); + }else{ + record.setContinueSign(1); + } + + if(DateUtils.getYear(today) == DateUtils.getYear(lastSignIn.getSigninDate())){ + record.setCountYearSign(lastSignIn.getCountYearSign() + 1); + if(daysI == 1){ + record.setContinueYearSign(lastSignIn.getContinueYearSign() + 1); + }else{ + record.setContinueYearSign(1); + } + if(DateUtils.getMonth(today) == DateUtils.getMonth(lastSignIn.getSigninDate())){ + record.setCountMonthSign(lastSignIn.getCountMonthSign() + 1); + if(daysI == 1){ + record.setContinueMonthSign(lastSignIn.getContinueMonthSign() + 1); + }else{ + record.setContinueMonthSign(1); + } + }else{ + record.setCountMonthSign(1); + record.setContinueMonthSign(1); + } + }else{ + record.setContinueMonthSign(1); + record.setCountMonthSign(1); + record.setContinueYearSign(1); + record.setCountYearSign(1); + } + wxCUserBasicSignMapper.insert(record); + } + signInCreditHistory(record,EnumScoreType.SIGN_IN_DAY); + continueSignInAddCredit(record); + return record; + }else{ + //补签 + return null; + } + } + + @Override + public WxCUserBasicSign getTodaySignIn(WxCUserBasicSign record) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + Date today = calendar.getTime();//今天零点 + calendar.set(DAY_OF_MONTH,calendar.get(DAY_OF_MONTH) +1); + Date tomorrow =calendar.getTime();//明天零点 + + record.setStartDate(today); + record.setEndDate(tomorrow); + List list = wxCUserBasicSignMapper.findList(record); + if(list != null && list.size() == 1){ + return list.get(0); + }else if(list.size() > 1){ + DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + String todayString = format.format(today); + logger.error("用户签到数据异常{}"+record.getUserId()+"时间{}"+todayString); + return list.get(0); + } + return null; + } + + @Override + public Map getLastSignIn(WxCUserBasicSign record) { + Map map = new HashMap<>(); + WxCUserBasicSign lastSignIn = wxCUserBasicSignMapper.getLastSignIn(record); + if(lastSignIn != null){ + long daysL = DateUtils.startToEnd(lastSignIn.getSigninDate(), new Date()); + int daysI = new Long(daysL).intValue(); + if(daysI <= 1){ + map.put("continueSign",lastSignIn.getContinueSign()%28); + }else{ + map.put("continueSign",0); + } + } + +// if(lastSignIn != null && DateUtils.isSameMonth(lastSignIn.getSigninDate(),new Date())){ +// //本月连续签到天数 +// map.put("continueMonthSign",lastSignIn.getContinueMonthSign()); +// }else{ +// map.put("continueMonthSign",0); +// } + WxCreditHistory wxCreditHistory = new WxCreditHistory(); + wxCreditHistory.setTenantId(record.getFinalTenantId()); + wxCreditHistory.setCUserId(record.getUserId()); + wxCreditHistory.setCreditType(EnumScoreType.SIGN_IN_DAY.getCode()); + //每日签到 + if(wxCreditHistoryMapper.loginCount(wxCreditHistory) > 0){ + map.put("signInDay",1); + }else{ + map.put("signInDay",0); + } + //7日连续 + wxCreditHistory.setCreditType(EnumScoreType.SIGN_IN_SEVENDAY.getCode()); + if(wxCreditHistoryMapper.monthCount(wxCreditHistory) > 0 ){ + map.put("signInSevenDay",1); + }else{ + map.put("signInSevenDay",0); + } + //14日连续 + wxCreditHistory.setCreditType(EnumScoreType.SIGN_IN_FTDAY.getCode()); + if(wxCreditHistoryMapper.monthCount(wxCreditHistory) > 0 ){ + map.put("signInFTDay",1); + }else{ + map.put("signInFTDay",0); + } + //28日连续 + wxCreditHistory.setCreditType(EnumScoreType.SIGN_IN_TEDAY.getCode()); + if(wxCreditHistoryMapper.monthCount(wxCreditHistory) > 0 ){ + map.put("signInTEDay",1); + }else{ + map.put("signInTEDay",0); + } + return map; + } + + @Override + public void signInCreditHistory(WxCUserBasicSign record, EnumScoreType enumScoreType){ + WxCreditHistory wxCreditHistory = new WxCreditHistory(); + wxCreditHistory.setCUserId(record.getUserId()); + wxCreditHistory.setTenantId(record.getFinalTenantId()); + wxCreditHistory.setCreateDate(new Date()); + wxCreditHistory.setCreditType(enumScoreType.getCode()); + wxCreditHistory.setChangePurpose(enumScoreType.getMessage()); + wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); + wxCreditHistory.setOperatorId(record.getUserId()); + wxCreditHistoryService.saveOrUpdate(wxCreditHistory,null); + } + + @Override + public ResultData getListStatus(WxCUserBasicSign record) { + List list = new ArrayList(); + List recordList = wxCUserBasicSignMapper.findList(record); + if(recordList != null){ + for (WxCUserBasicSign sign:recordList) { + Map map = new HashMap<>(); + map.put("yyyy", DateUtils.getYear(sign.getSigninDate())); + map.put("mm", DateUtils.getMonth(sign.getSigninDate())); + map.put("dd", DateUtils.getMonthOfDate(sign.getSigninDate())); + list.add(map); + } + } + return new ResultData(list); + } + + private void continueSignInAddCredit(WxCUserBasicSign record){ + int i = record.getContinueSign() % 28; + if(record.getContinueSign() > 0 && i == 0){ + signInCreditHistory(record,EnumScoreType.SIGN_IN_TEDAY); + }else if(i == 7){ + signInCreditHistory(record,EnumScoreType.SIGN_IN_SEVENDAY); + }else if(i == 14){ + signInCreditHistory(record,EnumScoreType.SIGN_IN_FTDAY); + } + } + +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java index d82d82346..9bbcd3857 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java @@ -273,14 +273,14 @@ public class WxCUserServiceImpl implements WxCUserService { logger.error("c_user 成长值 " + e.getMessage()); } // 积分 - try { - credit = addCredit(user, EnumScoreType.LOGIN); - logger.info("user_id:" + user.getId() + " 登录新增积分:" + credit); - } catch (MallinkException e) { - logger.error("c_user 积分 " + e.getMessage()); - } catch (Exception e) { - logger.error("c_user 积分 " + e.getMessage()); - } +// try { +// credit = addCredit(user, EnumScoreType.LOGIN); +// logger.info("user_id:" + user.getId() + " 登录新增积分:" + credit); +// } catch (MallinkException e) { +// logger.error("c_user 积分 " + e.getMessage()); +// } catch (Exception e) { +// logger.error("c_user 积分 " + e.getMessage()); +// } // 用户登陆后 更新最后一次活跃时间 if (user.getUserId() != null) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index c3c1ba78a..3ec88f721 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -391,7 +391,8 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { private int creditIncrement(WxCreditHistory record) { //查找C端用户的成长值 if (record.getCreditType() == EnumScoreType.LOGIN.getCode()) { - return loginAddCredit(record); +// return loginAddCredit(record);//登陆加积分取消 + return 0; } if (record.getCreditType() == EnumScoreType.BIND_CAR.getCode()) { return bindCarAddCredit(record); @@ -430,6 +431,19 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { return record.getCreditNum(); } + if (record.getCreditType() == EnumScoreType.SIGN_IN_DAY.getCode()) { + return signinCredit(record); + } + if (record.getCreditType() == EnumScoreType.SIGN_IN_SEVENDAY.getCode()) { + return signinMonthCredit(record,EnumScoreType.SIGN_IN_SEVENDAY); + } + if (record.getCreditType() == EnumScoreType.SIGN_IN_FTDAY.getCode()) { + return signinMonthCredit(record,EnumScoreType.SIGN_IN_FTDAY); + } + if (record.getCreditType() == EnumScoreType.SIGN_IN_TEDAY.getCode()) { + return signinMonthCredit(record,EnumScoreType.SIGN_IN_TEDAY); + } + return 0; } @@ -449,6 +463,28 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { return wxScoreRules.getRule(EnumScoreType.LOGIN, WxScoreRules.SCORE); } + private int signinCredit(WxCreditHistory record) { + //如果当天已经登录过则跳过 + if (wxCreditHistoryMapper.loginCount(record) > 0) { + return 0; + } + // 1. 获取当前租户下积分的增加规则 + WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); + // 2. 增长的积分 + return wxScoreRules.getRule(EnumScoreType.SIGN_IN_DAY, WxScoreRules.SCORE); + } + + private int signinMonthCredit(WxCreditHistory record,EnumScoreType enumScoreType) { + //签到周期按月来 +// if (wxCreditHistoryMapper.monthCount(record) > 0) { +// return 0; +// } + // 1. 获取当前租户下积分的增加规则 + WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); + // 2. 增长的积分 + return wxScoreRules.getRule(enumScoreType, WxScoreRules.SCORE); + } + private int bindCarAddCredit(WxCreditHistory record) { if (wxCreditHistoryMapper.countList(record) > 0) { return 0; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOcrServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOcrServiceImpl.java new file mode 100644 index 000000000..696dcd800 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOcrServiceImpl.java @@ -0,0 +1,89 @@ +package com.iformall.service.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxMerchantOcrModel; +import com.iformall.domain.po.WxOcrModel; +import com.iformall.mapper.WxMerchantOcrModelMapper; +import com.iformall.mapper.WxOcrModelMapper; +import com.iformall.service.WxOcrService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.Date; +import java.util.List; + +@Service +public class WxOcrServiceImpl implements WxOcrService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxMerchantOcrModelMapper merchantOcrModelMapper; + @Autowired + WxOcrModelMapper ocrModelMapper; + + @Override + public PageInfo listOcrModelAsPage(WxOcrModel record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> ocrModelMapper.findList(record)); + } + + @Override + public WxOcrModel getOcrModelById(Long id) { + return ocrModelMapper.selectById(id); + } + + @Override + public ResultData saveOrUpdateOcrModel(WxOcrModel record) { + Date date = new Date(); + if (record.getId() == null) { + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + record.setCreateTime(date); + ocrModelMapper.insert(record); + } else { + record.setUpdateTime(date); + ocrModelMapper.updateById(record); + } + return new ResultData(Result.SUCCESS, "操作成功"); + } + + @Override + public WxMerchantOcrModel getMerchantOcrModel(Long merchantId,String tenantId,String parentTenantId) { + WxMerchantOcrModel query = new WxMerchantOcrModel(); + query.setMerchantId(merchantId); + query.setTenantId(tenantId); + query.setParentTenantId(parentTenantId); + List models = merchantOcrModelMapper.findList(query); + if (null == models || models.size() <= 0) { + return null; + } + return models.get(0); + } + + @Override + public ResultData saveOrUpdateMerchantOcrModel(WxMerchantOcrModel record) { + Date date = new Date(); + if (record.getId() == null) { + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + record.setCreateTime(date); + merchantOcrModelMapper.insert(record); + } else { + record.setUpdateTime(date); + merchantOcrModelMapper.updateById(record); + } + return new ResultData(Result.SUCCESS, "操作成功"); + } + + @Override + public ResultData deleteMerchantOcrModel(Long id) { + merchantOcrModelMapper.deleteById(id); + return new ResultData(Result.SUCCESS, "操作成功"); + + } + +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index 3ad9bf142..ac9dcdad7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -52,50 +52,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { public void wxScoreRulesInit(String tenantId) { WxScoreRules wxScoreRules = new WxScoreRules(); wxScoreRules.setTenantId(tenantId); - wxScoreRules.setRules("[{\"id\": 1, \"desc\": \"每日登陆\", \"step\": 1, \"limit\": 0, \"score\": 0}," + - " {\"id\": 2, \"score\": null, \"childs\": " + - "[{\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"餐饮\", \"businessId\": 1}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"娱乐\", \"businessId\": 2}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"服饰\", \"businessId\": 3}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"亲子\", \"businessId\": 4}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"超市\", \"businessId\": 5}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"美妆\", \"businessId\": 7}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"珠宝\", \"businessId\": 8}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"服务\", \"businessId\": 9}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"家居\", \"businessId\": 10}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"数码家电\", \"businessId\": 11}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"其他\", \"businessId\": 6}]}," + - " {\"id\": 3, \"desc\": \"绑定车牌1个\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 6, \"desc\": \"授权手机号\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 7, \"desc\": \"编辑个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}]"); + wxScoreRules.setRules(WxScoreRules.getCreditDefaultRules()); wxScoreRules.setCreateDate(new Date()); wxScoreRules.setUpdateDate(new Date()); - wxScoreRules.setType(2); - wxScoreRules.setClearYear(1); - wxScoreRules.setScale(10); + wxScoreRules.setType(EnumScoreRules.CREDIT.getCode()); wxScoreRules.setCreditLocked(1); wxScoreRulesMapper.insert(wxScoreRules); wxScoreRules = new WxScoreRules(); wxScoreRules.setTenantId(tenantId); - wxScoreRules.setRules("[{\"id\": 1, \"desc\": \"每日登陆\", \"step\": 1, \"limit\": 0, \"score\": 0}," + - " {\"id\": 2, \"score\": 0, \"childs\": " + - "[{\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"餐饮\", \"businessId\": 1}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"娱乐\", \"businessId\": 2}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"服饰\", \"businessId\": 3}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"亲子\", \"businessId\": 4}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"超市\", \"businessId\": 5}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"美妆\", \"businessId\": 7}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"珠宝\", \"businessId\": 8}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"服务\", \"businessId\": 9}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"家居\", \"businessId\": 10}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"数码家电\", \"businessId\": 11}," + - " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"其他\", \"businessId\": 6}]}," + - " {\"id\": 3, \"desc\": \"绑定车牌1个\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 6, \"desc\": \"授权手机号\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 7, \"desc\": \"编辑个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}]"); + wxScoreRules.setRules(WxScoreRules.getScoreDefaultRules()); wxScoreRules.setCreateDate(new Date()); wxScoreRules.setUpdateDate(new Date()); - wxScoreRules.setType(1); + wxScoreRules.setType(EnumScoreRules.SCORE.getCode()); wxScoreRules.setCreditLocked(0); wxScoreRulesMapper.insert(wxScoreRules); } @@ -145,9 +113,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { //当成长值或积分规则新增时,将新增的数据一并返回给接口调用端 private String getScoreRulesNew(String scoreRules,EnumScoreRules enumScoreRules){ //getJSONObject(1) 为EnumScoreType.CONSUMPTION(2, "消费")的下标值 - JSONArray jsonArrayOld = JSONArray.parseArray(scoreRules).getJSONObject(1).getJSONArray("childs"); - String defaultRules = enumScoreRules.equals(EnumScoreRules.SCORE) ? WxScoreRules.getScoreDefaultRules() : WxScoreRules.getCreditDefaultRules(); - JSONArray jsonArrayDefault = JSONArray.parseArray(defaultRules).getJSONObject(1).getJSONArray("childs"); + JSONArray jsonArrayOld = new JSONArray(); + JSONArray jsonArrayDefault = new JSONArray(); + if(enumScoreRules.equals(EnumScoreRules.SCORE)){ + jsonArrayOld = JSONArray.parseArray(scoreRules).getJSONObject(1).getJSONArray("childs"); + String defaultRules = WxScoreRules.getScoreDefaultRules(); + jsonArrayDefault = JSONArray.parseArray(defaultRules).getJSONObject(1).getJSONArray("childs"); + }else if(enumScoreRules.equals(EnumScoreRules.CREDIT)){ + jsonArrayOld = JSONArray.parseArray(scoreRules).getJSONObject(0).getJSONArray("childs"); + String defaultRules = WxScoreRules.getCreditDefaultRules(); + jsonArrayDefault = JSONArray.parseArray(defaultRules).getJSONObject(0).getJSONArray("childs"); + } + if (jsonArrayOld.size() < jsonArrayDefault.size()) { JSONArray childsJsonArray = new JSONArray(); JSONObject otherJSONObject = new JSONObject(); diff --git a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java index ade8e4ac9..5079a9f84 100644 --- a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java @@ -104,8 +104,10 @@ public class CreditUtil { if(Objects.nonNull(wxCUserBasicInfo.getScoreDate())){ int scoreYear = DateUtils.getYear(wxCUserBasicInfo.getScoreDate()); int year = DateUtils.getYear(new Date()); - if(scoreYear == year && DateUtils.isBirthdays(wxCUserBasicInfo.getScoreDate())){ - birthdayScale = getBirthdayScoreScale(tenantId, wxScoreRulesService); + if(scoreYear == year){ + if(DateUtils.isBirthdays(wxCUserBasicInfo.getScoreDate())){ + birthdayScale = getBirthdayScoreScale(tenantId, wxScoreRulesService); + } }else{ if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.isBirthdays(wxCUserBasicInfo.getBirthdate())) { birthdayScale = getBirthdayScoreScale(tenantId,wxScoreRulesService); diff --git a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java index 9cac3911a..18c8d2215 100755 --- a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java +++ b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java @@ -1362,4 +1362,19 @@ public class DateUtils { return false; } + /** + * 获取当前日期零点
+ * + * @param date + * @return 获取当前日期零点 + */ + public static Date getDateZero(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + return cal.getTime(); + } + } diff --git a/mallinkService/src/main/resources/mapper/WxActivityMapper.xml b/mallinkService/src/main/resources/mapper/WxActivityMapper.xml index af6e248f2..2a76f52a5 100644 --- a/mallinkService/src/main/resources/mapper/WxActivityMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxActivityMapper.xml @@ -66,9 +66,13 @@ and `type` = #{type} - + and `status` = #{status} + + + and `status` >= 2 and `status` <= 3 + and `create_time` = #{createTime} @@ -85,8 +89,12 @@ and `is_expired` = #{isExpired} - - and `create_time` between #{starttime} and #{endtime} + + + + + + and `activity_start_time` >= #{startDate} and `activity_end_time` < #{endDate} diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicSignMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicSignMapper.xml new file mode 100644 index 000000000..ba3c6a880 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicSignMapper.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`user_id`,`type`,`signin_date`,`create_date`,`update_date`, + `continue_month_sign`,`count_month_sign`,`continue_year_sign`,`count_year_sign`, + `continue_sign`,`count_sign`,`mark` + + + + where 1 = 1 + + and `id` = #{id} + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + and `user_id` = #{userId} + + + and `type` = #{type} + + + + and `signin_date` >= #{startDate} + + + and `signin_date` < #{endDate} + + + + and id in + + #{idItem} + + + order by `signin_date` desc + + + + + + + + diff --git a/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml index c43c83900..b28c73bc9 100644 --- a/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml @@ -184,6 +184,18 @@ and DATEDIFF(`create_date`,now())=0 + + + select + + from wx_merchant_ocr_model + + + + \ No newline at end of file diff --git a/mallinkService/src/main/resources/mapper/WxOcrModelMapper.xml b/mallinkService/src/main/resources/mapper/WxOcrModelMapper.xml new file mode 100644 index 000000000..7427ca049 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxOcrModelMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + id,lang_code,font_name,remark,status,create_time,updateTime + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `lang_code` = #{langCode} + + + and `font_name` = #{fontName} + + + + and `status` = #{status} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + \ No newline at end of file diff --git a/mallinkSysAdmin/pom.xml b/mallinkSysAdmin/pom.xml index 9544ca12d..d595fe242 100644 --- a/mallinkSysAdmin/pom.xml +++ b/mallinkSysAdmin/pom.xml @@ -39,6 +39,13 @@ com.github.axet kaptcha 0.0.9 + + + + + com.iformall + mallinkOcr + 1.0 diff --git a/mallinkSysAdmin/src/main/java/com/iformall/SysApplication.java b/mallinkSysAdmin/src/main/java/com/iformall/SysApplication.java index 787b04e1d..88dd8c2de 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/SysApplication.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/SysApplication.java @@ -34,6 +34,9 @@ public class SysApplication { @Value("${fm.upload_dir}") private String uploadDir; + @Value("${fm.ocr_data}") + private String ocrData; + @Bean public boolean isFmException() { return fmException; diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/ocr/WxOcrController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/ocr/WxOcrController.java new file mode 100644 index 000000000..cedacb431 --- /dev/null +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/ocr/WxOcrController.java @@ -0,0 +1,220 @@ +package com.iformall.controller.ocr; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; +import com.iformall.common.Result; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxMall; +import com.iformall.domain.po.WxMerchant; +import com.iformall.domain.po.WxMerchantOcrModel; +import com.iformall.domain.po.WxOcrModel; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.po.base.BaseEntity.SortField; +import com.iformall.enums.EnumFromType; +import com.iformall.enums.EnumRentStartType; +import com.iformall.ocr.FormallTess4j; +import com.iformall.ocr.FormallTess4jTrain; +import com.iformall.service.WxMallService; +import com.iformall.service.WxMerchantService; +import com.iformall.service.WxOcrService; + +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Date; +import java.util.Map; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +@RestController +@RequestMapping("ocr") +public class WxOcrController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxOcrService ocrService; + @Autowired + private WxMerchantService merchantService; + @Autowired + private String ocrData; + + /** + * 模板列表 + * @param wxRentContract + * @param pageNum + * @param pageSize + * @return + */ + @GetMapping("/modelList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData modelList(@ModelAttribute WxOcrModel ocrModel, Integer pageNum, Integer pageSize) { + if (null == ocrModel) { + ocrModel = new WxOcrModel(); + } + ocrModel.setSortColumns(SortField.Createtime_DESC); + PageInfo page = ocrService.listOcrModelAsPage(ocrModel, pageNum, pageSize); + return new ResultData(page); + } + + /** + * 更新模板 + * @param wxRentContract + * @return + */ + @PostMapping("updateModel") + public ResultData updateModel(@RequestBody WxOcrModel ocrModel) { + return ocrService.saveOrUpdateOcrModel(ocrModel); + } + + /** + * 根据商户查询模板 + * @param wxRentContract + * @return + */ + @GetMapping("merchantModel") + @ApiImplicitParams({ + @ApiImplicitParam(name = "merchantId", value = "商户编号", dataType = "Long", paramType = "query", required = true) + }) + public ResultData merchantModel(Long merchantId) { + WxMerchant merchant = merchantService.getById(merchantId); + if (null == merchant) { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"商户数据不存在"); + } + return new ResultData(ocrService.getMerchantOcrModel(merchantId, merchant.getTenantId(), merchant.getParentTenantId())); + } + + /** + * 更新商户模板 + * @param wxRentContract + * @return + */ + @PostMapping("updateMerchantModel") + public ResultData updateMerchantModel(@RequestBody WxMerchantOcrModel merchantModel) { + return ocrService.saveOrUpdateMerchantOcrModel(merchantModel); + } + + /** + * 删除商户模板 + * @param wxRentContract + * @return + */ + @PostMapping("deleteMerchantModel") + public ResultData deleteMerchantModel(@RequestBody WxMerchantOcrModel merchantModel) { + return ocrService.deleteMerchantOcrModel(merchantModel.getId()); + } + + /** + * 获取训练步骤 + * @return + */ + @GetMapping("getTrainSteps") + @ApiImplicitParams({ + @ApiImplicitParam(name = "modelId", value = "模板编号", dataType = "Long", paramType = "query", required = true) + }) + public ResultData getTrainSteps(Long modelId) { + WxOcrModel model = ocrService.getOcrModelById(modelId); + if (null == model) { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"ocr模板不存在"); + } + return new ResultData(FormallTess4jTrain.getTrainSteps(model.getLangCode(), model.getFontName())); + } + + /** + *测试训练结果 + * @return + */ + @PostMapping(value = "/testTrain", consumes = "multipart/*", headers = "content-type=multipart/form-data") + public ResultData testTrain(@RequestParam("file") MultipartFile multiReq,@RequestParam("modelId") Long modelId) { + try { + WxOcrModel model = ocrService.getOcrModelById(modelId); + if (null == model) { + return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"ocr模板不存在"); + } + File file = multipartFileToFile(multiReq); + + String result = FormallTess4j.testDoOCR_File(ocrData, file, model.getFontName()); + return new ResultData(result); + + } catch (Exception e) { + logger.error("testTrain error.",e); + return new ResultData(ErrorCode.PICTURE_ANALYZING_ERROR.getCode(),"解析失败。"+e.getMessage()); + } + } + + + private File multipartFileToFile(MultipartFile file) { + File toFile = null; + if (file.equals("") || file.getSize() <= 0) { + file = null; + } else { + InputStream ins = null; + try { + ins = file.getInputStream(); + toFile = new File(file.getOriginalFilename()); + inputStreamToFile(ins, toFile); + ins.close(); + } catch (IOException e) { + logger.error("multipartFileToFile error.",e); + }finally { + if (null != ins) { + try { + ins.close(); + } catch (IOException e) { + logger.error("multipartFileToFile error.",e); + } + } + } + } + return toFile; + } + + private void inputStreamToFile(InputStream ins, File file) { + OutputStream os = null; + try { + os = new FileOutputStream(file); + int bytesRead = 0; + byte[] buffer = new byte[8192]; + while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { + os.write(buffer, 0, bytesRead); + } + os.close(); + ins.close(); + } catch (Exception e) { + logger.error("inputStreamToFile error.",e); + }finally { + if (null != os) { + try { + os.close(); + } catch (IOException e) { + logger.error("inputStreamToFile error.",e); + } + } + if (null != ins) { + try { + ins.close(); + } catch (IOException e) { + logger.error("inputStreamToFile error.",e); + } + } + } + } + + + +} diff --git a/mallinkSysAdmin/src/main/resources/application-dev.yml b/mallinkSysAdmin/src/main/resources/application-dev.yml index b86a317f0..41f9ff620 100644 --- a/mallinkSysAdmin/src/main/resources/application-dev.yml +++ b/mallinkSysAdmin/src/main/resources/application-dev.yml @@ -165,6 +165,7 @@ fm: deploy: 1 open: true upload_dir: /home/test/server/uploads/ + ocr_data: /home/test/server/ocr_data/ ueditor: config: config.json diff --git a/mallinkSysAdmin/src/main/resources/application-prod.yml b/mallinkSysAdmin/src/main/resources/application-prod.yml index 9edbe54a1..3cf2ecd0b 100644 --- a/mallinkSysAdmin/src/main/resources/application-prod.yml +++ b/mallinkSysAdmin/src/main/resources/application-prod.yml @@ -122,12 +122,14 @@ fm: deploy: 3 open: true upload_dir: /root/uploads/ + ocr_data: /root/ocr_data/ ueditor: config: config.json unified: true upload-path: ./upload/ url-prefix: "" + logging: level: diff --git a/mallinkSysAdmin/src/main/resources/application-test.yml-bak b/mallinkSysAdmin/src/main/resources/application-test.yml-bak index d560852c6..2bbf9ef4d 100644 --- a/mallinkSysAdmin/src/main/resources/application-test.yml-bak +++ b/mallinkSysAdmin/src/main/resources/application-test.yml-bak @@ -100,6 +100,7 @@ fm: deploy: 2 open: true upload_dir: /home/ec2-user/server/uploads/ + ocr_data: /home/ec2-user/server/ocr_data/ ueditor: config: config.json