diff --git a/pkg/application/company/service/service.go b/pkg/application/company/service/service.go index f1d272c..2de7e2b 100644 --- a/pkg/application/company/service/service.go +++ b/pkg/application/company/service/service.go @@ -129,3 +129,38 @@ func (service CompanyService) GetCompanyData(companyId int64) (*domain.Company, err = transactionContext.CommitTransaction() return &companyData, nil } + +func (service CompanyService) UpdateCompanyPhone(companyId int64, phone string) error { + var ( + transactionContext, _ = factory.CreateTransactionContext(nil) + err error + ) + if err = transactionContext.StartTransaction(); err != nil { + return err + } + defer func() { + transactionContext.RollbackTransaction() + }() + var ( + companyRespository domain.CompanyRepository + companyData domain.Company + ) + if companyRespository, err = factory.CreateCompanyRepository(map[string]interface{}{ + "transactionContext": transactionContext, + }); err != nil { + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) + } + companyData, err = companyRespository.FindOne(domain.CompanyFindOneOptions{ + Id: companyId, + }) + if err != nil { + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, fmt.Sprintf("获取公司(id=%d)的数据失败:%s", companyId, err.Error())) + } + companyData.Phone = phone + err = companyRespository.Edit(&companyData) + if err != nil { + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, fmt.Sprintf("更新公司(id=%d)的数据失败:%s", companyId, err.Error())) + } + err = transactionContext.CommitTransaction() + return nil +} diff --git a/pkg/application/users/service/service.go b/pkg/application/users/service/service.go index 0129da2..00d4bb1 100644 --- a/pkg/application/users/service/service.go +++ b/pkg/application/users/service/service.go @@ -58,7 +58,7 @@ func (service UsersService) UserLoginBySecretKey(cmd command.LoginBySecretKeyCom } //检索本系统的公司数据判断公司权限 companyData, err = companyRespository.FindOne(domain.CompanyFindOneOptions{ - Id: loginResp.Data.Muid, + AdminCompanyId: loginResp.Data.CompanyId, }) if err != nil { e := fmt.Sprintf("获取公司(id=%d)数据失败:%s", loginResp.Data.Muid, err.Error()) @@ -69,7 +69,7 @@ func (service UsersService) UserLoginBySecretKey(cmd command.LoginBySecretKeyCom } //检索本系统的用户数据 usersData, err = userRespository.FindOne(domain.UsersFindOneQuery{ - OpenId: loginResp.Data.Id, + Id: loginResp.Data.Muid, CompanyId: companyData.Id, }) if err != nil { diff --git a/pkg/domain/company.go b/pkg/domain/company.go index d564ffc..8d08a2b 100644 --- a/pkg/domain/company.go +++ b/pkg/domain/company.go @@ -80,7 +80,8 @@ func (c *Company) Update(m map[string]interface{}) error { } type CompanyFindOneOptions struct { - Id int64 + Id int64 + AdminCompanyId int64 } type CompanyFindOptions struct {