This commit is contained in:
2025-03-31 17:36:49 +08:00
parent 490630d4c9
commit d7183fcc00
805 changed files with 1055 additions and 304753 deletions

View File

@@ -0,0 +1,45 @@
package customer
import (
"context"
db "management/internal/db/sqlc"
"management/internal/pkg/redis"
)
type CustomerBiz interface {
Create(ctx context.Context, arg *db.CreateCustomerParams) (*db.Customer, error)
Update(ctx context.Context, arg *db.UpdateCustomerParams) (*db.Customer, error)
List(ctx context.Context, arg *db.ListCustomerConditionParam) ([]*db.CustomerView, int64, error)
Get(ctx context.Context, id int64) (*db.Customer, error)
}
type customerBiz struct {
store db.Store
redis redis.IRedis
}
var _ CustomerBiz = (*customerBiz)(nil)
func New(store db.Store, redis redis.IRedis) *customerBiz {
return &customerBiz{
store: store,
redis: redis,
}
}
func (b *customerBiz) Create(ctx context.Context, arg *db.CreateCustomerParams) (*db.Customer, error) {
return b.store.CreateCustomer(ctx, arg)
}
func (b *customerBiz) Update(ctx context.Context, arg *db.UpdateCustomerParams) (*db.Customer, error) {
return b.store.UpdateCustomer(ctx, arg)
}
func (b *customerBiz) List(ctx context.Context, arg *db.ListCustomerConditionParam) ([]*db.CustomerView, int64, error) {
return b.store.ListCustomerCondition(ctx, arg)
}
func (b *customerBiz) Get(ctx context.Context, id int64) (*db.Customer, error) {
return b.store.GetCustomer(ctx, id)
}

View File

@@ -0,0 +1,93 @@
package project
import (
"context"
db "management/internal/db/sqlc"
"management/internal/pkg/redis"
)
type ProjectBiz interface {
Create(ctx context.Context, p *db.CreateProjectParams, pf []*db.CreateProjectFileParams) error
Update(ctx context.Context, p *db.UpdateProjectParams, pf []*db.CreateProjectFileParams) error
List(ctx context.Context, q *db.ListProjectConditionParam) ([]*db.ProjectView, int64, error)
Get(ctx context.Context, id int64) (*db.Project, error)
ProjectExpansion
}
type ProjectExpansion interface {
ListProjectFiles(ctx context.Context, projectID int64) ([]*db.ProjectFile, error)
}
type projectBiz struct {
store db.Store
redis redis.IRedis
}
var _ ProjectBiz = (*projectBiz)(nil)
func New(store db.Store, redis redis.IRedis) *projectBiz {
return &projectBiz{
store: store,
redis: redis,
}
}
func (b *projectBiz) Create(ctx context.Context, p *db.CreateProjectParams, pf []*db.CreateProjectFileParams) error {
return b.store.ExecTx(ctx, func(q *db.Queries) error {
_, err := q.CreateProject(ctx, p)
if err != nil {
return err
}
for _, item := range pf {
_, err = q.CreateProjectFile(ctx, item)
if err != nil {
return err
}
}
return nil
})
}
func (b *projectBiz) Update(ctx context.Context, p *db.UpdateProjectParams, pf []*db.CreateProjectFileParams) error {
return b.store.ExecTx(ctx, func(q *db.Queries) error {
_, err := q.UpdateProject(ctx, p)
if err != nil {
return err
}
err = q.DeleteProjectFile(ctx, p.ID)
if err != nil {
return err
}
for _, item := range pf {
_, err = q.CreateProjectFile(ctx, item)
if err != nil {
return err
}
}
return nil
})
}
func (b *projectBiz) List(ctx context.Context, q *db.ListProjectConditionParam) ([]*db.ProjectView, int64, error) {
res, total, err := b.store.ListProjectCondition(ctx, q)
if err != nil {
return nil, 0, err
}
return res, total, nil
}
func (b *projectBiz) Get(ctx context.Context, id int64) (*db.Project, error) {
return b.store.GetProject(ctx, id)
}
func (b *projectBiz) ListProjectFiles(ctx context.Context, projectID int64) ([]*db.ProjectFile, error) {
return b.store.ListProjectFiles(ctx, projectID)
}

View File

@@ -3,6 +3,7 @@ package system
import (
"context"
"encoding/json"
"errors"
"strconv"
"time"
@@ -11,6 +12,7 @@ import (
"management/internal/erpserver/model/view"
"management/internal/global/keys"
"management/internal/pkg/redis"
"management/internal/pkg/tpl/html"
)
type CategoryBiz interface {
@@ -23,7 +25,9 @@ type CategoryBiz interface {
RebuildParentPath(ctx context.Context) error
Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
ListHtmlByLetter(ctx context.Context, letter string) ([]*html.SelectDict, error)
}
type categoryBiz struct {
@@ -130,7 +134,7 @@ 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, id int32) ([]*view.XmSelectTree, error) {
func (b *categoryBiz) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := b.All(ctx)
if err != nil {
return nil, err
@@ -139,6 +143,41 @@ func (b *categoryBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectT
return b.toXmSelectTree(id, all), nil
}
func (b *categoryBiz) ListHtmlByLetter(ctx context.Context, letter string) ([]*html.SelectDict, 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 []*html.SelectDict
res = append(res, &html.SelectDict{
Name: "请选择",
Value: "0",
})
for _, v := range all {
if v.ParentID == current.ID {
item := html.SelectDict{
Name: v.Name,
Value: strconv.Itoa(int(v.ID)),
}
res = append(res, &item)
}
}
return res, nil
}
func (b *categoryBiz) toTree(parentId int32, data []*db.Category) []*view.LayuiTree {
var res []*view.LayuiTree
for _, v := range data {

View File

@@ -23,7 +23,7 @@ type DepartmentBiz interface {
RebuildParentPath(ctx context.Context) error
Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
DepartmentExpansion
}
@@ -136,7 +136,7 @@ func (b *departmentBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree,
return b.toTree(id, all), nil
}
func (b *departmentBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
func (b *departmentBiz) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := b.All(ctx)
if err != nil {
return nil, err

View File

@@ -36,7 +36,7 @@ type MenuExpansion interface {
SetMenuViewData(ctx context.Context, roleID int32) ([]*dto.SetMenuDto, error)
Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
SetMenu(ctx context.Context, roleID int32, menus []*db.SysMenu) error
}
@@ -268,7 +268,7 @@ func (b *menuBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
return b.toTree(id, all), nil
}
func (b *menuBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
func (b *menuBiz) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := b.AllMenusCache(ctx)
if err != nil {
return nil, err

View File

@@ -23,7 +23,7 @@ type RoleBiz interface {
RebuildParentPath(ctx context.Context) error
Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error)
RoleExpansion
}
@@ -136,7 +136,7 @@ func (b *roleBiz) Tree(ctx context.Context, id int32) ([]*view.LayuiTree, error)
return b.toTree(id, all), nil
}
func (b *roleBiz) XmSelect(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
func (b *roleBiz) XmSelectTree(ctx context.Context, id int32) ([]*view.XmSelectTree, error) {
all, err := b.All(ctx)
if err != nil {
return nil, err

View File

@@ -4,11 +4,13 @@ import (
"context"
"encoding/json"
"errors"
"strconv"
"time"
"management/internal/db/model/dto"
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/session"
@@ -18,9 +20,12 @@ import (
type UserBiz interface {
Create(ctx context.Context, req *db.CreateSysUserParams) (*db.SysUser, error)
Update(ctx context.Context, req *db.UpdateSysUserParams) (*db.SysUser, error)
All(ctx context.Context) ([]*db.SysUser, error)
List(ctx context.Context, q dto.SearchDto) ([]*db.ListSysUserConditionRow, int64, error)
Get(ctx context.Context, id int32) (*db.SysUser, error)
XmSelect(ctx context.Context) ([]*view.XmSelect, error)
UserExpansion
}
@@ -53,6 +58,10 @@ func (b *userBiz) Update(ctx context.Context, req *db.UpdateSysUserParams) (*db.
return b.store.UpdateSysUser(ctx, req)
}
func (b *userBiz) All(ctx context.Context) ([]*db.SysUser, error) {
return b.store.ListSysUser(ctx)
}
func (b *userBiz) List(ctx context.Context, q dto.SearchDto) ([]*db.ListSysUserConditionRow, int64, error) {
count, err := b.store.CountSysUserCondition(ctx, &db.CountSysUserConditionParams{
IsStatus: q.SearchStatus != 9999,
@@ -87,6 +96,22 @@ func (b *userBiz) Get(ctx context.Context, id int32) (*db.SysUser, error) {
return b.store.GetSysUser(ctx, id)
}
func (b *userBiz) XmSelect(ctx context.Context) ([]*view.XmSelect, error) {
all, err := b.store.ListSysUser(ctx)
if err != nil || len(all) == 0 {
return nil, err
}
var res []*view.XmSelect
for _, user := range all {
res = append(res, &view.XmSelect{
Name: user.Username,
Value: strconv.Itoa(int(user.ID)),
})
}
return res, nil
}
func (b *userBiz) Login(ctx context.Context, req *req.Login) error {
log := &db.CreateSysUserLoginLogParams{
CreatedAt: time.Now(),