# Valiant **Repository Path**: workBase/valiant ## Basic Information - **Project Name**: Valiant - **Description**: 基于若依框架开发的一款健身房会员管理系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/fangkun97/valiant - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-07-03 - **Last Updated**: 2024-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Valiant ### 介绍 基于若依框架开发的一款健身房会员管理系统 ## 项目进度 ### 1.启动项目,添加菜单,创建页面文件夹 ### 2.集成mybatis-plus 添加依赖(在主pom中管理版本),修改framework中MyBatisConfig //修改这一行即可 final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean(); 注意mybatis和plus的版本兼容 ### 3.渠道管理 #### 创建表 ```sql CREATE TABLE `valiant_channel` ( `channel_id` bigint unsigned NOT NULL AUTO_INCREMENT, `channel_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渠道名称', `status` int DEFAULT '0' COMMENT '渠道状态 0可用;1禁用', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', `type` int DEFAULT NULL COMMENT '渠道类型 1 线上渠道 2 线下渠道', `create_time` datetime DEFAULT NULL, `update_time` datetime DEFAULT NULL, `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `del_flag` int DEFAULT NULL, PRIMARY KEY (`channel_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` #### 配置菜单、字典及权限 #### 创建工程,添加依赖:valiant-channel #### 测试类中代码生成器生成代码骨架: valiant-admin.test:com.kun.valiant.GenerateCode #### JSR303校验,springboot中可以将错误提示信息定义在resources下的ValidationMessages.properties文件中 注意:读取错误信息可能出现乱码问题: 1.等号前后可以加上空格 2.设置FileEncoding为UTF—8 3.一定要删除原有ValidationMessages.properties重新创建,不然可能不会生效 #### 增删改查导入导出业务实现与测试 注意:mybatis-plus 批处理操作的时候,需要给url地址后加上参数 “&rewriteBatchedStatements=true” 这样批处理才能生效,不然的话是不会生效的 ### 4.促销活动 #### 创建表 ```sql CREATE TABLE `valiant_activity` ( `activity_id` bigint NOT NULL AUTO_INCREMENT COMMENT '活动ID', `name` varchar(512) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '活动名称', `channel_id` bigint DEFAULT NULL COMMENT '渠道ID', `info` varchar(512) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '活动简介', `type` int DEFAULT NULL COMMENT '活动类型 1 折扣券 2 代金券', `discount` double DEFAULT NULL COMMENT '折扣券', `voucher` double DEFAULT NULL COMMENT '代金券', `status` int DEFAULT '1' COMMENT '活动状态 0 禁用 1 正常', `begin_time` datetime DEFAULT NULL COMMENT '开始时间', `end_time` datetime DEFAULT NULL COMMENT '结束时间', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `create_by` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '创建人', `update_by` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '修改人', `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '备注信息', `del_flag` int DEFAULT NULL, PRIMARY KEY (`activity_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin COMMENT='活动管理'; ``` #### 配置菜单、字典及权限 #### 创建工程,添加依赖:valiant-activity #### 测试类中代码生成器生成代码骨架: valiant-admin.test:com.kun.valiant.GenerateCode #### 业务实现 JRS303分组校验 前端根据有没有传id来判断是新增还是修改:有id则是修改,没有就是新增 此时,对此VO的校验需要采用分组校验,id是只有修改时才不能为null的 ### 5.私教课程 #### 创建表 ```sql CREATE TABLE `valiant_course` ( `course_id` bigint NOT NULL AUTO_INCREMENT COMMENT '课程id', `type` int DEFAULT NULL COMMENT '课程类型 1 舞蹈类 2 游泳类 3 拳击类', `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '课程名称', `price` decimal DEFAULT NULL COMMENT '价格', `apply_to` int DEFAULT NULL COMMENT '适用人群', `info` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '课程描述信息', `subject` char(1) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '课程归类', `create_time` timestamp NULL DEFAULT NULL, `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '创建人', `update_time` timestamp NULL DEFAULT NULL, `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `del_flag` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除 1 是', `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`course_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin COMMENT='课程管理'; ``` #### 配置菜单、字典及权限 #### 创建工程,添加依赖:valiant-course #### 测试类中代码生成器生成代码骨架: valiant-admin.test:com.kun.valiant.GenerateCode #### 业务实现 ### 6.线索管理 #### 创建表 线索表 ```sql CREATE TABLE `valiant_clue` ( `clue_id` bigint NOT NULL AUTO_INCREMENT COMMENT '线索id', `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '客户姓名', `channel_id` bigint DEFAULT NULL COMMENT '渠道', `activity_id` bigint DEFAULT NULL COMMENT '活动', `gender` int DEFAULT NULL COMMENT '0 男 1 女', `age` int DEFAULT NULL COMMENT '年龄', `weixin` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '微信', `qq` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'qq', `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '手机号', `level` int DEFAULT NULL COMMENT '客户意向等级 1 近期报名 2 打算报名,考虑中 3 了解一下 4 打酱油', `subject` int DEFAULT NULL COMMENT '意向私教课程', `status` int DEFAULT '1' COMMENT '状态(已分配1 进行中2 回收3 伪线索4)', `fail_count` int DEFAULT '0' COMMENT '伪线索失败次数(最大数3次)', `next_time` datetime DEFAULT NULL COMMENT '下次跟进时间', `transfer` tinyint(1) DEFAULT '0' COMMENT '是否转派', `end_time` datetime DEFAULT NULL COMMENT '线索失效时间', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '创建人', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '更新人', `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '备注信息', `del_flag` int DEFAULT '0', PRIMARY KEY (`clue_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin COMMENT='线索'; ``` 线索跟进记录 ```sql CREATE TABLE `valiant_follow_record` ( `record_id` bigint unsigned NOT NULL AUTO_INCREMENT, `type` tinyint DEFAULT NULL COMMENT '线索还是商机', `assign_id` bigint DEFAULT NULL COMMENT '线索/商机的id', `info` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '跟进记录', `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '跟进人', `create_time` datetime DEFAULT NULL COMMENT '跟进时间', `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`record_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` (线索/商机)分配表 ```sql CREATE TABLE `valiant_assignment` ( `aid` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id', `type` int DEFAULT '0' COMMENT '类型0 线索 1 商机', `assign_id` bigint DEFAULT NULL COMMENT '线索/商机 id', `user_id` bigint DEFAULT NULL COMMENT '所属人用户id', `user_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '所属人名称', `dept_id` bigint DEFAULT NULL COMMENT '所属人所属组织', `latest` tinyint(1) DEFAULT '1' COMMENT '是否当前最新分配人', `create_time` datetime DEFAULT NULL COMMENT '分配时间', `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '分配人', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '更新人', `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '备注', PRIMARY KEY (`aid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin COMMENT='分配记录表'; ``` #### 配置菜单、字典及权限 #### 创建工程,添加依赖:valiant-clue #### 测试类中代码生成器生成代码骨架: valiant-admin.test:com.kun.valiant.GenerateCode #### 业务实现 ### 7.商机管理 #### 创建表 ```sql CREATE TABLE `valiant_business` ( `business_id` bigint NOT NULL AUTO_INCREMENT COMMENT '线索id', `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '客户姓名', `channel_id` bigint DEFAULT NULL COMMENT '渠道', `activity_id` bigint DEFAULT NULL COMMENT '活动', `gender` int DEFAULT NULL COMMENT '0 男 1 女', `age` int DEFAULT NULL COMMENT '年龄', `weixin` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '微信', `qq` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT 'qq', `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '手机号', `level` int DEFAULT NULL COMMENT '客户意向等级 1 近期报名 2 打算报名,考虑中 3 了解一下 4 打酱油', `subject` int DEFAULT NULL COMMENT '意向私教课程', `status` int NOT NULL DEFAULT '1' COMMENT '状态(已分配1 进行中2 回收3)', `fail_count` int DEFAULT '0' COMMENT '伪线索失败次数(最大数3次)', `next_time` datetime DEFAULT NULL COMMENT '下次跟进时间', `transfer` tinyint(1) DEFAULT '0' COMMENT '是否转派', `end_time` datetime DEFAULT NULL COMMENT '线索失效时间', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '创建人', `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '更新人', `remark` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '备注信息', `del_flag` int DEFAULT '0' COMMENT '0 未删除 1 表示删除', `province` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '省', `city` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '市', `area` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '区', `course_id` bigint DEFAULT NULL COMMENT '课程ID', `occupation` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '职业', `money` decimal DEFAULT NULL COMMENT '意向金额', `education` varchar(64) COLLATE utf8_bin DEFAULT '' COMMENT '学历', `height` double DEFAULT NULL COMMENT '身高', `weight` double DEFAULT NULL COMMENT '体重', `reason` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT '锻炼的原因', `hours` int DEFAULT NULL COMMENT '每周可以用于锻炼的时间', `other_intention` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '其他意向', `clue_id` bigint DEFAULT NULL COMMENT '线索ID', PRIMARY KEY (`business_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_bin COMMENT='线索'; ``` #### 配置菜单、字典及权限 #### 创建工程,添加依赖:valiant-business #### 测试类中代码生成器生成代码骨架: valiant-admin.test:com.kun.valiant.GenerateCode #### 业务实现 ### 8.合同管理 #### 创建表 ```sql CREATE TABLE `valiant_contract` ( `contract_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '合同编号', `phone` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户手机号码', `name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户姓名', `type` int DEFAULT NULL COMMENT '课程分类', `activity_id` bigint DEFAULT NULL COMMENT '活动 ID', `activity_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '活动名称', `course_id` bigint DEFAULT NULL COMMENT '课程ID', `course_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '课程名称', `channel_id` bigint DEFAULT NULL COMMENT '渠道ID', `channel_name` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '渠道名称', `status` int DEFAULT NULL COMMENT '合同的状态(待审核1,已通过2,驳回3)', `file_path` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '合同文件地址', `contract_price` decimal DEFAULT NULL COMMENT '合同价格', `course_price` decimal DEFAULT NULL COMMENT '课程价格', `discount_type` int DEFAULT NULL COMMENT '折扣类型', `process_instance_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '流程ID', `business_id` bigint DEFAULT NULL COMMENT '商机ID', `create_by` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `create_time` datetime DEFAULT NULL, `update_by` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `update_time` datetime DEFAULT NULL, `remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `del_flag` int DEFAULT NULL, `approve_dept_id` bigint DEFAULT NULL COMMENT '合同审批部门ID', `approve_dept_name` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '合同审批部门名称', `approve_user_id` bigint DEFAULT NULL COMMENT '审批用户ID', `approve_user_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审批用户名称', PRIMARY KEY (`contract_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ``` #### 配置菜单、字典及权限 #### 创建工程,添加依赖:valiant-contract #### 测试类中代码生成器生成代码骨架: valiant-admin.test:com.kun.valiant.GenerateCode #### 引入flowable流程引擎,并添加配置 URL:&nullCatalogMeansCurrent=true,自动创建表 #### 业务实现 ### 9.统计分析 &allowMultiQueries=true : 允许多个SQL同时执行