切换导航条
此项目
正在载入...
登录
allied-creation
/
performance
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
tangxvhui
2 years ago
提交
8adddff624fcb9f90fe81439900c8f1a9c1dbf36
1 个父辈
9ae17b0e
master
...
dev-pushdata
dev-tangxvhui
dev-zhengzhou
dev_zhuangmx
test
v1.3.2-fix
v1.4.0
v2.2.0-fix
20230410
20230403
20230331
20230324
20230315
20230203
20230112
20221208
20221205
v2.2.0
v2.0.0
v1.3.2
v1.3.2-fix
v1.3.1
v1.3.0
v1.2.4
更新
显示空白字符变更
内嵌
并排对比
正在显示
11 个修改的文件
包含
274 行增加
和
37 行删除
pkg/application/company/command/add_company.go
pkg/application/company/command/change_admin.go
pkg/application/company/command/set_company_charge.go
pkg/application/company/command/update_company.go
pkg/application/company/service.go
pkg/domain/company.go
pkg/domain/user.go
pkg/infrastructure/pg/models/comapny.go
pkg/infrastructure/pg/models/user.go
pkg/infrastructure/repository/pg_company_repository.go
pkg/infrastructure/repository/pg_user_repository.go
pkg/application/company/command/add_company.go
0 → 100644
查看文件 @
8adddff
package
command
//AddCompanyCommand 数据来源 企业平台 推送的消息
//新建公司
type
AddCompanyCommand
struct
{
//新添加的公司
Comapany
struct
{
Id
int64
`json:"id" `
Logo
string
`json:"logo"`
// 公司logo
Name
string
`json:"name"`
// 公司名称
Status
int
`json:"status"`
// 公司状态,1正常 2禁用
}
`json:"company"`
//新添加公司时, 新建的公司主管理员
User
struct
{
Id
int64
` json:"id"`
// 用户Id
Phone
string
`json:"phone"`
// 用户账号
Avatar
string
`json:"avatar"`
// 用户头像URL
CompanyId
int64
`json:"company_id"`
// 公司编号
AdminType
int
`json:"admin_type"`
// 1普通员工 2 主管理员
Name
string
`json:"name"`
// 用户姓名
Status
int
`json:"status"`
// 用户状态(1正常 2禁用)
}
`json:"user"`
}
...
...
pkg/application/company/command/change_admin.go
0 → 100644
查看文件 @
8adddff
package
command
//ChangeAdminCommand 数据来源 企业平台 推送的消息
// 换管理员
type
ChangeAdminCommand
struct
{
CompanyId
int64
`json:"company_id"`
UserAccount
string
`json:"phone"`
}
...
...
pkg/application/company/command/set_company_charge.go
0 → 100644
查看文件 @
8adddff
package
command
//SetCompanyCharge 编辑公司主管
type
SetCompanyCharge
struct
{
CompanyId
int64
`json:"id" `
//公司id
ChargeUserIds
[]
int64
`json:"charge" `
//主管id
}
...
...
pkg/application/company/command/update_company.go
0 → 100644
查看文件 @
8adddff
package
command
//UpdateCompanyCommand 数据来源 企业平台 推送的消息
type
UpdateCompanyCommand
struct
{
Id
int64
`json:"id,string"`
// 公司编号
Logo
string
`json:"logo"`
// 公司logo
Name
string
`json:"name"`
// 公司名称
Status
int
`json:"status"`
// 公司状态,1正常 2禁用
// 公司主管理员
User
struct
{
Id
int64
` json:"id"`
// 用户Id
Phone
string
`json:"phone"`
// 用户账号
Avatar
string
`json:"avatar"`
// 用户头像URL
CompanyId
int64
`json:"company_id"`
// 公司编号
AdminType
int
`json:"admin_type"`
// 1普通员工 2 主管理员
Name
string
`json:"name"`
// 用户姓名
Status
int
`json:"status"`
// 用户状态(1正常 2禁用)
}
`json:"user"`
}
...
...
pkg/application/company/service.go
查看文件 @
8adddff
package
company
type
Company
Action
struct
{
type
Company
Services
struct
{
}
//从BusinessAdmins 接收消息,变更公司数据
func
(
c
Company
Action
)
BusinessAdminCompany
()
error
{
func
(
c
Company
Services
)
BusinessAdminCompany
()
error
{
return
nil
}
func
(
c
Company
Action
)
AddCompany
()
error
{
func
(
c
Company
Services
)
AddCompany
()
error
{
return
nil
}
func
(
c
Company
Action
)
EditCompany
()
error
{
func
(
c
Company
Services
)
EditCompany
()
error
{
return
nil
}
func
(
c
Company
Action
)
ChangeAdmin
()
error
{
func
(
c
Company
Services
)
ChangeAdmin
()
error
{
return
nil
}
func
(
c
Company
Action
)
SetCompanyCharge
()
error
{
func
(
c
Company
Services
)
SetCompanyCharge
()
error
{
return
nil
}
...
...
pkg/domain/company.go
查看文件 @
8adddff
...
...
@@ -9,11 +9,12 @@ type Company struct {
Status
int
//公司状态,1正常 2禁用
UpdateAt
time
.
Time
//更新时间
CreatedAt
time
.
Time
//创建时间
DeleteAt
*
time
.
Time
}
type
CompanyRepository
interface
{
Save
(
company
*
Company
)
(
*
Company
,
error
)
Remove
(
company
*
Company
)
(
*
Company
,
error
)
FindOne
(
queryOptions
map
[
string
]
interface
{})
(
*
Company
,
error
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int
64
,
[]
*
Company
,
error
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int
,
[]
*
Company
,
error
)
}
...
...
pkg/domain/user.go
查看文件 @
8adddff
...
...
@@ -3,21 +3,23 @@ package domain
import
"time"
type
User
struct
{
UserId
int64
// 用户Id
UserAccount
string
// 用户账号
UserAvatarUrl
string
// 用户头像URL
Id
int64
// 用户Id
Account
string
// 用户账号
AvatarUrl
string
// 用户头像URL
CompanyId
int64
// 公司编号
IsPrincipal
bool
// 是否公司负责人
AdminType
int
// 1普通员工 2 主管理员
UserName
string
// 用户姓名
UserRoleId
int64
// 用户角色id
UserStatus
int
// 用户状态(1正常 2禁用)
Name
string
// 用户姓名
RoleId
int64
// 用户角色id
Status
int
// 用户状态(1正常 2禁用)
UpdateAt
time
.
Time
// 更新时间
DeleteAt
*
time
.
Time
CreateAt
time
.
Time
}
type
UserRepository
interface
{
Save
(
user
*
User
)
(
*
User
,
error
)
Remove
(
user
*
User
)
(
*
User
,
error
)
FindOne
(
queryOptions
map
[
string
]
interface
{})
(
*
User
,
error
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int
64
,
[]
*
User
,
error
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int
,
[]
*
User
,
error
)
}
...
...
pkg/infrastructure/pg/models/comapny.go
0 → 100644
查看文件 @
8adddff
package
models
import
"time"
type
Company
struct
{
tableName
struct
{}
`pg:"company"`
Id
int64
`pg:"pk:id"`
//公司id
Logo
string
//公司logo
Name
string
//公司名称
Status
int
//公司状态,1正常 2禁用
UpdateAt
time
.
Time
//更新时间
CreateAt
time
.
Time
//创建时间
DeleteAt
*
time
.
Time
//删除时间
}
...
...
pkg/infrastructure/pg/models/user.go
0 → 100644
查看文件 @
8adddff
package
models
import
"time"
type
User
struct
{
tableName
struct
{}
`pg:"user"`
Id
int64
`pg:"pk:id"`
// 用户Id
Account
string
// 用户账号
AvatarUrl
string
// 用户头像URL
CompanyId
int64
// 公司编号
IsPrincipal
bool
// 是否公司负责人
AdminType
int
// 1普通员工 2 主管理员
Name
string
// 用户姓名
RoleId
int64
// 用户角色id
Status
int
// 用户状态(1正常 2禁用)
UpdateAt
time
.
Time
// 更新时间
CreateAt
time
.
Time
// 创建时间
DeleteAt
*
time
.
Time
// 删除时间
}
...
...
pkg/infrastructure/repository/pg_company_repository.go
查看文件 @
8adddff
...
...
@@ -2,9 +2,12 @@ package repository
import
(
"errors"
"time"
"github.com/go-pg/pg/v10"
pgTransaction
"github.com/linmadan/egglib-go/transaction/pg"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/pg/models"
)
type
CompanyRepository
struct
{
...
...
@@ -13,24 +16,88 @@ type CompanyRepository struct {
var
_
domain
.
CompanyRepository
=
(
*
CompanyRepository
)(
nil
)
func
(
repo
*
CompanyRepository
)
Save
(
user
*
domain
.
Company
)
(
*
domain
.
Company
,
error
)
{
return
user
,
nil
func
(
repo
*
CompanyRepository
)
Save
(
u
*
domain
.
Company
)
(
*
domain
.
Company
,
error
)
{
companyModel
:=
models
.
Company
{
Id
:
u
.
Id
,
Logo
:
u
.
Logo
,
Name
:
u
.
Name
,
Status
:
u
.
Status
,
UpdateAt
:
u
.
UpdateAt
,
CreateAt
:
u
.
CreatedAt
,
DeleteAt
:
u
.
DeleteAt
,
}
tx
:=
repo
.
transactionContext
.
PgTx
if
companyModel
.
Id
==
0
{
_
,
err
:=
tx
.
Model
(
&
companyModel
)
.
Insert
()
if
err
!=
nil
{
return
nil
,
err
}
u
.
Id
=
companyModel
.
Id
}
else
{
_
,
err
:=
tx
.
Model
(
&
companyModel
)
.
WherePK
()
.
Update
()
if
err
!=
nil
{
return
nil
,
err
}
}
return
u
,
nil
}
func
(
repo
*
CompanyRepository
)
Remove
(
user
*
domain
.
Company
)
(
*
domain
.
Company
,
error
)
{
// tx := repository.transactionContext.PgTx
// userModel := new(models.Company)
// userModel.UserId = user.Identify().(int64)
// if _, err := tx.Model(userModel).WherePK().Delete(); err != nil {
// return user, err
// }
return
user
,
errors
.
New
(
"no support"
)
func
(
repo
*
CompanyRepository
)
Remove
(
u
*
domain
.
Company
)
(
*
domain
.
Company
,
error
)
{
nowTime
:=
time
.
Now
()
u
.
DeleteAt
=
&
nowTime
_
,
err
:=
repo
.
Save
(
u
)
return
u
,
err
}
func
(
repo
*
CompanyRepository
)
FindOne
(
queryOptions
map
[
string
]
interface
{})
(
*
domain
.
Company
,
error
)
{
return
nil
,
nil
tx
:=
repo
.
transactionContext
.
PgTx
companyModel
:=
models
.
Company
{}
query
:=
tx
.
Model
(
&
companyModel
)
if
v
,
ok
:=
queryOptions
[
"id"
];
ok
{
query
.
Where
(
"id=?"
,
v
)
}
err
:=
query
.
First
()
if
err
==
pg
.
ErrNoRows
{
return
nil
,
errors
.
New
(
"company 不存在"
)
}
if
err
!=
nil
{
return
nil
,
err
}
result
:=
repo
.
TransformToCompanyDomain
(
&
companyModel
)
return
result
,
nil
}
func
(
repo
*
CompanyRepository
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int64
,
[]
*
domain
.
Company
,
error
)
{
return
0
,
nil
,
nil
func
(
repo
*
CompanyRepository
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int
,
[]
*
domain
.
Company
,
error
)
{
tx
:=
repo
.
transactionContext
.
PgTx
companyModel
:=
[]
models
.
Company
{}
query
:=
tx
.
Model
(
&
companyModel
)
.
Limit
(
20
)
if
v
,
ok
:=
queryOptions
[
"limit"
];
ok
{
query
.
Limit
(
v
.
(
int
))
}
if
v
,
ok
:=
queryOptions
[
"offset"
];
ok
{
query
.
Offset
(
v
.
(
int
))
}
cnt
,
err
:=
query
.
SelectAndCount
()
if
err
!=
nil
{
return
0
,
nil
,
err
}
var
resultList
[]
*
domain
.
Company
for
i
:=
range
companyModel
{
result
:=
repo
.
TransformToCompanyDomain
(
&
companyModel
[
i
])
resultList
=
append
(
resultList
,
result
)
}
return
cnt
,
resultList
,
nil
}
func
(
repo
*
CompanyRepository
)
TransformToCompanyDomain
(
m
*
models
.
Company
)
*
domain
.
Company
{
return
&
domain
.
Company
{
Id
:
m
.
Id
,
Logo
:
m
.
Logo
,
Name
:
m
.
Name
,
Status
:
m
.
Status
,
UpdateAt
:
m
.
UpdateAt
,
CreatedAt
:
m
.
CreateAt
,
DeleteAt
:
m
.
DeleteAt
,
}
}
...
...
pkg/infrastructure/repository/pg_user_repository.go
查看文件 @
8adddff
...
...
@@ -2,9 +2,12 @@ package repository
import
(
"errors"
"time"
"github.com/go-pg/pg/v10"
pgTransaction
"github.com/linmadan/egglib-go/transaction/pg"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/pg/models"
)
type
UserRepository
struct
{
...
...
@@ -14,23 +17,97 @@ type UserRepository struct {
var
_
domain
.
UserRepository
=
(
*
UserRepository
)(
nil
)
func
(
repo
*
UserRepository
)
Save
(
user
*
domain
.
User
)
(
*
domain
.
User
,
error
)
{
userModel
:=
models
.
User
{
Id
:
user
.
Id
,
Account
:
user
.
Account
,
AvatarUrl
:
user
.
AvatarUrl
,
CompanyId
:
user
.
CompanyId
,
IsPrincipal
:
user
.
IsPrincipal
,
AdminType
:
user
.
AdminType
,
Name
:
user
.
Name
,
RoleId
:
user
.
RoleId
,
Status
:
user
.
Status
,
UpdateAt
:
user
.
UpdateAt
,
CreateAt
:
user
.
CreateAt
,
DeleteAt
:
user
.
DeleteAt
,
}
tx
:=
repo
.
transactionContext
.
PgTx
if
userModel
.
Id
==
0
{
_
,
err
:=
tx
.
Model
(
&
userModel
)
.
Insert
()
if
err
!=
nil
{
return
nil
,
err
}
user
.
Id
=
userModel
.
Id
}
else
{
_
,
err
:=
tx
.
Model
(
&
userModel
)
.
WherePK
()
.
Update
()
if
err
!=
nil
{
return
nil
,
err
}
}
return
user
,
nil
}
func
(
repo
*
UserRepository
)
Remove
(
user
*
domain
.
User
)
(
*
domain
.
User
,
error
)
{
// tx := repository.transactionContext.PgTx
// userModel := new(models.User)
// userModel.UserId = user.Identify().(int64)
// if _, err := tx.Model(userModel).WherePK().Delete(); err != nil {
// return user, err
// }
return
user
,
errors
.
New
(
"no support"
)
nowTime
:=
time
.
Now
()
user
.
DeleteAt
=
&
nowTime
_
,
err
:=
repo
.
Save
(
user
)
return
user
,
err
}
func
(
repo
*
UserRepository
)
FindOne
(
queryOptions
map
[
string
]
interface
{})
(
*
domain
.
User
,
error
)
{
return
nil
,
nil
tx
:=
repo
.
transactionContext
.
PgTx
userModel
:=
models
.
User
{}
query
:=
tx
.
Model
(
&
userModel
)
if
v
,
ok
:=
queryOptions
[
"id"
];
ok
{
query
.
Where
(
"id=?"
,
v
)
}
err
:=
query
.
First
()
if
err
==
pg
.
ErrNoRows
{
return
nil
,
errors
.
New
(
"user 不存在"
)
}
if
err
!=
nil
{
return
nil
,
err
}
result
:=
repo
.
TransformToUserDomain
(
&
userModel
)
return
result
,
nil
}
func
(
repo
*
UserRepository
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int64
,
[]
*
domain
.
User
,
error
)
{
return
0
,
nil
,
nil
func
(
repo
*
UserRepository
)
Find
(
queryOptions
map
[
string
]
interface
{})
(
int
,
[]
*
domain
.
User
,
error
)
{
tx
:=
repo
.
transactionContext
.
PgTx
userModel
:=
[]
models
.
User
{}
query
:=
tx
.
Model
(
&
userModel
)
.
Limit
(
20
)
if
v
,
ok
:=
queryOptions
[
"limit"
];
ok
{
query
.
Limit
(
v
.
(
int
))
}
if
v
,
ok
:=
queryOptions
[
"offset"
];
ok
{
query
.
Offset
(
v
.
(
int
))
}
cnt
,
err
:=
query
.
SelectAndCount
()
if
err
!=
nil
{
return
0
,
nil
,
err
}
var
resultList
[]
*
domain
.
User
for
i
:=
range
userModel
{
result
:=
repo
.
TransformToUserDomain
(
&
userModel
[
i
])
resultList
=
append
(
resultList
,
result
)
}
return
cnt
,
resultList
,
nil
}
func
(
repo
*
UserRepository
)
TransformToUserDomain
(
user
*
models
.
User
)
*
domain
.
User
{
return
&
domain
.
User
{
Id
:
user
.
Id
,
Account
:
user
.
Account
,
AvatarUrl
:
user
.
AvatarUrl
,
CompanyId
:
user
.
CompanyId
,
IsPrincipal
:
user
.
IsPrincipal
,
AdminType
:
user
.
AdminType
,
Name
:
user
.
Name
,
RoleId
:
user
.
RoleId
,
Status
:
user
.
Status
,
UpdateAt
:
user
.
UpdateAt
,
CreateAt
:
user
.
CreateAt
,
DeleteAt
:
user
.
DeleteAt
,
}
}
...
...
请
注册
或
登录
后发表评论