From cc954fb1806b2f9dd861dbbed6875ddaa7940c5c Mon Sep 17 00:00:00 2001 From: zjm <1076115376@qq.com> Date: Thu, 13 Apr 2023 15:04:52 +0800 Subject: [PATCH 1/2] clear code and add user field --- cve-vulner-manager/controllers/cve.go | 134 +++++++++++------------ cve-vulner-manager/models/cve.go | 148 +++++++++++--------------- 2 files changed, 125 insertions(+), 157 deletions(-) diff --git a/cve-vulner-manager/controllers/cve.go b/cve-vulner-manager/controllers/cve.go index 361d658..529d731 100644 --- a/cve-vulner-manager/controllers/cve.go +++ b/cve-vulner-manager/controllers/cve.go @@ -175,89 +175,82 @@ func (u *CveAllIssueController) Get() { logs.Info("Method: ", req.Method, "Client request ip address: ", addr, ", Header: ", req.Header, ", body: ", req.Body) resp := make(map[string]interface{}) - var cid []CveAllIssueoData resp["code"] = errcode.RecodeNodata resp["errmsg"] = errcode.RecodeText(errcode.RecodeNodata) - resp["body"] = []CveAllIssueoData{} + resp["body"] = nil resp["total"] = 0 - //defer u.RetCveData(resp) + communityFlag, flagErr := u.GetInt("communityFlag", 0) if flagErr != nil { communityFlag = 0 } - var cves = make([]string, 0) + cve := u.GetString("cveNums") - if len(cve) != 0 { - cves = strings.Split(cve, ",") - } - if len(cves) > 0 { + if cves := strings.Split(cve, ","); cve != "" && len(cves) > 0 { u.cveForIssue(cves, communityFlag) return } - conditions := u.GetString("conditions", "") - if len(conditions) != 0 { + + if conditions := u.GetString("conditions"); len(conditions) != 0 { u.cvePackForIssue(conditions, communityFlag) return } + startTime := u.GetString("startTime", "") + count := models.QueryCveAllIssueCount(communityFlag, startTime) if count > 0 { resp["total"] = count resp["code"] = errcode.RecodeOk resp["errmsg"] = errcode.RecodeText(errcode.RecodeOk) currentPage, err := u.GetInt("currentPage", 1) - if err != nil { - logs.Error("err: ", err, ", currentPage: ", currentPage) - resp["errno"] = errcode.RecodeParamErr - resp["errmsg"] = errcode.RecodeText(errcode.RecodeParamErr) - u.RetCveData(resp) - return - } pageSize, err := u.GetInt("pageSize", 100) if err != nil { - logs.Error("err: ", err, ", pageSize: ", pageSize) resp["errno"] = errcode.RecodeParamErr resp["errmsg"] = errcode.RecodeText(errcode.RecodeParamErr) u.RetCveData(resp) + return } + issueData, issueErr := models.QueryCveAllIssueData(currentPage, pageSize, communityFlag, startTime) if issueErr == nil && len(issueData) > 0 { - for _, issues := range issueData { - var irda CveAllIssueoData - irda.CveNum = issues.CveNum - irda.IssueNum = issues.IssueNum - irda.Version = issues.OwnedVersion - irda.Component = issues.OwnedComponent - irda.OpeneulerScore = issues.OpeneulerScore - irda.NvdScore = issues.NvdScore - irda.Branch = issues.AffectedVersion - irda.CveLevel = issues.CveLevel - irda.CveVtopicPublicTime = issues.FirstPerTime - irda.CveVtopicRecTime = issues.FirstGetTime - irda.Create = issues.CreateTime.Format("2006-01-02 15:04:05") - irda.Url = fmt.Sprintf(url, issues.Owner, issues.Repo, issues.IssueNum) - irda.PlanClosedTime = taskhandler.CvePlanCloseTime(issues.CreateTime, issues.CveLevel, false, false) - irda.CvePublicTime = issues.CpublicTime + var cid = make([]CveAllIssueoData, len(issueData)) + for i, issues := range issueData { + var rpmPub string if len(issues.RpmReleaseTime) > 2 { - irda.RpmPublicTime = issues.RpmReleaseTime + rpmPub = issues.RpmReleaseTime } else { - irda.RpmPublicTime = issues.SaReleaseTime + rpmPub = issues.SaReleaseTime + } + + cid[i] = CveAllIssueoData{ + CveNum: issues.CveNum, + IssueNum: issues.IssueNum, + Version: issues.OwnedVersion, + Component: issues.OwnedComponent, + OpeneulerScore: issues.OpeneulerScore, + NvdScore: issues.NvdScore, + Branch: issues.AffectedVersion, + CveLevel: issues.CveLevel, + CveVtopicPublicTime: issues.FirstPerTime, + CveVtopicRecTime: issues.FirstGetTime, + Create: issues.CreateTime.Format("2006-01-02 15:04:05"), + Url: fmt.Sprintf(url, issues.Owner, issues.Repo, issues.IssueNum), + PlanClosedTime: taskhandler.CvePlanCloseTime(issues.CreateTime, issues.CveLevel, false, false), + CvePublicTime: issues.CpublicTime, + SaPublicTime: issues.SaReleaseTime, + RpmPublicTime: rpmPub, + User: issues.IssueCreate, } - irda.SaPublicTime = issues.SaReleaseTime - cid = append(cid, irda) } resp["body"] = cid - resp["code"] = errcode.RecodeOk - resp["errmsg"] = errcode.RecodeText(errcode.RecodeOk) - u.RetCveData(resp) - } else { - resp["code"] = errcode.RecodeNodata - resp["errmsg"] = errcode.RecodeText(errcode.RecodeNodata) - u.RetCveData(resp) - return } } + + u.RetCveData(resp) + + return } func (u *CveAllIssueController) cveForIssue(cves []string, communityFlag int) { @@ -272,18 +265,20 @@ func (u *CveAllIssueController) cveForIssue(cves []string, communityFlag int) { u.RetCveData(resp) return } - var res = make([]CveAllIssueoData, 0, len(issueData)) - - for _, issues := range issueData { - var irda CveAllIssueoData - irda.CveNum = issues.CveNum - irda.IssueNum = issues.IssueNum - irda.Version = issues.OwnedVersion - irda.Component = issues.OwnedComponent - irda.Create = issues.CreateTime.Format("2006-01-02 15:04:05") - irda.Url = fmt.Sprintf(url, issues.Owner, issues.Repo, issues.IssueNum) - owner, accessToken := common.GetOwnerAndToken("", issues.OrganizateId) - err, issueBody := taskhandler.GetGiteeIssue(accessToken, owner, issues.Repo, issues.IssueNum) + var res = make([]CveAllIssueoData, len(issueData)) + for i, issues := range issueData { + var irda = CveAllIssueoData{ + CveNum: issues.CveNum, + IssueNum: issues.IssueNum, + Version: issues.OwnedVersion, + Component: issues.OwnedComponent, + Create: issues.CreateTime.Format("2006-01-02 15:04:05"), + Url: fmt.Sprintf(url, issues.Owner, issues.Repo, issues.IssueNum), + User: issues.IssueCreate, + } + + _, accessToken := common.GetOwnerAndToken("", issues.OrganizateId) + err, issueBody := taskhandler.GetGiteeIssue(accessToken, issues.Owner, issues.Repo, issues.IssueNum) if err == nil && issueBody != nil { if s, ok := issueBody["created_at"].(string); ok { if t, err := time.Parse("2006-01-02T15:04:05+08:00", s); err == nil { @@ -297,8 +292,9 @@ func (u *CveAllIssueController) cveForIssue(cves []string, communityFlag int) { } } } - res = append(res, irda) + res[i] = irda } + resp["body"] = res u.RetCveData(resp) } @@ -323,16 +319,16 @@ func (u *CveAllIssueController) cvePackForIssue(conditions string, communityFlag u.RetCveData(resp) return } - var res []CveAllIssueoData - - for _, issues := range issueData { - var irda CveAllIssueoData - irda.CveNum = issues.CveNum - irda.IssueNum = issues.IssueNum - irda.Version = issues.OwnedVersion - irda.Component = issues.OwnedComponent - irda.Create = issues.CreateTime.Format("2006-01-02 15:04:05") - res = append(res, irda) + + var res = make([]CveAllIssueoData, len(issueData)) + for i, issues := range issueData { + res[i] = CveAllIssueoData{ + CveNum: issues.CveNum, + IssueNum: issues.IssueNum, + Version: issues.OwnedVersion, + Component: issues.OwnedComponent, + Create: issues.CreateTime.Format("2006-01-02 15:04:05"), + } } resp["body"] = res u.RetCveData(resp) diff --git a/cve-vulner-manager/models/cve.go b/cve-vulner-manager/models/cve.go index f0f9b95..f0c2333 100644 --- a/cve-vulner-manager/models/cve.go +++ b/cve-vulner-manager/models/cve.go @@ -1190,35 +1190,38 @@ func QueryCveIssueByBranch(currentPage, pageSize int, milestone string) ([]CveIs } func QueryCveAllIssueCount(communityFlag int, startTime string) (count int64) { - sql := "" + var err error + + res := struct { + Total int64 + }{} + + var sql1 = `SELECT COUNT(t.template_id) total FROM cve_issue_template t, cve_vuln_center v where t.status != 6 %s order by t.update_time desc` + var sql2 = `SELECT COUNT(t.template_id) total FROM cve_issue_template t where t.status != 6 %s order by t.update_time desc` + + o := orm.NewOrm() if len(startTime) > 2 { if communityFlag > 0 { - sql = fmt.Sprintf(`SELECT COUNT(t.template_id) total FROM cve_issue_template t, cve_vuln_center v where - t.status != 6 and v.organizate_id = %d and t.cve_id = v.cve_id and t.update_time >= '%s' order by t.update_time desc`, communityFlag, startTime) + err = o.Raw(fmt.Sprintf(sql1, "and v.organizate_id = ? and t.cve_id = v.cve_id and t.create_time >= ?"), + communityFlag, startTime, + ).QueryRow(&res) } else { - sql = fmt.Sprintf(`SELECT COUNT(t.template_id) total FROM cve_issue_template t where - t.status != 6 and t.update_time >= '%s' order by t.update_time desc`, startTime) + err = o.Raw(fmt.Sprintf(sql2, "and t.create_time >= ?"), startTime).QueryRow(&res) } } else { if communityFlag > 0 { - sql = fmt.Sprintf(`SELECT COUNT(t.template_id) total FROM cve_issue_template t, cve_vuln_center v where - t.status != 6 and v.organizate_id = %d and t.cve_id = v.cve_id order by t.update_time desc`, communityFlag) + err = o.Raw(fmt.Sprintf(sql1, "and v.organizate_id = ? and t.cve_id = v.cve_id"), communityFlag).QueryRow(&res) } else { - sql = fmt.Sprintf(`SELECT COUNT(t.template_id) total FROM cve_issue_template t where - t.status != 6 order by t.update_time desc`) + err = o.Raw(fmt.Sprintf(sql2, "")).QueryRow(&res) } } - res := struct { - Total int64 - }{} - o := orm.NewOrm() - err := o.Raw(sql).QueryRow(&res) if err != nil { logs.Error("QueryCveAllIssueCount, err: ", err) - return 0 } - return res.Total + count = res.Total + + return } type CveAllIssueData struct { @@ -1239,70 +1242,39 @@ type CveAllIssueData struct { Repo string `orm:"column(repo)"` Owner string `orm:"column(owner)"` OrganizateId int8 `orm:"column(organizate_id)"` + IssueCreate string `orm:"column(issue_create)"` } //QueryIssue query issuewhitelist -func QueryCveAllIssueData(currentPage, pageSize, communityFlag int, startTime string) ([]CveAllIssueData, error) { +func QueryCveAllIssueData(currentPage, pageSize, communityFlag int, startTime string) (res []CveAllIssueData, err error) { startSize := (currentPage - 1) * pageSize o := orm.NewOrm() - var cai []CveAllIssueData + var sql = `SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version, +t.owned_component,t.owner,t.repo,t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, +v.first_get_time,o.issue_create FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s +on t.template_id = s.template_id left join cve_gite_origin_issue o on t.issue_num = o.number and t.issue_id = o.issue_id +where t.status != 6 and t.cve_id = v.cve_id %s order by t.update_time desc limit ? offset ?` if len(startTime) > 2 { if communityFlag > 0 { - num, err := o.Raw("SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo,"+ - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time"+ - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id "+ - "where t.status != 6 and t.update_time >= ? and t.cve_id = v.cve_id and v.organizate_id = ? "+ - "order by t.update_time desc limit ? offset ?", startTime, communityFlag, pageSize, startSize).QueryRows(&cai) - if err == nil && num > 0 { - logs.Info("QueryCveAllIssueData1, search num: ", num) - } else { - logs.Info("QueryCveAllIssueData1, cur_time:", - common.GetCurTime(), ",err: ", err) - } - return cai, err + _, err = o.Raw(fmt.Sprintf(sql, "and t.create_time >= ? and v.organizate_id = ?"), + startTime, communityFlag, pageSize, startSize, + ).QueryRows(&res) } else { - num, err := o.Raw("SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo,"+ - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time"+ - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id "+ - "where t.status != 6 and t.update_time >= ? and t.cve_id = v.cve_id "+ - "order by t.update_time desc limit ? offset ?", startTime, pageSize, startSize).QueryRows(&cai) - if err == nil && num > 0 { - logs.Info("QueryCveAllIssueData2, search num: ", num) - } else { - logs.Info("QueryCveAllIssueData2, cur_time:", - common.GetCurTime(), ",err: ", err) - } - return cai, err + _, err = o.Raw(fmt.Sprintf(sql, "and t.create_time >= ?"), startTime, pageSize, startSize).QueryRows(&res) } } else { if communityFlag > 0 { - num, err := o.Raw("SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo,"+ - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time"+ - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id "+ - "where t.status != 6 and t.cve_id = v.cve_id and v.organizate_id = ? "+ - "order by t.update_time desc limit ? offset ?", communityFlag, pageSize, startSize).QueryRows(&cai) - if err == nil && num > 0 { - logs.Info("QueryCveAllIssueData3, search num: ", num) - } else { - logs.Info("QueryCveAllIssueData3, cur_time:", - common.GetCurTime(), ",err: ", err) - } - return cai, err + _, err = o.Raw(fmt.Sprintf(sql, "and v.organizate_id = ?"), communityFlag, pageSize, startSize).QueryRows(&res) } else { - num, err := o.Raw("SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo,"+ - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time"+ - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id "+ - "where t.status != 6 and t.cve_id = v.cve_id "+ - "order by t.update_time desc limit ? offset ?", pageSize, startSize).QueryRows(&cai) - if err == nil && num > 0 { - logs.Info("QueryCveAllIssueData4, search num: ", num) - } else { - logs.Info("QueryCveAllIssueData4, cur_time:", - common.GetCurTime(), ",err: ", err) - } - return cai, err + _, err = o.Raw(fmt.Sprintf(sql, ""), pageSize, startSize).QueryRows(&res) } } + + if err != nil { + logs.Error("QueryCveAllIssueData failed, err: ", err) + } + + return } func QueryCveOrgIssueCount(communityFlag int) (count int64) { @@ -1376,7 +1348,6 @@ func GetCveVulnCenter(cve string) ([]VulnCenter, error) { } func QueryCveIssue(cves []string, communityFlag int) (res []CveAllIssueData, err error) { - var sql string o := orm.NewOrm() var cve string for _, v := range cves { @@ -1385,41 +1356,42 @@ func QueryCveIssue(cves []string, communityFlag int) (res []CveAllIssueData, err if len(cve) > 1 { cve = cve[:len(cve)-1] } + + var sql = `SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version, +t.owned_component,t.owner,t.repo,t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, +v.first_get_time,v.organizate_id,o.issue_create FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s +on t.template_id = s.template_id left join cve_gite_origin_issue o on t.issue_num = o.number and t.issue_id = o.issue_id +where t.status != 6 and t.cve_id = v.cve_id %s order by t.update_time desc` if communityFlag != 0 { - sql = fmt.Sprintf("SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo,"+ - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time, v.organizate_id"+ - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id "+ - "where t.status != 6 and t.cve_id = v.cve_id and t.cve_num in (%s) and v.organizate_id = %v order by t.update_time desc", cve, communityFlag) + _, err = o.Raw( + fmt.Sprintf(sql, fmt.Sprintf("and t.cve_num in (%s) and v.organizate_id = ?", cve)), communityFlag, + ).QueryRows(&res) } else { - sql = fmt.Sprintf("SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo,"+ - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time, v.organizate_id"+ - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id "+ - "where t.status != 6 and t.cve_id = v.cve_id and t.cve_num in (%s) order by t.update_time desc", cve) + _, err = o.Raw( + fmt.Sprintf(sql, fmt.Sprintf("and t.cve_num in (%s)", cve)), + ).QueryRows(&res) } - _, err = o.Raw(sql).QueryRows(&res) + return } func QueryCvePackIssue(data []Cve, communityFlag int) ([]CveAllIssueData, error) { - var sql string + var sql = `SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo, +t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time, v.organizate_id +FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id +where t.status != 6 and t.cve_id = v.cve_id and t.cve_num = ? and t.owned_component = ? %s order by t.update_time desc` o := orm.NewOrm() - if communityFlag == 0 { - sql = "SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo," + - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time, v.organizate_id" + - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id " + - "where t.status != 6 and t.cve_id = v.cve_id and t.cve_num = '%s' and t.owned_component = '%s' order by t.update_time desc" + if communityFlag != 0 { + sql = fmt.Sprintf(sql, "and v.organizate_id = "+strconv.Itoa(communityFlag)) } else { - sql = "SELECT t.cve_num, t.nvd_score, t.openeuler_score, t.issue_num, t.affected_version,t.owned_version,t.owned_component,t.owner,t.repo," + - "t.cve_level,t.create_time,v.repair_time,s.sa_release_time,s.rpm_release_time,v.first_per_time, v.first_get_time, v.organizate_id" + - " FROM cve_vuln_center v,cve_issue_template t left join cve_issue_template_association s on t.template_id = s.template_id " + - "where t.status != 6 and t.cve_id = v.cve_id and t.cve_num = '%s' and t.owned_component = '%s' and v.organizate_id = " + strconv.Itoa(communityFlag) + " order by t.update_time desc" + sql = fmt.Sprintf(sql, "") } var res = make([]CveAllIssueData, 0) for _, v := range data { var r []CveAllIssueData - o.Raw(fmt.Sprintf(sql, v.CveNum, v.Pack)).QueryRows(&r) + o.Raw(sql, v.CveNum, v.Pack).QueryRows(&r) if len(r) == 0 { continue } @@ -1427,7 +1399,7 @@ func QueryCvePackIssue(data []Cve, communityFlag int) ([]CveAllIssueData, error) } if len(res) == 0 { - return nil, errors.New("data not found") + return nil, errors.New("not found") } return res, nil -- Gitee From 4c6179f3d942e9c5196ad6643bbbbfb6aed88c1f Mon Sep 17 00:00:00 2001 From: zjm <1076115376@qq.com> Date: Thu, 13 Apr 2023 16:10:43 +0800 Subject: [PATCH 2/2] optimize response --- cve-vulner-manager/controllers/cve.go | 87 ++++++++++++++------------- 1 file changed, 45 insertions(+), 42 deletions(-) diff --git a/cve-vulner-manager/controllers/cve.go b/cve-vulner-manager/controllers/cve.go index 529d731..bbdc629 100644 --- a/cve-vulner-manager/controllers/cve.go +++ b/cve-vulner-manager/controllers/cve.go @@ -138,9 +138,34 @@ type CveAllIssueController struct { beego.Controller } -func (c *CveAllIssueController) RetCveData(resp map[string]interface{}) { +func (c *CveAllIssueController) response(resp map[string]interface{}) { c.Data["json"] = resp c.ServeJSON() + c.StopRun() +} + +func (c *CveAllIssueController) success(resp map[string]interface{}) { + resp["code"] = errcode.RecodeOk + resp["errmsg"] = errcode.RecodeText(errcode.RecodeOk) + + c.response(resp) +} + +func (c *CveAllIssueController) paramError(resp map[string]interface{}) { + resp["errno"] = errcode.RecodeParamErr + resp["errmsg"] = errcode.RecodeText(errcode.RecodeParamErr) + + c.response(resp) +} + +func (c *CveAllIssueController) notData(resp map[string]interface{}, err error) { + resp["code"] = errcode.RecodeNodata + resp["errmsg"] = errcode.RecodeText(errcode.RecodeNodata) + if err != nil { + resp["errmsg"] = err.Error() + } + + c.response(resp) } type CveAllIssueoData struct { @@ -175,10 +200,6 @@ func (u *CveAllIssueController) Get() { logs.Info("Method: ", req.Method, "Client request ip address: ", addr, ", Header: ", req.Header, ", body: ", req.Body) resp := make(map[string]interface{}) - resp["code"] = errcode.RecodeNodata - resp["errmsg"] = errcode.RecodeText(errcode.RecodeNodata) - resp["body"] = nil - resp["total"] = 0 communityFlag, flagErr := u.GetInt("communityFlag", 0) if flagErr != nil { @@ -188,31 +209,26 @@ func (u *CveAllIssueController) Get() { cve := u.GetString("cveNums") if cves := strings.Split(cve, ","); cve != "" && len(cves) > 0 { u.cveForIssue(cves, communityFlag) - return } if conditions := u.GetString("conditions"); len(conditions) != 0 { u.cvePackForIssue(conditions, communityFlag) - return } startTime := u.GetString("startTime", "") + currentPage, err := u.GetInt("currentPage", 1) + if err != nil { + u.paramError(resp) + } + pageSize, err := u.GetInt("pageSize", 100) + if err != nil { + u.paramError(resp) + } + count := models.QueryCveAllIssueCount(communityFlag, startTime) if count > 0 { resp["total"] = count - resp["code"] = errcode.RecodeOk - resp["errmsg"] = errcode.RecodeText(errcode.RecodeOk) - currentPage, err := u.GetInt("currentPage", 1) - pageSize, err := u.GetInt("pageSize", 100) - if err != nil { - resp["errno"] = errcode.RecodeParamErr - resp["errmsg"] = errcode.RecodeText(errcode.RecodeParamErr) - u.RetCveData(resp) - - return - } - issueData, issueErr := models.QueryCveAllIssueData(currentPage, pageSize, communityFlag, startTime) if issueErr == nil && len(issueData) > 0 { var cid = make([]CveAllIssueoData, len(issueData)) @@ -246,24 +262,18 @@ func (u *CveAllIssueController) Get() { } resp["body"] = cid } - } - u.RetCveData(resp) + u.success(resp) + } - return + u.notData(resp, nil) } func (u *CveAllIssueController) cveForIssue(cves []string, communityFlag int) { resp := make(map[string]interface{}) issueData, issueErr := models.QueryCveIssue(cves, communityFlag) - resp["code"] = errcode.RecodeOk - resp["errmsg"] = errcode.RecodeText(errcode.RecodeOk) - resp["body"] = nil if issueErr != nil { - resp["code"] = errcode.RecodeNodata - resp["errmsg"] = errcode.RecodeText(errcode.RecodeNodata) - u.RetCveData(resp) - return + u.notData(resp, issueErr) } var res = make([]CveAllIssueoData, len(issueData)) for i, issues := range issueData { @@ -296,7 +306,8 @@ func (u *CveAllIssueController) cveForIssue(cves []string, communityFlag int) { } resp["body"] = res - u.RetCveData(resp) + + u.success(resp) } func (u *CveAllIssueController) cvePackForIssue(conditions string, communityFlag int) { @@ -304,20 +315,11 @@ func (u *CveAllIssueController) cvePackForIssue(conditions string, communityFlag var req []models.Cve err := json.Unmarshal([]byte(conditions), &req) if err != nil { - resp["code"] = -1 - resp["errmsg"] = err.Error() - u.RetCveData(resp) - return + u.notData(resp, err) } issueData, issueErr := models.QueryCvePackIssue(req, communityFlag) - resp["code"] = errcode.RecodeOk - resp["errmsg"] = errcode.RecodeText(errcode.RecodeOk) - resp["body"] = nil if issueErr != nil { - resp["code"] = errcode.RecodeNodata - resp["errmsg"] = errcode.RecodeText(errcode.RecodeNodata) - u.RetCveData(resp) - return + u.notData(resp, nil) } var res = make([]CveAllIssueoData, len(issueData)) @@ -331,7 +333,8 @@ func (u *CveAllIssueController) cvePackForIssue(conditions string, communityFlag } } resp["body"] = res - u.RetCveData(resp) + + u.success(resp) } type KanbanCveAllIssueController struct { -- Gitee