作者 王健

新增【公司-领域模型】

... ... @@ -2,22 +2,13 @@ package domain
// 公司信息
type CompanyInfo struct {
// 公司Id
CompanyId int64 `json:"companyId"`
// 公司名称
Name string `json:"name"`
// 公司简称
Abbreviation string `json:"abbreviation"`
// 公司logo
Logo string `json:"logo"`
// 公司联系电话
Phone string `json:"phone"`
// 状态 1正常 2禁用
Status int64 `json:"status"`
// 备注
Remarks string `json:"remarks"`
// 是否有效【1:有效】【2:无效】
Enable int64 `json:"enable"`
// 公司主管理员
Admin *UserInfo `json:"admin"`
CompanyId int64 `json:"companyId"` // 公司Id
Name string `json:"name"` // 公司名称
Abbreviation string `json:"abbreviation"` // 公司简称
Logo string `json:"logo"` // 公司logo
Phone string `json:"phone"` // 公司联系电话
Status int64 `json:"status"` // 状态 1正常 2禁用
Remarks string `json:"remarks"` // 备注
Enable int64 `json:"enable"` // 是否有效【1:有效】【2:无效】
Admin UserInfo `json:"admin"` // 公司主管理员
}
... ...
... ... @@ -6,7 +6,7 @@ import (
)
type Company struct {
tableName string `pg:"companys,alias:company"`
tableName string `pg:"companies,alias:company"`
// 公司Id
CompanyId int64 `pg:",pk"`
// 公司信息
... ...
... ... @@ -53,7 +53,9 @@ func (repository *CompanyRepository) Save(company *domain.Company) (*domain.Comp
&company.UpdateAt,
&company.DeleteAt,
),
fmt.Sprintf("INSERT INTO companys (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
fmt.Sprintf("INSERT INTO companies (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
company.CompanyId,
company.CompanyInfo,
company.CreateAt,
... ... @@ -71,7 +73,9 @@ func (repository *CompanyRepository) Save(company *domain.Company) (*domain.Comp
&company.UpdateAt,
&company.DeleteAt,
),
fmt.Sprintf("UPDATE companys SET %s WHERE company_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
fmt.Sprintf("UPDATE companies SET %s WHERE company_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
company.CompanyId,
company.CompanyInfo,
company.CreateAt,
... ... @@ -115,21 +119,23 @@ func (repository *CompanyRepository) FindOne(queryOptions map[string]interface{}
func (repository *CompanyRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.Company, error) {
tx := repository.transactionContext.PgTx
var companyModels []*models.Company
companys := make([]*domain.Company, 0)
companies := make([]*domain.Company, 0)
query := sqlbuilder.BuildQuery(tx.Model(&companyModels), queryOptions)
query.SetOffsetAndLimit(20)
query.SetOrderDirect("company_id", "DESC")
if count, err := query.SelectAndCount(); err != nil {
return 0, companys, err
return 0, companies, err
} else {
for _, companyModel := range companyModels {
if company, err := transform.TransformToCompanyDomainModelFromPgModels(companyModel); err != nil {
return 0, companys, err
return 0, companies, err
} else {
companys = append(companys, company)
companies = append(companies, company)
}
}
return int64(count), companys, nil
return int64(count), companies, nil
}
}
func NewCompanyRepository(transactionContext *pgTransaction.TransactionContext) (*CompanyRepository, error) {
... ...