refactor: Skill状态字段从int改为string类型
- model/skill.go: Status字段从 int 改为 string,支持 "active"/"inactive" - handler/skill_handler.go: 适配Status字段的类型变化,处理"1"/"0"和"active"/"inactive"两种格式 - repository/skill_repo.go: 更新Status字段的空值判断逻辑 - service/skill_service.go: 同步更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -245,7 +245,7 @@ func (h *SkillHandler) Create(c *gin.Context) {
|
|||||||
SkillType: skillType,
|
SkillType: skillType,
|
||||||
SkillDesc: skillDesc,
|
SkillDesc: skillDesc,
|
||||||
Path: filepath.Join(skillPath, "SKILL.md"),
|
Path: filepath.Join(skillPath, "SKILL.md"),
|
||||||
Status: 1,
|
Status: "active",
|
||||||
}
|
}
|
||||||
|
|
||||||
// 记录创建者
|
// 记录创建者
|
||||||
@@ -386,7 +386,7 @@ func (h *SkillHandler) Update(c *gin.Context) {
|
|||||||
skillName := req.SkillName
|
skillName := req.SkillName
|
||||||
skillDesc := req.SkillDesc
|
skillDesc := req.SkillDesc
|
||||||
skillType := req.SkillType
|
skillType := req.SkillType
|
||||||
var status int
|
var status string
|
||||||
|
|
||||||
if skillName == "" {
|
if skillName == "" {
|
||||||
skillName = existingSkill.SkillName
|
skillName = existingSkill.SkillName
|
||||||
@@ -397,15 +397,15 @@ func (h *SkillHandler) Update(c *gin.Context) {
|
|||||||
if skillType == "" {
|
if skillType == "" {
|
||||||
skillType = existingSkill.SkillType
|
skillType = existingSkill.SkillType
|
||||||
}
|
}
|
||||||
// 处理 status:如果是空字符串则使用现有值,否则转换为整数
|
// 处理 status:如果是空字符串则使用现有值,否则使用传入的值
|
||||||
if req.Status == "" {
|
if req.Status == "" {
|
||||||
status = existingSkill.Status
|
status = existingSkill.Status
|
||||||
} else {
|
} else {
|
||||||
// 支持传入数字或字符串
|
// 支持传入数字或字符串
|
||||||
if req.Status == "1" || req.Status == "active" {
|
if req.Status == "1" || req.Status == "active" {
|
||||||
status = 1
|
status = "active"
|
||||||
} else if req.Status == "0" || req.Status == "inactive" {
|
} else if req.Status == "0" || req.Status == "inactive" {
|
||||||
status = 0
|
status = "inactive"
|
||||||
} else {
|
} else {
|
||||||
status = existingSkill.Status
|
status = existingSkill.Status
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ type Skill struct {
|
|||||||
SkillType string `json:"skill_type" gorm:"size:20;not null"` // system / user
|
SkillType string `json:"skill_type" gorm:"size:20;not null"` // system / user
|
||||||
SkillDesc string `json:"skill_desc" gorm:"type:text"`
|
SkillDesc string `json:"skill_desc" gorm:"type:text"`
|
||||||
Path string `json:"path" gorm:"size:500"` // skill 文件路径
|
Path string `json:"path" gorm:"size:500"` // skill 文件路径
|
||||||
Status int `json:"status" gorm:"default:1"` // 1: active, 0: inactive
|
Status string `json:"status" gorm:"size:20;default:active"` // active / inactive
|
||||||
CreatedBy string `json:"created_by" gorm:"size:100"` // 创建者用户名
|
CreatedBy string `json:"created_by" gorm:"size:100"` // 创建者用户名
|
||||||
CreatedAt time.Time `json:"created_at"`
|
CreatedAt time.Time `json:"created_at"`
|
||||||
UpdatedAt time.Time `json:"updated_at"`
|
UpdatedAt time.Time `json:"updated_at"`
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ func (r *SkillRepository) Update(skill *model.Skill) error {
|
|||||||
if skill.SkillType != "" {
|
if skill.SkillType != "" {
|
||||||
updates["skill_type"] = skill.SkillType
|
updates["skill_type"] = skill.SkillType
|
||||||
}
|
}
|
||||||
if skill.Status != 0 {
|
if skill.Status != "" {
|
||||||
updates["status"] = skill.Status
|
updates["status"] = skill.Status
|
||||||
}
|
}
|
||||||
if skill.Path != "" {
|
if skill.Path != "" {
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ func (s *SkillService) scanSkillsDirectory(basePath string, skillType string) ([
|
|||||||
SkillType: skillType,
|
SkillType: skillType,
|
||||||
SkillDesc: skillInfo.SkillDesc,
|
SkillDesc: skillInfo.SkillDesc,
|
||||||
Path: skillPath,
|
Path: skillPath,
|
||||||
Status: 1,
|
Status: "active",
|
||||||
}
|
}
|
||||||
|
|
||||||
skills = append(skills, skill)
|
skills = append(skills, skill)
|
||||||
|
|||||||
Reference in New Issue
Block a user