Files
bj_power/bj_power_mes/internal/audit/operator.go
T

38 lines
946 B
Go

package audit
// 管ç†åŽå°æ“作审计公共能力ã€?
//
// èŒè´£ï¼?
// 1. OperatorFromCtx ä»?HTTP 请求 context æå–当å‰ç™»å½•æ“作人(uid â†?用户å)ï¼?
// ä¾?logic 层记录人工æ“作时æºå¸¦ï¼?
//
// æ“作人缺失兜底:"系统"(自动化触å‘,éžäººå·¥æ“作)ã€?
import (
"context"
"fmt"
xhttp "bj_power_mes/common/httpx"
"bj_power_mes/ent"
"bj_power_mes/ent/user"
)
// OperatorFromCtx 从请æ±?context æå–æ“作人用户åã€?
// 无登录上下文(自动触å‘)返回 "系统";查库失败兜åº?"用户#<id>",ä¿è¯å®¡è®¡ä¸ä¸¢æ“作人ã€?
func OperatorFromCtx(ctx context.Context, entClient *ent.Client) string {
if entClient == nil {
return "系统"
}
uid := xhttp.GetUidFromCtx(ctx)
if uid <= 0 {
return "系统"
}
u, err := entClient.User.Query().
Where(user.IDEQ(int(uid))).
Only(ctx)
if err != nil {
return fmt.Sprintf("用户#%d", uid)
}
return u.Username
}