org_season.go 2.79 KB
Newer Older
haoyanbin's avatar
1  
haoyanbin committed
1 2 3 4 5
package service

import (
	"errors"

haoyanbin's avatar
haoyanbin committed
6
	"github.com/go-admin-team/go-admin-core/sdk/service"
haoyanbin's avatar
1  
haoyanbin committed
7 8
	"gorm.io/gorm"

haoyanbin's avatar
1  
haoyanbin committed
9 10
	"go-admin/app/operate/models"
	"go-admin/app/operate/service/dto"
haoyanbin's avatar
1  
haoyanbin committed
11 12 13 14 15 16 17 18 19
	"go-admin/common/actions"
	cDto "go-admin/common/dto"
)

type OrgSeason struct {
	service.Service
}

// GetPage 获取OrgSeason列表
haoyanbin's avatar
haoyanbin committed
20
func (e *OrgSeason) GetPage(c *dto.OrgSeasonGetPageReq, p *actions.DataPermission, list *[]dto.OrgSeasonGetPageReply, count *int64) error {
haoyanbin's avatar
1  
haoyanbin committed
21 22 23
	var err error
	var data models.OrgSeason

haoyanbin's avatar
haoyanbin committed
24 25 26 27
	err = e.Orm.Table("org_season as os").
		Joins("left join org_league as ol on os.league_id=ol.id").
		Select("os.id, os.league_id, ol.league_name, os.season_name, os.total_rounds, os.start_time,"+
			"os.end_time, os.status").
haoyanbin's avatar
1  
haoyanbin committed
28 29 30 31
		Scopes(
			cDto.MakeCondition(c.GetNeedSearch()),
			cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
			actions.Permission(data.TableName(), p),
haoyanbin's avatar
haoyanbin committed
32
			cDto.PassDel("os"),
haoyanbin's avatar
1  
haoyanbin committed
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
		).
		Find(list).Limit(-1).Offset(-1).
		Count(count).Error
	if err != nil {
		e.Log.Errorf("OrgSeasonService GetPage error:%s \r\n", err)
		return err
	}
	return nil
}

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

	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 GetOrgSeason error:%s \r\n", err)
		return err
	}
	if err != nil {
		e.Log.Errorf("db error:%s", err)
		return err
	}
	return nil
}

// Insert 创建OrgSeason对象
func (e *OrgSeason) Insert(c *dto.OrgSeasonInsertReq) error {
haoyanbin's avatar
haoyanbin committed
66 67 68
	var err error
	var data models.OrgSeason
	c.Generate(&data)
haoyanbin's avatar
1  
haoyanbin committed
69 70 71 72 73 74 75 76 77 78
	err = e.Orm.Create(&data).Error
	if err != nil {
		e.Log.Errorf("OrgSeasonService Insert error:%s \r\n", err)
		return err
	}
	return nil
}

// Update 修改OrgSeason对象
func (e *OrgSeason) Update(c *dto.OrgSeasonUpdateReq, p *actions.DataPermission) error {
haoyanbin's avatar
haoyanbin committed
79 80 81 82 83 84
	var err error
	var data = models.OrgSeason{}
	e.Orm.Scopes(
		actions.Permission(data.TableName(), p),
	).First(&data, c.GetId())
	c.Generate(&data)
haoyanbin's avatar
1  
haoyanbin committed
85

haoyanbin's avatar
haoyanbin committed
86
	db := e.Orm.Updates(&data)
haoyanbin's avatar
haoyanbin committed
87 88 89 90 91 92 93 94
	if db.Error != nil {
		e.Log.Errorf("OrgSeasonService Save error:%s \r\n", err)
		return err
	}
	if db.RowsAffected == 0 {
		return errors.New("无权更新该数据")
	}
	return nil
haoyanbin's avatar
1  
haoyanbin committed
95 96 97 98 99 100 101 102 103 104 105
}

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

	db := e.Orm.Model(&data).
		Scopes(
			actions.Permission(data.TableName(), p),
		).Delete(&data, d.GetId())
	if err := db.Error; err != nil {
haoyanbin's avatar
haoyanbin committed
106 107 108 109 110 111
		e.Log.Errorf("Service RemoveOrgSeason error:%s \r\n", err)
		return err
	}
	if db.RowsAffected == 0 {
		return errors.New("无权删除该数据")
	}
haoyanbin's avatar
1  
haoyanbin committed
112
	return nil
haoyanbin's avatar
haoyanbin committed
113
}