|
@@ -115,18 +115,20 @@ func getInfo(infoId string) (hasWinner, hasBuyer bool, infoTypes string) {
|
|
|
}
|
|
|
|
|
|
type BusinessRes struct {
|
|
|
- CheckMember int `json:"check_member" dc:"是否校验大会员权限"`
|
|
|
- Answer string `json:"answer" dc:"答案"`
|
|
|
- AutoUrl string `json:"auto_url" dc:"默认url"`
|
|
|
- Joggle string `json:"joggle" dc:"业务接口"`
|
|
|
- Noperm string `json:"noperm" dc:"无权限回复"`
|
|
|
- Source string `json:"source" dc:"问题所属"`
|
|
|
- ServiceId string `json:"service_id" dc:"大会员功能服务id"`
|
|
|
+ Answer string `json:"answer" dc:"答案"`
|
|
|
+ AutoUrl string `json:"auto_url" dc:"默认url"`
|
|
|
+ Joggle string `json:"joggle" dc:"业务接口"`
|
|
|
+ Noperm string `json:"noperm" dc:"无权限回复"`
|
|
|
+ Source string `json:"source" dc:"问题所属"`
|
|
|
+ CheckMember int `json:"check_member" dc:"是否校验大会员权限"`
|
|
|
+ ServiceId string `json:"service_id" dc:"大会员功能服务id"`
|
|
|
+ CheckNewentniche int `json:"check_newentniche" dc:"校验新版商机管理"`
|
|
|
+ CheckNewvip int `json:"check_newvip" dc:"校验是否是新版超级订阅"`
|
|
|
}
|
|
|
|
|
|
// getIsbusinessData 获取业务规则
|
|
|
func (q *cQuestion) getIsbusinessData(ctx context.Context, code string) (bRes *BusinessRes, err error) {
|
|
|
- res, err := g.Model("ai_question").Ctx(ctx).Fields("check_member", "answer", "auto_url", "joggle", "noperm", "source", "service_id").Where("ai_code = ?", code).One()
|
|
|
+ res, err := g.Model("ai_question").Ctx(ctx).Fields("check_member", "answer", "auto_url", "joggle", "noperm", "source", "service_id", "check_newvip", "check_newentniche").Where("ai_code = ?", code).One()
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -169,25 +171,24 @@ func (q *cQuestion) DetailQuestion(ctx context.Context, qRes *QuestionReq) (repl
|
|
|
powerPass := func() bool {
|
|
|
power := utility.Middleground.PowerCheckCenter.Check(g.Config().MustGet(ctx, "chat.appId").String(), jSession.UserId, jSession.NewUid, jSession.AccountId, jSession.EntId, jSession.PositionType, jSession.PositionId)
|
|
|
// 大会员权益校验
|
|
|
- if bRes.CheckMember == 1 && power.Member.Status <= 0 {
|
|
|
- return false
|
|
|
- }
|
|
|
- // 大会员权益ServiceId校验
|
|
|
- if bRes.ServiceId != "" {
|
|
|
+ if bRes.CheckMember == 1 && power.Member.Status > 0 && bRes.ServiceId != "" {
|
|
|
for _, v := range strings.Split(bRes.ServiceId, ",") {
|
|
|
- var ok bool = false
|
|
|
for _, vv := range power.Member.MemberPowerList {
|
|
|
if gconv.Int64(v) == vv {
|
|
|
- ok = true
|
|
|
- break
|
|
|
+ return true
|
|
|
}
|
|
|
}
|
|
|
- if !ok {
|
|
|
- return false
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
- return true
|
|
|
+ // 校验新版超级订阅
|
|
|
+ if bRes.CheckNewvip == 1 && power.Vip.Upgrade > 0 && power.Vip.Status > 0 {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ // 校验商机管理
|
|
|
+ if bRes.CheckNewentniche == 1 && power.Entniche.Status > 0 && power.Entniche.IsNew > 0 {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
}()
|
|
|
if !powerPass {
|
|
|
return bRes.Noperm, nil, Answer_Isbusiness, nil
|