mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-12-25 06:26:35 +08:00
新版IP库管理阶段性提交(未完成)
This commit is contained in:
57
internal/db/models/regions/region_town_model_ext.go
Normal file
57
internal/db/models/regions/region_town_model_ext.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package regions
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/TeaOSLab/EdgeAPI/internal/remotelogs"
|
||||
"github.com/iwind/TeaGo/lists"
|
||||
)
|
||||
|
||||
func (this *RegionTown) DecodeCodes() []string {
|
||||
if len(this.Codes) == 0 {
|
||||
return []string{}
|
||||
}
|
||||
var result = []string{}
|
||||
err := json.Unmarshal(this.Codes, &result)
|
||||
if err != nil {
|
||||
remotelogs.Error("RegionTown.DecodeCodes", err.Error())
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func (this *RegionTown) DecodeCustomCodes() []string {
|
||||
if len(this.CustomCodes) == 0 {
|
||||
return []string{}
|
||||
}
|
||||
var result = []string{}
|
||||
err := json.Unmarshal(this.CustomCodes, &result)
|
||||
if err != nil {
|
||||
remotelogs.Error("RegionTown.DecodeCustomCodes", err.Error())
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func (this *RegionTown) DisplayName() string {
|
||||
if len(this.CustomName) > 0 {
|
||||
return this.CustomName
|
||||
}
|
||||
return this.Name
|
||||
}
|
||||
|
||||
func (this *RegionTown) AllCodes() []string {
|
||||
var codes = this.DecodeCodes()
|
||||
|
||||
if len(this.Name) > 0 && !lists.ContainsString(codes, this.Name) {
|
||||
codes = append(codes, this.Name)
|
||||
}
|
||||
|
||||
if len(this.CustomName) > 0 && !lists.ContainsString(codes, this.CustomName) {
|
||||
codes = append(codes, this.CustomName)
|
||||
}
|
||||
|
||||
for _, code := range this.DecodeCustomCodes() {
|
||||
if !lists.ContainsString(codes, code) {
|
||||
codes = append(codes, code)
|
||||
}
|
||||
}
|
||||
return codes
|
||||
}
|
||||
Reference in New Issue
Block a user