Commit b16be92c authored by chenweijian's avatar chenweijian

是否被别人邀请过

parent ddef0d55
...@@ -2,6 +2,8 @@ package invite_m ...@@ -2,6 +2,8 @@ package invite_m
import ( import (
"git.hilo.cn/hilo-common/domain" "git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/resource/mysql"
"gorm.io/gorm"
"time" "time"
) )
...@@ -47,3 +49,16 @@ func GetApplyList(model *domain.Model, userIds []uint64, pageIndex, pageSize, gT ...@@ -47,3 +49,16 @@ func GetApplyList(model *domain.Model, userIds []uint64, pageIndex, pageSize, gT
} }
return res, count, nil return res, count, nil
} }
// 检查被邀请人是否存在
func IsInInviteApply(model *domain.Model, userId mysql.ID) (bool, error) {
var apply InviteApply
if err := model.Db.Model(InviteApply{}).Where("new_user_id = ?", userId).First(&apply).Error; err != nil {
if err != gorm.ErrRecordNotFound {
return false, err
}
return false, nil
}
// err == nil, record exists
return true, nil
}
...@@ -7,6 +7,7 @@ CREATE TABLE `invite_apply` ( ...@@ -7,6 +7,7 @@ CREATE TABLE `invite_apply` (
`status` tinyint unsigned NOT NULL COMMENT '状态0.未审核1.已通过2.已拒绝', `status` tinyint unsigned NOT NULL COMMENT '状态0.未审核1.已通过2.已拒绝',
`level` varchar(5) NOT NULL DEFAULT '' COMMENT '申请等级(S,A,B,C)', `level` varchar(5) NOT NULL DEFAULT '' COMMENT '申请等级(S,A,B,C)',
`video_url` varchar(400) NOT NULL COMMENT '上传的视频url', `video_url` varchar(400) NOT NULL COMMENT '上传的视频url',
`reason` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '拒绝原因',
`created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
......
...@@ -74,15 +74,25 @@ func InviteApply(c *gin.Context) (*mycontext.MyContext, error) { ...@@ -74,15 +74,25 @@ func InviteApply(c *gin.Context) (*mycontext.MyContext, error) {
model.Log.Errorf("InviteApply param:%v", param) model.Log.Errorf("InviteApply param:%v", param)
return myCtx, bizerr.InvalidParameter return myCtx, bizerr.InvalidParameter
} }
if user.ID != myUserId && !promotion_m.IsMyPromotionManager(model, user.ID, myUserId) { // 邀请人是否有资格邀请
if !promotion_m.IsPromotionAgent(model, user.ID) {
model.Log.Errorf("InviteApply 没有邀请资格 param:%v", param) model.Log.Errorf("InviteApply 没有邀请资格 param:%v", param)
return myCtx, bizerr.InviteApplyNoPermission return myCtx, bizerr.InviteApplyNoPermission
} }
// 邀请人是否有资格邀请 if user.ID != myUserId && !promotion_m.IsMyPromotionManager(model, user.ID, myUserId) {
if !promotion_m.IsPromotionAgent(model, user.ID) {
model.Log.Errorf("InviteApply 没有邀请资格 param:%v", param) model.Log.Errorf("InviteApply 没有邀请资格 param:%v", param)
return myCtx, bizerr.InviteApplyNoPermission return myCtx, bizerr.InviteApplyNoPermission
} }
// 被邀请人是否已经被人提交过申请
isApply, err := invite_m.IsInInviteApply(model, newUser.ID)
if err != nil {
model.Log.Errorf("InviteApply param:%v, err:%v", param, err)
return myCtx, err
}
if isApply {
model.Log.Errorf("InviteApply 已经被别人邀请过了 param:%v", param)
return myCtx, bizerr.InviteApplyAlreadyInvited
}
// 被邀请人是否符合条件 // 被邀请人是否符合条件
isInvite, err := promotion_m.IsPromotionInvitee(model, user.ID) isInvite, err := promotion_m.IsPromotionInvitee(model, user.ID)
if err != nil { if err != nil {
......
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