org_player_user.go 3.74 KB
Newer Older
haoyanbin's avatar
haoyanbin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
package service

import (
	"errors"

	"github.com/go-admin-team/go-admin-core/sdk/service"
	"gorm.io/gorm"

	"go-admin/app/mobile/service/dto"
	"go-admin/app/operate/models"
	"go-admin/common/actions"
	cDto "go-admin/common/dto"
)

type OrgPlayerUser struct {
	service.Service
}

// GetPage 获取OrgPlayerUser列表
func (e *OrgPlayerUser) GetPage(c *dto.OrgPlayerUserGetPageReq, p *actions.DataPermission, list *[]models.OrgPlayerUser, count *int64) error {
	var err error
	var data models.OrgPlayerUser

	err = e.Orm.Model(&data).
		Scopes(
			cDto.MakeCondition(c.GetNeedSearch()),
			cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
			actions.Permission(data.TableName(), p),
		).
		Find(list).Limit(-1).Offset(-1).
		Count(count).Error
	if err != nil {
		e.Log.Errorf("OrgPlayerUserService GetPage error:%s \r\n", err)
		return err
	}
	return nil
}

// Get 获取OrgPlayerUser对象
func (e *OrgPlayerUser) Get(d *dto.OrgPlayerUserGetReq, p *actions.DataPermission, model *models.OrgPlayerUser) error {
	var data models.OrgPlayerUser

	err := e.Orm.Model(&data).
		Scopes(
			actions.Permission(data.TableName(), p),
		).
		First(model, d.GetId()).Error
	if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
		err = errors.New("查看对象不存在或无权查看")
		e.Log.Errorf("Service GetOrgPlayerUser error:%s \r\n", err)
		return err
	}
	if err != nil {
		e.Log.Errorf("db error:%s", err)
		return err
	}
	return nil
}

// Insert 创建OrgPlayerUser对象
func (e *OrgPlayerUser) Insert(c *dto.OrgPlayerUserInsertReq) error {
	var err error
	var data models.OrgPlayerUser
	c.Generate(&data)
	err = e.Orm.Create(&data).Error
	if err != nil {
		e.Log.Errorf("OrgPlayerUserService Insert error:%s \r\n", err)
		return err
	}
	c.Id = data.Id
	return nil
}

// Update 修改OrgPlayerUser对象
func (e *OrgPlayerUser) Update(c *dto.OrgPlayerUserUpdateReq, p *actions.DataPermission) error {
	var err error
	var data = models.OrgPlayerUser{}
	e.Orm.Scopes(
		actions.Permission(data.TableName(), p),
	).First(&data, c.GetId())
	c.Generate(&data)

	db := e.Orm.Updates(&data)
	if db.Error != nil {
		e.Log.Errorf("OrgPlayerUserService Save error:%s \r\n", err)
		return err
	}
	if db.RowsAffected == 0 {
		return errors.New("无权更新该数据")
	}
	return nil
}

// Remove 删除OrgPlayerUser
func (e *OrgPlayerUser) Remove(d *dto.OrgPlayerUserDeleteReq, p *actions.DataPermission) error {
	var data models.OrgPlayerUser

	db := e.Orm.Model(&data).
		Scopes(
			actions.Permission(data.TableName(), p),
		).Delete(&data, d.GetId())
	if err := db.Error; err != nil {
		e.Log.Errorf("Service RemoveOrgPlayerUser error:%s \r\n", err)
		return err
	}
	if db.RowsAffected == 0 {
		return errors.New("无权删除该数据")
	}
	return nil
}

func (e *OrgPlayerUser) IsBeing(username string) (error, int) {
	var data models.OrgPlayerUser

	err := e.Orm.Model(&data).
		Where("username=?", username).
		First(&data).Error
	if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
		err = errors.New("查看对象不存在或无权查看")
		e.Log.Errorf("Service GetOrgMatchTeamPlayer error:%s \r\n", err)
		return err, 0
	}
	if err != nil {
		e.Log.Errorf("db error:%s", err)
		return err, 0
	}
	return nil, data.Id
}

// Get 获取OrgPlayerUser对象
func (e *OrgPlayerUser) Login(d *dto.LoginReq, p *actions.DataPermission, model *models.OrgPlayerUser) error {
	var data models.OrgPlayerUser

	err := e.Orm.Model(&data).
		Scopes(
			actions.Permission(data.TableName(), p),
		).
		Where("username=?", d.Username).
		First(model).Error
	if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
		err = errors.New("查看对象不存在或无权查看")
		e.Log.Errorf("Service GetOrgPlayerUser error:%s \r\n", err)
		return err
	}
	if err != nil {
		e.Log.Errorf("db error:%s", err)
		return err
	}
	return nil
}