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

import (
	"errors"

haoyanbin's avatar
1  
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 20 21 22 23
	"go-admin/common/actions"
	cDto "go-admin/common/dto"
)

type OrgClub struct {
	service.Service
}

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

haoyanbin's avatar
1  
haoyanbin committed
24 25
	err = e.Orm.Table("org_club").
		Select("id,club_name,created_at,club_contacts,club_contacts_en,club_mobile").
haoyanbin's avatar
1  
haoyanbin committed
26 27 28 29
		Scopes(
			cDto.MakeCondition(c.GetNeedSearch()),
			cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
			actions.Permission(data.TableName(), p),
haoyanbin's avatar
1  
haoyanbin committed
30
			cDto.PassDel("org_club"),
haoyanbin's avatar
1  
haoyanbin committed
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
		).
		Find(list).Limit(-1).Offset(-1).
		Count(count).Error
	if err != nil {
		e.Log.Errorf("OrgClubService GetPage error:%s \r\n", err)
		return err
	}
	return nil
}

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

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

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

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

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

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

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