|
@@ -2,6 +2,7 @@ package services
|
|
|
|
|
|
import (
|
|
|
"eta/eta_mini_crm/models"
|
|
|
+ "eta/eta_mini_crm/models/response"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
)
|
|
@@ -25,18 +26,22 @@ func GetSysDepartmentPathById(sysDepartmentId int) (path string, err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// GetSysDepartmentList 获得部门的层级列表
|
|
|
func GetSysDepartmentList() ([]*models.SysDepartmentList, error) {
|
|
|
+ // 获取第一层级的部门
|
|
|
departmentList, err := models.GetSysDepartmentListByLevel(1)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
for _, dep := range departmentList {
|
|
|
+ // 第二层级
|
|
|
childDepartmentList, err := models.GetChildSysDepartmentListById(dep.SysDepartmentId)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
dep.Child = childDepartmentList
|
|
|
for _, cdep := range childDepartmentList {
|
|
|
+ // 第三层级
|
|
|
subDepartmentList, err := models.GetChildSysDepartmentListById(cdep.SysDepartmentId)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
@@ -47,12 +52,14 @@ func GetSysDepartmentList() ([]*models.SysDepartmentList, error) {
|
|
|
return departmentList, nil
|
|
|
}
|
|
|
|
|
|
+// DeleteSysDepartmentById 根据部门id去删除部门下的所有子目录,并清除用户的关联信息
|
|
|
func DeleteSysDepartmentById(sysDepartmentId, level int) (err error) {
|
|
|
sysDepartmentIds := make([]string, 0)
|
|
|
sysDepartmentIds = append(sysDepartmentIds, strconv.Itoa(sysDepartmentId))
|
|
|
var curIds = sysDepartmentIds
|
|
|
var curStringIds string
|
|
|
for i := level; i < 3; i++ {
|
|
|
+ // 从当前层部门依次向下遍历子部门
|
|
|
curStringIds = strings.Join(curIds, ",")
|
|
|
sysDepartments, er := models.GetChildSysDepartmentListByIds(curStringIds)
|
|
|
|
|
@@ -69,6 +76,7 @@ func DeleteSysDepartmentById(sysDepartmentId, level int) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// GetSysDepartmentPathIdsById 根据当前部门id获取,部门层级列表pathIds [3]int,0索引表示1级部门id,1表示2级部门id...
|
|
|
func GetSysDepartmentPathIdsById(sysDepartmentId int) (pathIds []int, err error) {
|
|
|
sysDepartment, err := models.GetSysDepartmentById(sysDepartmentId)
|
|
|
if err != nil {
|
|
@@ -88,3 +96,30 @@ func GetSysDepartmentPathIdsById(sysDepartmentId int) (pathIds []int, err error)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// GetSysDepartmentAndSellerById 根据当前部门id,获取部门下的子目录以及销售(系统用户)
|
|
|
+func GetSysDepartmentAndSellerById(sysDepartmentId int, enabled bool) (items []response.DepartmentSellers, err error) {
|
|
|
+ depList, err := models.GetChildSysDepartmentListById(sysDepartmentId)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, dep := range depList {
|
|
|
+ depItem := response.DepartmentSellers{
|
|
|
+ SysDepartmentId: dep.SysDepartmentId,
|
|
|
+ SysDepartmentName: dep.SysDepartmentName,
|
|
|
+ }
|
|
|
+ items = append(items, depItem)
|
|
|
+ }
|
|
|
+ userList, err := models.GetSysUserByDepartmentId(sysDepartmentId, enabled)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, user := range userList {
|
|
|
+ userItem := response.DepartmentSellers{
|
|
|
+ SysUserId: user.SysUserId,
|
|
|
+ SysRealName: user.SysRealName,
|
|
|
+ }
|
|
|
+ items = append(items, userItem)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|