package system import ( "eta/eta_api/global" "eta/eta_api/utils" "time" ) type SysDepartmentAddReq struct { DepartmentName string `description:"部门名称"` } type SysDepartment struct { DepartmentId int `orm:"column(department_id);pk" gorm:"primaryKey" description:"部门Id"` DepartmentName string `description:"部门名称"` Sort int `description:"排序"` CreateTime time.Time `description:"创建时间"` } func GetSysDepartmentCount(departmentName string) (count int, err error) { sql := `SELECT COUNT(1) AS count FROM sys_department WHERE department_name=? ` o := global.DbMap[utils.DbNameMaster] err = o.Raw(sql, departmentName).Scan(&count).Error return } func AddSysDepartment(item *SysDepartment) (lastId int64, err error) { o := global.DbMap[utils.DbNameMaster] err = o.Create(item).Error if err != nil { return } lastId = int64(item.DepartmentId) return } type SysDepartmentEditReq struct { DepartmentId int `description:"部门Id"` DepartmentName string `description:"部门名称"` } func GetSysDepartmentById(departmentId int) (item *SysDepartment, err error) { sql := `SELECT * FROM sys_department WHERE department_id=? ` o := global.DbMap[utils.DbNameMaster] err = o.Raw(sql, departmentId).First(&item).Error return } func GetSysDepartmentByName(departmentName string) (item *SysDepartment, err error) { sql := `SELECT * FROM sys_department WHERE department_name=? ` o := global.DbMap[utils.DbNameMaster] err = o.Raw(sql, departmentName).First(&item).Error return } func ModifySysDepartment(departmentName string, departmentId int) (err error) { o := global.DbMap[utils.DbNameMaster] to := o.Begin() defer func() { if err != nil { _ = to.Rollback() } else { _ = to.Commit() } }() sql := `UPDATE sys_department SET department_name=? WHERE department_id=? ` err = to.Exec(sql, departmentName, departmentId).Error if err != nil { return } sql = `UPDATE "admin" SET department_name=? WHERE department_id=? ` err = to.Exec(sql, departmentName, departmentId).Error return } type SysDepartmentDeleteReq struct { DepartmentId int `description:"部门Id"` } func DeleteSysDepartment(departmentId int) (err error) { sql := `DELETE FROM sys_department WHERE department_id=? ` o := global.DbMap[utils.DbNameMaster] err = o.Exec(sql, departmentId).Error return } type SysDepartmentList struct { DepartmentId int `orm:"column(department_id);pk" gorm:"primaryKey" description:"部门Id"` DepartmentName string `description:"部门名称"` CreateTime time.Time `description:"创建时间"` Child []*SysGroupList `description:"分组" gorm:"-"` IsDepartment bool `description:"true:部门,false:分组"` } func GetDepartmentList() (items []*SysDepartmentList, err error) { o := global.DbMap[utils.DbNameMaster] sql := `SELECT * FROM sys_department ORDER BY sort ASC, create_time ASC ` err = o.Raw(sql).Find(&items).Error return } // GetDepartmentListByIds 根据部门id集合获取部门列表信息 func GetDepartmentListByIds(departmentIds string) (items []*SysDepartmentList, err error) { o := global.DbMap[utils.DbNameMaster] sql := `SELECT * FROM sys_department where 1 = 1 ` if departmentIds != "" { sql += `and department_id in(` + departmentIds + `) ` } sql += ` ORDER BY sort ASC, create_time ASC ` err = o.Raw(sql).Find(&items).Error return } type SysDepartmentListResp struct { List []*SysDepartmentList } func GetSysDepartmentAll() (item []*SysDepartment, err error) { sql := `SELECT * FROM sys_department ORDER BY sort ASC, department_id ASC ` o := global.DbMap[utils.DbNameMaster] err = o.Raw(sql).Find(&item).Error return } type DepartmentSort struct { DepartmentId int Sort int } func MultiUpdateDepartmentSort(items []*DepartmentSort) (err error) { if len(items) == 0 { return } o := global.DbMap[utils.DbNameMaster] sql := "UPDATE sys_department SET sort = ? WHERE department_id = ?" for _, v := range items { err = o.Exec(sql, v.Sort, v.DepartmentId).Error if err != nil { return } } return } // DepartmentUserTree 部门用户树 type DepartmentUserTree struct { NodeId int `description:"节点ID"` NodeType int `description:"节点类型:1-部门;2-分组;3-用户"` NodeName string `description:"节点名称"` Children []*DepartmentUserTree `description:"子节点" gorm:"-"` }