正在显示
1 个修改的文件
包含
27 行增加
和
5 行删除
@@ -464,12 +464,12 @@ func EditRankRange(id int64, name string, rangetype int8, relationId []int64, co | @@ -464,12 +464,12 @@ func EditRankRange(id int64, name string, rangetype int8, relationId []int64, co | ||
464 | var ( | 464 | var ( |
465 | addRangeData []models.RankRangeData | 465 | addRangeData []models.RankRangeData |
466 | ) | 466 | ) |
467 | - newRelationId := getDataForRankRnageRelation(companyid, rangetype, relationId) | ||
468 | - for i := range newRelationId { | 467 | + newRelationIds := getDataForRankRnageRelation(companyid, rangetype, relationId) |
468 | + for i := range newRelationIds { | ||
469 | m := models.RankRangeData{ | 469 | m := models.RankRangeData{ |
470 | RankRangeId: rankRange.Id, | 470 | RankRangeId: rankRange.Id, |
471 | RangeType: rangetype, | 471 | RangeType: rangetype, |
472 | - RelationId: newRelationId[i], | 472 | + RelationId: newRelationIds[i], |
473 | RankTypeId: rankRange.RankTypeId, | 473 | RankTypeId: rankRange.RankTypeId, |
474 | } | 474 | } |
475 | addRangeData = append(addRangeData, m) | 475 | addRangeData = append(addRangeData, m) |
@@ -493,9 +493,9 @@ func EditRankRange(id int64, name string, rangetype int8, relationId []int64, co | @@ -493,9 +493,9 @@ func EditRankRange(id int64, name string, rangetype int8, relationId []int64, co | ||
493 | return protocol.NewErrWithMessage("1") | 493 | return protocol.NewErrWithMessage("1") |
494 | } | 494 | } |
495 | } | 495 | } |
496 | - if len(newRelationId) > 0 { | 496 | + if len(newRelationIds) > 0 { |
497 | //TODO 去除其他分组的重复项 | 497 | //TODO 去除其他分组的重复项 |
498 | - err = deleteRankRangeDataByRelation(rankRange.RankTypeId, rangetype, newRelationId, o) | 498 | + err = deleteRankRangeDataByRelation(rankRange.RankTypeId, rangetype, newRelationIds, o) |
499 | if err != nil { | 499 | if err != nil { |
500 | log.Error(err.Error()) | 500 | log.Error(err.Error()) |
501 | o.Rollback() | 501 | o.Rollback() |
@@ -508,6 +508,13 @@ func EditRankRange(id int64, name string, rangetype int8, relationId []int64, co | @@ -508,6 +508,13 @@ func EditRankRange(id int64, name string, rangetype int8, relationId []int64, co | ||
508 | return protocol.NewErrWithMessage("1") | 508 | return protocol.NewErrWithMessage("1") |
509 | } | 509 | } |
510 | } | 510 | } |
511 | + if len(newRelationIds) > 0 { | ||
512 | + if err = removeRanksNotIn(o, companyid, rankRange.RankTypeId, rankRange.Id, newRelationIds); err != nil { | ||
513 | + log.Error("更新rank数据失败:%s", err) | ||
514 | + o.Rollback() | ||
515 | + return protocol.NewErrWithMessage("1") | ||
516 | + } | ||
517 | + } | ||
511 | o.Commit() | 518 | o.Commit() |
512 | return nil | 519 | return nil |
513 | } | 520 | } |
@@ -918,3 +925,18 @@ where company_id=? and rank_type_id=? and rank_range_id=? and rank_period_id in | @@ -918,3 +925,18 @@ where company_id=? and rank_type_id=? and rank_range_id=? and rank_period_id in | ||
918 | } | 925 | } |
919 | return | 926 | return |
920 | } | 927 | } |
928 | +func removeRanksNotIn(o orm.Ormer, companyId, rankTypeId, rankRangeId int64, relationIds []int64) (err error) { | ||
929 | + var sqlRemoveRanks = fmt.Sprintf(` | ||
930 | + update rank set enable_status=0,update_at=NOW() | ||
931 | +where company_id=? and rank_type_id=? and rank_range_id=? and rank_period_id in | ||
932 | +( | ||
933 | + select id from rank_period where company_id=? and rank_type_id=? and status=1 | ||
934 | +) and relation_id not in (%v) | ||
935 | +`, utils.JoinInt64s(relationIds, ",")) | ||
936 | + if _, err = o.Raw(sqlRemoveRanks, companyId, rankTypeId, rankRangeId, | ||
937 | + companyId, rankTypeId, | ||
938 | + ).Exec(); err != nil { | ||
939 | + return | ||
940 | + } | ||
941 | + return | ||
942 | +} |
-
请 注册 或 登录 后发表评论