Commit da1bfa2e authored by chenweijian's avatar chenweijian

im check

parent 9f9b92a7
...@@ -149,9 +149,9 @@ func GetCpInvite(model *domain.Model, userId, userIdInvite uint64, status cp_e.C ...@@ -149,9 +149,9 @@ func GetCpInvite(model *domain.Model, userId, userIdInvite uint64, status cp_e.C
return res, nil return res, nil
} }
func GetCpInviteById(model *domain.Model, id uint64, status cp_e.CpInviteStatus) (*CpInvite, error) { func GetCpInviteById(model *domain.Model, id, userId uint64) (*CpInvite, error) {
res := new(CpInvite) res := new(CpInvite)
err := model.DB().Model(CpInvite{}).Where(CpInvite{Id: id, Status: status}).First(&res).Error err := model.DB().Model(CpInvite{}).Where(CpInvite{Id: id}).Where("user_id = ? or invite_userId = ?", userId, userId).First(&res).Error
if err != nil { if err != nil {
if err == gorm.ErrRecordNotFound { if err == gorm.ErrRecordNotFound {
return nil, nil return nil, nil
......
...@@ -479,15 +479,27 @@ func CheckCpImExpire(c *gin.Context) (*mycontext.MyContext, error) { ...@@ -479,15 +479,27 @@ func CheckCpImExpire(c *gin.Context) (*mycontext.MyContext, error) {
} }
model := domain.CreateModelContext(myCtx) model := domain.CreateModelContext(myCtx)
var resId common.MsgIdType
switch msgType { switch msgType {
case 1: // 邀请的消息im检查是否过期 case 1: // 邀请的消息im检查是否过期
cpRecord, err := cp_m.GetCpInviteById(model, msgId, cp_e.CpInvite) cpRecord, err := cp_m.GetCpInviteById(model, msgId, userId)
if err != nil { if err != nil {
model.Log.Errorf("CheckCpImExpire userId:%d, msgType:%d, msgId:%d, err:%v", userId, msgType, msgId, err) model.Log.Errorf("CheckCpImExpire userId:%d, msgType:%d, msgId:%d, err:%v", userId, msgType, msgId, err)
return myCtx, err return myCtx, err
} }
if cpRecord == nil || cpRecord.Id == 0 { if cpRecord == nil || cpRecord.Id == 0 {
return myCtx, myerr.ToLocal(msg.GetErrByLanguage(model, common.MSG_ID_ALREADY_EXPIRED, lang, comerr.AlreadyExpired)) model.Log.Errorf("CheckCpImExpire userId:%d, msgType:%d, msgId:%d, err:%v", userId, msgType, msgId, bizerr.InvalidParameter)
return myCtx, bizerr.InvalidParameter
}
switch cpRecord.Status {
case cp_e.CpInvite:
if userId == cpRecord.UserId { // 发起人
resId = common.MSG_ID_ALREADY_EXPIRED
}
case cp_e.CpInviteAccept, cp_e.CpInviteRefuse:
resId = common.MSG_ID_ALREADY_EXPIRED
case cp_e.CpInviteExpired:
resId = common.MSG_ID_ALREADY_EXPIRED
} }
case 2: // 解除的消息im检查是否过期 case 2: // 解除的消息im检查是否过期
cpCancel, err := cp_m.GetCpCancelById(model, msgId, cp_e.CpCancel) cpCancel, err := cp_m.GetCpCancelById(model, msgId, cp_e.CpCancel)
...@@ -496,8 +508,22 @@ func CheckCpImExpire(c *gin.Context) (*mycontext.MyContext, error) { ...@@ -496,8 +508,22 @@ func CheckCpImExpire(c *gin.Context) (*mycontext.MyContext, error) {
return myCtx, err return myCtx, err
} }
if cpCancel == nil || cpCancel.Id == 0 { if cpCancel == nil || cpCancel.Id == 0 {
return myCtx, myerr.ToLocal(msg.GetErrByLanguage(model, common.MSG_ID_ALREADY_EXPIRED, lang, comerr.AlreadyExpired)) model.Log.Errorf("CheckCpImExpire userId:%d, msgType:%d, msgId:%d, err:%v", userId, msgType, msgId, bizerr.InvalidParameter)
return myCtx, bizerr.InvalidParameter
} }
switch cpCancel.Status {
case cp_e.CpCancel:
if userId == cpCancel.UserId { // 发起人
resId = common.MSG_ID_ALREADY_EXPIRED
}
case cp_e.CpCancelRevoke, cp_e.CpCancelAccept:
resId = common.MSG_ID_ALREADY_EXPIRED
case cp_e.CpCancelAcceptAuto:
resId = common.MSG_ID_ALREADY_EXPIRED
}
}
if resId > 0 {
return myCtx, myerr.ToLocal(msg.GetErrByLanguage(model, resId, lang, comerr.AlreadyExpired))
} }
resp.ResponseOk(c, cp_cv.CheckCpImRes{}) resp.ResponseOk(c, cp_cv.CheckCpImRes{})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment