ff410b94c3
- 更新应用程序处理程序中的 URL 赋值逻辑,确保静态文件使用原始路径 - 修改缓存数据库的 JSON 解析方法,使用 JsonToObj 函数替代 json.Unmarshal,提升代码可读性和性能 - 在 Map 和 Slice 类型中新增获取四舍五入浮点数的方法,增强数据处理能力 - 在 Obj 类型中添加四舍五入功能,支持精度控制 - 改进数据库查询结果的处理逻辑,确保数据类型的准确性和一致性 - 优化日志格式设置,增强日志信息的可读性
109 lines
2.0 KiB
Go
109 lines
2.0 KiB
Go
package common
|
|
|
|
import "time"
|
|
|
|
// 对象封装方便取用
|
|
type Obj struct {
|
|
Data interface{}
|
|
Error
|
|
ContextBase
|
|
}
|
|
|
|
func (that *Obj) Put(data interface{}) {
|
|
that.Data = data
|
|
}
|
|
|
|
func (that *Obj) ToInt(err ...Error) int {
|
|
if len(err) != 0 {
|
|
that.Error = err[0]
|
|
}
|
|
return ObjToInt(that.Data, &that.Error)
|
|
}
|
|
|
|
func (that *Obj) ToTime(err ...Error) *time.Time {
|
|
if len(err) != 0 {
|
|
that.Error = err[0]
|
|
}
|
|
return ObjToTime(that.Data, &that.Error)
|
|
}
|
|
|
|
func (that *Obj) ToInt64(err ...Error) int64 {
|
|
if len(err) != 0 {
|
|
that.Error = err[0]
|
|
}
|
|
return ObjToInt64(that.Data, &that.Error)
|
|
}
|
|
|
|
func (that *Obj) ToFloat64(err ...Error) float64 {
|
|
if len(err) != 0 {
|
|
that.Error = err[0]
|
|
}
|
|
return ObjToFloat64(that.Data, &that.Error)
|
|
}
|
|
|
|
// ToCeilFloat64 获取向上取整float64
|
|
func (that *Obj) ToCeilFloat64(err ...*Error) float64 {
|
|
if len(err) != 0 {
|
|
that.Error = *err[0]
|
|
}
|
|
v := ObjToCeilFloat64(that.Data, err...)
|
|
return v
|
|
|
|
}
|
|
|
|
func (that *Obj) ToStr() string {
|
|
|
|
return ObjToStr(that.Data)
|
|
}
|
|
|
|
func (that *Obj) ToMap(err ...Error) Map {
|
|
if len(err) != 0 {
|
|
that.Error = err[0]
|
|
}
|
|
return ObjToMap(that.Data, &that.Error)
|
|
}
|
|
|
|
func (that *Obj) ToSlice(err ...Error) Slice {
|
|
if len(err) != 0 {
|
|
that.Error = err[0]
|
|
}
|
|
return ObjToSlice(that.Data, &that.Error)
|
|
}
|
|
|
|
func (that *Obj) ToMapArray(err ...Error) []Map {
|
|
if len(err) != 0 {
|
|
that.Error = err[0]
|
|
}
|
|
return ObjToMapArray(that.Data, &that.Error)
|
|
}
|
|
|
|
func (that *Obj) ToObj() interface{} {
|
|
|
|
return that.Data
|
|
}
|
|
|
|
// 获取向上取整Int64
|
|
func (that *Obj) ToCeilInt64(err ...*Error) int64 {
|
|
if len(err) != 0 {
|
|
that.Error = *err[0]
|
|
}
|
|
v := ObjToCeilInt64(that.Data, err...)
|
|
return v
|
|
|
|
}
|
|
|
|
// 获取向上取整Int
|
|
func (that *Obj) ToCeilInt(err ...*Error) int {
|
|
if len(err) != 0 {
|
|
that.Error = *err[0]
|
|
}
|
|
v := ObjToCeilInt(that.Data, err...)
|
|
return v
|
|
|
|
}
|
|
|
|
// ToRoundFloat64 获取四舍五入到 precision 位小数的 float64
|
|
func (that *Obj) ToRoundFloat64(precision int, err ...*Error) float64 {
|
|
return ObjToRoundFloat64(that.Data, precision, err...)
|
|
}
|