方案1:mvn clean compile -DskipTests 方案2:mvn clean package -DskipTests
- VSCode个性化设置 、Trae个性化设置 (常用插件) (特别注意:玩Java需要OpenJDK21版本)
- 【Trae】如何导入VSCode插件?三种方法详解 —— 离线安装插件
- 【Codex】修改文件导致中文乱码的解决办法
- 【Typora】个性化设置:Markdown预览模式,显示 H1,H2,H3 等标签
开发套件:
CUE是什么?
Trae 中的 CUE 是 Context Understanding Engine(上下文理解引擎)的缩写。它是 Trae AI 编辑器的核心功能之一,聚焦编码细节,能基于代码上下文,提供代码补全、多行修改、智能导入和智能重命名等功能,帮助开发者减少重复操作,提升编码效率。
什么是 MCP?
Model Context Protocol (MCP) 是一种协议,它允许大型语言模型(LLMs)访问自定义的工具和服务。TRAE 中的智能体作为 MCP 客户端可以选择向 MCP Server 发起请求,以使用它们提供的工具。你可以自行添加 MCP Server,并添加到自定义的智能体中来使用。更多信息参阅 MCP 官方文档。
与AI对话
对话1:AI同学,你重新学习掌握一下“EleAdminPlus 前端框架”,并做好笔记,方便下次直接使用
对话2:AI同学,你重新学习掌握一下“ MyBatis-Flex ORM框架”,并做好笔记,方便下次直接使用
对话3:AI同学,你重新学习掌握一下“4.1 AI学习Java后端编码规范.md”,并做好笔记,方便下次直接使用
# AI学习Java后端编码规范
**AI同学,你重新学习掌握一下“Java后端编码规范”,并做好笔记,方便下次直接使用**
1. 根包名:com.fuyo.dic;
2. 整个系统分模块设计,每个模块包含固定的目录清单,这些目录由代码生成器“com.mybatisflex.codegen.Generator”生成,目录清单如下:
1. controller:控制器层
2. entity:实体类层
3. entity/table:数据表层
4. mapper:数据访问层
5. service:服务接口层
6. service/impl:服务实现层
3. Mapper.xml文件,统一放在工程的 resources 目录下;
4. 控制器层,统一返回 R.`<T>` 对象,其中 T 是实体类,针对这个泛型T,如果不知道具体类型,可以使用 Object 类型;
例如:`R<Object> delete(@PathVariable Long menuId)`,返回值为 `R<Object>("操作成功")`;
5. 控制器层,统一使用 dto 包,定义请求参数和响应参数的实体类;
例如:`AddMenuReq`、`MenuPageResp`、`MenuPageResp.MenuItem` 等;
例如:`R<List<MenuPageResp.MenuItem>> list(MenuPageReq req)`,返回值为 `R<List<MenuPageResp.MenuItem>>()`;
6. 控制器层,统一使用 @SaCheckLogin 注解,检查用户是否登录,未登录则返回错误信息;
7. 控制器层,统一使用 @Valid 注解,对请求参数进行校验,确保参数的合法性;
例如:`AddMenuReq`、`MenuPageReq` 等;
8. 控制器层,统一在 UrlConfig.java 配置文件中,定义主路由,如:`/api/system/menu`;
例如:`@RequestMapping(UrlConfig.API_SYSTEM_MENU)`,定义主路由为 `/api/system/menu`;
9. 业务逻辑统一放在“服务接口层”,“服务接口层”只定义服务方法,“服务实现层”实现服务方法;
10. “服务实现层”中,如果涉及到数据库修改(如新增、修改、删除等)操作,需要在方法名上增加 ;@Transactional(rollbackFor = Exception.class) 注解,确保在方法执行过程中发生异常时,能够回滚数据库事务;
11. “服务实现层”中,优先使用 MyBatis-Flex 提供的 Service API,完成数据的增、删、改、查、分页查询操作,避免直接调用数据访问层的方法;
12. “服务实现层”中,如果涉及到复杂的多表Join查询操作,优先使用 MyBatis-Flex 提供的 XML SQL Query API;
13. “服务实现层”中,统一使用 BusinessException 类,处理业务异常
对话4:AI同学,需要做一个bos系统,请先熟悉一下目录“系统文档/2.产品需求”下的需求文档,后端代码统一放到子模块目录fuyo-ccc-bos下,先输出详细的实施计划,再执行编码工作。
执行编码工作前,先把数据表设计好,生成到数据库中,然后通过代码生成器“fuyo-codegen”生成 entity、entity/table、mapper、service、service/impl等基础代码
对话5:“客户管理”模块的列表页面布局,请参考页面"fuyo-ccc-bos-ui\src\views\system\role\index.vue" 编码风格,并且 (1)右边的“操作栏” 要滚动时固定,(2) :multi-card="false" 要改为 :multi-card="true"
“订单履约”相关模块的列表页面布局,请参考页面"fuyo-ccc-bos-ui\src\views\bos\customer\index.vue" 编码风格,并且 (1)右边的“操作栏” 要滚动时固定,(2) :multi-card="false" 要改为 :multi-card="true"
线索管理、询盘管理 的详情页面布局风格,跟 订单管理 的详情页保持一致
对话6:系统菜单表 sys_menu 中的 title 统一改为中文,然后让他适配 多语言,即需要向字段 meta 添加元数据,,请帮忙修正
对话7:AI同学,学习掌握需求文档“系统文档/2.产品需求”,重构完善“商机管理”模块功能
对话8:通过 @Lazy 解决 依赖问题:
对话9:请把这个文档的基础数据“系统文档\2.产品需求\01_DDD文档\00_支撑数据 Common Data.md”录入到“字典模块”的数据表中
请参考一下文档说明,完善“客户管理”相关模块页面
文档1:P0_通用规范 System Foundation.md
文档2:P0_需求差异点.md
文档3:P1_客户管理 Customer Management.md
文档4:P1_更新说明 Customer Management Changelog.md
文档5:P1_需求差异点 Customer Management.md
请参考一下文档说明,完善“供应商管理”相关模块页面
文档1:P0_通用规范 System Foundation.md
文档2:P0_需求差异点.md
文档3:P2_供应商管理 Supplier Management.md
文档4:P2_更新说明 Supplier Management Changelog.md
文档5:P2_需求差异点 Supplier Management.md.md
请参考一下文档说明,完善“商机管理”相关模块页面,如 线索管理、询盘管理等
文档1:P0_通用规范 System Foundation.md
文档2:P0_需求差异点.md
文档3:P3_商机管理 Opportunity Management.md
文档4:P3_更新说明 Opportunity Management Changelog.md
文档5:P3_需求差异点 Opportunity Management.md.md
请参考一下文档说明,完善“订单履约”相关模块页面
文档1:P0_通用规范 System Foundation.md
文档2:P0_需求差异点.md
文档3:P4_更新说明 Order Fulfillment Changelog.md
文档4:P4_订单履约 Order Fulfillment.md
文档5:P4_需求差异点 Order Fulfillment.md
请参考一下文档说明,完善“财务结算”相关模块页面
文档1:P0_通用规范 System Foundation.md
文档2:P0_需求差异点.md
文档3:P5_更新说明 Financial Settlement Changelog.md
文档4:P5_财务结算 Financial Settlement.md
文档5:P5_需求差异点 Financial Settlement.md
/bos/customer/index.vue 页面搜索栏,label 文字长度自适应
系统多语言功能中,默认应该为 英语,页面排版布局以 英文版页面为主为准
按照截图调整 Customer 页面的 搜索栏 布局
按照原型页面“系统文档\2.产品需求\前端原型\index.html”调整 系统左边菜单文字内容
调整Customer模块的搜索栏,字段栏位按流式布局,label栏位自适应宽度,label所在容器的左边距为0px、上下行距为0px
/system/role 模块 搜索栏 字段栏位按流式布局,输入框、下拉框 不能随着页面拉宽而变的太宽
调整Customer模块的列表页,Action栏的 View、Edit 按钮被挡住了,需修正
Customer模块的列表页面,字段 Attention Level下拉框选项,通过api接口,从后端的字典表的our_attention_level中获取
Order模块的编辑页面,字段 Revenue Currency、Cost Currency下拉框选项,通过api接口,从后端的字典表的 currency 中获取
Customer Contact模块列表页面实现 Improt 导入功能,具体逻辑需求参考文档“P0+_前端交互规范 Frontend Interaction Specification.md”和 “P0+_导入导出规范 Import Export Specification.md”,编码风格参考已实现该功能的 Customer 模块,admin角需要Improt导入权限
Customer Contact模块列表页面实现 Exprot 导出功能,具体逻辑需求参考文档“P0+_前端交互规范 Frontend Interaction Specification.md”和 “P0+_导入导出规范 Import Export Specification.md”,编码风格参考已实现该功能的 Customer 模块,admin角需要Exprot导出权限
[P7_权限管理 Permission Management.md](系统文档/2.产品需求/03_PRD文档/P7_权限管理 Permission Management.md)
[P6_驾驶舱看板 Cockpit Panel.md](系统文档/2.产品需求/03_PRD文档/P6_驾驶舱看板 Cockpit Panel.md)
[P6_更新说明 Cockpit Panel Changelog.md](系统文档/2.产品需求/03_PRD文档/P6_更新说明 Cockpit Panel Changelog.md)
---
根据上述的文件,更新各个角色的权限还有看板的内容。
其中看板的内容主要依赖于p6的更新说明,也要看p6驾驶舱看板.其中P7的角色、架构、用户都已经配置好了,你一定要按照里面的要求配置权限!
在p7中主要就是查看和全部权限之间的差别,现在的权限面板好像没有查看的权限,你也要review
其中看板的部分也有权限的不同,也要重新设计,你要搞清楚明白。
===============================================================
在权限当中,角色 Sales,看订单和应收的时候,只能看到自己名下的。必要项。角色Sales 一定看不到供应商信息,只能看到自己跟进的客户信息。在订单Tracking、异常中也是,只能看到自己的订单。线索和询盘也只能看到属于自己的。
角色Logistics Manager只能看到自己看到客户(customer)的权限。
角色Logistics Manager、Product Manager、Financial Manager、Accountant 确认看不到线索(Leads)界面。
系统能够实现,个人将自己的权限在特定时间内,开放给1-多个人(不限定岗位)。
# 生成BOS系统
1. 利用当前系统的前端有后端技术框架,根据“系统文档\2.产品需求\01\_DDD文档”,生成子系统:BOS系统
2. 前端代码统一追加放在目录 fuyo-ui 中,后端代码统一放在目录 fuyo-ccc-bos 中
3. 将前端路由菜单注册到系统中,在数据表sys_menu 中添加系统菜单记录
4. 整个BOS系统的生成的数据表增加前置 bos_