Commit b16be92c authored by chenweijian's avatar chenweijian

是否被别人邀请过

parent ddef0d55
......@@ -2,6 +2,8 @@ package invite_m
import (
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/resource/mysql"
"gorm.io/gorm"
"time"
)
......@@ -47,3 +49,16 @@ func GetApplyList(model *domain.Model, userIds []uint64, pageIndex, pageSize, gT
}
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` (
`status` tinyint unsigned NOT NULL COMMENT '状态0.未审核1.已通过2.已拒绝',
`level` varchar(5) NOT NULL DEFAULT '' COMMENT '申请等级(S,A,B,C)',
`video_url` varchar(400) NOT NULL COMMENT '上传的视频url',
`reason` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '拒绝原因',
`created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
......
......@@ -74,15 +74,25 @@ func InviteApply(c *gin.Context) (*mycontext.MyContext, error) {
model.Log.Errorf("InviteApply param:%v", param)
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)
return myCtx, bizerr.InviteApplyNoPermission
}
// 邀请人是否有资格邀请
if !promotion_m.IsPromotionAgent(model, user.ID) {
if user.ID != myUserId && !promotion_m.IsMyPromotionManager(model, user.ID, myUserId) {
model.Log.Errorf("InviteApply 没有邀请资格 param:%v", param)
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)
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