优化若干功能
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user