bilibili-backup/app/service/ep/footman/dao/mysql_bugly.go
2019-04-22 02:59:20 +00:00

104 lines
3.8 KiB
Go

package dao
import (
"fmt"
"go-common/app/service/ep/footman/model"
"go-common/library/ecode"
"go-common/library/log"
pkgerr "github.com/pkg/errors"
)
const (
_issueRecords = "issue_records"
_issueLastTimes = "issue_last_times"
)
// UpdateIssueRecord Update Issue Record.
func (d *Dao) UpdateIssueRecord(issueRecord *model.IssueRecord) (err error) {
err = d.db.Table(_issueRecords).Where("issue_no = ? and version = ?", issueRecord.IssueNo, issueRecord.Version).UpdateColumn(map[string]interface{}{
"last_time": issueRecord.LastTime,
"happen_times": issueRecord.HappenTimes,
"user_times": issueRecord.UserTimes,
}).Error
log.Info("update issue record: %s", issueRecord.IssueNo)
fmt.Print("update issue record: " + issueRecord.IssueNo)
return
}
// InsertIssueRecord Insert Issue Record.
func (d *Dao) InsertIssueRecord(issueRecord *model.IssueRecord) (err error) {
err = d.db.Table(_issueRecords).Create(issueRecord).Error
log.Info("insert issue record: %s", issueRecord.IssueNo)
fmt.Println("insert issue record: " + issueRecord.IssueNo)
return
}
// GetIssueLastTime Get Issue LastTime.
func (d *Dao) GetIssueLastTime(version string) (issueLastTime *model.IssueLastTime, err error) {
issueLastTime = &model.IssueLastTime{}
if err = d.db.Where("version = ?", version).First(issueLastTime).Error; err == ecode.NothingFound {
err = nil
}
return
}
// UpdateTaskStatus Update Task Status.
func (d *Dao) UpdateTaskStatus(issueLastTime *model.IssueLastTime) (err error) {
err = pkgerr.WithStack(d.db.Table(_issueLastTimes).Where("version=?", issueLastTime.Version).Update("task_status", issueLastTime.TaskStatus).Error)
return
}
// GetIssueRecord Get Issue Record.
func (d *Dao) GetIssueRecord(issueNo, version string) (issueRecord *model.IssueRecord, err error) {
issueRecord = &model.IssueRecord{}
if err = d.db.Where("issue_no = ? and version = ?", issueNo, version).First(issueRecord).Error; err == ecode.NothingFound {
err = nil
}
return
}
// GetIssueRecordNotInTapd Get Issue Record Not in tapd.
func (d *Dao) GetIssueRecordNotInTapd(issueFilterSQL string) (issueRecords []*model.IssueRecord, err error) {
if err = d.db.Raw(issueFilterSQL).Order("id asc").Find(&issueRecords).Error; err == ecode.NothingFound {
err = nil
}
return
}
// GetIssueRecordHasInTapd Get Issue Record in tapd.
func (d *Dao) GetIssueRecordHasInTapd(projectID string) (issueRecords []*model.IssueRecord, err error) {
if err = d.db.Table(_issueRecords).Where("project_id = ? and tapd_bug_id<>''", projectID).Find(&issueRecords).Error; err == ecode.NothingFound {
err = nil
}
return
}
// UpdateIssueRecordTapdBugID Update Issue Record Tapd Bug ID.
func (d *Dao) UpdateIssueRecordTapdBugID(id int64, tapdBugID string) (err error) {
return d.db.Table(_issueRecords).Where("id=?", id).Update("tapd_bug_id", tapdBugID).Error
}
// UpdateLastIssueTime Update Last Issue Time.
func (d *Dao) UpdateLastIssueTime(issueLastTime *model.IssueLastTime) (err error) {
return d.db.Table(_issueLastTimes).Where("version=?", issueLastTime.Version).Update("last_time", issueLastTime.LastTime).Error
}
// InsertIssueLastTime Insert Issue Last Time.
func (d *Dao) InsertIssueLastTime(issueLastTime *model.IssueLastTime) (err error) {
return d.db.Table(_issueLastTimes).Create(issueLastTime).Error
}
// UpdateLastIssue Update Last Issue.
func (d *Dao) UpdateLastIssue(issueLastTime *model.IssueLastTime) (err error) {
err = pkgerr.WithStack(d.db.Table(_issueLastTimes).Where("version=?", issueLastTime.Version).Update("last_issue", issueLastTime.LastIssue).Error)
return
}
// UpdateVersionRecord Update Version Record.
func (d *Dao) UpdateVersionRecord(issueLastTime *model.IssueLastTime) (err error) {
err = pkgerr.WithStack(d.db.Table(_issueLastTimes).Where("version=?", issueLastTime.Version).Updates(issueLastTime).Error)
return
}