package dingtalk_log import ( "context" "dashoo.cn/micro/app/dao/dingtalk_log" model "dashoo.cn/micro/app/model/dingtalk_log" "dashoo.cn/micro/app/service" "github.com/gogf/gf/os/glog" ) type logService struct { *service.ContextService Dao *dingtalk_log.DingtalkLogDao } func newService(ctx context.Context) (svc *logService, err error) { svc = new(logService) if svc.ContextService, err = svc.Init(ctx); err != nil { return nil, err } svc.Dao = dingtalk_log.NewDingtalkLogDao(svc.Tenant) return svc, nil } func Create(ctx context.Context, logType, content string) { // 异步写入日志 go func(ctx context.Context, logType, content string) { srv, err := newService(ctx) if err != nil { glog.Error(err) return } // 构造日志数据 var entity model.DingtalkLog entity.Type = logType entity.Content = content service.SetCreatedInfo(&entity, srv.GetCxtUserId(), srv.GetCxtUserName()) _, err = srv.Dao.Save(entity) if err != nil { glog.Error(err) } }(ctx, logType, content) }