82 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package biz
 | |
| 
 | |
| import (
 | |
| 	db "management/internal/db/sqlc"
 | |
| 	budgetv1 "management/internal/erpserver/biz/v1/budget"
 | |
| 	commonv1 "management/internal/erpserver/biz/v1/common"
 | |
| 	customerv1 "management/internal/erpserver/biz/v1/customer"
 | |
| 	expensev1 "management/internal/erpserver/biz/v1/expense"
 | |
| 	incomev1 "management/internal/erpserver/biz/v1/income"
 | |
| 	projectv1 "management/internal/erpserver/biz/v1/project"
 | |
| 	systemv1 "management/internal/erpserver/biz/v1/system"
 | |
| 	"management/internal/pkg/redis"
 | |
| 	"management/internal/pkg/session"
 | |
| )
 | |
| 
 | |
| // IBiz 定义了业务层需要实现的方法.
 | |
| type IBiz interface {
 | |
| 	// 获取公共业务接口.
 | |
| 	CommonV1() commonv1.CommonBiz
 | |
| 	// 获取系统业务接口.
 | |
| 	SystemV1() systemv1.SystemBiz
 | |
| 	// 项目管理
 | |
| 	ProjectV1() projectv1.ProjectBiz
 | |
| 	// 预算管理
 | |
| 	BudgetV1() budgetv1.BudgetBiz
 | |
| 	// 客户管理
 | |
| 	CustomerV1() customerv1.CustomerBiz
 | |
| 	// 收入管理
 | |
| 	IncomeV1() incomev1.IncomeBiz
 | |
| 	// 支出管理
 | |
| 	ExpenseV1() expensev1.ExpenseBiz
 | |
| }
 | |
| 
 | |
| // biz 是 IBiz 的一个具体实现.
 | |
| type biz struct {
 | |
| 	store   db.Store
 | |
| 	redis   redis.IRedis
 | |
| 	session session.ISession
 | |
| }
 | |
| 
 | |
| // 确保 biz 实现了 IBiz 接口.
 | |
| var _ IBiz = (*biz)(nil)
 | |
| 
 | |
| // NewBiz 创建一个 IBiz 类型的实例.
 | |
| func NewBiz(store db.Store, redis redis.IRedis, session session.ISession) *biz {
 | |
| 	return &biz{
 | |
| 		store:   store,
 | |
| 		redis:   redis,
 | |
| 		session: session,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // CommonV1 返回一个实现了 CommonBiz 接口的实例.
 | |
| func (b *biz) CommonV1() commonv1.CommonBiz {
 | |
| 	return commonv1.New()
 | |
| }
 | |
| 
 | |
| // SystemV1 返回一个实现了 SystemBiz 接口的实例.
 | |
| func (b *biz) SystemV1() systemv1.SystemBiz {
 | |
| 	return systemv1.New(b.store, b.redis, b.session)
 | |
| }
 | |
| 
 | |
| func (b *biz) ProjectV1() projectv1.ProjectBiz {
 | |
| 	return projectv1.New(b.store, b.redis)
 | |
| }
 | |
| 
 | |
| func (b *biz) BudgetV1() budgetv1.BudgetBiz {
 | |
| 	return budgetv1.New(b.store, b.redis)
 | |
| }
 | |
| 
 | |
| func (b *biz) CustomerV1() customerv1.CustomerBiz {
 | |
| 	return customerv1.New(b.store, b.redis)
 | |
| }
 | |
| 
 | |
| func (b *biz) IncomeV1() incomev1.IncomeBiz {
 | |
| 	return incomev1.New(b.store, b.redis)
 | |
| }
 | |
| 
 | |
| func (b *biz) ExpenseV1() expensev1.ExpenseBiz {
 | |
| 	return expensev1.New(b.store, b.redis)
 | |
| }
 |