更新代码

This commit is contained in:
hero920103 committed 2026-09-15 10:44:31 +08:00
1 parent 9875832019
commit 943c3708b0
125 files changed
+2009 -1728

No files matched your search

+41 -13
View File
@@ -36,6 +36,30 @@ func (c *PlatformSiteReminderController) platformClaims() (*jwtutil.Claims, erro
return claims, nil
}
// mergeReminderTargetIDs 合并多选目标ID与旧版单值入参。
// 旧版:role → target_role_id,tenant → target_tenant_id;多选参数优先。
func mergeReminderTargetIDs(targetType string, targetIDs []uint64, legacyRoleID, legacyTenantID uint64) []uint64 {
ids := make([]uint64, 0, len(targetIDs)+1)
for _, id := range targetIDs {
if id > 0 {
ids = append(ids, id)
}
}
if len(ids) == 0 {
switch targetType {
case "role":
if legacyRoleID > 0 {
ids = append(ids, legacyRoleID)
}
case "tenant":
if legacyTenantID > 0 {
ids = append(ids, legacyTenantID)
}
}
}
return ids
}
func (c *PlatformSiteReminderController) jsonErr(httpStatus, bizCode int, msg string) {
c.Ctx.Output.SetStatus(httpStatus)
c.Data["json"] = map[string]interface{}{"code": bizCode, "msg": msg}
@@ -97,11 +121,12 @@ func (c *PlatformSiteReminderController) Send() {
return
}
var p struct {
Title string `json:"title"`
Content string `json:"content"`
TargetType string `json:"target_type"` // platform, tenant_all, role, tenant
TargetRoleID uint64 `json:"target_role_id"`
TargetTenantID uint64 `json:"target_tenant_id"`
Title string `json:"title"`
Content string `json:"content"`
TargetType string `json:"target_type"` // all, platform, tenant_all, tenant_role, tenant, tenant_user
TargetIDs []uint64 `json:"target_ids"`
TargetRoleID uint64 `json:"target_role_id"` // 兼容旧入参
TargetTenantID uint64 `json:"target_tenant_id"` // 兼容旧入参
}
if err := json.Unmarshal(raw, &p); err != nil {
c.jsonErr(400, 400, "参数错误")
@@ -118,7 +143,8 @@ func (c *PlatformSiteReminderController) Send() {
return
}
err = services.SendSiteReminder(p.Title, p.Content, uint64(claims.UserID), "platform", p.TargetType, p.TargetRoleID, p.TargetTenantID)
targetIDs := mergeReminderTargetIDs(p.TargetType, p.TargetIDs, p.TargetRoleID, p.TargetTenantID)
err = services.SendSiteReminder(p.Title, p.Content, uint64(claims.UserID), "platform", p.TargetType, targetIDs)
if err != nil {
c.jsonErr(500, 500, "发送失败: "+err.Error())
return
@@ -275,12 +301,13 @@ func (c *PlatformSiteReminderController) UpdateSent() {
return
}
var p struct {
BatchID string `json:"batch_id"`
Title string `json:"title"`
Content string `json:"content"`
TargetType string `json:"target_type"`
TargetRoleID uint64 `json:"target_role_id"`
TargetTenantID uint64 `json:"target_tenant_id"`
BatchID string `json:"batch_id"`
Title string `json:"title"`
Content string `json:"content"`
TargetType string `json:"target_type"` // all, platform, tenant_all, tenant_role, tenant, tenant_user
TargetIDs []uint64 `json:"target_ids"`
TargetRoleID uint64 `json:"target_role_id"` // 兼容旧入参
TargetTenantID uint64 `json:"target_tenant_id"` // 兼容旧入参
}
if err := json.Unmarshal(raw, &p); err != nil {
c.jsonErr(400, 400, "参数错误")
@@ -297,7 +324,8 @@ func (c *PlatformSiteReminderController) UpdateSent() {
return
}
err = services.UpdateSentReminder(p.BatchID, p.Title, p.Content, p.TargetType, p.TargetRoleID, p.TargetTenantID)
targetIDs := mergeReminderTargetIDs(p.TargetType, p.TargetIDs, p.TargetRoleID, p.TargetTenantID)
err = services.UpdateSentReminder(p.BatchID, p.Title, p.Content, p.TargetType, targetIDs)
if err != nil {
c.jsonErr(500, 500, "修改失败: "+err.Error())
return