feat: 更新开发提示词文档,增加开发原则、沟通协作和行为准则,添加授权码模糊匹配参数支持
This commit is contained in:
1 parent
b8c21c24cd
commit
251fcba655
4 files changed
+83
-7
No files matched your search
+76
-7
@@ -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 "创建结束时间"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user