|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- package db
-
- import (
- "applet/app/db/model"
- "applet/app/e"
- "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
- }
- func UserLevelByIDWithSession(sess *xorm.Session, id interface{}) (*model.UserLevel, error) {
- m := new(model.UserLevel)
- has, err := sess.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 > ? and before_hide=?", curLevelWeight, 0).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
-
- }
- func UserLevelInIDescByWeightLowWithOne(Db *xorm.Engine) (*model.UserLevel, error) {
- var ms model.UserLevel
- has, err := Db.Asc("level_weight").Get(&ms)
- if err != nil {
- return nil, err
- }
- if has == false {
- return nil, e.NewErr(400, "等级不存在")
- }
- return &ms, nil
-
- }
- func UserLevelInIDescByWeightDescWithOne(Db *xorm.Engine) (*model.UserLevel, error) {
- var ms model.UserLevel
- has, err := Db.Desc("level_weight").Get(&ms)
- if err != nil {
- return nil, err
- }
- if has == false {
- return nil, e.NewErr(400, "等级不存在")
- }
- return &ms, nil
-
- }
- func UserLevelByWeightNext(Db *xorm.Engine, levelWeight int) (*model.UserLevel, error) {
- var ms model.UserLevel
- if has, err := Db.Where("level_weight>? and is_use=? and before_hide=?", levelWeight, 1, 0).Asc("level_weight").Get(&ms); err != nil || has == false {
- return nil, err
- }
- return &ms, nil
-
- }
- func UserLevelByWeightMax(Db *xorm.Engine) (*model.UserLevel, error) {
- var ms model.UserLevel
- if has, err := Db.Where("is_use=? and before_hide=?", 1, 0).Desc("level_weight").Get(&ms); err != nil || has == false {
- 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
-
- }
- func UserLevelIDescByWeight(Db *xorm.Engine, id int) (*model.UserLevel, error) {
- var ms model.UserLevel
- if has, err := Db.Where("id=?", id).Get(&ms); err != nil || has == false {
- 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
- }
- func UserLevlAllNew(c *gin.Context, Db *xorm.Engine) ([]*model.UserLevel, error) {
- var m []*model.UserLevel
- err := Db.Where("is_use = ? and before_hide=?", 1, 0).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
- }
- func UserFindByLevel(eg *xorm.Engine, level int) []model.User {
- var data []model.User
- eg.Where("level=?", level).Find(&data)
- return data
- }
-
- // 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
- }
- func UserLevelByAllMap(Db *xorm.Engine) map[int]*model.UserLevel {
- var maps = make(map[int]*model.UserLevel, 0)
- var m []*model.UserLevel
- err := Db.Where("is_use = ?", 1).Asc("level_weight").Find(&m)
- if err != nil {
- return maps
- }
- for _, v := range m {
- maps[v.Id] = v
- }
- return maps
- }
- func UserLevelByNotHideAllMap(Db *xorm.Engine) map[int]*model.UserLevel {
- var maps = make(map[int]*model.UserLevel, 0)
- var m []*model.UserLevel
- err := Db.Where("is_use = ? and before_hide=?", 1, 0).Asc("level_weight").Find(&m)
- if err != nil {
- return maps
- }
- for _, v := range m {
- maps[v.Id] = v
- }
- return maps
- }
|