作者 tangxvhui

bug 修复

@@ -7,6 +7,7 @@ import ( @@ -7,6 +7,7 @@ import (
7 "oppmg/common/log" 7 "oppmg/common/log"
8 "oppmg/models" 8 "oppmg/models"
9 "oppmg/protocol" 9 "oppmg/protocol"
  10 + "oppmg/services/ucenter"
10 "oppmg/utils" 11 "oppmg/utils"
11 "time" 12 "time"
12 13
@@ -185,6 +186,13 @@ func AddCompanyData(data ModuleCompanytData) error { @@ -185,6 +186,13 @@ func AddCompanyData(data ModuleCompanytData) error {
185 newUserCompany *models.UserCompany 186 newUserCompany *models.UserCompany
186 err error 187 err error
187 ) 188 )
  189 + log.Info("获取统一户中心的数据")
  190 + ucenterReturn, err := ucenter.RequestUCenterAddUser(data.User.Phone, data.User.Name, "")
  191 + if err != nil {
  192 + log.Error("请求统一用户中心数据失败:%s", err)
  193 + return errors.New("获取统一用户中心数据失败")
  194 + }
  195 + data.User.OpenId = ucenterReturn.Data.Id
188 o := orm.NewOrm() 196 o := orm.NewOrm()
189 o.Begin() 197 o.Begin()
190 //处理用户数据 198 //处理用户数据
@@ -382,6 +390,7 @@ func AddFirstDepartment(newCompany *models.Company, newusercompany *models.UserC @@ -382,6 +390,7 @@ func AddFirstDepartment(newCompany *models.Company, newusercompany *models.UserC
382 IsTop: 1, 390 IsTop: 1,
383 ParentId: 0, 391 ParentId: 0,
384 Relation: fmt.Sprint(utils.GenerateIDBySonyflake()), 392 Relation: fmt.Sprint(utils.GenerateIDBySonyflake()),
  393 + Id: utils.GenerateID14(),
385 } 394 }
386 _, err = models.AddDepartment(newDepartment, o) 395 _, err = models.AddDepartment(newDepartment, o)
387 if err != nil { 396 if err != nil {
@@ -190,8 +190,7 @@ func departmentRelationUpdate(departmentUpdate models.Department, newparent mode @@ -190,8 +190,7 @@ func departmentRelationUpdate(departmentUpdate models.Department, newparent mode
190 //重建关系树 190 //重建关系树
191 s := strings.TrimLeft(departmentSubset[i].Relation, oldRelation) 191 s := strings.TrimLeft(departmentSubset[i].Relation, oldRelation)
192 departmentSubset[i].Relation = fmt.Sprintf("%s%s", newRelation, s) 192 departmentSubset[i].Relation = fmt.Sprintf("%s%s", newRelation, s)
193 - s1 := strings.Split(departmentSubset[i].Relation, ",")  
194 - departmentSubset[i].Level = len(s1) - 2 193 + departmentSubset[i].Level = setDepartmentLevel(departmentSubset[i].Relation)
195 } 194 }
196 195
197 //修改部门及子级部门的relation 196 //修改部门及子级部门的relation
@@ -257,8 +256,8 @@ func AddDepartmentData(data []ModuleDeparmentData) error { @@ -257,8 +256,8 @@ func AddDepartmentData(data []ModuleDeparmentData) error {
257 departmentData.ParentId = topDepartment.Id 256 departmentData.ParentId = topDepartment.Id
258 departmentData.SetRelation(topDepartment) 257 departmentData.SetRelation(topDepartment)
259 } 258 }
260 - s := strings.Split(departmentData.Relation, ",")  
261 - departmentData.Level = len(s) - 2 259 +
  260 + departmentData.Level = setDepartmentLevel(departmentData.Relation)
262 _, err = models.AddDepartment(departmentData, o) 261 _, err = models.AddDepartment(departmentData, o)
263 if err != nil { 262 if err != nil {
264 e := fmt.Errorf("存储部门数据失败,err:%s", err) 263 e := fmt.Errorf("存储部门数据失败,err:%s", err)
@@ -271,6 +270,11 @@ func AddDepartmentData(data []ModuleDeparmentData) error { @@ -271,6 +270,11 @@ func AddDepartmentData(data []ModuleDeparmentData) error {
271 return nil 270 return nil
272 } 271 }
273 272
  273 +func setDepartmentLevel(relation string) int {
  274 + s := strings.Split(relation, ",")
  275 + return len(s) - 3
  276 +}
  277 +
274 //DeleteDepartmentData ... 278 //DeleteDepartmentData ...
275 func DeleteDepartmentData(ids []int64) error { 279 func DeleteDepartmentData(ids []int64) error {
276 o := orm.NewOrm() 280 o := orm.NewOrm()
@@ -320,7 +320,7 @@ func getRangeDataRelationLsit(rankRangeId int64, rangeType int8) []protocol.Rank @@ -320,7 +320,7 @@ func getRangeDataRelationLsit(rankRangeId int64, rangeType int8) []protocol.Rank
320 } 320 }
321 321
322 func RankRangeNameOnlyOne(rankTypeId int64, rankRangeId int64, name string) bool { 322 func RankRangeNameOnlyOne(rankTypeId int64, rankRangeId int64, name string) bool {
323 - sql := `SELECT 1 FROM rank_range WHERE rank_type_id=? AND name=? AND id<>? LIMIT 1` 323 + sql := `SELECT count(*) FROM rank_range WHERE rank_type_id=? AND name=? AND id<>?`
324 var ( 324 var (
325 err error 325 err error
326 cnt int 326 cnt int
@@ -2,6 +2,8 @@ package utils @@ -2,6 +2,8 @@ package utils
2 2
3 import ( 3 import (
4 "encoding/hex" 4 "encoding/hex"
  5 + "fmt"
  6 + "strconv"
5 7
6 uuid "github.com/satori/go.uuid" 8 uuid "github.com/satori/go.uuid"
7 "github.com/sony/sonyflake" 9 "github.com/sony/sonyflake"
@@ -9,13 +11,26 @@ import ( @@ -9,13 +11,26 @@ import (
9 11
10 var sf = sonyflake.NewSonyflake(sonyflake.Settings{}) 12 var sf = sonyflake.NewSonyflake(sonyflake.Settings{})
11 13
  14 +//GenerateIDBySonyflake 18位雪花id
12 func GenerateIDBySonyflake() int64 { 15 func GenerateIDBySonyflake() int64 {
13 num, _ := sf.NextID() 16 num, _ := sf.NextID()
  17 +
14 return int64(num) 18 return int64(num)
15 } 19 }
16 20
17 func GenerateIDByUUID() string { 21 func GenerateIDByUUID() string {
18 ubyte := uuid.NewV4().Bytes() 22 ubyte := uuid.NewV4().Bytes()
19 s := hex.EncodeToString(ubyte) 23 s := hex.EncodeToString(ubyte)
  24 +
20 return s 25 return s
21 } 26 }
  27 +
  28 +func GenerateID14() int64 {
  29 + num := GenerateIDBySonyflake()
  30 + s := fmt.Sprintf("%d", num)
  31 + if len(s) < 4 {
  32 + return 0
  33 + }
  34 + i, _ := strconv.ParseInt(s[4:], 10, 64)
  35 + return i
  36 +}