编辑 | blame | 历史 | 原始文档

---
name: zy-wcs-dev

description: 维护和开发 WCS(Spring Boot + MyBatis-Plus + Layui/Vue)项目的执行型技能。处理后端接口/服务/Mapper 与 XML 联动修改、设备线程与调度逻辑排查、前端页面与静态 JS 改动、以及本地构建与回归验证。用户提到 WCS、com/zy 包结构、application.ymlmapper/*.xmlsrc/main/webapp/views、设备控制线程(Crn/Rgv/Station/DualCrn)或要求“按当前项目方式改代码/排查问题”时使用。

zy-wcs-dev

Overview

在该仓库内执行改动时,优先最小变更、快速验证、明确影响范围。始终把 Java 代码、MyBatis XML、前端页面与对应静态脚本视为一个联动单元。

Project Quick Map

  • 后端入口:src/main/java/com/zy/Boot.java
  • 核心分层:
  • core:设备编排、连接驱动、线程与协议
  • asrs:业务域、任务调度、接口控制器
  • system:用户权限、日志、系统配置
  • common:公共 web 与工具类
  • 持久层:
  • Java Mapper:src/main/java/com/zy/**/mapper/*Mapper.java
  • SQL XML:src/main/resources/mapper/*.xml
  • 前端:
  • 页面:src/main/webapp/views/**
  • 脚本:src/main/webapp/static/js/**
  • 样式:src/main/webapp/static/css/**
  • 配置:src/main/resources/application.yml
  • 构建产物:target/wcs.war

Workflow

1. Confirm Scope

  • 明确改动属于哪一层:后端接口、业务服务、设备线程、数据库映射、前端页面。
  • 明确是否涉及联动文件:Controller -> Service -> Mapper.java -> Mapper.xml -> view/js
  • 明确是否需要兼容现有上下文路径:/@pom.build.finalName@(实际为 /wcs)。

2. Locate Code Precisely

  • rg 快速定位,避免盲目全量阅读:
    bash rg -n "关键字" src/main/java src/main/resources src/main/webapp rg --files src/main/java/com/zy | rg "Controller|Service|Mapper"
  • 优先读取与改动直接相关的最小文件集,再扩展上下游依赖。

3. Implement Minimal Safe Change

后端改动

  • 控制器仅做参数与响应组织,核心逻辑放在 Service/ServiceImpl
  • 修改实体/字段时同步检查:
  • 实体类
  • Mapper 接口
  • 对应 XML(resultMapselect/insert/update
  • 设备相关逻辑改动时,优先检查:
  • core/thread/**
  • core/network/**
  • core/task/**
  • asrs/task/**

前端改动

  • 页面通常在 views/<feature>/,其逻辑通常在 static/js/<feature>/
  • 改动页面字段时同步检查后端接口字段名与 JSON 结构。
  • 保持当前 Layui/Vue 代码风格,不引入重型新框架。

4. Validate Locally

按成本从低到高执行:

  1. 编译校验:
    bash mvn -q -DskipTests compile
  2. 单测(若有):
    bash mvn test
  3. 打包:
    bash mvn clean package -DskipTests
  4. 本地启动验证:
    bash mvn spring-boot:run

启动后重点检查:
- 端口是否为 9090
- 上下文路径是否为 /wcs
- 日志目录是否可写:./stock/out/wcs/logs

5. High-Risk Checklist

  • 不提交真实密钥/密码。application.yml 出现敏感值时,输出中使用脱敏占位。
  • 修改 Mapper XML 后,确认 SQL 字段与实体字段映射一致,避免运行时空字段或类型错误。
  • 修改调度器或线程逻辑时,确认不存在明显阻塞、死循环或共享状态竞争。
  • 修改 API 时,确认前端调用路径包含上下文路径前缀(/wcs)。

Response Template

执行任务后,按以下结构给出结果:

  1. 先给结论:完成了什么、影响哪些模块。
  2. 列出修改文件清单。
  3. 说明验证命令与结果(成功/失败及原因)。
  4. 若有未完成项,明确阻塞点和下一步。

Do and Don't

  • Do:优先最小改动、可回滚、可验证。
  • Do:新增逻辑时保持命名和包结构一致(Controller/Service/Mapper)。
  • Don't:未经要求不改动无关文件或进行大规模重构。
  • Don't:未经确认不删除或替换现有设备编排主流程。