成都奥印商贸有限公司内部系统
线上验收报告
服务器部署、HTTPS、服务隔离、业务流、POS和渠道接口验收结果。奥印ERP线上部署与验收报告
验收时间:2026-06-10 17:06(Asia/Shanghai)
补充验收:2026-06-10 20:03(Asia/Shanghai),完成开放平台账号制库存锁定、确认扣减、POS离线默认关闭复验。
一、部署结论
奥印ERP已独立部署到阿里云服务器 8.222.231.204,域名为:
- 官网:https://aolaierp.com/
- ERP系统:https://aolaierp.com/erp/
- 后端API基础地址:https://aolaierp.com/jshERP-boot
- 后端API调试文档:https://aolaierp.com/jshERP-boot/doc.html
- 岗位操作教程:https://aolaierp.com/docs/user-manual.html
- API对接教程:https://aolaierp.com/docs/api-guide.html
最终结论:通过。官网、ERP前端、后端API、数据库、Redis、HTTPS、文档、进销存业务流、小程序货盘API、POS收银、渠道订单转ERP均已验收通过。
二、独立部署边界
本次部署全部放在独立目录:
- 应用根目录:
/opt/aoyin-erp - 官网静态页:
/opt/aoyin-erp/site - ERP前端:
/opt/aoyin-erp/erp-web - 后端Jar:
/opt/aoyin-erp/backend/jshERP.jar - 文档目录:
/opt/aoyin-erp/docs - SQL目录:
/opt/aoyin-erp/sql - 上传/导出目录:
/opt/aoyin-erp/data/upload、/opt/aoyin-erp/data/export - 配置文件:
/opt/aoyin-erp/config/aoyin-erp.env - 后端服务:
aoyin-erp.service
已确认没有改动旧项目:
- 旧站域名配置仍为
/etc/nginx/sites-enabled/aoyingroup.conf - 旧站
https://aoyingroup.com/返回 200 - 旧站 Next 服务仍在服务器内部监听
127.0.0.1:3000,不作为用户访问入口 - 本次只新增
/etc/nginx/sites-enabled/aolaierp.com.conf
三、部署与加固结果
运行环境:
- Java:OpenJDK 8
- 数据库:MariaDB 10.6,库名
jsh_erp - Redis:6.0
- Nginx:沿用服务器现有 Nginx
- SSL:Let's Encrypt,证书到期时间 2026-09-08,已配置自动续期
端口与暴露面:
- 对公网开放:80、443
- 后端:服务器内部
127.0.0.1:9999,公网入口为https://aolaierp.com/jshERP-boot - MySQL:服务器内部
127.0.0.1:3306 - Redis:服务器内部
127.0.0.1:6379 - 旧站:服务器内部
127.0.0.1:3000,公网入口仍为https://aoyingroup.com/ - 宝塔面板:
0.0.0.0:8888,这是服务器原有服务,本次未改动
权限:
/opt/aoyin-erp/config/aoyin-erp.env为600- 静态文件为
644 - 应用目录为
755 - Redis已设置密码并绑定本机
四、线上功能验收
基础访问:
| 节点 | 结果 |
|---|---|
https://aolaierp.com/ 官网 |
200 OK |
http://aolaierp.com/ 自动跳 HTTPS |
301 OK |
https://aolaierp.com/erp/ ERP前端 |
200 OK |
https://aolaierp.com/jshERP-boot/doc.html API文档 |
200 OK |
https://aolaierp.com/docs/api-guide.html API对接教程 |
200 OK,在线教程页 |
https://aoyingroup.com/ 旧站 |
200 OK,未受影响 |
业务流验收:
| 验收项 | 结果 | 关键凭据 |
|---|---|---|
| 登录获取Token | 通过 | 用户 aoyin |
| 采购入库 | 通过 | CGRK00000000673 |
| 销售出库 | 通过 | XSCK00000000674 |
| 库存回写 | 通过 | 商品条码 1001,库存从 0 到 1 再回到 0 |
| 小程序货盘保存标题/图片/价格/详情 | 通过 | 商品ID 568,图片数量 3 |
| 小程序公开列表/详情/库存/分类 | 通过 | companyId=63 |
| 自动上下架 | 通过 | 下架隐藏、上架恢复 |
| POS扫码 | 通过 | 条码 1003 |
| POS收银生成零售出库 | 通过 | LSCK00000000675 |
| 渠道订单接收 | 通过 | 渠道 douyin-live,外部单号 AUTO-20260610165916 |
| 渠道订单转ERP单据 | 通过 | LSCK00000000676 |
| 开放平台API账号创建 | 通过 | 独立 appKey/appSecret,按渠道授权 |
| 签名商品库存查询 | 通过 | /open/material/stock,HMAC-SHA256 |
| 下单锁库存 | 通过 | RESERVED 后可售库存 1 -> 0 |
| 取消释放库存 | 通过 | CANCELLED 后可售库存 0 -> 1 |
| 确认扣库存 | 通过 | CONFIRMED,生成 LSCK00000000680,库存 1 -> 0 |
| POS离线默认关闭 | 通过 | /pos/config.offlineModeEnabled=false,/open/pos/mode.offlinePosEnabled=false |
五、发现并处理的问题
1. Windows zip包路径问题 现象:Linux解压后静态目录没有完整释放。 处理:改用 tar.gz 打包,并重新同步官网、前端、文档。
2. 线上登录验证码阻塞自动验收 现象:登录接口返回“验证码不能为空”。 处理:将 jsh_platform_config.checkcode_flag 改为 0,并同步修改初始化SQL,内部系统默认不再启用验证码。
3. POS验收并发抢单据号 现象:三组脚本并发运行时,POS生成单据号偶发失败。 处理:POS/渠道脚本改为单独顺序验收,已通过。
4. 文档链接下载而不是预览 现象:Markdown返回 application/octet-stream。 处理:Nginx /docs/ 增加 Markdown 文本类型,现可直接打开阅读。
5. 未来重部署可能覆盖HTTPS 现象:初版部署脚本会写HTTP版Nginx配置。 处理:部署脚本已改为证书感知模式;如果证书存在,会写 HTTPS + 80跳转配置。
6. 离线收银与负库存风险 现象:门店离线时不能实时扣减服务器库存,如果其他渠道同时销售,恢复网络后可能出现库存冲突。 处理:新增 POS 离线单同步表和外部单号幂等校验;收银台离线时本地暂存,联网后同步到 /pos/checkout;后端关闭负库存开关,并按 ERP 单据流水实时校验库存,不再依赖可能滞后的库存缓存。 线上复验:/pos/scan 条码 1001 成功返回商品;库存为 0 时提交离线同步单,接口返回“库存不足,已阻止出库”,未生成出库单,未留下待同步脏数据。
7. 开放平台签名与库存口径不一致 现象:签名验收脚本误用本地时区时间戳会被 10 分钟窗口拒绝;同时商品库存展示曾使用缓存库存,而锁库存使用单据流水实时库存。 处理:签名校验兼容公网完整路径和应用内路径;POST 签名改为按原始 HTTP body 校验;开放平台库存接口统一改为 ERP 单据流水实时库存。 线上复验:真实签名请求 /open/material/stock 返回 200,库存口径与锁库存一致。
8. POS渠道字段长度不足 现象:较长开放平台渠道名在确认扣库存时写入 jsh_pos_order.channel 被数据库拦截。 处理:jsh_pos_order.channel 从 varchar(32) 扩为 varchar(64),并在启动建表校验中加入自动修复。 线上复验:渠道 verify-open-confirm-final-20260610200313 确认扣库存成功,生成 LSCK00000000680。
六、交付物
- 官网目录:
/opt/aoyin-erp/site - ERP前端目录:
/opt/aoyin-erp/erp-web - 后端Jar:
/opt/aoyin-erp/backend/jshERP.jar - 服务器部署脚本:
/tmp/server-deploy.sh,本地项目同步保存.deploy/server-deploy.sh - 岗位操作教程:https://aolaierp.com/docs/user-manual.html
- API对接教程:https://aolaierp.com/docs/api-guide.html
- 本报告:https://aolaierp.com/docs/online-deployment-report.html
七、上线后建议
- 首次登录后立即修改
aoyin/123456默认密码。 - 确认是否继续保留宝塔面板公网端口
8888;本次为避免破坏旧服务未改动它。 - 微信小程序、拼多多、淘宝、抖音等正式对接前,将第三方回调域名统一配置为
https://aolaierp.com/jshERP-boot。 - 正式接入第三方平台时,应为每个平台创建独立API账号和签名密钥,避免所有渠道共用ERP管理员账号。