跳至主要內容

网筒

chanchaw大约 5 分钟projs

概述

访问网址:https://www.barrel.fit/barrel/,现在电信天翼云服务器中。服务器数据库 wechatbarrel.mill 中保存了各客户账套数据,指定了每个客户对应的数据库名称。其中关联了线下ERP服务器,云服务器每天从线下服务器统计打卷产量累计到对应的花号上,有统计人员每天查看花号产量。user_mill 为微信用户与账套的关联关系表

微信

概述

  • 微信服务号是 “精之研科技”
  • 使用 git仓库open in new window 的分支 wxbe 重新创建了 网筒微信后台open in new window 将其中的微信开发者ID等资料修改为“精之研科技”的资料 - 记录在 wps 的“云端账号”中
  • 微信后台 服务部署在天翼云服务器路径 /projs/wxbebarrel
  • 微信前端 部署在 /projfe/wxfebarrel
  • SAAS 项目 barrel 在天翼云服务器 /data/extdisk/barrel,其中有前端、后端、报表项目。制作了守护进程,通过命令 systemctl start wxbebarrel.service 启动后台

前端H5

在电信天翼云服务器的路径 /projfe/wxfebarrel

对外接口

推送模板消息

接口 /tmpmsg/w 使用 post 方法可推送给 “精之研科技”服务号下的指定微信用户模板消息,要求的参数模型是

const msgData = {
  "metaList":[//要求8个元素
    {"value":"注册方式错误,请先取消关注,向开发商索要二维码进行扫描"},
    {"value":"使用微信扫描后重新填写真实姓名再提交"},
    {"value":JSON.stringify(new Date())},
    {"value":""},{"value":""},{"value":""},{"value":""},{"value":""}
  ],
  "openidList":[openId],
  "templateId":"IRUGdjkPP2p8sOXR-g-xtDsnvGkD_hyt-W083VeNo-I"
}

开发人员工具

删除指定微信用户的所有数据

delimiter $$
set @openId='o9oc563szpfvy67PAKAJJB-SjwFk';
delete from `user` where open_id=@openId;
delete from user_mill where open_id=@openId;
$$

调用自定义SQL

post 方法 dev/queryForListCallProc,参数是字符串数组,顺序为:存储过程名称、参数1、参数2...参数N post 方法 dev/queryForListSQL ,参数是对象,模型是 {"sql":"select * from ...."}

服务器与数据

最初在 天翼云网筒,在2025弃用后重新购买了 腾讯云网筒,客户的账套数据是该服务器上的 barrel001 等,微信用户数据在 wechatbarrel.user

开发手册

管理员

在服务号 “精之研科技” 的 “关于” 中通过双击切换所在单位

清除业务数据

# 清除基础资料数据
delete from cause where 1=1;
delete from client where 1=1;
delete from goods_category where 1=1;
delete from `storage` where 1=1;
delete from `storage_position` where 1=1;

# 清除单据数据
delete from barrel where 1=1;
delete from barrel_daily where 1=1;

# 下面方法删除的数据不可恢复
# 清除基础资料数据
TRUNCATE table cause;
TRUNCATE table client;
TRUNCATE table goods_category;
TRUNCATE table `storage`;
TRUNCATE table `storage_position`;

# 清除单据数据
TRUNCATE table barrel;
TRUNCATE table barrel_daily;

清除微信用户数据

# 删除指定微信号的所有数据
DELIMITER $$
START TRANSACTION ;
set @openId = 'o9oc563szpfvy67PAKAJJB-SjwFk';
delete from user where open_id = @openId;
delete from user_mill where open_id = @openId;
COMMIT ;
$$

后台项目

概述

服务器是天翼云网筒
制作了守护进程,启动命令是 systemctl start barrelbe,绝对路径是 /data/extdisk/barrel
后台项目仓库 https://gitee.com/chanchaw/barrel.git

在2025购买了腾讯云网筒服务器,弃用了电信天翼云的服务器,项目部署在 /projs/barrel 下,在 /projs/barrel/backend/bin 设置了脚本命令

./service.sh status
./service.sh start
./service.sh stop

后来又制作了软连接,可在任意路径使用命令 barrel status,可以通过 find / -type l -name "*barrel*" 2>/dev/null 查看所有包含 barrel 的软连接,能够查询到这个新服务器上还制作了 barrel-report-service status 的网筒报表后台服务命令。

多账套

通过 AOP 获取请求头中的 barreluser 自动切换用户所属数据源

新增账套

由于本项目采用硬编码的形式实现多数据源多账套功能,有新增客户新增账套的话要求按照下面步骤新增数据源:

  1. DataSourceConfig.java 中新增账套
  2. 枚举类 MultDSSwitcher 新增数据
  3. DynamicDataSource 多出新增账套
  4. 云服务器采用外置配置文件的方式,要在 application.yml 中新增账套数据库连接
  5. 在服务号 精之研科技关于 > 管理员 中切换账套,访问 地址open in new window,拿微信扫描登录

报表项目

报表服务后台 jar 的物理路径是 /data/extdisk/barrel/report/server

守护进程 systemctl start barrelreport.在 html 中引入 Finereport 的 js 文件时是从前端项目的文件结构产生回退,即下图中,在具体的页面 jc_barrel.html 中引入时,前面要有4个回退符,而不是依据浏览器中的 http://xzyerpserver/barrel/jc_barrel.html 开始回退。同时调用 FR.doURLPDFPrint(...) 时也是回退4个
网筒项目报表后台相对路径 如果引入时回退个数是对的,但是调用FR.doURLPDFPrint() 时回退个数不对则会报错:
FineReport打印时后台服务相对路径不对的报错 此时查看浏览器控制台有报错:
FineReport打印时后台服务相对路径不对的浏览器控制台报错 注意 Linux 系统只能使用本方式,不可使用绝对路径的方式,否则查找不到 cpt 文件

更新日志

2022年12月7日 12:55:53 新增手动同步打卷产量到网筒花号上的后台接口:(get请求)https://www.barrel.fit/barrelbe/dev/updateBarrelYield

前端项目

概述

前端项目仓库 https://gitee.com/linyun1/netbarrel

网筒微信前端项目 /projfe/wxfebarrel

网筒前端项目 /data/extdisk/barrel/frontend

菜单树

网筒序时表

html - netbarrel\main_gt\html\JCZL\barreldetail.html
js - D:\source\frontend\netbarrel\main_gt\js\barreldetail.js
表格数据源存储过程 - usp_getbarreltypedetail