优化若干功能

This commit is contained in:
2026-09-09 17:02:29 +08:00
parent fef0233cc4
commit 2f238875e1
16 changed files with 609 additions and 68 deletions
+48
View File
@@ -702,6 +702,54 @@ func (c *BackendOaScheduleController) SetImages() {
c.oasOk(map[string]interface{}{"images": parseOaScheduleImages(imagesJSON)})
}
// UpdateContent POST /backend/oa/schedule/content/:id 仅更新备注内容。
// 与 SetImages 类似,只改写 Content 字段,不影响标题、日期、提醒等其他字段,
// 因此即便日程已完成、已绑定提醒,补充备注也不会破坏既有状态。
func (c *BackendOaScheduleController) UpdateContent() {
claims, err := c.oaScheduleClaims()
if err != nil {
c.oasJsonErr(401, 401, "未登录或无权限")
return
}
id, err := strconv.ParseUint(c.Ctx.Input.Param(":id"), 10, 64)
if err != nil || id == 0 {
c.oasJsonErr(400, 400, "无效ID")
return
}
var payload struct {
Content string `json:"content"`
}
raw, _ := io.ReadAll(c.Ctx.Request.Body)
if len(raw) > 0 && json.Unmarshal(raw, &payload) != nil {
c.oasJsonErr(400, 400, "参数错误")
return
}
var item models.OaSchedule
err = models.Orm.QueryTable(new(models.OaSchedule)).
Filter("id", id).
Filter("is_deleted", 0).
Filter("tid", claims.TenantId).
Filter("user_id", claims.UserID).
One(&item)
if err != nil {
c.oasJsonErr(404, 404, "日程不存在")
return
}
now := time.Now()
item.Content = payload.Content
item.UpdateTime = &now
if _, err := models.Orm.Update(&item, "Content", "UpdateTime"); err != nil {
c.oasJsonErr(500, 500, "保存失败")
return
}
c.oasOk(map[string]interface{}{"content": item.Content})
}
// Delete DELETE /backend/oa/schedule/delete/:id 软删除日程。
func (c *BackendOaScheduleController) Delete() {
claims, err := c.oaScheduleClaims()