This commit is contained in:
eson 2023-09-01 15:58:03 +08:00
parent 89d9bf123f
commit 749ff9e9f9

View File

@ -85,7 +85,7 @@ func (l *InfoLogic) Info(req *types.UserInfoRequest, userinfo *auth.UserInfo) (r
}
mlist := strings.Split(module, ".")
if len(mlist) == 0 {
if len(mlist) < 2 {
return resp.SetStatusWithMessage(basic.CodeApiErr, fmt.Sprintf("%s format error", module))
}
@ -95,8 +95,11 @@ func (l *InfoLogic) Info(req *types.UserInfoRequest, userinfo *auth.UserInfo) (r
return resp.SetStatusWithMessage(basic.CodeApiErr, fmt.Sprintf("%s format error, table %s not found", module, tname))
}
moduleName := mlist[1]
cond = moduleName + " and " + cond
if mquery, ok := mquerys[mtable]; ok {
mquery.ModuleQuery[strings.Join(mlist[1:], ",")] = struct{}{}
mquery.ModuleQuery[strings.Join(mlist[2:], ",")] = struct{}{}
} else {
mquery := &ModuleQuery{
TableName: tname,
@ -108,7 +111,7 @@ func (l *InfoLogic) Info(req *types.UserInfoRequest, userinfo *auth.UserInfo) (r
for _, mquery := range mquerys {
sqlstr := fmt.Sprintf("select id, module, %s as querydata from %s where %s order by ctime asc", mquery.EncodeQuery("metadata"), mquery.TableName, cond)
sqlstr := fmt.Sprintf("select id, module, %s as querydata from %s where %s order by ctime asc limit 1", mquery.EncodeQuery("metadata"), mquery.TableName, cond)
raw := l.svcCtx.MysqlConn.Raw(sqlstr)
@ -135,7 +138,7 @@ func (l *InfoLogic) Info(req *types.UserInfoRequest, userinfo *auth.UserInfo) (r
var querydata map[string]any = make(map[string]any)
err = json.Unmarshal([]byte(info["querydata"].(string)), &querydata)
if err != nil {
logx.Error(err, info)
logx.Error(err)
return resp.SetStatusWithMessage(basic.CodeApiErr, err.Error())
}