Files
kami_gateway/internal/models/system/power_info.go
danial e88ff05a14 refactor(trace): 重命名 otel 包为 otelTrace并更新相关引用
- 将内部使用的 otel 包重命名为 otelTrace
- 更新了所有引用该包的文件中的导入路径
- 修改了部分函数和变量名称以适应新的包名
2025-02-23 21:56:29 +08:00

138 lines
3.3 KiB
Go

package system
import (
"context"
"gateway/internal/otelTrace"
"time"
"github.com/beego/beego/v2/client/orm"
"go.uber.org/zap"
)
type PowerInfo struct {
Id int
FirstMenuUid string
SecondMenuUid string
SecondMenu string
PowerId string
PowerItem string
Creater string
Status string
CreateTime time.Time
UpdateTime time.Time
}
const POWER_INFO = "power_info"
type PowerInfoSlice []PowerInfo
func (sm PowerInfoSlice) Len() int {
return len(sm)
}
func (sm PowerInfoSlice) Swap(i, j int) {
sm[i], sm[j] = sm[j], sm[i]
}
func (sm PowerInfoSlice) Less(i, j int) bool {
return sm[i].SecondMenuUid < sm[j].SecondMenuUid
}
func PowerUidExists(powerUid string) bool {
o := orm.NewOrm()
exists := o.QueryTable(POWER_INFO).Filter("power_id", powerUid).Exist()
return exists
}
func InsertPowerInfo(ctx context.Context, powerInfo PowerInfo) bool {
o := orm.NewOrm()
_, err := o.Insert(&powerInfo)
if err != nil {
otelTrace.Logger.WithContext(ctx).Error("insert power info fail: ", zap.Error(err))
return false
}
return true
}
func GetPower(ctx context.Context) []PowerInfo {
o := orm.NewOrm()
var powerInfo []PowerInfo
_, err := o.QueryTable(POWER_INFO).Limit(-1).All(&powerInfo)
if err != nil {
otelTrace.Logger.WithContext(ctx).Error("get power fail: ", zap.Error(err))
}
return powerInfo
}
func GetPowerById(ctx context.Context, powerId string) PowerInfo {
o := orm.NewOrm()
var powerInfo PowerInfo
_, err := o.QueryTable(POWER_INFO).Filter("power_id", powerId).Limit(1).All(&powerInfo)
if err != nil {
otelTrace.Logger.WithContext(ctx).Error("get power by id fail: ", zap.Error(err))
}
return powerInfo
}
func GetPowerByIds(ctx context.Context, powerIds []string) []PowerInfo {
var powerInfoList []PowerInfo
for _, v := range powerIds {
m := GetPowerById(ctx, v)
powerInfoList = append(powerInfoList, m)
}
return powerInfoList
}
func GetPowerItemLenByMap(ctx context.Context, params map[string]string) int {
o := orm.NewOrm()
qs := o.QueryTable(POWER_INFO)
for k, v := range params {
if len(v) > 0 {
qs = qs.Filter(k, v)
}
}
cnt, err := qs.Limit(-1).Count()
if err != nil {
otelTrace.Logger.WithContext(ctx).Error("get power item len by map fail: ", zap.Error(err))
}
return int(cnt)
}
func GetPowerItemByMap(ctx context.Context, params map[string]string, displpay, offset int) []PowerInfo {
o := orm.NewOrm()
var powerItemList []PowerInfo
qs := o.QueryTable(POWER_INFO)
for k, v := range params {
if len(v) > 0 {
qs = qs.Filter(k, v)
}
}
_, err := qs.Limit(displpay, offset).OrderBy("-update_time").All(&powerItemList)
if err != nil {
otelTrace.Logger.WithContext(ctx).Error("get power item by map fail: ", zap.Error(err))
}
return powerItemList
}
func DeletePowerItemByPowerID(ctx context.Context, powerID string) bool {
o := orm.NewOrm()
_, err := o.QueryTable(POWER_INFO).Filter("power_id", powerID).Delete()
if err != nil {
otelTrace.Logger.WithContext(ctx).Error("delete power item by powerID fail: ", zap.Error(err))
return false
}
return true
}
func DeletePowerBySecondUid(ctx context.Context, secondUid string) bool {
o := orm.NewOrm()
_, err := o.QueryTable(POWER_INFO).Filter("second_menu_uid", secondUid).Delete()
if err != nil {
otelTrace.Logger.WithContext(ctx).Error("delete power by second menu uid fail: ", zap.Error(err))
return false
}
return true
}