diff --git a/internal/models/organization/request.go b/internal/models/organization/request.go index 8560eca..8620fab 100644 --- a/internal/models/organization/request.go +++ b/internal/models/organization/request.go @@ -25,3 +25,11 @@ type SaveOrgReq struct { ParentId uint `json:"parent_id" binding:"required"` Sort int `json:"sort" binding:"required"` } + +type DisableOrgReq struct { + Id uint `json:"id" binding:"required"` +} + +type EnableOrgReq struct { + Id uint `json:"id" binding:"required"` +} diff --git a/internal/repo/organization.go b/internal/repo/organization.go index 9a9dc91..802b301 100644 --- a/internal/repo/organization.go +++ b/internal/repo/organization.go @@ -17,7 +17,7 @@ type OrganizationStatus int const( OrganizationDisableStatus OrganizationStatus = 0 - OrganizationAbleStatus OrganizationStatus = 1 + OrganizationEnableStatus OrganizationStatus = 1 ) // 组织表 @@ -45,6 +45,7 @@ type OrganizationRepo interface{ DelById(ctx context.Context,id uint)(err error) GetOrgs(ctx context.Context)(org []Organization,err error) ExistOrgId(ctx context.Context,id uint)(bool,error) + SetStatus(ctx context.Context,id uint,status OrganizationStatus)error } type orginizationRepo struct{ @@ -89,4 +90,8 @@ func (o *orginizationRepo)ExistOrgId(ctx context.Context,id uint)(bool,error){ } return true,err +} + +func (o *orginizationRepo)SetStatus(ctx context.Context,id uint,status OrganizationStatus)error{ + return o.db.Where("id = ?",id).Update("status",status).Error } \ No newline at end of file diff --git a/internal/service/organization/organization.go b/internal/service/organization/organization.go index f46cdfd..f884772 100644 --- a/internal/service/organization/organization.go +++ b/internal/service/organization/organization.go @@ -47,7 +47,7 @@ func (o *organizationService) CreateOrganization(ctx context.Context, info *orgM Name: info.Name, ParentID: info.ParentId, Sort: uint(info.Sort), - Status: int(repo.OrganizationAbleStatus), + Status: int(repo.OrganizationEnableStatus), } _, err := o.orgRepo.Create(ctx, dbOrg) @@ -130,13 +130,13 @@ func (o *organizationService) OrganizationTree(ctx context.Context) (orgModel.Or return tree, nil } -func (o *organizationService) DisableOrganization(ctx context.Context) error { +func (o *organizationService) DisableOrganization(ctx context.Context, info orgModel.DisableOrgReq) error { // todo 判断有没有权限 // 判断是否成员 - return nil + return o.orgRepo.SetStatus(ctx, info.Id, repo.OrganizationDisableStatus) } -func (o *organizationService) EnableOrganization(ctx context.Context) error { +func (o *organizationService) EnableOrganization(ctx context.Context, info orgModel.EnableOrgReq) error { // todo 判断有没有权限 - return nil + return o.orgRepo.SetStatus(ctx, info.Id, repo.OrganizationEnableStatus) }