mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-14 06:57:35 +08:00
code refactor
This commit is contained in:
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
// DuplicateCheckerContainer contains the current duplicate checker
|
||||
type DuplicateCheckerContainer struct {
|
||||
Current DuplicateChecker
|
||||
current DuplicateChecker
|
||||
}
|
||||
|
||||
// Initialize a duplicate checker container singleton instance
|
||||
@@ -21,7 +21,7 @@ var (
|
||||
func InitializeDuplicateChecker(config *settings.Config) error {
|
||||
if config.DuplicateCheckerType == settings.InMemoryDuplicateCheckerType {
|
||||
checker, err := NewInMemoryDuplicateChecker(config)
|
||||
Container.Current = checker
|
||||
Container.current = checker
|
||||
|
||||
return err
|
||||
}
|
||||
@@ -29,37 +29,75 @@ func InitializeDuplicateChecker(config *settings.Config) error {
|
||||
return errs.ErrInvalidDuplicateCheckerType
|
||||
}
|
||||
|
||||
// SetDuplicateChecker sets the current duplicate checker
|
||||
func SetDuplicateChecker(checker DuplicateChecker) {
|
||||
Container.current = checker
|
||||
}
|
||||
|
||||
// IsEnabled returns whether the duplicate checker is enabled
|
||||
func (c *DuplicateCheckerContainer) IsEnabled() bool {
|
||||
return c.current != nil
|
||||
}
|
||||
|
||||
// GetSubmissionRemark returns whether the same submission has been processed and related remark by the current duplicate checker
|
||||
func (c *DuplicateCheckerContainer) GetSubmissionRemark(checkerType DuplicateCheckerType, uid int64, identification string) (bool, string) {
|
||||
return c.Current.GetSubmissionRemark(checkerType, uid, identification)
|
||||
if c.current == nil {
|
||||
return false, ""
|
||||
}
|
||||
|
||||
return c.current.GetSubmissionRemark(checkerType, uid, identification)
|
||||
}
|
||||
|
||||
// SetSubmissionRemark saves the identification and remark by the current duplicate checker
|
||||
func (c *DuplicateCheckerContainer) SetSubmissionRemark(checkerType DuplicateCheckerType, uid int64, identification string, remark string) {
|
||||
c.Current.SetSubmissionRemark(checkerType, uid, identification, remark)
|
||||
if c.current == nil {
|
||||
return
|
||||
}
|
||||
|
||||
c.current.SetSubmissionRemark(checkerType, uid, identification, remark)
|
||||
}
|
||||
|
||||
// RemoveSubmissionRemark removes the identification and remark by the current duplicate checker
|
||||
func (c *DuplicateCheckerContainer) RemoveSubmissionRemark(checkerType DuplicateCheckerType, uid int64, identification string) {
|
||||
c.Current.RemoveSubmissionRemark(checkerType, uid, identification)
|
||||
if c.current == nil {
|
||||
return
|
||||
}
|
||||
|
||||
c.current.RemoveSubmissionRemark(checkerType, uid, identification)
|
||||
}
|
||||
|
||||
// GetOrSetCronJobRunningInfo returns the running info when the cron job is running or saves the running info by the current duplicate checker
|
||||
func (c *DuplicateCheckerContainer) GetOrSetCronJobRunningInfo(jobName string, runningInfo string, runningInterval time.Duration) (bool, string) {
|
||||
return c.Current.GetOrSetCronJobRunningInfo(jobName, runningInfo, runningInterval)
|
||||
if c.current == nil {
|
||||
return false, ""
|
||||
}
|
||||
|
||||
return c.current.GetOrSetCronJobRunningInfo(jobName, runningInfo, runningInterval)
|
||||
}
|
||||
|
||||
// RemoveCronJobRunningInfo removes the running info of the cron job by the current duplicate checker
|
||||
func (c *DuplicateCheckerContainer) RemoveCronJobRunningInfo(jobName string) {
|
||||
c.Current.RemoveCronJobRunningInfo(jobName)
|
||||
if c.current == nil {
|
||||
return
|
||||
}
|
||||
|
||||
c.current.RemoveCronJobRunningInfo(jobName)
|
||||
}
|
||||
|
||||
// GetFailureCount returns the failure count of the specified failure key
|
||||
func (c *DuplicateCheckerContainer) GetFailureCount(failureKey string) uint32 {
|
||||
return c.Current.GetFailureCount(failureKey)
|
||||
if c.current == nil {
|
||||
return 0
|
||||
}
|
||||
|
||||
return c.current.GetFailureCount(failureKey)
|
||||
}
|
||||
|
||||
// IncreaseFailureCount increases the failure count of the specified failure key
|
||||
func (c *DuplicateCheckerContainer) IncreaseFailureCount(failureKey string) uint32 {
|
||||
return c.Current.IncreaseFailureCount(failureKey)
|
||||
if c.current == nil {
|
||||
return 0
|
||||
}
|
||||
|
||||
return c.current.IncreaseFailureCount(failureKey)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user