fix(parser): improve priority calculation accuracy using math.Round
Refactored PriorityAsRemind to use floating point division and rounding for more precise priority mapping.
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"math"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -104,12 +105,10 @@ func (t Task) PriorityAsRemind() int {
|
|||||||
if p < 'A' || p > 'Z' {
|
if p < 'A' || p > 'Z' {
|
||||||
return 5000
|
return 5000
|
||||||
}
|
}
|
||||||
step := 9999 / 25 // 399
|
pInt := int(p) - 65 // 'A' = 65
|
||||||
val := 9999 - int(p-'A')*step
|
value := 9999 - (float64(pInt) * (float64(9999) / float64(25)))
|
||||||
if p == 'Z' {
|
value = math.Round(value)
|
||||||
return 0
|
return int(value)
|
||||||
}
|
|
||||||
return val
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Task) MarshalJSON() ([]byte, error) {
|
func (t Task) MarshalJSON() ([]byte, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user