package db

import (
	"xorm.io/xorm"

	"applet/app/db/model"
	"applet/app/utils/logx"
)

// 系统配置get
func DbsSysCfgGetAll(eg *xorm.Engine) (*[]model.SysCfg, error) {
	var cfgList []model.SysCfg
	if err := eg.Cols("`key`,`val`").Find(&cfgList); cfgList == nil || err != nil {
		return nil, logx.Error(err)
	}
	return &cfgList, nil
}

// 获取一条记录
func DbsSysCfgGet(eg *xorm.Engine, key string) (*model.SysCfg, error) {
	var cfgList model.SysCfg
	if has, err := eg.Where("`key`=?", key).Get(&cfgList); err != nil || has == false {
		return nil, logx.Error(err)
	}
	return &cfgList, nil
}

func DbsSysCfgInsert(eg *xorm.Engine, key, val string) bool {
	cfg := model.SysCfg{Key: key, Val: val}
	_, err := eg.Where("`key`=?", key).Cols("val,memo").Update(&cfg)
	if err != nil {
		logx.Error(err)
		return false
	}
	return true
}
func DbsSysCfgInserts(eg *xorm.Engine, key, val string) bool {
	cfg := model.SysCfg{Key: key, Val: val}
	_, err := eg.InsertOne(&cfg)
	if err != nil {
		logx.Error(err)
		return false
	}
	return true
}

func DbsSysCfgUpdate(eg *xorm.Engine, key, val string) bool {
	cfg := model.SysCfg{Key: key, Val: val}
	_, err := eg.Where("`key`=?", key).Cols("val").Update(&cfg)
	if err != nil {
		logx.Error(err)
		return false
	}
	return true
}
