正在显示
7 个修改的文件
包含
81 行增加
和
13 行删除
@@ -130,7 +130,7 @@ where user_id=? and company_id=? and review_status in (%v) | @@ -130,7 +130,7 @@ where user_id=? and company_id=? and review_status in (%v) | ||
130 | func GetChanceMyApproveChance(uid, cid int64, reviewStatus []int8, lastId int64, pageSize int, v interface{}) (total int, err error) { | 130 | func GetChanceMyApproveChance(uid, cid int64, reviewStatus []int8, lastId int64, pageSize int, v interface{}) (total int, err error) { |
131 | sql := fmt.Sprintf(`select a.*,b.images,b.speechs,b.videos from ( | 131 | sql := fmt.Sprintf(`select a.*,b.images,b.speechs,b.videos from ( |
132 | select a.*,b.user_id,b.source_content,b.enable_status,b.review_status,b.create_at,b.update_at,b.approve_time chance_approve_time from ( | 132 | select a.*,b.user_id,b.source_content,b.enable_status,b.review_status,b.create_at,b.update_at,b.approve_time chance_approve_time from ( |
133 | -select id,approve_time,approve_data,uid,chance_id,approve_message,create_at process_create_time | 133 | +select id,approve_time,approve_data,uid,chance_id,approve_message,update_at process_create_time |
134 | from audit_flow_process where uid=? and enable_status =1 and review_status in (%v) and (?=0 or id<?) | 134 | from audit_flow_process where uid=? and enable_status =1 and review_status in (%v) and (?=0 or id<?) |
135 | )a left outer join chance b on a.chance_id = b.id | 135 | )a left outer join chance b on a.chance_id = b.id |
136 | )a left outer join chance_data b on a.chance_id =b.chance_id | 136 | )a left outer join chance_data b on a.chance_id =b.chance_id |
@@ -183,7 +183,7 @@ func GetUserMsgsBulletin(userId, companyId int64, msgType int, lastId int64, pag | @@ -183,7 +183,7 @@ func GetUserMsgsBulletin(userId, companyId int64, msgType int, lastId int64, pag | ||
183 | func GetChanceMsg(uid, lastId int64, pageSize int, msgType int, v interface{}) (total int, err error) { | 183 | func GetChanceMsg(uid, lastId int64, pageSize int, msgType int, v interface{}) (total int, err error) { |
184 | sql := `select a.*,b.images,b.speechs,b.videos from ( | 184 | sql := `select a.*,b.images,b.speechs,b.videos from ( |
185 | select a.*,b.source_content,b.enable_status,b.user_id chance_user_id,b.create_at,b.review_status,b.approve_data from ( | 185 | select a.*,b.source_content,b.enable_status,b.user_id chance_user_id,b.create_at,b.review_status,b.approve_data from ( |
186 | -select id,company_id,receive_user_id,message,source_id,is_read,chance_id,create_at msg_time,data | 186 | +select id,company_id,receive_user_id,message,source_id,is_read,chance_id,create_at msg_time,data,sender_user_id |
187 | from user_msg where receive_user_id=? and source_type=1 and (?=0 or id<?) and msg_type=? | 187 | from user_msg where receive_user_id=? and source_type=1 and (?=0 or id<?) and msg_type=? |
188 | )a left outer join chance b on a.source_id = b.id | 188 | )a left outer join chance b on a.source_id = b.id |
189 | )a left outer join chance_data b on a.source_id =b.chance_id | 189 | )a left outer join chance_data b on a.source_id =b.chance_id |
@@ -271,6 +271,7 @@ type MsgChanceApproveItemOrm struct { | @@ -271,6 +271,7 @@ type MsgChanceApproveItemOrm struct { | ||
271 | Id int64 `orm:"column(id)"` //消息id | 271 | Id int64 `orm:"column(id)"` //消息id |
272 | MsgTime time.Time `orm:"column(msg_time)"` | 272 | MsgTime time.Time `orm:"column(msg_time)"` |
273 | ReceiveUserId int64 `orm:"column(receive_user_id)"` | 273 | ReceiveUserId int64 `orm:"column(receive_user_id)"` |
274 | + SenderUserId int64 `orm:"column(sender_user_id)"` | ||
274 | CreateTime time.Time `orm:"column(create_at)"` | 275 | CreateTime time.Time `orm:"column(create_at)"` |
275 | Message string `orm:"column(message)"` | 276 | Message string `orm:"column(message)"` |
276 | IsRead int64 `orm:"column(is_read)"` | 277 | IsRead int64 `orm:"column(is_read)"` |
@@ -67,11 +67,34 @@ func SendApproveMsg(receiverId int64, name string, companyId int64, chanceId int | @@ -67,11 +67,34 @@ func SendApproveMsg(receiverId int64, name string, companyId int64, chanceId int | ||
67 | } | 67 | } |
68 | 68 | ||
69 | //发送审批消息 | 69 | //发送审批消息 |
70 | -func SendApproveMsgByFormat(receiverId int64, name string, companyId int64, chanceId int64, chanceTypeId int, format string, data protocol.MsgData) (err error) { | 70 | +func SendApproveMsgWithHeader(header *protocol.RequestHeader, receiverId int64, chanceId int64, chanceTypeId int, reviewStatus int, msgType int, data protocol.MsgData) (err error) { |
71 | + return sendApproveMsg(header, receiverId, "", header.CompanyId, chanceId, chanceTypeId, reviewStatus, msgType, data) | ||
72 | +} | ||
73 | + | ||
74 | +//发送审批消息 | ||
75 | +func sendApproveMsg(header *protocol.RequestHeader, receiverId int64, name string, companyId int64, chanceId int64, chanceTypeId int, reviewStatus int, msgType int, data protocol.MsgData) (err error) { | ||
71 | var ( | 76 | var ( |
72 | userMsg *models.UserMsg | 77 | userMsg *models.UserMsg |
73 | chanceType *models.ChanceType | 78 | chanceType *models.ChanceType |
79 | + format string | ||
74 | ) | 80 | ) |
81 | + switch reviewStatus { | ||
82 | + case protocol.ReviewStatusAuditging: | ||
83 | + format = MessageApproving | ||
84 | + break | ||
85 | + case protocol.ReviewStatusReturn: | ||
86 | + format = MessageApproveReject | ||
87 | + break | ||
88 | + case protocol.ReviewStatusPass: | ||
89 | + format = MessageApproveSuccess | ||
90 | + break | ||
91 | + case protocol.ReviewStatusAutoPass: | ||
92 | + format = MessageApproveAutoPass | ||
93 | + break | ||
94 | + default: | ||
95 | + format = MessageApproving | ||
96 | + break | ||
97 | + } | ||
75 | if chanceType, err = models.GetChanceTypeById(chanceTypeId); err != nil { | 98 | if chanceType, err = models.GetChanceTypeById(chanceTypeId); err != nil { |
76 | return | 99 | return |
77 | } | 100 | } |
@@ -79,18 +102,51 @@ func SendApproveMsgByFormat(receiverId int64, name string, companyId int64, chan | @@ -79,18 +102,51 @@ func SendApproveMsgByFormat(receiverId int64, name string, companyId int64, chan | ||
79 | Id: idgen.Next(), | 102 | Id: idgen.Next(), |
80 | CompanyId: companyId, | 103 | CompanyId: companyId, |
81 | ReceiveUserId: receiverId, | 104 | ReceiveUserId: receiverId, |
82 | - MsgType: protocol.MsgTypeAuditBy, | 105 | + MsgType: msgType, |
83 | Message: fmt.Sprintf(format, chanceType.Name), | 106 | Message: fmt.Sprintf(format, chanceType.Name), |
84 | SourceId: chanceId, | 107 | SourceId: chanceId, |
85 | SourceType: protocol.SourceTypeChance, | 108 | SourceType: protocol.SourceTypeChance, |
86 | IsPublic: 0, | 109 | IsPublic: 0, |
87 | CreateAt: time.Now(), | 110 | CreateAt: time.Now(), |
111 | + ChanceId: chanceId, | ||
112 | + Data: common.AssertJson(data), | ||
113 | + } | ||
114 | + if header != nil { | ||
115 | + userMsg.SenderUserId = header.UserId | ||
116 | + } | ||
117 | + if _, err = models.AddUserMsg(userMsg); err != nil { | ||
118 | + return | ||
119 | + } | ||
120 | + logMsgWithHeaer(header, userMsg, name) | ||
121 | + return | ||
122 | +} | ||
123 | + | ||
124 | +//发送审批消息 | ||
125 | +func SendApproveMsgByFormat(header *protocol.RequestHeader, receiverId int64, chanceId int64, message string, data protocol.MsgData) (err error) { | ||
126 | + var ( | ||
127 | + userMsg *models.UserMsg | ||
128 | + //chanceType *models.ChanceType | ||
129 | + ) | ||
130 | + //if chanceType, err = models.GetChanceTypeById(chanceTypeId); err != nil { | ||
131 | + // return | ||
132 | + //} | ||
133 | + userMsg = &models.UserMsg{ | ||
134 | + Id: idgen.Next(), | ||
135 | + CompanyId: header.CompanyId, | ||
136 | + ReceiveUserId: receiverId, | ||
137 | + MsgType: protocol.MsgTypeAuditBy, | ||
138 | + Message: message, //fmt.Sprintf(message, chanceType.Name), | ||
139 | + SourceId: chanceId, | ||
140 | + SourceType: protocol.SourceTypeChance, | ||
141 | + IsPublic: 0, | ||
142 | + CreateAt: time.Now(), | ||
88 | Data: common.AssertJson(data), | 143 | Data: common.AssertJson(data), |
144 | + SenderUserId: header.UserId, | ||
89 | } | 145 | } |
90 | if _, err = models.AddUserMsg(userMsg); err != nil { | 146 | if _, err = models.AddUserMsg(userMsg); err != nil { |
91 | return | 147 | return |
92 | } | 148 | } |
93 | - logMsg(userMsg, name) | 149 | + logMsg(userMsg, "") |
94 | return | 150 | return |
95 | } | 151 | } |
96 | 152 | ||
@@ -211,6 +267,11 @@ func logMsg(msg *models.UserMsg, name string) { | @@ -211,6 +267,11 @@ func logMsg(msg *models.UserMsg, name string) { | ||
211 | msg.MsgType, msg.ReceiveUserId, name, msg.Message, msg.SourceId, msg.SourceType)) | 267 | msg.MsgType, msg.ReceiveUserId, name, msg.Message, msg.SourceId, msg.SourceType)) |
212 | } | 268 | } |
213 | 269 | ||
270 | +func logMsgWithHeaer(header *protocol.RequestHeader, msg *models.UserMsg, name string) { | ||
271 | + log.Info(fmt.Sprintf("发送消息 消息类型:%v Receiver:%v(%v) Message:%v SourceId:%v SourceType:%v 发送人:%v", | ||
272 | + msg.MsgType, msg.ReceiveUserId, name, msg.Message, msg.SourceId, msg.SourceType, header.UserId)) | ||
273 | +} | ||
274 | + | ||
214 | //保查审核日志 | 275 | //保查审核日志 |
215 | func SaveApproveLog(orm orm.Ormer, code int, userId int64, chanceId int64, param ...interface{}) (err error) { | 276 | func SaveApproveLog(orm orm.Ormer, code int, userId int64, chanceId int64, param ...interface{}) (err error) { |
216 | var ( | 277 | var ( |
@@ -351,6 +351,7 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro | @@ -351,6 +351,7 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro | ||
351 | log.Info(fmt.Sprintf("用户%v 更新机会审核状态 process_id:%v 状态:%v", header.UserId, process.Id, request.ReviewStatus)) | 351 | log.Info(fmt.Sprintf("用户%v 更新机会审核状态 process_id:%v 状态:%v", header.UserId, process.Id, request.ReviewStatus)) |
352 | orm := orm.NewOrm() | 352 | orm := orm.NewOrm() |
353 | orm.Begin() | 353 | orm.Begin() |
354 | + //退回同时生成一条提交记录 | ||
354 | if request.ReviewStatus == protocol.ReviewStatusReturn { | 355 | if request.ReviewStatus == protocol.ReviewStatusReturn { |
355 | mapChance["ReviewStatus"] = int8(request.ReviewStatus) //退回也要更新审核状态 | 356 | mapChance["ReviewStatus"] = int8(request.ReviewStatus) //退回也要更新审核状态 |
356 | //增加一条待处理记录到审核列表 | 357 | //增加一条待处理记录到审核列表 |
@@ -362,10 +363,9 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro | @@ -362,10 +363,9 @@ func ChanceApprove(header *protocol.RequestHeader, request *protocol.ChanceAppro | ||
362 | } | 363 | } |
363 | } | 364 | } |
364 | { | 365 | { |
365 | - //更新下一批次的审核人 | 366 | + //发送审核消息给提交机会的人 |
366 | var nextApprovers []int64 | 367 | var nextApprovers []int64 |
367 | - if err = agg.SendApprovedMsg(chance.UserId, "", | ||
368 | - header.CompanyId, chance.Id, chance.ChanceTypeId, request.ReviewStatus, protocol.MsgTypeAuditBy, protocol.MsgData{Score: &request.ApproveData.Score}); err != nil { | 368 | + if err = agg.SendApproveMsgWithHeader(header, chance.UserId, chance.Id, chance.ChanceTypeId, request.ReviewStatus, protocol.MsgTypeAuditBy, protocol.MsgData{Score: &request.ApproveData.Score}); err != nil { |
369 | log.Error(err) | 369 | log.Error(err) |
370 | orm.Rollback() | 370 | orm.Rollback() |
371 | return | 371 | return |
@@ -474,8 +474,8 @@ func setChanceAutoPass(header *protocol.RequestHeader, chance *models.Chance, or | @@ -474,8 +474,8 @@ func setChanceAutoPass(header *protocol.RequestHeader, chance *models.Chance, or | ||
474 | chance.ApproveTime = time.Now() | 474 | chance.ApproveTime = time.Now() |
475 | chance.ReviewStatus = protocol.ReviewStatusPass | 475 | chance.ReviewStatus = protocol.ReviewStatusPass |
476 | msgData := protocol.MsgData{Score: &approveData.Score} | 476 | msgData := protocol.MsgData{Score: &approveData.Score} |
477 | - if err = agg.SendApproveMsgByFormat(chance.UserId, "", | ||
478 | - header.CompanyId, chance.Id, chance.ChanceTypeId, fmt.Sprintf(agg.MessageApproveAutoPass, chanceType.Name), msgData); err != nil { | 477 | + //发送给机会提交人 |
478 | + if err = agg.SendApproveMsgByFormat(header, chance.UserId, chance.Id, fmt.Sprintf(agg.MessageApproveAutoPass, chanceType.Name), msgData); err != nil { | ||
479 | log.Error(err) | 479 | log.Error(err) |
480 | return | 480 | return |
481 | } | 481 | } |
@@ -1431,7 +1431,7 @@ func MyApproveChance(header *protocol.RequestHeader, request *protocol.MyApprove | @@ -1431,7 +1431,7 @@ func MyApproveChance(header *protocol.RequestHeader, request *protocol.MyApprove | ||
1431 | //CreateTime: chance.CreateTime.Unix() * 1000, | 1431 | //CreateTime: chance.CreateTime.Unix() * 1000, |
1432 | } | 1432 | } |
1433 | if item.ApproveTime < 0 { | 1433 | if item.ApproveTime < 0 { |
1434 | - item.ApproveTime = 0 | 1434 | + item.ApproveTime = chance.UpdateTime.Unix() * 1000 |
1435 | } | 1435 | } |
1436 | jsonUnmarshal(chance.SourceContent, &item.FormList) | 1436 | jsonUnmarshal(chance.SourceContent, &item.FormList) |
1437 | item.FormList = clearEmptyForm(item.FormList) | 1437 | item.FormList = clearEmptyForm(item.FormList) |
@@ -1449,6 +1449,9 @@ func MyApproveChance(header *protocol.RequestHeader, request *protocol.MyApprove | @@ -1449,6 +1449,9 @@ func MyApproveChance(header *protocol.RequestHeader, request *protocol.MyApprove | ||
1449 | //审核过的才有审核时间 | 1449 | //审核过的才有审核时间 |
1450 | if request.ReviewStatus != protocol.ReviewStatusAuditging { | 1450 | if request.ReviewStatus != protocol.ReviewStatusAuditging { |
1451 | approve.ApproveTime = chance.ApproveTime.Unix() * 1000 | 1451 | approve.ApproveTime = chance.ApproveTime.Unix() * 1000 |
1452 | + if approve.ApproveTime < 0 { | ||
1453 | + approve.ApproveTime = chance.ChanceApproveTime.Unix() * 1000 | ||
1454 | + } | ||
1452 | } | 1455 | } |
1453 | commItem.Approve = approve | 1456 | commItem.Approve = approve |
1454 | //审核完有审核数据 | 1457 | //审核完有审核数据 |
@@ -328,8 +328,11 @@ func MsgChanceSubmit(header *protocol.RequestHeader, request *protocol.MsgChance | @@ -328,8 +328,11 @@ func MsgChanceSubmit(header *protocol.RequestHeader, request *protocol.MsgChance | ||
328 | } else if chance.ChanceEnableStatus == 0 { //机会关闭 | 328 | } else if chance.ChanceEnableStatus == 0 { //机会关闭 |
329 | commItem.ChanceStatus = protocol.ChanceStatusClose | 329 | commItem.ChanceStatus = protocol.ChanceStatusClose |
330 | } | 330 | } |
331 | - | ||
332 | - if provider, err = agg.GetUserBaseInfo(chance.ChanceUserId, header.CompanyId); err != nil { | 331 | + approveUserId := chance.ChanceUserId |
332 | + if chance.SenderUserId != 0 { | ||
333 | + approveUserId = chance.SenderUserId | ||
334 | + } | ||
335 | + if provider, err = agg.GetUserBaseInfo(approveUserId, header.CompanyId); err != nil { | ||
333 | commItem.ChanceStatus = protocol.ChanceStatusDelete | 336 | commItem.ChanceStatus = protocol.ChanceStatusDelete |
334 | log.Error(err) | 337 | log.Error(err) |
335 | continue | 338 | continue |
-
请 注册 或 登录 后发表评论