mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 16:30:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			836 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			836 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package api
 | 
						|
 | 
						|
import (
 | 
						|
	"mayfly-go/internal/event"
 | 
						|
	"mayfly-go/internal/redis/api/form"
 | 
						|
	"mayfly-go/internal/redis/application"
 | 
						|
	"mayfly-go/pkg/biz"
 | 
						|
	"mayfly-go/pkg/global"
 | 
						|
	"mayfly-go/pkg/req"
 | 
						|
	"mayfly-go/pkg/utils/collx"
 | 
						|
)
 | 
						|
 | 
						|
func (r *Redis) RunCmd(rc *req.Ctx) {
 | 
						|
	var cmdReq form.RunCmdForm
 | 
						|
	runCmdParam := req.BindJsonAndCopyTo(rc, &cmdReq, new(application.RunCmdParam))
 | 
						|
	biz.IsTrue(len(cmdReq.Cmd) > 0, "redis命令不能为空")
 | 
						|
 | 
						|
	redisConn := r.getRedisConn(rc)
 | 
						|
	biz.ErrIsNilAppendErr(r.TagApp.CanAccess(rc.GetLoginAccount().Id, redisConn.Info.TagPath...), "%s")
 | 
						|
	rc.ReqParam = collx.Kvs("redis", redisConn.Info, "cmd", cmdReq.Cmd)
 | 
						|
 | 
						|
	global.EventBus.Publish(rc.MetaCtx, event.EventTopicResourceOp, redisConn.Info.TagPath[0])
 | 
						|
 | 
						|
	res, err := r.RedisApp.RunCmd(rc.MetaCtx, redisConn, runCmdParam)
 | 
						|
	biz.ErrIsNil(err)
 | 
						|
	rc.ResData = res
 | 
						|
}
 |