正在显示
9 个修改的文件
包含
323 行增加
和
10 行删除
| @@ -249,6 +249,7 @@ func (service UsersService) GetUserList(queryOption query.UserListQuery) (int, [ | @@ -249,6 +249,7 @@ func (service UsersService) GetUserList(queryOption query.UserListQuery) (int, [ | ||
| 249 | UserNameMatch: queryOption.UserNameMatch, | 249 | UserNameMatch: queryOption.UserNameMatch, |
| 250 | Offset: queryOption.Offset, | 250 | Offset: queryOption.Offset, |
| 251 | Limit: queryOption.Limit, | 251 | Limit: queryOption.Limit, |
| 252 | + CompanyId: queryOption.CompanyId, | ||
| 252 | }) | 253 | }) |
| 253 | var permissionQuery domain.PermissionFindOption | 254 | var permissionQuery domain.PermissionFindOption |
| 254 | permissionList, err = permissionRepository.Find(permissionQuery) | 255 | permissionList, err = permissionRepository.Find(permissionQuery) |
| @@ -295,3 +296,189 @@ func (service UsersService) buildGetUserList(usersData []domain.Users, permissio | @@ -295,3 +296,189 @@ func (service UsersService) buildGetUserList(usersData []domain.Users, permissio | ||
| 295 | } | 296 | } |
| 296 | return result | 297 | return result |
| 297 | } | 298 | } |
| 299 | + | ||
| 300 | +func (service UsersService) GetUserData(userId int64, companyId int64) (map[string]interface{}, error) { | ||
| 301 | + var ( | ||
| 302 | + transactionContext, _ = factory.CreateTransactionContext(nil) | ||
| 303 | + err error | ||
| 304 | + ) | ||
| 305 | + if err = transactionContext.StartTransaction(); err != nil { | ||
| 306 | + return nil, lib.ThrowError(lib.TRANSACTION_ERROR, err.Error()) | ||
| 307 | + } | ||
| 308 | + defer func() { | ||
| 309 | + transactionContext.RollbackTransaction() | ||
| 310 | + }() | ||
| 311 | + var ( | ||
| 312 | + userRespository domain.UsersRepository | ||
| 313 | + perterRespository domain.PartnerInfoRepository | ||
| 314 | + usersData domain.Users | ||
| 315 | + pertnerList []domain.PartnerInfo | ||
| 316 | + ) | ||
| 317 | + if userRespository, err = factory.CreateUsersRepository(map[string]interface{}{ | ||
| 318 | + "transactionContext": transactionContext, | ||
| 319 | + }); err != nil { | ||
| 320 | + return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 321 | + } | ||
| 322 | + if perterRespository, err = factory.CreatePartnerInfoRepository(map[string]interface{}{ | ||
| 323 | + "transactionContext": transactionContext, | ||
| 324 | + }); err != nil { | ||
| 325 | + return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 326 | + } | ||
| 327 | + usersData, err = userRespository.FindOne(domain.UsersFindOneQuery{ | ||
| 328 | + Id: userId, CompanyId: companyId, | ||
| 329 | + }) | ||
| 330 | + if err != nil { | ||
| 331 | + e := fmt.Sprintf("获取用户(id=%d)数据失败;%s", userId, err) | ||
| 332 | + return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
| 333 | + } | ||
| 334 | + var partnerIds []int64 | ||
| 335 | + for _, v := range usersData.AccessPartners { | ||
| 336 | + partnerIds = append(partnerIds, v.Id) | ||
| 337 | + } | ||
| 338 | + if len(partnerIds) > 0 { | ||
| 339 | + pertnerList, err = perterRespository.Find(domain.PartnerFindQuery{ | ||
| 340 | + Ids: partnerIds, | ||
| 341 | + }) | ||
| 342 | + if err != nil { | ||
| 343 | + e := fmt.Sprintf("获取合伙人数据失败:%s", err) | ||
| 344 | + return nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
| 345 | + } | ||
| 346 | + } | ||
| 347 | + transactionContext.CommitTransaction() | ||
| 348 | + result := service.buildGetUserData(&usersData, pertnerList) | ||
| 349 | + return result, nil | ||
| 350 | +} | ||
| 351 | + | ||
| 352 | +//buildGetUserData 构建前端需要的数据 | ||
| 353 | +func (service UsersService) buildGetUserData(userData *domain.Users, partnerList []domain.PartnerInfo) map[string]interface{} { | ||
| 354 | + result := map[string]interface{}{ | ||
| 355 | + "id": userData.Id, | ||
| 356 | + "permissionType": []int64{}, | ||
| 357 | + "name": userData.Name, | ||
| 358 | + "account": userData.Phone, | ||
| 359 | + "isAdmin": 0, | ||
| 360 | + "status": 0, | ||
| 361 | + "checkedPartner": []map[string]interface{}{}, | ||
| 362 | + } | ||
| 363 | + if userData.IsSuperAdmin() { | ||
| 364 | + result["isAdmin"] = 1 | ||
| 365 | + } | ||
| 366 | + if userData.IsUsable() { | ||
| 367 | + result["status"] = 1 | ||
| 368 | + } | ||
| 369 | + permissionIds := make([]int64, len(userData.Permission)) | ||
| 370 | + for _, v := range userData.Permission { | ||
| 371 | + permissionIds = append(permissionIds, v.Id) | ||
| 372 | + } | ||
| 373 | + result["permissionType"] = permissionIds | ||
| 374 | + checkedPartner := make([]map[string]interface{}, len(partnerList)) | ||
| 375 | + for i := range partnerList { | ||
| 376 | + m := map[string]interface{}{ | ||
| 377 | + "id": partnerList[i].Partner.Id, | ||
| 378 | + "name": partnerList[i].Partner.PartnerName, | ||
| 379 | + } | ||
| 380 | + checkedPartner = append(checkedPartner, m) | ||
| 381 | + } | ||
| 382 | + result["checkedPartner"] = checkedPartner | ||
| 383 | + return result | ||
| 384 | +} | ||
| 385 | + | ||
| 386 | +//EditUserPermission 编辑用户的权限 | ||
| 387 | +func (service UsersService) EditUserPermission(cmd command.EditUserPermissionCommand) error { | ||
| 388 | + var ( | ||
| 389 | + transactionContext, _ = factory.CreateTransactionContext(nil) | ||
| 390 | + err error | ||
| 391 | + ) | ||
| 392 | + if err = transactionContext.StartTransaction(); err != nil { | ||
| 393 | + return lib.ThrowError(lib.TRANSACTION_ERROR, err.Error()) | ||
| 394 | + } | ||
| 395 | + defer func() { | ||
| 396 | + transactionContext.RollbackTransaction() | ||
| 397 | + }() | ||
| 398 | + var ( | ||
| 399 | + userRespository domain.UsersRepository | ||
| 400 | + usersData domain.Users | ||
| 401 | + permissionRepository domain.AdminPermissionRepository | ||
| 402 | + permissionList []domain.AdminPermission | ||
| 403 | + partnerRespository domain.PartnerInfoRepository | ||
| 404 | + partnerList []domain.PartnerInfo | ||
| 405 | + ) | ||
| 406 | + if userRespository, err = factory.CreateUsersRepository(map[string]interface{}{ | ||
| 407 | + "transactionContext": transactionContext, | ||
| 408 | + }); err != nil { | ||
| 409 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 410 | + } | ||
| 411 | + usersData, err = userRespository.FindOne(domain.UsersFindOneQuery{ | ||
| 412 | + Id: cmd.Id, | ||
| 413 | + }) | ||
| 414 | + if err != nil { | ||
| 415 | + e := fmt.Sprintf("获取用户(id=%d)数据失败,%s", cmd.Id, err) | ||
| 416 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
| 417 | + } | ||
| 418 | + if !usersData.InCompany(cmd.CompanyId) { | ||
| 419 | + return lib.ThrowError(lib.BUSINESS_ERROR, "提交的数据异常") | ||
| 420 | + } | ||
| 421 | + if usersData.IsSuperAdmin() { | ||
| 422 | + //超级管理员无需编辑权限 | ||
| 423 | + return nil | ||
| 424 | + } | ||
| 425 | + if permissionRepository, err = factory.CreateAdminPermissionRepository(map[string]interface{}{ | ||
| 426 | + "transactionContext": transactionContext, | ||
| 427 | + }); err != nil { | ||
| 428 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 429 | + } | ||
| 430 | + if len(cmd.PermissionType) > 0 { | ||
| 431 | + permissionList, err = permissionRepository.Find(domain.PermissionFindOption{ | ||
| 432 | + Ids: cmd.PermissionType, | ||
| 433 | + }) | ||
| 434 | + if err != nil { | ||
| 435 | + e := fmt.Sprintf("获取权限列表数据失败:%s", err) | ||
| 436 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
| 437 | + } | ||
| 438 | + } | ||
| 439 | + if partnerRespository, err = factory.CreatePartnerInfoRepository(map[string]interface{}{ | ||
| 440 | + "transactionContext": transactionContext, | ||
| 441 | + }); err != nil { | ||
| 442 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 443 | + } | ||
| 444 | + if len(cmd.CheckedPartner) > 0 { | ||
| 445 | + partnerList, err = partnerRespository.Find(domain.PartnerFindQuery{ | ||
| 446 | + Ids: cmd.CheckedPartner, | ||
| 447 | + CompanyId: cmd.CompanyId, | ||
| 448 | + }) | ||
| 449 | + if err != nil { | ||
| 450 | + e := fmt.Sprintf("获取合伙人列表数据失败:%s", err) | ||
| 451 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
| 452 | + } | ||
| 453 | + } | ||
| 454 | + var ( | ||
| 455 | + partners = make([]domain.Partner, len(partnerList)) | ||
| 456 | + permissionsBase = make([]domain.AdminPermissionBase, len(permissionList)) | ||
| 457 | + ) | ||
| 458 | + for i := range partnerList { | ||
| 459 | + p := partnerList[i].Partner | ||
| 460 | + partners = append(partners, p) | ||
| 461 | + } | ||
| 462 | + for i := range permissionList { | ||
| 463 | + if permissionList[i].Code == domain.PERMINSSION_ADMIN_USER { | ||
| 464 | + return lib.ThrowError(lib.BUSINESS_ERROR, "操作异常") | ||
| 465 | + } | ||
| 466 | + p := domain.AdminPermissionBase{ | ||
| 467 | + Id: permissionList[i].Id, | ||
| 468 | + Code: permissionList[i].Code, | ||
| 469 | + } | ||
| 470 | + permissionsBase = append(permissionsBase, p) | ||
| 471 | + } | ||
| 472 | + | ||
| 473 | + _ = usersData.Update(map[string]interface{}{ | ||
| 474 | + "AccessPartners": partners, | ||
| 475 | + "Permission": permissionsBase, | ||
| 476 | + }) | ||
| 477 | + err = userRespository.Edit(&usersData) | ||
| 478 | + if err != nil { | ||
| 479 | + e := fmt.Sprintf("更新用户(id=%d)数据失败:%s", usersData.Id, err) | ||
| 480 | + return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e) | ||
| 481 | + } | ||
| 482 | + err = transactionContext.CommitTransaction() | ||
| 483 | + return nil | ||
| 484 | +} |
| @@ -46,6 +46,8 @@ type PartnerInfo struct { | @@ -46,6 +46,8 @@ type PartnerInfo struct { | ||
| 46 | PartnerCategoryInfos []PartnerCategoryInfo `json:"partnerCategoryInfos"` | 46 | PartnerCategoryInfos []PartnerCategoryInfo `json:"partnerCategoryInfos"` |
| 47 | //合伙类别 | 47 | //合伙类别 |
| 48 | PartnerCategory int `json:"partnerCategory"` | 48 | PartnerCategory int `json:"partnerCategory"` |
| 49 | + //公司id | ||
| 50 | + CompanyId int64 `json:"companyId"` | ||
| 49 | } | 51 | } |
| 50 | 52 | ||
| 51 | func (p *PartnerInfo) GetPartnerCategory() map[int]string { | 53 | func (p *PartnerInfo) GetPartnerCategory() map[int]string { |
| @@ -63,6 +65,7 @@ func (p *PartnerInfo) IsUsable() bool { | @@ -63,6 +65,7 @@ func (p *PartnerInfo) IsUsable() bool { | ||
| 63 | type PartnerFindOneQuery struct { | 65 | type PartnerFindOneQuery struct { |
| 64 | UserId int64 | 66 | UserId int64 |
| 65 | AccountEqual string | 67 | AccountEqual string |
| 68 | + CompanyId int64 | ||
| 66 | } | 69 | } |
| 67 | 70 | ||
| 68 | type PartnerFindQuery struct { | 71 | type PartnerFindQuery struct { |
| @@ -71,6 +74,8 @@ type PartnerFindQuery struct { | @@ -71,6 +74,8 @@ type PartnerFindQuery struct { | ||
| 71 | PartnerCategory []int //合伙人类型 | 74 | PartnerCategory []int //合伙人类型 |
| 72 | RegionInfo *RegionInfo //区域 | 75 | RegionInfo *RegionInfo //区域 |
| 73 | PartnerName string //合伙人姓名 | 76 | PartnerName string //合伙人姓名 |
| 77 | + CompanyId int64 | ||
| 78 | + Ids []int64 | ||
| 74 | } | 79 | } |
| 75 | 80 | ||
| 76 | type PartnerInfoRepository interface { | 81 | type PartnerInfoRepository interface { |
| @@ -20,7 +20,6 @@ type PartnerInfo struct { | @@ -20,7 +20,6 @@ type PartnerInfo struct { | ||
| 20 | Password string | 20 | Password string |
| 21 | // 状态(1:启用或者0:禁用) | 21 | // 状态(1:启用或者0:禁用) |
| 22 | Status int `pg:",use_zero"` | 22 | Status int `pg:",use_zero"` |
| 23 | - | ||
| 24 | //所属区域信息 | 23 | //所属区域信息 |
| 25 | RegionInfo *domain.RegionInfo | 24 | RegionInfo *domain.RegionInfo |
| 26 | //创建时间 | 25 | //创建时间 |
| @@ -35,6 +34,8 @@ type PartnerInfo struct { | @@ -35,6 +34,8 @@ type PartnerInfo struct { | ||
| 35 | PartnerCategory int `pg:",default:1"` //partner_category | 34 | PartnerCategory int `pg:",default:1"` //partner_category |
| 36 | //合伙类别 | 35 | //合伙类别 |
| 37 | PartnerCategoryInfos []PartnerCategoryInfo | 36 | PartnerCategoryInfos []PartnerCategoryInfo |
| 37 | + //公司id | ||
| 38 | + CompanyId int64 | ||
| 38 | } | 39 | } |
| 39 | 40 | ||
| 40 | var _ pg.BeforeUpdateHook = (*PartnerInfo)(nil) | 41 | var _ pg.BeforeUpdateHook = (*PartnerInfo)(nil) |
| @@ -30,6 +30,7 @@ func (repository *PartnerInfoRepository) transformPgModelToDomainModel(partnerIn | @@ -30,6 +30,7 @@ func (repository *PartnerInfoRepository) transformPgModelToDomainModel(partnerIn | ||
| 30 | Salesman: partnerInfoModel.Salesman, | 30 | Salesman: partnerInfoModel.Salesman, |
| 31 | RegionInfo: partnerInfoModel.RegionInfo, | 31 | RegionInfo: partnerInfoModel.RegionInfo, |
| 32 | CooperateTime: partnerInfoModel.CooperateTime, | 32 | CooperateTime: partnerInfoModel.CooperateTime, |
| 33 | + CompanyId: partnerInfoModel.CompanyId, | ||
| 33 | } | 34 | } |
| 34 | return m, nil | 35 | return m, nil |
| 35 | } | 36 | } |
| @@ -56,6 +57,7 @@ func (repository *PartnerInfoRepository) Save(dm domain.PartnerInfo) (*domain.Pa | @@ -56,6 +57,7 @@ func (repository *PartnerInfoRepository) Save(dm domain.PartnerInfo) (*domain.Pa | ||
| 56 | Salesman: dm.Salesman, | 57 | Salesman: dm.Salesman, |
| 57 | RegionInfo: dm.RegionInfo, | 58 | RegionInfo: dm.RegionInfo, |
| 58 | CooperateTime: dm.CooperateTime, | 59 | CooperateTime: dm.CooperateTime, |
| 60 | + CompanyId: dm.CompanyId, | ||
| 59 | } | 61 | } |
| 60 | if m.Id == 0 { | 62 | if m.Id == 0 { |
| 61 | err = tx.Insert(m) | 63 | err = tx.Insert(m) |
| @@ -85,6 +87,9 @@ func (repository *PartnerInfoRepository) FindOne(queryOptions domain.PartnerFind | @@ -85,6 +87,9 @@ func (repository *PartnerInfoRepository) FindOne(queryOptions domain.PartnerFind | ||
| 85 | if queryOptions.UserId > 0 { | 87 | if queryOptions.UserId > 0 { |
| 86 | query = query.Where("id=?", queryOptions.UserId) | 88 | query = query.Where("id=?", queryOptions.UserId) |
| 87 | } | 89 | } |
| 90 | + if queryOptions.CompanyId > 0 { | ||
| 91 | + query = query.Where("company_id=?", queryOptions.CompanyId) | ||
| 92 | + } | ||
| 88 | if err := query.First(); err != nil { | 93 | if err := query.First(); err != nil { |
| 89 | return nil, err | 94 | return nil, err |
| 90 | } | 95 | } |
| @@ -105,13 +110,19 @@ func (repository *PartnerInfoRepository) Find(queryOption domain.PartnerFindQuer | @@ -105,13 +110,19 @@ func (repository *PartnerInfoRepository) Find(queryOption domain.PartnerFindQuer | ||
| 105 | if len(queryOption.PartnerCategory) > 0 { | 110 | if len(queryOption.PartnerCategory) > 0 { |
| 106 | query = query.WhereIn("partner_category in(?)", queryOption.PartnerCategory) | 111 | query = query.WhereIn("partner_category in(?)", queryOption.PartnerCategory) |
| 107 | } | 112 | } |
| 113 | + if queryOption.CompanyId > 0 { | ||
| 114 | + query = query.Where("company_id=?", queryOption.CompanyId) | ||
| 115 | + } | ||
| 116 | + if len(queryOption.Ids) > 0 { | ||
| 117 | + query = query.WhereIn("id in(?)", queryOption.Ids) | ||
| 118 | + } | ||
| 108 | if queryOption.Offset > -1 { | 119 | if queryOption.Offset > -1 { |
| 109 | query = query.Offset(queryOption.Offset) | 120 | query = query.Offset(queryOption.Offset) |
| 110 | } | 121 | } |
| 111 | if queryOption.Limit > 0 { | 122 | if queryOption.Limit > 0 { |
| 112 | query = query.Limit(queryOption.Limit) | 123 | query = query.Limit(queryOption.Limit) |
| 113 | } else { | 124 | } else { |
| 114 | - query = query.Limit(20) | 125 | + query = query.Limit(1000) |
| 115 | } | 126 | } |
| 116 | var ( | 127 | var ( |
| 117 | err error | 128 | err error |
| @@ -145,6 +156,9 @@ func (repository PartnerInfoRepository) CountAll(queryOption domain.PartnerFindQ | @@ -145,6 +156,9 @@ func (repository PartnerInfoRepository) CountAll(queryOption domain.PartnerFindQ | ||
| 145 | if len(queryOption.PartnerCategory) > 0 { | 156 | if len(queryOption.PartnerCategory) > 0 { |
| 146 | query = query.WhereIn("partner_category in(?)", queryOption.PartnerCategory) | 157 | query = query.WhereIn("partner_category in(?)", queryOption.PartnerCategory) |
| 147 | } | 158 | } |
| 159 | + if queryOption.CompanyId > 0 { | ||
| 160 | + query = query.Where("company_id=?", queryOption.CompanyId) | ||
| 161 | + } | ||
| 148 | cnt, err := query.Count() | 162 | cnt, err := query.Count() |
| 149 | return cnt, err | 163 | return cnt, err |
| 150 | } | 164 | } |
| @@ -4,6 +4,9 @@ import ( | @@ -4,6 +4,9 @@ import ( | ||
| 4 | "errors" | 4 | "errors" |
| 5 | 5 | ||
| 6 | "github.com/astaxie/beego/logs" | 6 | "github.com/astaxie/beego/logs" |
| 7 | + adminPermissionquery "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/adminPermission/query" | ||
| 8 | + adminPermissionService "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/adminPermission/service" | ||
| 9 | + userCommand "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/users/command" | ||
| 7 | userQuery "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/users/query" | 10 | userQuery "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/users/query" |
| 8 | userService "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/users/service" | 11 | userService "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/users/service" |
| 9 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" | 12 | "gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain" |
| @@ -25,7 +28,7 @@ func (c *UserController) Prepare() { | @@ -25,7 +28,7 @@ func (c *UserController) Prepare() { | ||
| 25 | } | 28 | } |
| 26 | 29 | ||
| 27 | //ListUser 获取用户分页列表 | 30 | //ListUser 获取用户分页列表 |
| 28 | -func (c *AdminUserController) ListUser() { | 31 | +func (c *UserController) ListUser() { |
| 29 | //用与适配前端定义的数据结构 | 32 | //用与适配前端定义的数据结构 |
| 30 | type Paramter struct { | 33 | type Paramter struct { |
| 31 | SearchText string `json:"searchText"` | 34 | SearchText string `json:"searchText"` |
| @@ -52,6 +55,7 @@ func (c *AdminUserController) ListUser() { | @@ -52,6 +55,7 @@ func (c *AdminUserController) ListUser() { | ||
| 52 | UserNameMatch: param.SearchText, | 55 | UserNameMatch: param.SearchText, |
| 53 | Limit: param.PageSize, | 56 | Limit: param.PageSize, |
| 54 | Offset: param.PageSize * (param.PageNumber - 1), | 57 | Offset: param.PageSize * (param.PageNumber - 1), |
| 58 | + CompanyId: c.GetUserCompany(), | ||
| 55 | } | 59 | } |
| 56 | cnt, usersData, err := newUserService.GetUserList(queryOption) | 60 | cnt, usersData, err := newUserService.GetUserList(queryOption) |
| 57 | if err != nil { | 61 | if err != nil { |
| @@ -61,3 +65,97 @@ func (c *AdminUserController) ListUser() { | @@ -61,3 +65,97 @@ func (c *AdminUserController) ListUser() { | ||
| 61 | c.ResponsePageList(usersData, cnt, param.PageNumber) | 65 | c.ResponsePageList(usersData, cnt, param.PageNumber) |
| 62 | return | 66 | return |
| 63 | } | 67 | } |
| 68 | + | ||
| 69 | +//BeforeEditUser 编辑用户数据的前置接口 | ||
| 70 | +func (c *UserController) BeforeEditUser() { | ||
| 71 | + newPermissionSrv := adminPermissionService.NewAdminPermissionService(nil) | ||
| 72 | + allPermission, err := newPermissionSrv.ListAdminPermission(adminPermissionquery.ListAdminPermissionQuery{ | ||
| 73 | + ParentId: 0, | ||
| 74 | + NotCode: []string{domain.PERMINSSION_ADMIN_USER}, | ||
| 75 | + }) | ||
| 76 | + if err != nil { | ||
| 77 | + logs.Error("获取权限数据失败:%s", err) | ||
| 78 | + c.ResponseError(errors.New("服务异常")) | ||
| 79 | + return | ||
| 80 | + } | ||
| 81 | + var rspData []map[string]interface{} | ||
| 82 | + for i := range allPermission { | ||
| 83 | + if allPermission[i].Code == domain.PERMINSSION_ADMIN_USER { | ||
| 84 | + continue | ||
| 85 | + } | ||
| 86 | + m := map[string]interface{}{ | ||
| 87 | + "id": allPermission[i].Id, | ||
| 88 | + "permissionName": allPermission[i].Name, | ||
| 89 | + } | ||
| 90 | + rspData = append(rspData, m) | ||
| 91 | + } | ||
| 92 | + c.ResponseData(rspData) | ||
| 93 | + return | ||
| 94 | +} | ||
| 95 | + | ||
| 96 | +//GetUserData 用户详情页数据 | ||
| 97 | +func (c *UserController) GetUserData() { | ||
| 98 | + //用与适配前端定义的数据结构 | ||
| 99 | + type Paramter struct { | ||
| 100 | + Id int64 `json:"id"` | ||
| 101 | + } | ||
| 102 | + var ( | ||
| 103 | + param Paramter | ||
| 104 | + err error | ||
| 105 | + ) | ||
| 106 | + if err = c.BindJsonData(¶m); err != nil { | ||
| 107 | + logs.Error(err) | ||
| 108 | + c.ResponseError(errors.New("json数据解析失败")) | ||
| 109 | + return | ||
| 110 | + } | ||
| 111 | + companyId := c.GetUserCompany() | ||
| 112 | + newUserService := userService.NewUsersService(nil) | ||
| 113 | + usersData, err := newUserService.GetUserData(param.Id, companyId) | ||
| 114 | + if err != nil { | ||
| 115 | + c.ResponseError(err) | ||
| 116 | + return | ||
| 117 | + } | ||
| 118 | + c.ResponseData(usersData) | ||
| 119 | + return | ||
| 120 | +} | ||
| 121 | + | ||
| 122 | +//EditUserPermission 编辑用户的权限数据 | ||
| 123 | +func (c *UserController) EditUserPermission() { | ||
| 124 | + type PartnerList struct { | ||
| 125 | + Id int64 `json:"id"` | ||
| 126 | + } | ||
| 127 | + type UserDetailParam struct { | ||
| 128 | + Id int64 `json:"id"` | ||
| 129 | + PermissionType []int64 `json:"permissionType"` | ||
| 130 | + CheckedPartner []PartnerList `json:"checkedPartner"` //合伙人 | ||
| 131 | + } | ||
| 132 | + var ( | ||
| 133 | + param UserDetailParam | ||
| 134 | + err error | ||
| 135 | + ) | ||
| 136 | + if err = c.BindJsonData(¶m); err != nil { | ||
| 137 | + logs.Error(err) | ||
| 138 | + c.ResponseError(errors.New("json数据解析失败")) | ||
| 139 | + return | ||
| 140 | + } | ||
| 141 | + companyId := c.GetUserCompany() | ||
| 142 | + newUserService := userService.NewUsersService(nil) | ||
| 143 | + var ( | ||
| 144 | + partnerIds = make([]int64, len(param.CheckedPartner)) | ||
| 145 | + ) | ||
| 146 | + for _, v := range param.CheckedPartner { | ||
| 147 | + partnerIds = append(partnerIds, v.Id) | ||
| 148 | + } | ||
| 149 | + err = newUserService.EditUserPermission(userCommand.EditUserPermissionCommand{ | ||
| 150 | + Id: param.Id, | ||
| 151 | + CompanyId: companyId, | ||
| 152 | + PermissionType: param.PermissionType, | ||
| 153 | + CheckedPartner: partnerIds, | ||
| 154 | + }) | ||
| 155 | + if err != nil { | ||
| 156 | + c.ResponseError(err) | ||
| 157 | + return | ||
| 158 | + } | ||
| 159 | + c.ResponseData(nil) | ||
| 160 | + return | ||
| 161 | +} |
| @@ -14,11 +14,11 @@ func init() { | @@ -14,11 +14,11 @@ func init() { | ||
| 14 | // beego.NSRouter("/pwd-update", &controllers.AdminLoginController{}, "POST:PwdUpdate"), | 14 | // beego.NSRouter("/pwd-update", &controllers.AdminLoginController{}, "POST:PwdUpdate"), |
| 15 | ), | 15 | ), |
| 16 | beego.NSNamespace("/admin", | 16 | beego.NSNamespace("/admin", |
| 17 | - beego.NSRouter("/update", &controllers.AdminUserController{}, "POST:SaveAdminUser"), | ||
| 18 | - beego.NSRouter("/detail", &controllers.AdminUserController{}, "POST:GetAdminUser"), | ||
| 19 | - beego.NSRouter("/list", &controllers.AdminUserController{}, "POST:ListAdminUser"), | ||
| 20 | - beego.NSRouter("/forbidden", &controllers.AdminUserController{}, "POST:ForbiddenAdminUser"), | ||
| 21 | - beego.NSRouter("/permission", &controllers.AdminUserController{}, "POST:BeforeEditAdminUser"), | 17 | + beego.NSRouter("/update", &controllers.UserController{}, "POST:EditUserPermission"), |
| 18 | + beego.NSRouter("/detail", &controllers.UserController{}, "POST:GetUserData"), | ||
| 19 | + beego.NSRouter("/list", &controllers.UserController{}, "POST:ListUser"), | ||
| 20 | + // beego.NSRouter("/forbidden", &controllers.UserController{}, "POST:ForbiddenAdminUser"), | ||
| 21 | + beego.NSRouter("/permission", &controllers.UserController{}, "POST:BeforeEditUser"), | ||
| 22 | ), | 22 | ), |
| 23 | beego.NSNamespace("/partners", | 23 | beego.NSNamespace("/partners", |
| 24 | beego.NSRouter("/list", &controllers.PartnerInfoController{}, "POST:ListPartnerInfo"), | 24 | beego.NSRouter("/list", &controllers.PartnerInfoController{}, "POST:ListPartnerInfo"), |
| @@ -6,7 +6,6 @@ import ( | @@ -6,7 +6,6 @@ import ( | ||
| 6 | ) | 6 | ) |
| 7 | 7 | ||
| 8 | //外部调用,企业平台,总后台调用 | 8 | //外部调用,企业平台,总后台调用 |
| 9 | - | ||
| 10 | func init() { | 9 | func init() { |
| 11 | nsPlatform := beego.NewNamespace("/platform", | 10 | nsPlatform := beego.NewNamespace("/platform", |
| 12 | beego.NSRouter("/action", &controllers.SyncDataController{}, "post:SyncData"), | 11 | beego.NSRouter("/action", &controllers.SyncDataController{}, "post:SyncData"), |
| @@ -14,7 +13,7 @@ func init() { | @@ -14,7 +13,7 @@ func init() { | ||
| 14 | ) | 13 | ) |
| 15 | nsUcenter := beego.NewNamespace("/ucenter", | 14 | nsUcenter := beego.NewNamespace("/ucenter", |
| 16 | beego.NSRouter("/company/allow_forbid", &controllers.SyncDataController{}, "post:AllowForidCompany"), | 15 | beego.NSRouter("/company/allow_forbid", &controllers.SyncDataController{}, "post:AllowForidCompany"), |
| 17 | - beego.NSRouter("/company/info", &controllers.SyncDataController{}, "post:GetCompanyInfo"), | 16 | + //beego.NSRouter("/company/info", &controllers.SyncDataController{}, "post:GetCompanyInfo"), |
| 18 | ) | 17 | ) |
| 19 | 18 | ||
| 20 | beego.AddNamespace(nsPlatform) //企业平台调用 | 19 | beego.AddNamespace(nsPlatform) //企业平台调用 |
-
请 注册 或 登录 后发表评论