作者 tangxvhui

bug 修复

@@ -82,7 +82,7 @@ func UpdateAchievementById(m *Achievement, cols []string, om ...orm.Ormer) (err @@ -82,7 +82,7 @@ func UpdateAchievementById(m *Achievement, cols []string, om ...orm.Ormer) (err
82 } 82 }
83 var num int64 83 var num int64
84 if num, err = o.Update(m, cols...); err == nil { 84 if num, err = o.Update(m, cols...); err == nil {
85 - log.Info("Number of records updated in database:", num) 85 + log.Info("Number of records updated in database:%d", num)
86 } 86 }
87 87
88 return 88 return
@@ -552,7 +552,7 @@ func ValidUserPermission(urlPath string, userid int64, companyid int64) bool { @@ -552,7 +552,7 @@ func ValidUserPermission(urlPath string, userid int64, companyid int64) bool {
552 } 552 }
553 companyinfo, err := models.GetCompanyById(companyid) 553 companyinfo, err := models.GetCompanyById(companyid)
554 if err != nil { 554 if err != nil {
555 - log.Error("获取公司数据失败") 555 + log.Error("获取公司数据失败:err:%s", err)
556 return false 556 return false
557 } 557 }
558 if companyinfo.AdminId == userid { 558 if companyinfo.AdminId == userid {
@@ -589,12 +589,18 @@ func RemoveUserDepartment(data RemoveUserDepartmentData) error { @@ -589,12 +589,18 @@ func RemoveUserDepartment(data RemoveUserDepartmentData) error {
589 err error 589 err error
590 companyData *models.Company 590 companyData *models.Company
591 ) 591 )
  592 + data.DepartmentIds = utils.ArrayInt64Unique(data.DepartmentIds)
  593 + data.UserIds = utils.ArrayInt64Unique(data.UserIds)
592 userDepartmentDatas := make(map[int64][]UserDepartData) 594 userDepartmentDatas := make(map[int64][]UserDepartData)
593 companyData, err = models.GetCompanyByUCenter(data.CompanyId) 595 companyData, err = models.GetCompanyByUCenter(data.CompanyId)
594 if err != nil { 596 if err != nil {
595 log.Error("h获取公司数据失败,user_center_id=%d,err:%s", data.CompanyId, err) 597 log.Error("h获取公司数据失败,user_center_id=%d,err:%s", data.CompanyId, err)
596 return errors.New("获取公司数据失败") 598 return errors.New("获取公司数据失败")
597 } 599 }
  600 + topdepartment, err := models.GetTopDepartmentByCompany(data.CompanyId)
  601 + if err != nil {
  602 + log.Error("获取公司一级部门失败;%s")
  603 + }
598 for _, v := range data.UserIds { 604 for _, v := range data.UserIds {
599 var userDapart []UserDepartData 605 var userDapart []UserDepartData
600 for _, vv := range data.DepartmentIds { 606 for _, vv := range data.DepartmentIds {
@@ -603,6 +609,9 @@ func RemoveUserDepartment(data RemoveUserDepartmentData) error { @@ -603,6 +609,9 @@ func RemoveUserDepartment(data RemoveUserDepartmentData) error {
603 UserId: v, 609 UserId: v,
604 DepartmentId: vv, 610 DepartmentId: vv,
605 } 611 }
  612 + if m.DepartmentId == 0 {
  613 + m.DepartmentId = topdepartment.Id
  614 + }
606 userDapart = append(userDapart, m) 615 userDapart = append(userDapart, m)
607 } 616 }
608 userDepartmentDatas[v] = userDapart 617 userDepartmentDatas[v] = userDapart
@@ -63,3 +63,15 @@ func JoinInt64s(ids []int64, spilt string) string { @@ -63,3 +63,15 @@ func JoinInt64s(ids []int64, spilt string) string {
63 } 63 }
64 return strings.Join(idStrings, spilt) 64 return strings.Join(idStrings, spilt)
65 } 65 }
  66 +
  67 +func ArrayInt64Unique(s []int64) []int64 {
  68 + m := map[int64]bool{}
  69 + newS := []int64{}
  70 + for _, v := range s {
  71 + if _, ok := m[v]; ok {
  72 + continue
  73 + }
  74 + newS = append(newS, v)
  75 + }
  76 + return newS
  77 +}