@@ -19,9 +19,11 @@ package handler
1919import (
2020 "encoding/json"
2121 "fmt"
22+ "strings"
2223
2324 "github.com/gin-gonic/gin"
2425 "github.com/koderover/zadig/v2/pkg/types"
26+ "go.uber.org/zap"
2527
2628 commonmodels "github.com/koderover/zadig/v2/pkg/microservice/aslan/core/common/repository/models"
2729 "github.com/koderover/zadig/v2/pkg/microservice/aslan/core/common/service/template"
@@ -271,7 +273,8 @@ func SyncYamlTemplateReference(c *gin.Context) {
271273 return
272274 }
273275
274- internalhandler .InsertOperationLog (c , ctx .UserName , "" , "同步" , "模板-YAML" , c .Param ("id" ), c .Param ("id" ), "" , types .RequestBodyTypeJSON , ctx .Logger )
276+ detail , detailEn := buildYamlTemplateSyncLogDetail (c .Param ("id" ), ctx .Logger )
277+ internalhandler .InsertOperationLog (c , ctx .UserName , "" , "同步" , "模板-YAML" , detail , detailEn , "" , types .RequestBodyTypeJSON , ctx .Logger )
275278
276279 // authorization check
277280 if ! ctx .Resources .IsSystemAdmin {
@@ -284,6 +287,37 @@ func SyncYamlTemplateReference(c *gin.Context) {
284287 ctx .RespErr = templateservice .SyncYamlTemplateReference (ctx .UserName , c .Param ("id" ), ctx .Logger )
285288}
286289
290+ func buildYamlTemplateSyncLogDetail (templateID string , logger * zap.SugaredLogger ) (string , string ) {
291+ templateDetail , err := templateservice .GetYamlTemplateDetail (templateID , logger )
292+ if err != nil {
293+ logger .Warnf ("failed to get yaml template detail for operation log, templateID: %s, err: %v" , templateID , err )
294+ return templateID , templateID
295+ }
296+
297+ references , err := templateservice .GetYamlTemplateReference (templateID , logger )
298+ if err != nil {
299+ logger .Warnf ("failed to get yaml template references for operation log, templateID: %s, err: %v" , templateID , err )
300+ return fmt .Sprintf ("模板名称:%s" , templateDetail .Name ), fmt .Sprintf ("Template Name: %s" , templateDetail .Name )
301+ }
302+
303+ serviceRefs := make ([]string , 0 , len (references ))
304+ serviceRefsEn := make ([]string , 0 , len (references ))
305+ for _ , reference := range references {
306+ if reference == nil {
307+ continue
308+ }
309+ serviceRefs = append (serviceRefs , fmt .Sprintf ("%s/%s" , reference .ProjectName , reference .ServiceName ))
310+ serviceRefsEn = append (serviceRefsEn , fmt .Sprintf ("%s/%s" , reference .ProjectName , reference .ServiceName ))
311+ }
312+
313+ if len (serviceRefs ) == 0 {
314+ return fmt .Sprintf ("模板名称:%s" , templateDetail .Name ), fmt .Sprintf ("Template Name: %s" , templateDetail .Name )
315+ }
316+
317+ return fmt .Sprintf ("模板名称:%s; 影响服务:%s" , templateDetail .Name , strings .Join (serviceRefs , ", " )),
318+ fmt .Sprintf ("Template Name: %s; Affected Services: %s" , templateDetail .Name , strings .Join (serviceRefsEn , ", " ))
319+ }
320+
287321type getYamlTemplateVariablesReq struct {
288322 Content string `json:"content" binding:"required"`
289323 VariableYaml string `json:"variable_yaml" binding:"required"`
0 commit comments