|
@@ -2,7 +2,6 @@ package service
|
2
|
2
|
|
3
|
3
|
import (
|
4
|
4
|
"database/sql"
|
5
|
|
- "fmt"
|
6
|
5
|
"strconv"
|
7
|
6
|
"strings"
|
8
|
7
|
"time"
|
|
@@ -349,11 +348,12 @@ type PurviewTreeViewModel struct {
|
349
|
348
|
PID int64 `json:"pid"`
|
350
|
349
|
Name string `json:"name"`
|
351
|
350
|
Childs []*PurviewTreeViewModel `json:"childs"`
|
|
351
|
+ Number int64 `json:"number"`
|
352
|
352
|
}
|
353
|
353
|
|
354
|
|
-func GetAllGeneralPurviewVMsProcessed() ([]*PurviewTreeViewModel, error) {
|
|
354
|
+func GetAllGeneralPurviewVMsProcessed(module int) ([]*PurviewTreeViewModel, error) {
|
355
|
355
|
var originPurviews []*models.Purview
|
356
|
|
- getPurviewErr := readUserDb.Model(models.Purview{}).Where("module = 3 AND status = 1 AND super_admin_exclusive = 0").Order("listorder asc").Order("id asc").Find(&originPurviews).Error
|
|
356
|
+ getPurviewErr := readUserDb.Model(models.Purview{}).Where("module = ? AND status = 1 AND super_admin_exclusive = 0", module).Order("listorder asc").Order("id asc").Find(&originPurviews).Error
|
357
|
357
|
if getPurviewErr != nil {
|
358
|
358
|
return nil, getPurviewErr
|
359
|
359
|
}
|
|
@@ -364,9 +364,10 @@ func GetAllGeneralPurviewVMsProcessed() ([]*PurviewTreeViewModel, error) {
|
364
|
364
|
|
365
|
365
|
|
366
|
366
|
pvm := &PurviewTreeViewModel{
|
367
|
|
- ID: purview.Id,
|
368
|
|
- PID: purview.Parentid,
|
369
|
|
- Name: purview.Name,
|
|
367
|
+ ID: purview.Id,
|
|
368
|
+ PID: purview.Parentid,
|
|
369
|
+ Name: purview.Name,
|
|
370
|
+ Number: 2,
|
370
|
371
|
}
|
371
|
372
|
if purview.Parentid == 0 {
|
372
|
373
|
purviewVMs = append(purviewVMs, pvm)
|
|
@@ -387,6 +388,29 @@ func GetAllGeneralPurviewVMsProcessed() ([]*PurviewTreeViewModel, error) {
|
387
|
388
|
return purviewVMs, nil
|
388
|
389
|
}
|
389
|
390
|
|
|
391
|
+func GetAllGeneralFuncPurviewVMsProcessed() ([]*PurviewTreeViewModel, error) {
|
|
392
|
+ var originPurviews []*models.SgjUserOperatePurview
|
|
393
|
+ getPurviewErr := readUserDb.Model(models.SgjUserOperatePurview{}).Where(" status = 1").Order("id asc").Find(&originPurviews).Error
|
|
394
|
+ if getPurviewErr != nil {
|
|
395
|
+ return nil, getPurviewErr
|
|
396
|
+ }
|
|
397
|
+
|
|
398
|
+ purviewVMs := make([]*PurviewTreeViewModel, 0)
|
|
399
|
+ for _, purview := range originPurviews {
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+ pvm := &PurviewTreeViewModel{
|
|
403
|
+ ID: purview.ID,
|
|
404
|
+ PID: purview.Parentid,
|
|
405
|
+ Name: purview.Name,
|
|
406
|
+ }
|
|
407
|
+ purviewVMs = append(purviewVMs, pvm)
|
|
408
|
+
|
|
409
|
+ }
|
|
410
|
+
|
|
411
|
+ return purviewVMs, nil
|
|
412
|
+}
|
|
413
|
+
|
390
|
414
|
func GetRolePurviewIds(roleID int64) (string, error) {
|
391
|
415
|
var rolePurview models.RolePurview
|
392
|
416
|
err := readUserDb.Where("role_id = ?", roleID).First(&rolePurview).Error
|
|
@@ -426,6 +450,32 @@ func SaveRolePurviewIds(orgID int64, appID int64, roleID int64, purviewIds strin
|
426
|
450
|
return tx.Commit().Error
|
427
|
451
|
}
|
428
|
452
|
|
|
453
|
+func SaveFuncRolePurviewIds(orgID int64, appID int64, roleID int64, funcPurviewIds string) error {
|
|
454
|
+ var rolePurview models.SgjUserRoleFuncPurview
|
|
455
|
+ getRPErr := readUserDb.Where("org_id = ? AND app_id = ? AND role_id = ?", orgID, appID, roleID).First(&rolePurview).Error
|
|
456
|
+ if getRPErr != nil {
|
|
457
|
+ if getRPErr == gorm.ErrRecordNotFound {
|
|
458
|
+ rolePurview = models.SgjUserRoleFuncPurview{
|
|
459
|
+ RoleId: roleID,
|
|
460
|
+ OrgId: orgID,
|
|
461
|
+ AppId: appID,
|
|
462
|
+ Status: 1,
|
|
463
|
+ Ctime: time.Now().Unix(),
|
|
464
|
+ }
|
|
465
|
+ } else {
|
|
466
|
+ return getRPErr
|
|
467
|
+ }
|
|
468
|
+ }
|
|
469
|
+ rolePurview.PurviewIds = funcPurviewIds
|
|
470
|
+ rolePurview.Mtime = time.Now().Unix()
|
|
471
|
+ tx := writeUserDb.Begin()
|
|
472
|
+ if err := tx.Save(&rolePurview).Error; err != nil {
|
|
473
|
+ tx.Rollback()
|
|
474
|
+ return err
|
|
475
|
+ }
|
|
476
|
+ return tx.Commit().Error
|
|
477
|
+}
|
|
478
|
+
|
429
|
479
|
func ModifyAdminUserInfo(adminUserID int64, orgID int64, appID int64, name string, avatar string, newPassword string) error {
|
430
|
480
|
tx := writeUserDb.Begin()
|
431
|
481
|
editInfoErr := tx.Exec("update sgj_user_admin_role set user_name = ?, avatar = ?, mtime = ? where admin_user_id = ? and org_id = ?", name, avatar, time.Now().Unix(), adminUserID, orgID).Error
|
|
@@ -457,7 +507,6 @@ func GetAllOrgValidRoles(orgID int64, isSubSuperAdmin bool) ([]*models.Role, err
|
457
|
507
|
var roles []*models.Role
|
458
|
508
|
db := readUserDb.Model(models.Org{})
|
459
|
509
|
if isSubSuperAdmin {
|
460
|
|
- fmt.Println("1111")
|
461
|
510
|
db = db.Where("role_name != '子管理员' AND is_system != 1")
|
462
|
511
|
}
|
463
|
512
|
err := db.Where("org_id = ? AND status = 1", orgID).
|
|
@@ -557,12 +606,14 @@ func GetAllAdminUsersAndRole(orgID int64, appID int64, page int, count int) ([]*
|
557
|
606
|
}
|
558
|
607
|
|
559
|
608
|
for _, items := range viewModels {
|
560
|
|
- ids := strings.Split(items.RoleIds, ",")
|
561
|
|
- for _, ids := range ids {
|
562
|
|
- id, _ := strconv.ParseInt(ids, 10, 64)
|
563
|
|
- role, _ := GetRoleByRoleID(id)
|
564
|
|
- if role.IsSystem == 1 && role.RoleName == "子管理员" {
|
565
|
|
- items.IsSubAdmin = true
|
|
609
|
+ if len(items.RoleIds) > 0 {
|
|
610
|
+ ids := strings.Split(items.RoleIds, ",")
|
|
611
|
+ for _, ids := range ids {
|
|
612
|
+ id, _ := strconv.ParseInt(ids, 10, 64)
|
|
613
|
+ role, _ := GetRoleByRoleID(id)
|
|
614
|
+ if role.IsSystem == 1 && role.RoleName == "子管理员" {
|
|
615
|
+ items.IsSubAdmin = true
|
|
616
|
+ }
|
566
|
617
|
}
|
567
|
618
|
}
|
568
|
619
|
}
|
|
@@ -590,7 +641,7 @@ func SaveRole(role *models.Role) (err error) {
|
590
|
641
|
func RoleAdminUserCountTwo(orgID int64, appID int64, roleID int64) (int, error) {
|
591
|
642
|
var count int
|
592
|
643
|
err := readUserDb.Model(models.App_Role{}).
|
593
|
|
- Where("org_id = ? AND app_id = ? AND status = 1 AND find_in_set(?, role_ids)", orgID, appID, roleID).
|
|
644
|
+ Where("org_id = ? AND app_id = ? AND find_in_set(?, role_ids)", orgID, appID, roleID).
|
594
|
645
|
Count(&count).
|
595
|
646
|
Error
|
596
|
647
|
if err != nil {
|