Ai
1 Star 0 Fork 0

dpwgc/kv2doc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
doc.go 2.02 KB
一键复制 编辑 原始数据 按行查看 历史
dpwgc 提交于 2025-02-16 04:24 +08:00 . bulk优化
package kv2doc
import (
"encoding/json"
"strconv"
"time"
)
type Doc map[string]string
func (c Doc) IsEmpty() bool {
return len(c) <= 0
}
func (c Doc) HasField(key string) bool {
return len(c[key]) > 0
}
func (c Doc) ToJson() string {
return string(c.ToBytes())
}
func (c Doc) FromJson(s string) Doc {
return c.FromBytes([]byte(s))
}
func (c Doc) NumberID() int64 {
i, _ := strconv.ParseInt(c.ID(), 10, 64)
return i
}
func (c Doc) ID() string {
return c[primaryKey]
}
func (c Doc) CreatedAt() string {
return c[createdAt]
}
func (c Doc) UpdatedAt() string {
return c[updatedAt]
}
func (c Doc) CreatedMill() int64 {
i, _ := strconv.ParseInt(c[createdAt], 10, 64)
return i
}
func (c Doc) UpdatedMill() int64 {
i, _ := strconv.ParseInt(c[updatedAt], 10, 64)
return i
}
func (c Doc) CreatedTime() time.Time {
return time.Unix(c.CreatedMill()/1000, 0)
}
func (c Doc) UpdatedTime() time.Time {
return time.Unix(c.UpdatedMill()/1000, 0)
}
func (c Doc) IsValid() bool {
i := 0
for k, v := range c {
if len(k) > 0 && len(v) > 0 {
i++
}
}
return i > 0
}
func (c Doc) Fields() []string {
var keys []string
for k, v := range c {
if len(k) > 0 && len(v) > 0 {
keys = append(keys, k)
}
}
return keys
}
func (c Doc) Values() []string {
var values []string
for k, v := range c {
if len(k) > 0 && len(v) > 0 {
values = append(values, v)
}
}
return values
}
func (c Doc) ToBytes() []byte {
marshal, err := json.Marshal(c)
if err != nil {
return nil
}
return marshal
}
func (c Doc) FromBytes(src []byte) Doc {
_ = json.Unmarshal(src, &c)
return c
}
func (c Doc) UserFields() []string {
var keys []string
for k, v := range c {
if len(k) > 0 && len(v) > 0 {
if k != primaryKey && k != createdAt && k != updatedAt {
keys = append(keys, k)
}
}
}
return keys
}
func (c Doc) UserValues() []string {
var values []string
for k, v := range c {
if len(k) > 0 && len(v) > 0 {
if k != primaryKey && k != createdAt && k != updatedAt {
values = append(values, v)
}
}
}
return values
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/dpwgc/kv2doc.git
git@gitee.com:dpwgc/kv2doc.git
dpwgc
kv2doc
kv2doc
master

搜索帮助