Files
jcgl/docs/03-业务模块地图.md

6.5 KiB
Raw Permalink Blame History

03 业务模块地图

1. 模块总表

模块(包) 入口 核心服务 一句话职责 主要数据表
jcgl JcglController /jcgl、RecordingController JcglService(4192 行)、AsteriskCallUtil、ByxxResourceService、CallDutyMatchLock 叫乘主流程、入寓/离寓、房间、补助、交路匹配、归档 GY_JCXX、GY_JCXX_HIS、GY_ROOMS、GY_SYN_JCXX、GY_YKT_*、GYGL_LY_EVENT
jlgl JlGlController /jlgl JlGlService 交路模板维护、叫乘时刻、上传/同步、车次查询 GYGL_JLXX、GYGL_JLXX_TY、GYGL_JLXX_LOGS、GY_GYZD
regist RegistController /regist RegistService 人员注册信息、照片、人员资料增删改 GY_YKT_RY、人员照片表
recharge RechargeController /recharge RechargeService 现金充值申请/处理、余额与补助入账 GY_YKT_CASH_REQUEST、GY_YKT_REMAINDER、GY_YKT_XJCZJL、GY_YKT_ALLOWANCE
pay PayController /pay PayService 消费扣款、消费明细与统计 GY_YKT_CONSUME、GY_YKT_REMAINDER
MealsOrdering MealsController /Meals MealsService 餐食/订单、房间送餐、消费 餐食/订单相关表
kcgl kcglController /kcgl kcglService 库存、出入库、物料、成品、PDF 文件 库存/出入库相关表
display /auth、/user、/role、/permission、/menu、/dept SysUserService 等 登录、会话、RBAC、菜单、部门、日志 GL_YH、GL_JS、GL_QX、GL_CD、GL_YH_JS、GL_JS_QX、GY_LOGS
excel ExcelExportController /excel 直接查询/POI 叫乘、日报、补助、充值、消费等 Excel 导出 只读多表
xxtj xxtjController /xxtj XxTjService 报警次数、进出情况、日报、月报、补助统计 只读多表
zdwh ZdwhController /Zdwh ZdwhService 公寓/房间/工种/节假日/餐补字典;IP→公寓 GY_GYZD、GY_ROOMS、GY_GZZD、GY_JRB、GY_JBXX
syndata /synData、/jwDataLog SynDataService、DriverPersonSyncService、JwDataLogService 运安人员、公寓人员、财务数据;同步日志 GY_YKT_RY、GY_JCXX、GY_YKT_REMAINDER、同步日志表
heartBeat HeartBeatController /heartBeat HeartBeatService 设备注册、心跳、指令下发、版本/配置 GY_SB、GY_SB_XT、设备指令表
callingDevice /callingDevice CallingDeviceService 叫乘屏心跳/业务 GY_SB
checkInDevice /checkInDevice CheckInDeviceService 签到机心跳/业务 GY_SB
roomDevice /roomDevice RoomDeviceService 房间屏心跳/应答/保洁 GY_SB
payDevice /payDevice PayDeviceService 消费机心跳/消费 GY_SB
registDevice /registDevice RegistDeviceHeartBeatService 注册机心跳 GY_SB
vendPayDevice /vendPayDevice VendPayDeviceService 售货机支付/退款 订单、余额
clean CleanController /clean CleanService 开始/结束保洁、保洁记录 GY_ROOMS、保洁记录
jgxxgl JgXxGlController /jgxxgl JgXxGlService 报警/警示信息查询 GYGL_JGXX
quartz — SchedulerManager、WakeUpJob 叫乘/复叫/叫乘结束任务 Quartz 内存 JobStore
schedule — 各 @Scheduled 漏叫补偿、超时离寓、归档、运安同步、快照清理 多表
websockets /websocket/* — 值班端/房间端实时推送 —

2. 模块依赖关系

flowchart TD
    DEV[设备接入层<br/>calling/checkIn/room/pay/regist/vend] --> CORE[jcgl 核心服务]
    WEB[Web 控制器<br/>jcgl/jlgl/regist/recharge/pay/xxtj/excel] --> CORE
    CORE --> JL[jlgl 交路]
    CORE --> ZD[zdwh 字典/IP→公寓]
    CORE --> HB[heartBeat 设备指令]
    CORE --> WS[websockets 推送]
    CORE --> QZ[quartz 叫乘任务]
    QZ --> AST[AsteriskCallUtil]
    SYNC[syndata / ByxxResourceService] --> CORE
    CORE --> CARD[卡务: recharge/pay/Meals]
    ALL[全部模块] --> DISP[display 登录/RBAC/日志]

关键耦合点:

  • jcgl 是事实上的“领域服务层”,其他模块大量直接调用 JcglService(如 pay 调 checkRemainder/isHoliday,regist 调 processPersonDeviceInstructions,recharge 调余额与补助)。
  • zdwh 提供公寓上下文,几乎所有写操作都依赖 getGyIdByIp / getUniqueGyByIp。
  • heartBeat 提供设备指令通道,叫乘、入住、充值、人员变更都会写入指令。
  • websockets 只负责推送,业务状态不以其为准。

3. 按业务视角分组

3.1 叫乘与住宿(核心)

  • 入寓登记:submit_rydj / processCheckInRegistration
  • 叫乘执行:processCallDuty、processTempCallDuty、WakeUpJob、AsteriskCallUtil
  • 房间:getRoomList、getRoomRecommendations、modifyRoomStatus、exchangeRoom
  • 离寓:processCheckOutRegistration、handleCheckOut、submit_ccly
  • 交路匹配:synCallDutyInfo、synUnMatchJcXx、matchCallDutyUnderLock
  • 归档:syncJcXxData

3.2 卡务与消费

  • 补助:getAllowanceInfo、getTrainAllowanceInfo、changeRemainder、insert_allowance
  • 余额:checkRemainder、remakeRemainder
  • 消费:PayService、VendPayDeviceService、MealsService.updateMoney
  • 充值:RechargeService(设备申请 + 值班端确认)

3.3 基础资料与管理

  • 人员:regist + syndata(运安/中心)
  • 交路:jlgl
  • 公寓/房间/工种/节假日:zdwh
  • 用户/角色/权限/菜单:display

3.4 统计与导出

  • 页面统计:xxtj(日报、月报、补助统计)
  • Excel:excel(叫乘明细、日报、补助、充值、消费及汇总)

4. 模块边界与迭代建议

场景 建议落点 说明
叫乘规则(时间/次数/优先级) JcglService + quartz 先改状态机与任务生成,再改执行器
新的设备类型 新建 xxxDevice 包 复用 heartBeat 指令与 GY_SB
新报表 xxtj 或 excel 统计 SQL 放对应 Mapper XML
新的卡务规则 recharge / pay 余额变动必须与明细同事务
交路来源新增 syndata + jlgl 统一落到快照表再匹配
管理端新功能 display + 对应业务模块 权限走 RBAC 表

kcgl(库存)与叫乘主线关系较弱,更像同工程内的扩展业务;迭代叫乘时通常无需改动。