|
| 1 | +/* |
| 2 | + * -------------------------------------------------------------------------------- |
| 3 | + * Copyright (c) 2022-NOW(至今) 锋楪技术团队 |
| 4 | + * Author: 锋楪技术团队 (https://www.frontleaves.com) |
| 5 | + * |
| 6 | + * 本文件包含锋楪技术团队项目的源代码,项目的所有源代码均遵循 MIT 开源许可证协议。 |
| 7 | + * -------------------------------------------------------------------------------- |
| 8 | + * 许可证声明: |
| 9 | + * |
| 10 | + * 版权所有 (c) 2022-2025 锋楪技术团队。保留所有权利。 |
| 11 | + * |
| 12 | + * 本软件是“按原样”提供的,没有任何形式的明示或暗示的保证,包括但不限于 |
| 13 | + * 对适销性、特定用途的适用性和非侵权性的暗示保证。在任何情况下, |
| 14 | + * 作者或版权持有人均不承担因软件或软件的使用或其他交易而产生的、 |
| 15 | + * 由此引起的或以任何方式与此软件有关的任何索赔、损害或其他责任。 |
| 16 | + * |
| 17 | + * 使用本软件即表示您了解此声明并同意其条款。 |
| 18 | + * |
| 19 | + * 有关 MIT 许可证的更多信息,请查看项目根目录下的 LICENSE 文件或访问: |
| 20 | + * https://opensource.org/licenses/MIT |
| 21 | + * -------------------------------------------------------------------------------- |
| 22 | + * 免责声明: |
| 23 | + * |
| 24 | + * 使用本软件的风险由用户自担。作者或版权持有人在法律允许的最大范围内, |
| 25 | + * 对因使用本软件内容而导致的任何直接或间接的损失不承担任何责任。 |
| 26 | + * -------------------------------------------------------------------------------- |
| 27 | + */ |
| 28 | + |
| 29 | +package setup |
| 30 | + |
| 31 | +import ( |
| 32 | + "fmt" |
| 33 | + "frontleaves-table-install-cli/models/do" |
| 34 | + "frontleaves-table-install-cli/utils" |
| 35 | + "time" |
| 36 | +) |
| 37 | + |
| 38 | +// OperateSetupUser 创建一些测试用户 |
| 39 | +func (is *InitStruct) OperateSetupUser() { |
| 40 | + |
| 41 | + // 创建一个管理员测试用户 |
| 42 | + var getRoleAdmin = do.CsRole{} |
| 43 | + is.operate.GetDatabase().Where("role_name = '管理员'").First(&getRoleAdmin) |
| 44 | + var newAdminUser = do.CsUser{ |
| 45 | + UserUUID: utils.GenerateUUIDNoDash(), |
| 46 | + Name: "test_admin", |
| 47 | + Password: utils.Encrypt("admin"), |
| 48 | + Email: "admin@x-lf.cn", |
| 49 | + Phone: "18888888880", |
| 50 | + RoleUUID: getRoleAdmin.RoleUUID, |
| 51 | + Permission: utils.Ptr("[]"), |
| 52 | + CreatedAt: time.Now(), |
| 53 | + UpdatedAt: time.Now(), |
| 54 | + } |
| 55 | + tx := is.operate.GetDatabase().Create(&newAdminUser) |
| 56 | + if tx.Error != nil { |
| 57 | + panic(tx.Error) |
| 58 | + } |
| 59 | + fmt.Println("初始化 测试用户[管理员] 成功") |
| 60 | + |
| 61 | + // 创建一个管理用户 |
| 62 | + var getRoleManager = do.CsRole{} |
| 63 | + is.operate.GetDatabase().Where("role_name = '管理'").First(&getRoleManager) |
| 64 | + var newManagerUser = do.CsUser{ |
| 65 | + UserUUID: utils.GenerateUUIDNoDash(), |
| 66 | + Name: "test_manager", |
| 67 | + Password: utils.Encrypt("manager"), |
| 68 | + Email: "manager@x-lf.cn", |
| 69 | + Phone: "18888888881", |
| 70 | + RoleUUID: getRoleAdmin.RoleUUID, |
| 71 | + Permission: utils.Ptr("[]"), |
| 72 | + CreatedAt: time.Now(), |
| 73 | + UpdatedAt: time.Now(), |
| 74 | + } |
| 75 | + tx = is.operate.GetDatabase().Create(&newManagerUser) |
| 76 | + if tx.Error != nil { |
| 77 | + panic(tx.Error) |
| 78 | + } |
| 79 | + fmt.Println("初始化 测试用户[管理] 成功") |
| 80 | + |
| 81 | + // 创建一个教务用户 |
| 82 | + var getRoleAcademic = do.CsRole{} |
| 83 | + is.operate.GetDatabase().Where("role_name = '教务'").First(&getRoleAcademic) |
| 84 | + var getNewAcademicUserUUID = utils.GenerateUUIDNoDash() |
| 85 | + var newAcademicUser = do.CsUser{ |
| 86 | + UserUUID: getNewAcademicUserUUID, |
| 87 | + Name: "test_academic", |
| 88 | + Password: utils.Encrypt("academic"), |
| 89 | + Email: "academic@x-lf.cn", |
| 90 | + Phone: "18888888882", |
| 91 | + RoleUUID: getRoleAcademic.RoleUUID, |
| 92 | + Permission: utils.Ptr("[]"), |
| 93 | + CreatedAt: time.Now(), |
| 94 | + UpdatedAt: time.Now(), |
| 95 | + } |
| 96 | + is.operate.GetDatabase().Create(&newAcademicUser) |
| 97 | + var getDepartment = do.CsDepartment{} |
| 98 | + is.operate.GetDatabase().Where("department_name = '现代农业学院'").First(&getDepartment) |
| 99 | + var newAcademicAffairsPermission = do.CsAcademicAffairsPermission{ |
| 100 | + AcademicAffairsPermissionUUID: utils.GenerateUUIDNoDash(), |
| 101 | + AuthorizedUser: getNewAcademicUserUUID, |
| 102 | + Department: getDepartment.DepartmentUUID, |
| 103 | + Type: 0, |
| 104 | + CreatedAt: time.Now(), |
| 105 | + UpdatedAt: time.Now(), |
| 106 | + } |
| 107 | + tx = is.operate.GetDatabase().Create(&newAcademicAffairsPermission) |
| 108 | + if tx.Error != nil { |
| 109 | + panic(tx.Error) |
| 110 | + } |
| 111 | + fmt.Println("初始化 测试用户[教务] 成功") |
| 112 | + |
| 113 | + // 创建一个教师用户 |
| 114 | + var getRoleTeacher = do.CsRole{} |
| 115 | + is.operate.GetDatabase().Where("role_name = '教师'").First(&getRoleTeacher) |
| 116 | + var getTeacher = do.CsTeacher{} |
| 117 | + is.operate.GetDatabase().Where("name = '测试教师'").First(&getTeacher) |
| 118 | + getTeacher.UserUUID = utils.Ptr(utils.GenerateUUIDNoDash()) |
| 119 | + var newTeacherUser = do.CsUser{ |
| 120 | + UserUUID: *getTeacher.UserUUID, |
| 121 | + Name: "test_teacher", |
| 122 | + Password: utils.Encrypt("teacher"), |
| 123 | + Email: "teacher@x-lf.cn", |
| 124 | + Phone: "18888888883", |
| 125 | + RoleUUID: getRoleAcademic.RoleUUID, |
| 126 | + Permission: utils.Ptr("[]"), |
| 127 | + CreatedAt: time.Now(), |
| 128 | + UpdatedAt: time.Now(), |
| 129 | + } |
| 130 | + tx = is.operate.GetDatabase().Create(&newTeacherUser) |
| 131 | + if tx.Error != nil { |
| 132 | + panic(tx.Error) |
| 133 | + } |
| 134 | + is.operate.GetDatabase().Save(&getTeacher) |
| 135 | + fmt.Println("初始化 测试用户[教师] 成功") |
| 136 | + |
| 137 | + // 创建一个学生用户 |
| 138 | + var getRoleStudent = do.CsRole{} |
| 139 | + is.operate.GetDatabase().Where("role_name = '学生'").First(&getRoleStudent) |
| 140 | + var getStudent = do.CsStudent{} |
| 141 | + is.operate.GetDatabase().Where("name = '筱锋'").First(&getStudent) |
| 142 | + getStudent.UserUUID = utils.Ptr(utils.GenerateUUIDNoDash()) |
| 143 | + var newStudentUser = do.CsUser{ |
| 144 | + UserUUID: *getStudent.UserUUID, |
| 145 | + Name: "test_student", |
| 146 | + Password: utils.Encrypt("student"), |
| 147 | + Email: "student@x-lf.cn", |
| 148 | + Phone: "18888888884", |
| 149 | + Permission: utils.Ptr("[]"), |
| 150 | + RoleUUID: getRoleStudent.RoleUUID, |
| 151 | + CreatedAt: time.Now(), |
| 152 | + UpdatedAt: time.Now(), |
| 153 | + } |
| 154 | + tx = is.operate.GetDatabase().Create(&newStudentUser) |
| 155 | + if tx.Error != nil { |
| 156 | + panic(tx.Error) |
| 157 | + } |
| 158 | + is.operate.GetDatabase().Save(&getStudent) |
| 159 | + fmt.Println("初始化 测试用户[学生] 成功") |
| 160 | +} |
0 commit comments