Browse Source

用户权益不取配置 走mysql

zhangxinlei1996 3 years ago
parent
commit
46174a62c1
1 changed files with 35 additions and 25 deletions
  1. 35 25
      src/jfw/modules/subscribepay/src/entity/member.go

+ 35 - 25
src/jfw/modules/subscribepay/src/entity/member.go

@@ -1,11 +1,11 @@
 package entity
 
 import (
-	"config"
 	"encoding/json"
 	"log"
 	qutil "qfw/util"
 	"qfw/util/jy"
+	"strconv"
 	"strings"
 	"time"
 	"util"
@@ -14,6 +14,32 @@ import (
 type memberStruct struct{}
 
 var MemberStruct memberStruct
+var Bigmember_serice map[int]map[int]int //权益 k:子id ; v:map[int]int{父id:年数量}
+
+func init() {
+	log.Println("初始化大会员权益")
+	//初始化用户权益
+	member_serice := map[int]map[int]int{}
+	if rdata := util.Mysql.SelectBySql(`SELECT id,s_name,i_pid,s_count_year FROM bigmember_service`); rdata != nil && len(*rdata) > 0 {
+		for _, v := range *rdata {
+			sid := qutil.IntAll(v["id"])
+			pid := qutil.IntAll(v["i_pid"])
+			count_year := qutil.IntAll(v["s_count_year"])
+			log.Println(pid, sid, count_year)
+			if pid != 0 {
+				member_serice[sid] = map[int]int{
+					pid: count_year,
+				}
+			} else {
+				member_serice[sid] = map[int]int{
+					sid: count_year,
+				}
+			}
+		}
+	}
+	Bigmember_serice = member_serice
+	log.Println("初始化大会员权益已结束")
+}
 
 //大会员支付完成回调方法
 func (m *memberStruct) PayCallBack(param *CallBackParam) bool {
@@ -88,6 +114,7 @@ func normal_member(level int, enddate time.Time, userId string) {
 	util.MQFW.UpdateById("user", userId, map[string]interface{}{
 		"$set": set,
 	})
+	level = 177
 	//更新大会员用户服务表
 	bigmember_combo_list := util.Mysql.SelectBySql(`SELECT * FROM bigmember_combo a WHERE a.id = ?`, level)
 	serviceCode := "" //大会员服务id集合
@@ -97,36 +124,19 @@ func normal_member(level int, enddate time.Time, userId string) {
 	}
 	if serviceCode != "" {
 		for _, v := range strings.Split(serviceCode, ",") {
+			var s_serviceid = v
 			var frequency = 0
-			if level == 6 {
-				switch v {
-				case "15":
-					frequency = config.MemberConfig.Power.Formal_fwinner
-				case "12", "13", "14", "4": //企业情报监控/企业中标动态默认企业数量/企业全景分析  项目进度监控 默认关注项目数量
-					frequency = config.MemberConfig.Power.Business_enterprise
-				case "7": //潜在客户 默认关注客户数量
-					frequency = config.MemberConfig.Power.Business_project
-				case "17": //每日限量包
-					frequency = config.MemberConfig.Power.Business_package
-				}
-			} else {
-				switch v {
-				case "15":
-					frequency = config.MemberConfig.Power.Formal_fwinner
-				case "12", "13", "4": //企业情报监控/企业中标动态默认企业数量/企业全景分析
-					frequency = config.MemberConfig.Power.Formal_enterprise
-				case "14": //项目进度监控 默认关注项目数量
-					frequency = config.MemberConfig.Power.Formal_project
-				case "7": //潜在客户 默认关注客户数量
-					frequency = config.MemberConfig.Power.Formal_customer
-				case "18": //每日限量包
-					frequency = config.MemberConfig.Power.Formal_package
+			sid, _ := strconv.Atoi(v)
+			if Bigmember_serice[sid] != nil {
+				for k, v := range Bigmember_serice[sid] {
+					s_serviceid = strconv.Itoa(k)
+					frequency = v
 				}
 			}
 			if util.Mysql.CountBySql(`select count(*) from `+jy.BigmemberUserPowerTable+` where s_userid=? and s_serviceid=?`, userId, v) == 0 {
 				insert := map[string]interface{}{
 					"s_userid":     userId,
-					"s_serviceid":  v,
+					"s_serviceid":  s_serviceid,
 					"i_frequency":  frequency,
 					"l_starttime":  qutil.NowFormat(qutil.Date_Full_Layout),
 					"l_endtime":    qutil.FormatDate(&enddate, qutil.Date_Full_Layout),