v3
This commit is contained in:
45
internal/erpserver/biz/v1/budget/budget.go
Normal file
45
internal/erpserver/biz/v1/budget/budget.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package budget
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
type BudgetBiz interface {
|
||||
Create(ctx context.Context, arg *db.CreateBudgetParams) (*db.Budget, error)
|
||||
Update(ctx context.Context, arg *db.UpdateBudgetParams) (*db.Budget, error)
|
||||
List(ctx context.Context, arg *db.ListBudgetConditionParam) ([]*db.BudgetView, int64, error)
|
||||
Get(ctx context.Context, id int64) (*db.Budget, error)
|
||||
}
|
||||
|
||||
type budgetBiz struct {
|
||||
store db.Store
|
||||
redis redis.IRedis
|
||||
}
|
||||
|
||||
var _ BudgetBiz = (*budgetBiz)(nil)
|
||||
|
||||
func New(store db.Store, redis redis.IRedis) *budgetBiz {
|
||||
return &budgetBiz{
|
||||
store: store,
|
||||
redis: redis,
|
||||
}
|
||||
}
|
||||
|
||||
func (b *budgetBiz) Create(ctx context.Context, arg *db.CreateBudgetParams) (*db.Budget, error) {
|
||||
return b.store.CreateBudget(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *budgetBiz) Update(ctx context.Context, arg *db.UpdateBudgetParams) (*db.Budget, error) {
|
||||
return b.store.UpdateBudget(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *budgetBiz) List(ctx context.Context, arg *db.ListBudgetConditionParam) ([]*db.BudgetView, int64, error) {
|
||||
return b.store.ListBudgetCondition(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *budgetBiz) Get(ctx context.Context, id int64) (*db.Budget, error) {
|
||||
return b.store.GetBudget(ctx, id)
|
||||
}
|
||||
67
internal/erpserver/biz/v1/expense/expsense.go
Normal file
67
internal/erpserver/biz/v1/expense/expsense.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package expense
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/pkg/redis"
|
||||
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
)
|
||||
|
||||
type ExpenseBiz interface {
|
||||
Create(ctx context.Context, arg *db.CreateExpenseParams) (*db.Expense, error)
|
||||
Update(ctx context.Context, arg *db.UpdateExpenseParams) (*db.Expense, error)
|
||||
List(ctx context.Context, arg *db.ListExpenseConditionParam) ([]*db.ExpenseView, int64, error)
|
||||
Get(ctx context.Context, id int64) (*db.Expense, error)
|
||||
Sum(ctx context.Context) (pgtype.Numeric, error)
|
||||
SumByProjectID(ctx context.Context, id int64) (pgtype.Numeric, error)
|
||||
Statistics(ctx context.Context) ([]*db.StatisticsExpenseRow, error)
|
||||
StatisticsByProjectID(ctx context.Context, projectID int64) ([]*db.StatisticsExpenseByProjectIDRow, error)
|
||||
}
|
||||
|
||||
type expenseBiz struct {
|
||||
store db.Store
|
||||
redis redis.IRedis
|
||||
}
|
||||
|
||||
var _ ExpenseBiz = (*expenseBiz)(nil)
|
||||
|
||||
func New(store db.Store, redis redis.IRedis) *expenseBiz {
|
||||
return &expenseBiz{
|
||||
store: store,
|
||||
redis: redis,
|
||||
}
|
||||
}
|
||||
|
||||
func (b *expenseBiz) Create(ctx context.Context, arg *db.CreateExpenseParams) (*db.Expense, error) {
|
||||
return b.store.CreateExpense(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *expenseBiz) Update(ctx context.Context, arg *db.UpdateExpenseParams) (*db.Expense, error) {
|
||||
return b.store.UpdateExpense(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *expenseBiz) List(ctx context.Context, arg *db.ListExpenseConditionParam) ([]*db.ExpenseView, int64, error) {
|
||||
return b.store.ListExpenseCondition(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *expenseBiz) Get(ctx context.Context, id int64) (*db.Expense, error) {
|
||||
return b.store.GetExpense(ctx, id)
|
||||
}
|
||||
|
||||
func (b *expenseBiz) Sum(ctx context.Context) (pgtype.Numeric, error) {
|
||||
return b.store.SumExpense(ctx)
|
||||
}
|
||||
|
||||
func (b *expenseBiz) SumByProjectID(ctx context.Context, id int64) (pgtype.Numeric, error) {
|
||||
return b.store.SumExpenseByProjectID(ctx, id)
|
||||
}
|
||||
|
||||
func (b *expenseBiz) Statistics(ctx context.Context) ([]*db.StatisticsExpenseRow, error) {
|
||||
return b.store.StatisticsExpense(ctx)
|
||||
}
|
||||
|
||||
func (b *expenseBiz) StatisticsByProjectID(ctx context.Context, projectID int64) ([]*db.StatisticsExpenseByProjectIDRow, error) {
|
||||
return b.store.StatisticsExpenseByProjectID(ctx, projectID)
|
||||
}
|
||||
67
internal/erpserver/biz/v1/income/income.go
Normal file
67
internal/erpserver/biz/v1/income/income.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package income
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/pkg/redis"
|
||||
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
)
|
||||
|
||||
type IncomeBiz interface {
|
||||
Create(ctx context.Context, arg *db.CreateIncomeParams) (*db.Income, error)
|
||||
Update(ctx context.Context, arg *db.UpdateIncomeParams) (*db.Income, error)
|
||||
List(ctx context.Context, arg *db.ListIncomeConditionParam) ([]*db.IncomeView, int64, error)
|
||||
Get(ctx context.Context, id int64) (*db.Income, error)
|
||||
Sum(ctx context.Context) (pgtype.Numeric, error)
|
||||
SumByProjectID(ctx context.Context, id int64) (pgtype.Numeric, error)
|
||||
Statistics(ctx context.Context) ([]*db.StatisticsIncomeRow, error)
|
||||
StatisticsByProjectID(ctx context.Context, projectID int64) ([]*db.StatisticsIncomeByProjectIDRow, error)
|
||||
}
|
||||
|
||||
type incomeBiz struct {
|
||||
store db.Store
|
||||
redis redis.IRedis
|
||||
}
|
||||
|
||||
var _ IncomeBiz = (*incomeBiz)(nil)
|
||||
|
||||
func New(store db.Store, redis redis.IRedis) *incomeBiz {
|
||||
return &incomeBiz{
|
||||
store: store,
|
||||
redis: redis,
|
||||
}
|
||||
}
|
||||
|
||||
func (b *incomeBiz) Create(ctx context.Context, arg *db.CreateIncomeParams) (*db.Income, error) {
|
||||
return b.store.CreateIncome(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *incomeBiz) Update(ctx context.Context, arg *db.UpdateIncomeParams) (*db.Income, error) {
|
||||
return b.store.UpdateIncome(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *incomeBiz) List(ctx context.Context, arg *db.ListIncomeConditionParam) ([]*db.IncomeView, int64, error) {
|
||||
return b.store.ListIncomeCondition(ctx, arg)
|
||||
}
|
||||
|
||||
func (b *incomeBiz) Get(ctx context.Context, id int64) (*db.Income, error) {
|
||||
return b.store.GetIncome(ctx, id)
|
||||
}
|
||||
|
||||
func (b *incomeBiz) Sum(ctx context.Context) (pgtype.Numeric, error) {
|
||||
return b.store.SumIncome(ctx)
|
||||
}
|
||||
|
||||
func (b *incomeBiz) SumByProjectID(ctx context.Context, id int64) (pgtype.Numeric, error) {
|
||||
return b.store.SumIncomeByProjectID(ctx, id)
|
||||
}
|
||||
|
||||
func (b *incomeBiz) Statistics(ctx context.Context) ([]*db.StatisticsIncomeRow, error) {
|
||||
return b.store.StatisticsIncome(ctx)
|
||||
}
|
||||
|
||||
func (b *incomeBiz) StatisticsByProjectID(ctx context.Context, projectID int64) ([]*db.StatisticsIncomeByProjectIDRow, error) {
|
||||
return b.store.StatisticsIncomeByProjectID(ctx, projectID)
|
||||
}
|
||||
@@ -2,9 +2,12 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/pkg/redis"
|
||||
"management/internal/pkg/tpl/html"
|
||||
)
|
||||
|
||||
type ProjectBiz interface {
|
||||
@@ -13,11 +16,17 @@ type ProjectBiz interface {
|
||||
List(ctx context.Context, q *db.ListProjectConditionParam) ([]*db.ProjectView, int64, error)
|
||||
Get(ctx context.Context, id int64) (*db.Project, error)
|
||||
|
||||
XmSelect(ctx context.Context) ([]*view.XmSelect, error)
|
||||
ListHtml(ctx context.Context) ([]*html.SelectDict, error)
|
||||
|
||||
ProjectExpansion
|
||||
}
|
||||
|
||||
type ProjectExpansion interface {
|
||||
ListProjectFiles(ctx context.Context, projectID int64) ([]*db.ProjectFile, error)
|
||||
|
||||
Statistics(ctx context.Context) ([]*db.StatisticsProjectsRow, error)
|
||||
StatisticsItem(ctx context.Context, id int64) (*db.StatisticsProjectItemRow, error)
|
||||
}
|
||||
|
||||
type projectBiz struct {
|
||||
@@ -91,3 +100,49 @@ func (b *projectBiz) Get(ctx context.Context, id int64) (*db.Project, error) {
|
||||
func (b *projectBiz) ListProjectFiles(ctx context.Context, projectID int64) ([]*db.ProjectFile, error) {
|
||||
return b.store.ListProjectFiles(ctx, projectID)
|
||||
}
|
||||
|
||||
func (b *projectBiz) XmSelect(ctx context.Context) ([]*view.XmSelect, error) {
|
||||
all, err := b.store.AllProjects(ctx)
|
||||
if err != nil || len(all) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var res []*view.XmSelect
|
||||
for _, item := range all {
|
||||
res = append(res, &view.XmSelect{
|
||||
Name: item.Name,
|
||||
Value: strconv.FormatInt(item.ID, 10),
|
||||
})
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (b *projectBiz) ListHtml(ctx context.Context) ([]*html.SelectDict, error) {
|
||||
all, err := b.store.AllProjects(ctx)
|
||||
if err != nil || len(all) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var res []*html.SelectDict
|
||||
res = append(res, &html.SelectDict{
|
||||
Name: "请选择",
|
||||
Value: "0",
|
||||
})
|
||||
for _, v := range all {
|
||||
item := html.SelectDict{
|
||||
Name: v.Name,
|
||||
Value: strconv.Itoa(int(v.ID)),
|
||||
}
|
||||
res = append(res, &item)
|
||||
}
|
||||
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (b *projectBiz) Statistics(ctx context.Context) ([]*db.StatisticsProjectsRow, error) {
|
||||
return b.store.StatisticsProjects(ctx)
|
||||
}
|
||||
|
||||
func (b *projectBiz) StatisticsItem(ctx context.Context, id int64) (*db.StatisticsProjectItemRow, error) {
|
||||
return b.store.StatisticsProjectItem(ctx, id)
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"management/internal/db/model/dto"
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/global/keys"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
"management/internal/pkg/tpl/html"
|
||||
)
|
||||
@@ -25,6 +25,7 @@ type CategoryBiz interface {
|
||||
RebuildParentPath(ctx context.Context) error
|
||||
|
||||
Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
|
||||
XmSelect(ctx context.Context, letter string) ([]*view.XmSelect, error)
|
||||
XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
|
||||
|
||||
ListHtmlByLetter(ctx context.Context, letter string) ([]*html.SelectDict, error)
|
||||
@@ -45,7 +46,7 @@ func NewCategory(store db.Store, redis redis.IRedis) *categoryBiz {
|
||||
}
|
||||
|
||||
func (b *categoryBiz) All(ctx context.Context) ([]*db.Category, error) {
|
||||
key := keys.GetManageKey(ctx, keys.AllCategories)
|
||||
key := know.GetManageKey(ctx, know.AllCategories)
|
||||
bs, err := redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*db.Category
|
||||
@@ -115,8 +116,8 @@ func (b *categoryBiz) Refresh(ctx context.Context) ([]*db.Category, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
redis.Del(ctx, keys.GetManageKey(ctx, keys.AllCategorySimple))
|
||||
key := keys.GetManageKey(ctx, keys.AllCategories)
|
||||
redis.Del(ctx, know.GetManageKey(ctx, know.AllCategorySimple))
|
||||
key := know.GetManageKey(ctx, know.AllCategories)
|
||||
err = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return all, err
|
||||
}
|
||||
@@ -134,6 +135,36 @@ func (b *categoryBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree, er
|
||||
return b.toTree(id, all), nil
|
||||
}
|
||||
|
||||
func (b *categoryBiz) XmSelect(ctx context.Context, letter string) ([]*view.XmSelect, error) {
|
||||
all, err := b.All(ctx)
|
||||
if err != nil || len(all) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var current *db.Category
|
||||
for _, v := range all {
|
||||
if v.Letter == letter {
|
||||
current = v
|
||||
break
|
||||
}
|
||||
}
|
||||
if current == nil {
|
||||
return nil, errors.New("未找到当前类别")
|
||||
}
|
||||
|
||||
var res []*view.XmSelect
|
||||
for _, v := range all {
|
||||
if v.ParentID == current.ID {
|
||||
item := view.XmSelect{
|
||||
Name: v.Name,
|
||||
Value: strconv.FormatInt(int64(v.ID), 10),
|
||||
}
|
||||
res = append(res, &item)
|
||||
}
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (b *categoryBiz) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
|
||||
all, err := b.All(ctx)
|
||||
if err != nil {
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
|
||||
"management/internal/db/model/dto"
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/global/keys"
|
||||
"management/internal/global/pearadmin"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/know/pearadmin"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
@@ -71,7 +71,7 @@ func (b *configBiz) List(ctx context.Context, q dto.SearchDto) ([]*db.SysConfig,
|
||||
|
||||
func (b *configBiz) Pear(ctx context.Context) (*dto.PearConfig, error) {
|
||||
// 判断redis是否存储
|
||||
key := keys.GetManageKey(ctx, keys.PearAdmin)
|
||||
key := know.GetManageKey(ctx, know.PearAdmin)
|
||||
bs, err := b.redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res *dto.PearConfig
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"management/internal/db/model/dto"
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/global/keys"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
@@ -45,7 +45,7 @@ func NewDepartment(store db.Store, redis redis.IRedis) *departmentBiz {
|
||||
}
|
||||
|
||||
func (b *departmentBiz) All(ctx context.Context) ([]*db.SysDepartment, error) {
|
||||
key := keys.GetManageKey(ctx, keys.AllDepartments)
|
||||
key := know.GetManageKey(ctx, know.AllDepartments)
|
||||
bs, err := redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*db.SysDepartment
|
||||
@@ -115,7 +115,7 @@ func (b *departmentBiz) Refresh(ctx context.Context) ([]*db.SysDepartment, error
|
||||
return nil, err
|
||||
}
|
||||
|
||||
key := keys.GetManageKey(ctx, keys.AllDepartments)
|
||||
key := know.GetManageKey(ctx, know.AllDepartments)
|
||||
err = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"management/internal/db/model/dto"
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/global/keys"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
@@ -71,7 +71,7 @@ func (b *menuBiz) GetSysMenuByUrl(ctx context.Context, url string) (*db.SysMenu,
|
||||
}
|
||||
|
||||
func (b *menuBiz) AllMenusCache(ctx context.Context) ([]*db.SysMenu, error) {
|
||||
key := keys.GetManageKey(ctx, keys.AllMenus)
|
||||
key := know.GetManageKey(ctx, know.AllMenus)
|
||||
bs, err := b.redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*db.SysMenu
|
||||
@@ -105,7 +105,7 @@ func (b *menuBiz) ListMenuTree(ctx context.Context) ([]*db.SysMenuDto, error) {
|
||||
|
||||
func (b *menuBiz) ListOwnerMenuByRoleID(ctx context.Context, roleID int32) ([]*dto.OwnerMenuDto, error) {
|
||||
// 判断redis是否存储
|
||||
key := keys.GetManageKey(ctx, keys.OwnerMenus, roleID)
|
||||
key := know.GetManageKey(ctx, know.OwnerMenus, roleID)
|
||||
bs, err := b.redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*dto.OwnerMenuDto
|
||||
@@ -141,14 +141,14 @@ func (b *menuBiz) SetOwnerListMenuByRoleID(ctx context.Context, roleID int32) ([
|
||||
return nil, err
|
||||
}
|
||||
|
||||
key := keys.GetManageKey(ctx, keys.OwnerMenus, roleID)
|
||||
key := know.GetManageKey(ctx, know.OwnerMenus, roleID)
|
||||
_ = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (b *menuBiz) RecursiveSysMenus(ctx context.Context, roleID int32) ([]*dto.MenuUIDto, error) {
|
||||
// 判断redis是否存储
|
||||
key := keys.GetManageKey(ctx, keys.RecursiveMenus, roleID)
|
||||
key := know.GetManageKey(ctx, know.RecursiveMenus, roleID)
|
||||
bs, err := b.redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*dto.MenuUIDto
|
||||
@@ -195,14 +195,14 @@ func (b *menuBiz) SetRecursiveSysMenus(ctx context.Context, roleID int32) ([]*dt
|
||||
return nil, err
|
||||
}
|
||||
|
||||
key := keys.GetManageKey(ctx, keys.RecursiveMenus, roleID)
|
||||
key := know.GetManageKey(ctx, know.RecursiveMenus, roleID)
|
||||
_ = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return tree, nil
|
||||
}
|
||||
|
||||
func (b *menuBiz) MapOwnerMenuByRoleID(ctx context.Context, roleID int32) (map[string]*dto.OwnerMenuDto, error) {
|
||||
// 判断redis是否存储
|
||||
key := keys.GetManageKey(ctx, keys.OwnerMenus, roleID)
|
||||
key := know.GetManageKey(ctx, know.OwnerMenus, roleID)
|
||||
bs, err := b.redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res map[string]*dto.OwnerMenuDto
|
||||
@@ -238,7 +238,7 @@ func (b *menuBiz) SetOwnerMapMenuByRoleID(ctx context.Context, roleID int32) (ma
|
||||
return nil, err
|
||||
}
|
||||
|
||||
key := keys.GetManageKey(ctx, keys.OwnerMenus, roleID)
|
||||
key := know.GetManageKey(ctx, know.OwnerMenus, roleID)
|
||||
_ = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return result, nil
|
||||
}
|
||||
@@ -254,7 +254,7 @@ func (b *menuBiz) RefreshMenus(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
key := keys.GetManageKey(ctx, keys.AllMenus)
|
||||
key := know.GetManageKey(ctx, know.AllMenus)
|
||||
err = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"management/internal/db/model/dto"
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/global/keys"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/redis"
|
||||
)
|
||||
|
||||
@@ -53,7 +53,7 @@ func (b *roleBiz) Update(ctx context.Context, arg *db.UpdateSysRoleParams) (*db.
|
||||
}
|
||||
|
||||
func (b *roleBiz) All(ctx context.Context) ([]*db.SysRole, error) {
|
||||
key := keys.GetManageKey(ctx, keys.AllRoles)
|
||||
key := know.GetManageKey(ctx, know.AllRoles)
|
||||
bs, err := redis.GetBytes(ctx, key)
|
||||
if err == nil {
|
||||
var res []*db.SysRole
|
||||
@@ -115,7 +115,7 @@ func (b *roleBiz) Refresh(ctx context.Context) ([]*db.SysRole, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
key := keys.GetManageKey(ctx, keys.AllRoles)
|
||||
key := know.GetManageKey(ctx, know.AllRoles)
|
||||
err = redis.Set(ctx, key, bs, time.Hour*6)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/erpserver/model/req"
|
||||
"management/internal/erpserver/model/view"
|
||||
"management/internal/global/know"
|
||||
"management/internal/pkg/crypto"
|
||||
"management/internal/pkg/know"
|
||||
"management/internal/pkg/session"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user