|
- package db
-
- import (
- "applet/app/db/model"
- "applet/app/utils/logx"
- "github.com/gin-gonic/gin"
- "xorm.io/xorm"
- )
-
- //UserLevelByID is 根据用户id 获取对应的等级信息
- func UserLevelByID(Db *xorm.Engine, id interface{}) (*model.UserLevel, error) {
- m := new(model.UserLevel)
- has, err := Db.Where("id = ?", id).Get(m)
- if err != nil {
- return nil, logx.Warn(err)
- }
- if !has {
- return nil, logx.Error("Not found")
- }
-
- return m, nil
- }
-
- //UserLevelTop is 查询最高的等级
- func UserLevelTop(Db *xorm.Engine) (*model.UserLevel, error) {
- m := new(model.UserLevel)
- has, err := Db.OrderBy("level_weight DESC").Get(m)
- if err != nil {
- return nil, logx.Warn(err)
- }
- if !has {
- return nil, logx.Error("Not found")
- }
-
- return m, nil
- }
-
- //UserLevelNext is 查询下一等级
- func UserLevelNext(Db *xorm.Engine, curLevelWeight int) (*model.UserLevel, error) {
- m := new(model.UserLevel)
- has, err := Db.Where("level_weight > ?", curLevelWeight).OrderBy("level_weight ASC").Get(m)
- if err != nil {
- return nil, logx.Warn(err)
- }
- if !has {
- return nil, logx.Error("Not found")
- }
-
- return m, nil
- }
-
- // UserLevelByWeight is 根据权重获取对应的等级
- func UserLevelByWeight(Db *xorm.Engine, w interface{}) (*model.UserLevel, error) {
- m := new(model.UserLevel)
- has, err := Db.Where("level_weight = ?", w).Get(m)
- if err != nil {
- return nil, logx.Warn(err)
- }
- if !has {
- return nil, logx.Warn("Not found")
- }
- return m, nil
- }
-
- //UserLevelInIDescByWeight is In 查询获取 权重最低 对应等级
- func UserLevelInIDescByWeightLow(Db *xorm.Engine) ([]*model.UserLevel, error) {
- var ms []*model.UserLevel
- if err := Db.Asc("level_weight").Limit(1).Find(&ms); err != nil {
- return nil, err
- }
- return ms, nil
-
- }
-
- //UserLevelInIDescByWeight is In 查询获取对应等级 根据权重排序
- func UserLevelInIDescByWeight(Db *xorm.Engine, ids []int) ([]*model.UserLevel, error) {
- var ms []*model.UserLevel
- if err := Db.In("id", ids).Desc("level_weight").Find(&ms); err != nil {
- return nil, err
- }
- return ms, nil
-
- }
-
- // UserLevlAll is 获取所有开启等级并且升序返回
- func UserLevlAll(c *gin.Context, Db *xorm.Engine) ([]*model.UserLevel, error) {
- var m []*model.UserLevel
- err := Db.Where("is_use = ?", 1).Asc("level_weight").Find(&m)
- if err != nil {
- return nil, logx.Warn(err)
- }
-
- mm, err := sysModFormat(c, m)
- if err != nil {
- return nil, err
- }
- return mm.([]*model.UserLevel), nil
- }
-
- // UserLevlEgAll is 获取所有开启等级并且升序返回
- func UserLevlEgAll(Db *xorm.Engine) ([]*model.UserLevel, error) {
- var m []*model.UserLevel
- err := Db.Where("is_use = ?", 1).Asc("level_weight").Find(&m)
- if err != nil {
- return nil, logx.Warn(err)
- }
- return m, nil
- }
-
- // UserLevlAllByWeight is 获取所有等级并且权重升序返回
- func UserLevlAllByWeight(c *gin.Context, Db *xorm.Engine) ([]*model.UserLevel, error) {
- var m []*model.UserLevel
- err := Db.Asc("level_weight").Find(&m)
- if err != nil {
- return nil, logx.Warn(err)
- }
-
- mm, err := sysModFormat(c, m)
- if err != nil {
- return nil, err
- }
- return mm.([]*model.UserLevel), nil
- }
|