|
@@ -26,7 +26,8 @@ const (
|
|
|
RedisPoly = "poly" // 查白名单用户用的redis
|
|
|
WhitelistRedisKey = "white_%s" // 白名单用户用的redis key
|
|
|
TabelOriginalPowerRecord = "original_power_record"
|
|
|
- TableOriginalUserLedger = "original_user_ledger" // 用户每个月使用的查看原文次数表
|
|
|
+ TableOriginalUserLedger = "original_user_ledger" // 用户每个月使用的查看原文次数表
|
|
|
+ TableOriginalUserAccount = "original_user_account" // 用户查看原文可用总量信息表
|
|
|
)
|
|
|
|
|
|
type UserInfo struct {
|
|
@@ -632,20 +633,43 @@ func (o *OriginalPower) SetUserInfo() {
|
|
|
o.TotalCount = userInfo.Free.Original
|
|
|
o.UserType = UserTypeFree
|
|
|
o.UserState = UserStateFree
|
|
|
- } else if userInfo.Member.Status > 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 总次数如果为多重身份则取最大值 如果用单独配置则取配置
|
|
|
+ // 判断是不是大会员
|
|
|
+ if userInfo.Member.Status > 0 {
|
|
|
o.TotalCount = userInfo.Member.Original
|
|
|
o.UserType = UserTypePay
|
|
|
o.UserState = UserStateMember
|
|
|
- } else if userInfo.Entniche.Status > 0 && userInfo.Entniche.PowerSource < 1 {
|
|
|
+ }
|
|
|
+ // 判断是不是商机管理
|
|
|
+ if userInfo.Entniche.Status > 0 && userInfo.Entniche.PowerSource < 1 && userInfo.Entniche.Original > o.TotalCount {
|
|
|
o.TotalCount = userInfo.Entniche.Original
|
|
|
o.UserType = UserTypePay
|
|
|
o.UserState = UserStateEntniche
|
|
|
- } else if userInfo.Vip.Status > 0 {
|
|
|
+ }
|
|
|
+ // 判断是不是超级订阅
|
|
|
+ if userInfo.Vip.Status > 0 && userInfo.Vip.Original > o.TotalCount {
|
|
|
o.TotalCount = userInfo.Vip.Original
|
|
|
o.UserType = UserTypePay
|
|
|
o.UserState = UserStateVip
|
|
|
}
|
|
|
+ // 查询用户是否有单独配置
|
|
|
+ userAccountTotal := o.GetUserCount()
|
|
|
+ if userAccountTotal > 0 {
|
|
|
+ o.TotalCount = userAccountTotal
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
+// GetUserCount 用户单独配置
|
|
|
+func (o *OriginalPower) GetUserCount() (total int64) {
|
|
|
+ now := date.NowFormat(date.Date_Full_Layout)
|
|
|
+ q := fmt.Sprintf("SELECT total FROM %s where position_id=? and start_time<=? and end_time>=? and state =0 ;", TableOriginalUserAccount)
|
|
|
+ rs := db.Mysql.SelectBySql(q, o.PositionId, now, now)
|
|
|
+ if rs != nil && len(*rs) > 0 {
|
|
|
+ total = util.Int64All((*rs)[0]["total"])
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
// 该节点是否留资
|