作者 yangfu

排行榜修改

@@ -12,6 +12,7 @@ type ChanceReviseLog struct { @@ -12,6 +12,7 @@ type ChanceReviseLog struct {
12 UserCompanyId int64 `orm:"column(user_company_id);null" description:"用户编号 编辑机会的人"` 12 UserCompanyId int64 `orm:"column(user_company_id);null" description:"用户编号 编辑机会的人"`
13 Data string `orm:"column(data);null" description:"机会数据"` 13 Data string `orm:"column(data);null" description:"机会数据"`
14 CreateAt time.Time `orm:"column(create_at);type(timestamp);null" description:"创建时间"` 14 CreateAt time.Time `orm:"column(create_at);type(timestamp);null" description:"创建时间"`
  15 + AuditFlowLogId int64 `orm:"column(audit_flow_log_id)" description:"审核流日志表"`
15 } 16 }
16 17
17 func (t *ChanceReviseLog) TableName() string { 18 func (t *ChanceReviseLog) TableName() string {
@@ -68,6 +68,7 @@ var ApproveLog = map[int]string{ @@ -68,6 +68,7 @@ var ApproveLog = map[int]string{
68 7: "修改了公开状态:公司公开", //审批通过后修改公开状态(公司公开) 68 7: "修改了公开状态:公司公开", //审批通过后修改公开状态(公司公开)
69 8: "修改了公开状态:%v", //审批通过后修改公开状态(部门公开) 69 8: "修改了公开状态:%v", //审批通过后修改公开状态(部门公开)
70 9: "修改了基础评分:“修改后的基础评分%v分,修改后的附加评分%v分,修改后的价值评分%v分“", //审批通过后修改评分 70 9: "修改了基础评分:“修改后的基础评分%v分,修改后的附加评分%v分,修改后的价值评分%v分“", //审批通过后修改评分
  71 + 10: "补充了机会信息", //审批通过后补充机会
71 } 72 }
72 73
73 //用户项 74 //用户项
@@ -278,6 +278,12 @@ func logMsgWithHeaer(header *protocol.RequestHeader, msg *models.UserMsg, name s @@ -278,6 +278,12 @@ func logMsgWithHeaer(header *protocol.RequestHeader, msg *models.UserMsg, name s
278 278
279 //保查审核日志 279 //保查审核日志
280 func SaveApproveLog(orm orm.Ormer, code int, userId int64, chanceId int64, param ...interface{}) (err error) { 280 func SaveApproveLog(orm orm.Ormer, code int, userId int64, chanceId int64, param ...interface{}) (err error) {
  281 + _, err = SaveApproveLogResult(orm, code, userId, chanceId, param...)
  282 + return
  283 +}
  284 +
  285 +//保查审核日志
  286 +func SaveApproveLogResult(orm orm.Ormer, code int, userId int64, chanceId int64, param ...interface{}) (id int64, err error) {
281 var ( 287 var (
282 message string 288 message string
283 ok bool 289 ok bool
@@ -287,7 +293,7 @@ func SaveApproveLog(orm orm.Ormer, code int, userId int64, chanceId int64, param @@ -287,7 +293,7 @@ func SaveApproveLog(orm orm.Ormer, code int, userId int64, chanceId int64, param
287 return 293 return
288 } 294 }
289 message = fmt.Sprintf(message, param...) 295 message = fmt.Sprintf(message, param...)
290 - if _, err = orm.Insert(&models.AuditFlowLog{ 296 + if id, err = orm.Insert(&models.AuditFlowLog{
291 ChanceId: chanceId, 297 ChanceId: chanceId,
292 Content: message, 298 Content: message,
293 ApproveUserId: userId, 299 ApproveUserId: userId,
@@ -578,7 +578,7 @@ func ChanceUpdate(header *protocol.RequestHeader, request *protocol.ChanceUpdate @@ -578,7 +578,7 @@ func ChanceUpdate(header *protocol.RequestHeader, request *protocol.ChanceUpdate
578 } 578 }
579 auditConfig = &protocol.AuditConfig{NoApprover: template.NoApprover} 579 auditConfig = &protocol.AuditConfig{NoApprover: template.NoApprover}
580 580
581 - CheckChanceDifferent(header, chance, request) 581 + go CheckChanceDifferent(header, chance, request)
582 582
583 orm := orm.NewOrm() 583 orm := orm.NewOrm()
584 orm.Begin() 584 orm.Begin()
@@ -727,6 +727,9 @@ func CheckChanceDifferent(header *protocol.RequestHeader, chance *models.Chance, @@ -727,6 +727,9 @@ func CheckChanceDifferent(header *protocol.RequestHeader, chance *models.Chance,
727 if header.UserId == chance.UserId { 727 if header.UserId == chance.UserId {
728 return 728 return
729 } 729 }
  730 + if chance.ReviewStatus != protocol.ReviewStatusPass {
  731 + return
  732 + }
730 var modifyLog = protocol.ChanceReviseLog{} 733 var modifyLog = protocol.ChanceReviseLog{}
731 checkIsSaveLog := func() { 734 checkIsSaveLog := func() {
732 if !isSaveLog { 735 if !isSaveLog {
@@ -799,6 +802,15 @@ func CheckChanceDifferent(header *protocol.RequestHeader, chance *models.Chance, @@ -799,6 +802,15 @@ func CheckChanceDifferent(header *protocol.RequestHeader, chance *models.Chance,
799 if isSaveLog { 802 if isSaveLog {
800 orm := orm.NewOrm() 803 orm := orm.NewOrm()
801 orm.Begin() 804 orm.Begin()
  805 + var logId int64
  806 + //发送日志
  807 + if id, err := agg.SaveApproveLogResult(orm, 10, header.UserId, chance.Id); err != nil {
  808 + log.Error(err)
  809 + orm.Rollback()
  810 + return
  811 + } else {
  812 + logId = id
  813 + }
802 //保存修改详情 814 //保存修改详情
803 chanceReviseLog = &models.ChanceReviseLog{ 815 chanceReviseLog = &models.ChanceReviseLog{
804 Id: idgen.Next(), 816 Id: idgen.Next(),
@@ -806,6 +818,7 @@ func CheckChanceDifferent(header *protocol.RequestHeader, chance *models.Chance, @@ -806,6 +818,7 @@ func CheckChanceDifferent(header *protocol.RequestHeader, chance *models.Chance,
806 UserCompanyId: header.UserId, 818 UserCompanyId: header.UserId,
807 Data: common.AssertJson(modifyLog), 819 Data: common.AssertJson(modifyLog),
808 CreateAt: time.Now(), 820 CreateAt: time.Now(),
  821 + AuditFlowLogId: logId,
809 } 822 }
810 if _, e := orm.Insert(chanceReviseLog); e != nil { 823 if _, e := orm.Insert(chanceReviseLog); e != nil {
811 log.Error(e) 824 log.Error(e)
@@ -14,6 +14,10 @@ import ( @@ -14,6 +14,10 @@ import (
14 "time" 14 "time"
15 ) 15 )
16 16
  17 +const (
  18 + RankGoroutineNum = 1
  19 +)
  20 +
17 var ComputeRankScoreFlag int32 21 var ComputeRankScoreFlag int32
18 var rankList = initRankList() 22 var rankList = initRankList()
19 23
@@ -44,7 +48,7 @@ type RankOption struct { @@ -44,7 +48,7 @@ type RankOption struct {
44 type RankResult struct{} 48 type RankResult struct{}
45 49
46 //计算排行分 50 //计算排行分
47 -func ComputeRankScore() error { 51 +func ComputeRankScore() (err error) {
48 defer func() { 52 defer func() {
49 if p := recover(); p != nil { 53 if p := recover(); p != nil {
50 log.Error(p) 54 log.Error(p)
@@ -60,7 +64,14 @@ func ComputeRankScore() error { @@ -60,7 +64,14 @@ func ComputeRankScore() error {
60 atomic.CompareAndSwapInt32(&ComputeRankScoreFlag, 1, 0) 64 atomic.CompareAndSwapInt32(&ComputeRankScoreFlag, 1, 0)
61 }() 65 }()
62 //TODO:启用多个协程执行 66 //TODO:启用多个协程执行
63 - return computeRankScore() 67 + if err = computeRankScore(); err != nil {
  68 + log.Error(err)
  69 + }
  70 +
  71 + //更新状态
  72 + //结束过期的到期的榜单
  73 + //开始等待的榜单
  74 + return
64 } 75 }
65 func computeRankScore() (err error) { 76 func computeRankScore() (err error) {
66 var ( 77 var (