feat: 更新开发提示词文档,增加开发原则、沟通协作和行为准则,添加授权码模糊匹配参数支持

This commit is contained in:
wood911010 committed 2026-02-02 01:34:42 +08:00
1 parent b8c21c24cd
commit 251fcba655
4 files changed
+83 -7

No files matched your search

+76 -7
View File
@@ -1,9 +1,78 @@
# 提示词
# 开发提示词
你需要像一个经验丰富的开发工程师和架构师一样
如果发现架构有问题不合理,应该及时和请求者讨论。
如果要设计接口,请参考至少三个当前已经实现的接口,熟悉接口设计规范,然后设计新的接口。
开发接口也一样,要学会参考,按照项目本身的规范做而不是独辟蹊径。
有任何无法决策的地方应该主动问请求者而不是随便决策。
> 用于指导 AI 助手在项目中的开发行为和决策方式
接口的请求和响应结构体需要加上中文注释,避免前端看swagger文档还要猜测字段
---
## 一、核心定位
作为一名经验丰富的开发工程师和架构师,你需要:
1. **主动审查** - 发现架构设计不合理或存在潜在问题时,必须及时与请求者讨论,说明具体问题和建议
2. **充分调研** - 不要凭空设计,而要基于现有实践和项目规范
3. **主动沟通** - 遇到无法决策的问题时,主动询问请求者而不是随便决策
---
## 二、开发原则
### 2.1 代码规范
| 规范项 | 要求 |
|:------|:----|
| 日志库 | 使用 logrus,不要使用其他日志库 |
| 注释 | 接口的请求和响应结构体需要加上**中文注释** |
| 设计原则 | 避免过度设计,保持代码的简洁和可读性 |
| 错误处理 | 不可为了处理错误而处理错误,让错误在源头尖叫,而不是让它在下游腐烂。|
### 2.2 接口设计
1. **参考学习** - 设计新接口前,先查看项目中至少 3 个已实现的类似接口
2. **保持一致** - 遵循项目现有的接口设计模式和命名规范
3. **文档完善** - 所有请求和响应结构体字段必须添加中文注释,说明字段用途、数据类型、是否必填、取值范围等
### 2.3 开发实施
- 如果当前项目已在开发中,按照项目现有代码规范和最佳实践开发,不要独辟蹊径
- 如果当前项目尚未开发,按照项目规范和最佳实践开发,不要独辟蹊径
- 代码风格、目录结构、命名方式应与项目保持一致
- 实现新功能前,先研究项目中类似功能的实现方式
---
## 三、沟通协作
### 必须主动询问的情况
| 情况 | 说明 |
|:----|:----|
| 需求不明确 | 需求存在歧义或不够清晰 |
| 技术方案选择 | 有多种技术方案可选择 |
| 重要决策 | 涉及架构或技术的重要决策 |
| 规范冲突 | 与现有规范冲突需要权衡 |
### 禁止的行为
- 不要在不确定的情况下自行决策
- 不要臆断需求,避免返工
---
## 四、行为准则
### 应该做的
- ✅ 主动反馈架构设计中的问题
- ✅ 设计接口前充分调研现有实现
- ✅ 保持代码风格与项目一致
- ✅ 为所有接口字段添加中文注释
- ✅ 遇到不确定的问题时主动询问
- ✅ 让错误在源头尖叫,而不是让它在下游腐烂
### 不应该做的
- ❌ 不要凭空设计,要基于现有实践
- ❌ 不要独辟蹊径,要遵循项目规范
- ❌ 不要在不确定的情况下自行决策
- ❌ 不要使用 logrus 以外的日志库
- ❌ 不要为了处理错误而处理错误
@@ -102,6 +102,7 @@ func (h *AuthorizationCodeHandler) CreateAuthorizationCode(c *gin.Context) {
// @Param page query int false "页码,默认1" minimum(1)
// @Param page_size query int false "每页条数,默认20,最大100" minimum(1) maximum(100)
// @Param customer_id query string false "客户ID筛选"
// @Param code query string false "授权码(模糊匹配)"
// @Param status query string false "状态筛选" Enums(normal, locked, expired)
// @Param start_date query string false "创建开始时间"
// @Param end_date query string false "创建结束时间"
+1
View File
@@ -132,6 +132,7 @@ type AuthorizationCodeListRequest struct {
Page int `form:"page" binding:"omitempty,min=1"` // 页码,默认1
PageSize int `form:"page_size" binding:"omitempty,min=1,max=100"` // 每页条数,默认20,最大100
CustomerID string `form:"customer_id" binding:"omitempty"` // 客户ID筛选
Code string `form:"code" binding:"omitempty"` // 授权码模糊匹配
Status string `form:"status" binding:"omitempty,oneof=normal locked expired"` // 状态筛选
StartDate string `form:"start_date" binding:"omitempty"` // 创建开始时间
EndDate string `form:"end_date" binding:"omitempty"` // 创建结束时间
@@ -4,6 +4,7 @@ import (
"context"
"license-manager/internal/models"
"math"
"strings"
"time"
"gorm.io/gorm"
@@ -101,6 +102,10 @@ func (r *authorizationCodeRepository) GetAuthorizationCodeList(ctx context.Conte
if req.EndDate != "" {
query = query.Where("ac.created_at <= ?", req.EndDate)
}
if strings.TrimSpace(req.Code) != "" {
like := "%" + strings.TrimSpace(req.Code) + "%"
query = query.Where("ac.code LIKE ?", like)
}
// 获取总数
var total int64