本指南基于CentOS7操作系统部署,所有命令可直接复制执行,需提前准备2核4G以上云服务器、已备案域名(可选)。执行以下命令安装基础依赖:
``` 安装nginx yum install -y nginx 安装mysql8 rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm yum install -y mysql-community-server systemctl start mysqld && systemctl enable mysqld 安装jdk11 yum install -y java-11-openjdk-devel ```执行完成后输入`java -version`、`mysql -V`确认安装成功,mysql初始密码可通过`grep 'temporary password' /var/log/mysqld.log`查看。
执行以下命令下载开源综合档案管理系统稳定包:
``` wget https://gitee.com/lanjian-team/archives-manage/releases/download/v2.3.0/archives-manage.tar.gz tar -zxvf archives-manage.tar.gz -C /opt/ ```登录mysql创建数据库并导入初始表:
``` create database archives_manage default character set utf8mb4 collate utf8mb4_unicode_ci; use archives_manage; source /opt/archives-manage/sql/init.sql; ```修改应用配置文件`/opt/archives-manage/config/application.yml`,完整配置如下,注意替换数据库密码、域名等参数:
``` server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/archives_manage?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: 替换为你的mysql密码 driver-class-name: com.mysql.cj.jdbc.Driver 按用户数收费核心配置 charge: user-count: enabled: true exclude-admin: true exclude-test-user: true ```其中charge.user-count.enabled参数必须设置为true,才能激活按用户数收费模式。配置完成后执行`nohup java -jar /opt/archives-manage/archives-manage.jar > /var/log/archives.log 2>&1 &`启动系统,访问`http://你的服务器IP:8080`即可进入后台,默认管理员账号admin/123456。
登录系统后台进入【系统管理-字典管理-收费档位配置】,或直接执行以下sql插入通用档位,可根据实际业务调整金额:
``` INSERT INTO `charge_config` (`id`, `level_name`, `max_user_count`, `year_price`, `extra_user_price`, `status`) VALUES (1, '基础版', 10, 3800, 300, 1), (2, '标准版', 20, 6800, 280, 1), (3, '企业版', 50, 12800, 260, 1), (4, '定制版', 9999, 39800, 200, 1); ```
其中`extra_user_price`为超出档位最大用户数后,单个用户每年的额外收费金额。
系统默认统计状态为正常、非管理员、非测试的正式用户,如需调整统计逻辑,可修改`/opt/archives-manage/BOOT-INF/classes/com/archives/service/impl/ChargeServiceImpl.java`中的统计方法,核心代码如下:
``` @Override public Integer countValidUser(Long tenantId) { LambdaQueryWrapper在application.yml中补充以下配置,实现到期前提醒、到期后自动限制登录:
``` charge: expire: remind-days: 7 limit-after-expire: true remind-type: ["message", "email"] ```其中remind-days为到期前提醒天数,limit-after-expire设置为true则到期后禁止非管理员登录,配置完成后重启系统生效。
若当期有效用户数超过当前购买档位的最大用户数,系统会自动生成补缴订单,进入【收费管理-订单中心】可导出对应订单,客户补缴完成后点击“确认到账”,系统自动升级对应档位并解除功能限制。
若出现用户数统计不准的情况,依次排查以下3项:
执行`crontab -e`添加自动备份任务,每天凌晨2点备份数据库及收费记录:
``` 0 2 mysqldump -u root -p'替换为你的mysql密码' archives_manage charge_config charge_order charge_user_count | gzip > /data/backup/archives_charge_$(date +%Y%m%d).sql.gz ```手动导出收费记录可进入【收费管理-记录导出】,选择时间范围后点击“导出Excel”即可导出所有收费、用户数、对账记录,符合档案管理合规要求。