xingzai 1 år sedan
förälder
incheckning
810f7c6277
3 ändrade filer med 104 tillägg och 60 borttagningar
  1. 11 10
      controllers/activity.go
  2. 53 50
      services/activity.go
  3. 40 0
      services/activity_points.go

+ 11 - 10
controllers/activity.go

@@ -238,15 +238,15 @@ func (this *ActivityCoAntroller) ScheduleList() {
 	}
 
 	//添加我的日程访问记录
-	item := new(models.CygxPageHistoryRecord)
-	item.UserId = user.UserId
-	item.CreateTime = time.Now()
-	item.Mobile = user.Mobile
-	item.Email = user.Email
-	item.CompanyId = user.CompanyId
-	item.CompanyName = user.CompanyName
-	item.PageType = "MySchedule"
-	go models.AddCygxPageHistoryRecord(item)
+	//item := new(models.CygxPageHistoryRecord)
+	//item.UserId = user.UserId
+	//item.CreateTime = time.Now()
+	//item.Mobile = user.Mobile
+	//item.Email = user.Email
+	//item.CompanyId = user.CompanyId
+	//item.CompanyName = user.CompanyName
+	//item.PageType = "MySchedule"
+	//go models.AddCygxPageHistoryRecord(item)
 	resp := new(models.GetCygxActivityListRep)
 
 	//处理音频回放
@@ -2345,6 +2345,7 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 	}
 	mapActivity := make(map[int][]*models.CygxActivityLabelList)
 	mapkeyWord := make(map[string]string)
+	activityPointsByUserAllMap := services.GetActivityPointsByUserAllMap() // 获取对用户进行研选扣点的活动
 	for _, v := range listActivity {
 		if v.KeyWord == "" {
 			continue
@@ -2354,6 +2355,7 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 			v.ActivityTypeId = 2
 		}
 		item := new(models.CygxActivityLabelList)
+		item.IsResearchPoints = activityPointsByUserAllMap[v.ActivityId]
 		item.City = mapCity[fmt.Sprint(v.KeyWord, "{|}", v.ActivityTypeId)]
 		item.KeyWord = services.LabelStrV5(v.KeyWord, v.IsShowSubjectName, v.TemporaryLabel)
 		if _, ok := mapkeyWord[fmt.Sprint(v.ActivityTypeId, "-", item.KeyWord)]; ok {
@@ -2363,7 +2365,6 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 		item.ActivityId = v.ActivityId
 
 		item.IsExternalLabel = v.IsExternalLabel
-		item.IsResearchPoints = v.IsResearchPoints
 
 		mapActivity[v.ActivityTypeId] = append(mapActivity[v.ActivityTypeId], item)
 		mapkeyWord[fmt.Sprint(v.ActivityTypeId, "-", item.KeyWord)] = item.KeyWord

+ 53 - 50
services/activity.go

@@ -2220,109 +2220,112 @@ func DoActivityOnenIdWxTemplateMsg(cont context.Context) (err error) {
 	return
 }
 
-func ActivityButtonShow(item *models.ActivityDetail) (articleDetail *models.ActivityDetail) {
-	articleDetail = item
+func ActivityButtonShow(item *models.ActivityDetail) (activityDetail *models.ActivityDetail) {
+	activityDetail = item
 	//IsShowAppointment       bool                       `description:"是否展示预约纪要"`
 	//IsShowOutboundCall      bool                       `description:"是否展示预约外呼"`
 	//IsShowMeetingReminder   bool                       `description:"是否展示会议提醒"`
 	//IsShowHelpSsk           bool                       `description:"是否展示帮我带问"`
 	//IsShowSignup            bool                       `description:"是否展示我要报名"`
-	if articleDetail.SiginupDeadline == utils.FormatDateTimeInit { //报名截止时间处理
-		articleDetail.SiginupDeadline = ""
+
+	activityPointsByUserAllMap := GetActivityPointsByUserAllMap() // 获取对用户进行研选扣点的活动
+	activityDetail.IsResearchPoints = activityPointsByUserAllMap[activityDetail.ActivityId]
+	if activityDetail.SiginupDeadline == utils.FormatDateTimeInit { //报名截止时间处理
+		activityDetail.SiginupDeadline = ""
 	}
 	//如果报名截止时间不规范,或者是非研选扣点活动就把截止时间设置为空
-	if articleDetail.CancelDeadline == utils.FormatDateTimeInit || !articleDetail.IsResearchPoints {
-		articleDetail.CancelDeadline = ""
+	if activityDetail.CancelDeadline == utils.FormatDateTimeInit || !activityDetail.IsResearchPoints {
+		activityDetail.CancelDeadline = ""
 	}
-	activityTimeText := articleDetail.ActivityTimeText
+	activityTimeText := activityDetail.ActivityTimeText
 	activityTimeText = strings.Replace(activityTimeText, "(", "(", -1)
 	activityTimeText = strings.Replace(activityTimeText, ")", ")", -1)
-	articleDetail.ActivityTimeText = activityTimeText
-	if articleDetail.SourceType != 2 {
-		articleDetail.SourceType = 1
+	activityDetail.ActivityTimeText = activityTimeText
+	if activityDetail.SourceType != 2 {
+		activityDetail.SourceType = 1
 	}
-	articleDetail.IsShowAppointment = false
+	activityDetail.IsShowAppointment = false
 	//易董的操作按钮都隐藏
-	if articleDetail.YidongActivityId != "" {
-		articleDetail.SourceType = 1
-		articleDetail.IsShowSignup = false
-		articleDetail.IsShowDetails = true
+	if activityDetail.YidongActivityId != "" {
+		activityDetail.SourceType = 1
+		activityDetail.IsShowSignup = false
+		activityDetail.IsShowDetails = true
 		return
 	}
 
 	//专家电话会 1
-	if articleDetail.ActivityTypeId == 1 && articleDetail.IsLimitPeople == 0 && (articleDetail.ActiveState == "1" || articleDetail.ActiveState == "2") {
-		articleDetail.IsShowHelpSsk = true
+	if activityDetail.ActivityTypeId == 1 && activityDetail.IsLimitPeople == 0 && (activityDetail.ActiveState == "1" || activityDetail.ActiveState == "2") {
+		activityDetail.IsShowHelpSsk = true
 	}
 	//新的是否展示规则
-	if articleDetail.IsCanAppointmentMinutes == 1 {
-		articleDetail.IsShowAppointment = true
+	if activityDetail.IsCanAppointmentMinutes == 1 {
+		activityDetail.IsShowAppointment = true
 	} else {
-		articleDetail.IsShowAppointment = false
+		activityDetail.IsShowAppointment = false
 	}
-	if articleDetail.ActiveState == "1" {
+	if activityDetail.ActiveState == "1" {
 		//专家电话会 1
 		//专家电话会限制人数的展示我要报名,不限制的展示预约外外呼
-		if articleDetail.ActivityTypeId == 1 {
+		if activityDetail.ActivityTypeId == 1 {
 			//articleDetail.IsShowOutboundCall = true
-			if articleDetail.LimitPeopleNum == 0 {
-				articleDetail.IsShowOutboundCall = true
+			if activityDetail.LimitPeopleNum == 0 {
+				activityDetail.IsShowOutboundCall = true
 				//articleDetail.IsShowHelpSsk = true
 			} else {
-				articleDetail.IsShowSignup = true
+				activityDetail.IsShowSignup = true
 			}
-			articleDetail.IsShowMeetingReminder = true
-			articleDetail.IsShowHelpSsk = true
+			activityDetail.IsShowMeetingReminder = true
+			activityDetail.IsShowHelpSsk = true
 		}
 
 		//分析师电话会 2
-		if articleDetail.ActivityTypeId == 2 {
-			if articleDetail.LimitPeopleNum == 0 {
-				articleDetail.IsShowOutboundCall = true
+		if activityDetail.ActivityTypeId == 2 {
+			if activityDetail.LimitPeopleNum == 0 {
+				activityDetail.IsShowOutboundCall = true
 				//articleDetail.IsShowHelpSsk = true
 			} else {
-				articleDetail.IsShowSignup = true
+				activityDetail.IsShowSignup = true
 			}
-			articleDetail.IsShowMeetingReminder = true
+			activityDetail.IsShowMeetingReminder = true
 		}
 
 		//公司调研电话会 3
-		if articleDetail.ActivityTypeId == 3 {
-			if articleDetail.IsResearchPoints || articleDetail.LimitPeopleNum > 0 {
-				articleDetail.IsShowSignup = true
+		if activityDetail.ActivityTypeId == 3 {
+			if activityDetail.IsResearchPoints || activityDetail.LimitPeopleNum > 0 {
+				activityDetail.IsShowSignup = true
 			} else {
-				articleDetail.IsShowMeetingReminder = true
-				articleDetail.IsShowOutboundCall = true
+				activityDetail.IsShowMeetingReminder = true
+				activityDetail.IsShowOutboundCall = true
 			}
 		}
 
 		//公司线下调研 4
-		if articleDetail.ActivityTypeId == 4 {
-			articleDetail.IsShowSignup = true
+		if activityDetail.ActivityTypeId == 4 {
+			activityDetail.IsShowSignup = true
 		}
 
 		//专家线下沙龙 5
-		if articleDetail.ActivityTypeId == 5 {
-			articleDetail.IsShowSignup = true
+		if activityDetail.ActivityTypeId == 5 {
+			activityDetail.IsShowSignup = true
 		}
 
 		//分析师线下沙龙 6
-		if articleDetail.ActivityTypeId == 6 {
-			articleDetail.IsShowSignup = true
+		if activityDetail.ActivityTypeId == 6 {
+			activityDetail.IsShowSignup = true
 		}
 
 		//分析师电话会(C类) 7
-		if articleDetail.ActivityTypeId == 7 {
-			articleDetail.IsShowSignup = true
-			articleDetail.IsShowMeetingReminder = true
-			articleDetail.ActivityTypeName = "分析师电话会"
+		if activityDetail.ActivityTypeId == 7 {
+			activityDetail.IsShowSignup = true
+			activityDetail.IsShowMeetingReminder = true
+			activityDetail.ActivityTypeName = "分析师电话会"
 		}
 	}
 
 	//如果是易董创建的活动,展示我要报名,不展示预约外呼
-	if articleDetail.IsYidongConduct {
-		articleDetail.IsShowSignup = true
-		articleDetail.IsShowOutboundCall = false
+	if activityDetail.IsYidongConduct {
+		activityDetail.IsShowSignup = true
+		activityDetail.IsShowOutboundCall = false
 	}
 
 	return

+ 40 - 0
services/activity_points.go

@@ -6,6 +6,7 @@ import (
 	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
+	"strconv"
 	"time"
 )
 
@@ -13,6 +14,45 @@ import (
 //	GetActivityPointsAll()
 //}
 
+// GetActivityPointsByUserAllMap 获取所有针对用户扣点的活动
+func GetActivityPointsByUserAllMap() (mapResp map[int]bool) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("GetActivityPointsByUserAllMap,Err:"+err.Error(), 2)
+		}
+	}()
+	var condition string
+	var pars []interface{}
+	//获取所有研选类型的活动
+	condition = `  AND chart_permission_id =   ` + strconv.Itoa(utils.CHART_PERMISSION_ID_YANXUAN)
+	listActivity, e := models.GetActivityListByCondition(condition, pars)
+	if e != nil {
+		err = errors.New("GetActivityListByCondition, Err: " + e.Error())
+		return
+	}
+	var activityIds []int
+	condition = ""
+	pars = make([]interface{}, 0)
+	for _, v := range listActivity {
+		activityIds = append(activityIds, v.ActivityId)
+	}
+	condition += ` AND  points_object  IN  (1,3) `
+	condition += ` AND activity_id IN (` + utils.GetOrmInReplace(len(activityIds)) + `)   `
+	pars = append(pars, activityIds)
+	list, e := models.GetCygxActivityPointsSetList(condition, pars, 0, 0)
+	if e != nil {
+		err = errors.New("GetCygxActivityPointsSetList, Err: " + e.Error())
+		return
+	}
+	mapResp = make(map[int]bool, 0)
+	for _, v := range list {
+		mapResp[v.ActivityId] = true
+	}
+	return
+}
+
 // GetActivityPointsAll 获取所有带有扣点的活动
 func GetActivityPointsAll() (mapResp map[int]bool, err error) {
 	defer func() {