From f7c9356ec71dfd039da7585dbc441d299985b614 Mon Sep 17 00:00:00 2001 From: zjm <1076115376@qq.com> Date: Mon, 7 Nov 2022 09:33:32 +0800 Subject: [PATCH 1/2] fix issue status --- cve-vulner-manager/models/cve.go | 8 ++++---- cve-vulner-manager/taskhandler/cve.go | 2 +- cve-vulner-manager/taskhandler/excel.go | 3 --- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/cve-vulner-manager/models/cve.go b/cve-vulner-manager/models/cve.go index a04db43..a8b3f3f 100644 --- a/cve-vulner-manager/models/cve.go +++ b/cve-vulner-manager/models/cve.go @@ -1088,7 +1088,7 @@ func GetIssueNumber(packName string, cves []string) (issueTemp []IssueTemplate, var sql string if len(cves) == 0 { sql = `select * from cve_issue_template where cve_id in (select cve_id from cve_vuln_center where cve_status = 2 and -is_export in (0,3) and pack_name in ('%s') and organizate_id = 1)` +is_export in (0,3) and pack_name in ('%s') and organizate_id = 1) and status < 4` } else { var s string for _, v := range cves { @@ -1098,7 +1098,7 @@ is_export in (0,3) and pack_name in ('%s') and organizate_id = 1)` s = s[:len(s)-1] } sql = `select * from cve_issue_template where cve_id in (select cve_id from cve_vuln_center where cve_status = 2 and -is_export in (0,3) and pack_name in ('%s') and organizate_id = 1)` + ` and cve_num in (` + s + `)` +is_export in (0,3) and pack_name in ('%s') and organizate_id = 1) and status < 4` + ` and cve_num in (` + s + `)` } sql = fmt.Sprintf(sql, packName) o := orm.NewOrm() @@ -1110,7 +1110,7 @@ func GetUnffectIssueNumber(startTime string, cves []string) (issueTemp []IssueTe var sql string if len(cves) == 0 { sql = `SELECT * FROM cve_issue_template WHERE cve_id IN (SELECT DISTINCT cve_id FROM cve_vuln_center WHERE cve_status = 2 AND -is_export IN (0,3) and organizate_id = 1) AND create_time >= '%s'` +is_export IN (0,3) and organizate_id = 1) AND create_time >= '%s' AND status < 4` } else { var s string for _, v := range cves { @@ -1120,7 +1120,7 @@ is_export IN (0,3) and organizate_id = 1) AND create_time >= '%s'` s = s[:len(s)-1] } sql = `SELECT * FROM cve_issue_template WHERE cve_id IN (SELECT DISTINCT cve_id FROM cve_vuln_center WHERE cve_status = 2 AND -is_export IN (0,3) and organizate_id = 1) AND create_time >= '%s'` + ` AND cve_num in (` + s + `)` +is_export IN (0,3) and organizate_id = 1) AND create_time >= '%s' AND status < 4` + ` AND cve_num in (` + s + `)` } sql = fmt.Sprintf(sql, startTime) diff --git a/cve-vulner-manager/taskhandler/cve.go b/cve-vulner-manager/taskhandler/cve.go index c8b83f6..44d67e2 100644 --- a/cve-vulner-manager/taskhandler/cve.go +++ b/cve-vulner-manager/taskhandler/cve.go @@ -2556,7 +2556,7 @@ func GetCveProduct(cveNumber, packageName string, branch ...string) (bool, model } return false, detail } - return len(detail.Result) >= 3, detail + return len(detail.Result) > 4, detail } //FilterCveExported Filter exportable data diff --git a/cve-vulner-manager/taskhandler/excel.go b/cve-vulner-manager/taskhandler/excel.go index b8624a8..6902b63 100644 --- a/cve-vulner-manager/taskhandler/excel.go +++ b/cve-vulner-manager/taskhandler/excel.go @@ -1132,9 +1132,6 @@ func getDateByGite(pkgList []models.ExcelPackage, startTime string, c chan<- []I logs.Info("No need to deal with ", v.Repo) continue } - if len(cves) != 0 { - rt = 0 - } for _, isTemp := range issueTemp { if len(cves) != 0 && !filterDataInSlice(isTemp.CveNum, cves) { continue -- Gitee From e06677445bb4f93e665836047485af6b4503c631 Mon Sep 17 00:00:00 2001 From: zjm <1076115376@qq.com> Date: Mon, 7 Nov 2022 11:40:23 +0800 Subject: [PATCH 2/2] fix updateinfo.xls --- cve-vulner-manager/models/issue.go | 18 +++++++++++++----- cve-vulner-manager/taskhandler/xml.go | 3 +-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/cve-vulner-manager/models/issue.go b/cve-vulner-manager/models/issue.go index 98dfee8..6a574fb 100644 --- a/cve-vulner-manager/models/issue.go +++ b/cve-vulner-manager/models/issue.go @@ -77,7 +77,7 @@ func QueryIssueByPackName(packName, days string, prcnum int) ([]VulnCenter, erro } //QueryIssue query center -func QueryIssue(days string, prcnum int,list []string) ([]VulnCenter, error) { +func QueryIssue(days string, prcnum int, list []string) ([]VulnCenter, error) { o := orm.NewOrm() var vc []VulnCenter var num int64 @@ -91,7 +91,7 @@ func QueryIssue(days string, prcnum int,list []string) ([]VulnCenter, error) { s = s[:len(s)-1] } num, err = o.Raw(fmt.Sprintf("select * from cve_vuln_center where cve_num in (%s) and cve_status in (0, 1) "+ - "order by cve_id asc limit %v", s,prcnum)).QueryRows(&vc) + "order by cve_id asc limit %v", s, prcnum)).QueryRows(&vc) } else { num, err = o.Raw("select * from cve_vuln_center where cve_status in (?, ?) "+ "order by cve_id asc limit ?", 0, 1, prcnum).QueryRows(&vc) @@ -154,6 +154,14 @@ func GetIssueTemplateByStatus(status int8, templateId int64, num int) (issueTemp return } +func GetIssueTemplateByStatuss(id int64) (issueTemp IssueTemplate, err error) { + sql := `select * from cve_issue_template where status < 4 and cve_id = %d` + sql = fmt.Sprintf(sql, id) + o := orm.NewOrm() + err = o.Raw(sql).QueryRow(&issueTemp) + return +} + func GetIssueTemplateByColName(it *IssueTemplate, colName ...string) error { o := orm.NewOrm() err := o.Read(it, colName...) @@ -475,7 +483,7 @@ func GetOrgCveDesc(ord *OriginUpstreamDesc, colName ...string) error { return err } -func LockUpdateIssueStatus(cveId int64, cveNum string, status int8) (bool) { +func LockUpdateIssueStatus(cveId int64, cveNum string, status int8) bool { o := orm.NewOrm() res, err := o.Raw("UPDATE cve_vuln_center SET cve_status = ? "+ "WHERE cve_id = ? and cve_num = ? and cve_status in (0,1)", @@ -495,7 +503,7 @@ func LockUpdateIssueStatus(cveId int64, cveNum string, status int8) (bool) { } } -func UnLockUpdateIssueStatus(beforeStatus, afterStatus int8, updateTime, beforeTime string) (bool) { +func UnLockUpdateIssueStatus(beforeStatus, afterStatus int8, updateTime, beforeTime string) bool { o := orm.NewOrm() res, err := o.Raw("UPDATE cve_vuln_center SET cve_status = ?,update_time = ? WHERE cve_status = ? and update_time < ?", afterStatus, updateTime, beforeStatus, beforeTime).Exec() @@ -746,7 +754,7 @@ func UpdateOriginUpstream(eoi *OriginUpstream, fields ...string) error { return err } -func QueryAuthTokenInfo() ([]AuthTokenInfo) { +func QueryAuthTokenInfo() []AuthTokenInfo { o := orm.NewOrm() var ati []AuthTokenInfo num, err := o.Raw("select * from cve_auth_token_info order by id ").QueryRows(&ati) diff --git a/cve-vulner-manager/taskhandler/xml.go b/cve-vulner-manager/taskhandler/xml.go index 7b84870..d9599df 100644 --- a/cve-vulner-manager/taskhandler/xml.go +++ b/cve-vulner-manager/taskhandler/xml.go @@ -233,8 +233,7 @@ func ReadWriteUpdateExcel(excelPath, ownedComponent, cveNum, affectBranch string vc := models.QueryCveByPackName(cveNum, ownedComponent, 1) if len(vc) > 0 { for _, v := range vc { - issueTmp := models.IssueTemplate{CveId: v.CveId, Status: 3} - err := models.GetIssueTemplateByColName(&issueTmp, "CveId", "Status") + issueTmp, err := models.GetIssueTemplateByStatuss(v.CveId) if err == nil { cveData := CreateUpdateData(issueTmp, affectBranch) if len(cveData) > 0 { -- Gitee