Эх сурвалжийг харах

Merge branch 'cygx_11.0' of http://8.136.199.33:3000/hongze/hz_crm_api

xingzai 1 жил өмнө
parent
commit
a0317c92be

+ 40 - 30
controllers/cygx/activity.go

@@ -9,7 +9,6 @@ import (
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/services"
 	cygxService "hongze/hz_crm_api/services/cygx"
-	"hongze/hz_crm_api/services/elastic"
 	"hongze/hz_crm_api/utils"
 	"strconv"
 	"strings"
@@ -108,6 +107,11 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 	videoDetail := req.VideoDetail
 	isBClass := req.IsBClass
 	isResearchPoints := req.IsResearchPoints
+	isShowHz := req.IsShowHz
+	isResearch := req.IsResearch //是否是研选类型的活动
+	if isResearch {
+		req.PermissionName = utils.CHART_PERMISSION_NAME_MF_YANXUAN
+	}
 	var items []*cygx.CygxActivity
 	//temporaryLabel := req.TemporaryLabel
 	industrialManagementIdS := req.IndustrialManagementIdS
@@ -276,17 +280,17 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 		}
 	}
 	permissionName := req.PermissionName
-	List := cygxService.GetActChartPermissionList()
-	var haveCheck bool
-	for _, v := range List {
-		if permissionName == v.PermissionName {
-			haveCheck = true
-		}
-	}
-	if !haveCheck {
-		br.Msg = "行业名称:" + permissionName + "不存在"
-		return
-	}
+	//List := cygxService.GetActChartPermissionList()
+	//var haveCheck bool
+	//for _, v := range List {
+	//	if permissionName == v.PermissionName {
+	//		haveCheck = true
+	//	}
+	//}
+	//if !haveCheck {
+	//	br.Msg = "行业名称:" + permissionName + "不存在"
+	//	return
+	//}
 	if strings.Contains(permissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
 		permissionName = utils.CHART_PERMISSION_NAME_MF_YANXUAN
 	}
@@ -435,6 +439,9 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 			item.Scale = scale
 			item.IsExternalLabel = isExternalLabel
 			item.IsAllCustomerType = req.IsAllCustomerType
+			item.IsShowHz = isShowHz
+			item.ChartPermissionIdDeputy = charInfo.ChartPermissionId
+			item.ChartPermissionNameDeputy = charInfo.PermissionName
 			if len(labelList) == 1 {
 				item.IsCanAppointmentMinutes = labelList[0].IsCanAppointmentMinutes
 			} else {
@@ -674,12 +681,10 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 				//更新活动音频
 				if int(voiceIdNew) > 0 {
 					go cygxService.UpdateResourceData(int(voiceIdNew), "activityvoice", "add", activityInfo.ActivityTime)
-					go elastic.AddComprehensiveActivityVoice(activityId) //更新ES中的活动音频内容
 				}
 				//更新活动视频
 				if int(videoIdNew) > 0 {
 					go cygxService.UpdateResourceData(int(videoIdNew), "activityvideo", "add", activityInfo.ActivityTime)
-					go elastic.AddComprehensiveActivityVideo(activityId) //更新ES中的活动视频内容
 				}
 
 				errAct = err
@@ -708,7 +713,6 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 						go cygxService.DoActivityOnenIdWxTemplateMsg(activityId)
 					}
 				}
-
 				//已结束或者进行中的活动修改时间后,修改活动状态以及重新发送邮件附件
 				if activeState != 0 && activeState != 1 {
 					resultTime := utils.StrTimeToTime(item.ActivityTime) //时间字符串格式转时间格式
@@ -731,10 +735,9 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 				if activityInfo.ActivityName != item.ActivityName || activityInfo.SigninImg == "" {
 					go cygxService.MakeActivitySigninImg(req.ActivityId)
 				}
-
+				//如果活动之前是发布的状态,那么就对公司的扣点进行更新(涉及到新老公司的扣点返点,不放在Redis统一处理了)
 				if activityInfo.PublishStatus == 1 {
-					go cygxService.UpdateYanXuanActivityPointsBillOldComapny(activityInfo, AdminUser.AdminId, itemPointsSet, itemPointsSetOld) //活动发布以及取消发布处理研选扣点,如果活动之前是发布的状态,那么就对公司的扣点进行更新(涉及到新老公司的扣点返点,不放在Redis统一处理了)
-					go elastic.AddComprehensiveActivity(item.ActivityId)                                                                       // Es添加活动
+					go cygxService.UpdateYanXuanActivityPointsBillOldComapny(activityInfo, AdminUser.AdminId, itemPointsSet, itemPointsSetOld) //活动发布以及取消发布处理研选扣点
 				}
 
 				//如果活动之前是未发布的状态,现在又发布了那么就对公司的扣点进行更新
@@ -766,7 +769,6 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 				go cygxService.UpdateResourceData(v, "activity", "add", time.Now().Format(utils.FormatDateTime))
 				go cygxService.YiDongSaveRoadshowDetail(v)
 				go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(v, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣点
-				go elastic.AddComprehensiveActivity(v)                                                    // Es添加活动
 			}
 			go cygxService.MakeActivitySigninImg(v)
 		}
@@ -802,6 +804,7 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 // @Param   PublishEndDate   query   string  false       "发布结束时间,列如2021-03-06 "
 // @Param   KeyWord   query   string  false       "搜索关键词"
 // @Param   ActiveState   query   string  false       "活动进行状态 未开始:NotStarted、进行中HaveInHand、已结束Complete"
+// @Param   IsResearch   query   bool  true       "是否为研选"
 // @Success 200 {object} cygx.GetCygxActivityListRep
 // @router /activity/list [get]
 func (this *ActivityCoAntroller) ActivityList() {
@@ -828,10 +831,12 @@ func (this *ActivityCoAntroller) ActivityList() {
 	publishEndDate := this.GetString("PublishEndDate")
 	keyWord := this.GetString("KeyWord")
 	activeState := this.GetString("ActiveState")
-	activityLabel := this.GetString("ActivityLabel") // 查研观向7.4-活动标签
+	activityLabel := this.GetString("ActivityLabel")   // 查研观向7.4-活动标签
+	isResearch, _ := this.GetBool("IsResearch", false) // 是否为研选 查研观向11.0 (研选活动独立显示)
 	if activeState != "HaveInHand" && activeState != "Complete" {
 		activeState = "NotStarted"
 	}
+
 	var startSize int
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -846,6 +851,11 @@ func (this *ActivityCoAntroller) ActivityList() {
 	if keyWord != "" {
 		condition += ` AND (art.activity_name LIKE '%` + keyWord + `%' )  `
 	}
+	if isResearch {
+		chartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
+	} else {
+		condition += ` AND art.chart_permission_id  !=  '` + strconv.Itoa(utils.CHART_PERMISSION_ID_YANXUAN) + `'`
+	}
 	//行业名称
 	if chartPermissionId > 0 {
 		condition += ` AND art.chart_permission_id  =  '` + strconv.Itoa(chartPermissionId) + `'`
@@ -886,9 +896,7 @@ func (this *ActivityCoAntroller) ActivityList() {
 	}
 	// 活动标签
 	if activityLabel != "" {
-		keywords := "%" + activityLabel + "%"
-		condition += ` AND art.label LIKE ?`
-		pars = append(pars, keywords)
+		condition += ` AND (art.label LIKE '%` + activityLabel + `%' )  `
 	}
 
 	//C类电话会,仅本组销售、部门管理员、admin、权益研究员账号能看到。
@@ -997,13 +1005,16 @@ func (this *ActivityCoAntroller) ActivityList() {
 		}
 		if v.YidongActivityId != "" {
 			list[k].ActivityTypeName += utils.YI_DONG_NAME
+			if v.ChartPermissionNameDeputy != "" && v.ChartPermissionNameDeputy != v.ChartPermissionName {
+				v.ChartPermissionName = v.ChartPermissionNameDeputy // 易董同步过来的活动展示副权限  v11.0
+			}
 		}
 		if v.IsYidongConduct == 1 {
 			list[k].ActivityTypeName += utils.YI_DONG_NAME_TWO
 		}
 		list[k].IsUpload = mapUpload[v.ActivityId]
 		//是否展示签到码
-		if (v.ActivityTypeId == 5 || v.ActivityTypeId == 6) && v.SigninImg != "" && v.ActiveState == 1 && v.PublishStatus == 1 {
+		if (v.ActivityTypeId == 5 || v.ActivityTypeId == 6 || v.ActivityTypeId == 8) && v.SigninImg != "" && v.ActiveState == 1 && v.PublishStatus == 1 {
 			list[k].IsShowSigninButton = true
 		}
 	}
@@ -1190,10 +1201,10 @@ func (this *ActivityCoAntroller) PublishAndCancel() {
 		br.Msg = popupMsg
 		return
 	}
-	if activityInfo.ActiveState != 1 {
-		br.Msg = "活动已经开始,无法修改"
-		return
-	}
+	//if activityInfo.ActiveState != 1 {
+	//	br.Msg = "活动已经开始,无法修改"
+	//	return
+	//}
 	if activityInfo.PublishStatus == 0 {
 		item.PublishStatus = 1
 		item.IsCancel = 0
@@ -1233,8 +1244,6 @@ func (this *ActivityCoAntroller) PublishAndCancel() {
 		go cygxService.YiDongUpdateActivityPublish(activityId)
 	}
 	go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(activityId, AdminUser.AdminId, item.PublishStatus) //活动发布以及取消发布处理研选扣点
-
-	go elastic.AddComprehensiveActivity(activityId) // Es添加活动
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -1316,6 +1325,7 @@ func (this *ActivityCoAntroller) Delete() {
 
 // @Title 获取活动行业分类
 // @Description 获取活动行业分类接口
+// @Param   IsHideResearch  query  bool  false  "是否隐藏买方研选(默认不隐藏)"
 // @Success 200 {object} cygx.ChartPermissionRepMoreList
 // @router /activity/chartPermission/list [get]
 func (this *ActivityCoAntroller) ChartPermissionListAct() {

+ 24 - 15
controllers/cygx/activity_meet.go

@@ -35,6 +35,7 @@ type ActivityMeetCoAntroller struct {
 // @Param   EndDate   query   string  false       "结束时间,列如2021-03-06 "
 // @Param   KeyWord   query   string  false       "搜索关键词"
 // @Param   MeetType   query   int  true       "会议类型 1线上、2线下"
+// @Param   IsResearch   query   bool  true       "是否为研选"
 // @Success 200 {object} cygx.GetCygxMeetListRep
 // @router /activityMeet/list [get]
 func (this *ActivityMeetCoAntroller) MeetList() {
@@ -58,7 +59,7 @@ func (this *ActivityMeetCoAntroller) MeetList() {
 	endDate := this.GetString("EndDate")
 	keyWord := this.GetString("KeyWord")
 	meetType, _ := this.GetInt("MeetType")
-
+	isResearch, _ := this.GetBool("IsResearch", false) // 是否为研选 查研观向11.0 (研选活动独立显示)
 	var startSize int
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -78,11 +79,16 @@ func (this *ActivityMeetCoAntroller) MeetList() {
 	if meetType == 1 {
 		condition += ` AND a.activity_type_id  IN (1,2,3,7)  `
 	} else {
-		condition += ` AND a.activity_type_id  IN (4,5,6) ` //默认
+		condition += ` AND a.activity_type_id  IN (4,5,6,8) ` //默认
 	}
 	if ActivityTypeId != "" {
 		condition += ` AND a.activity_type_id IN (` + ActivityTypeId + `) `
 	}
+	if isResearch {
+		chartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
+	} else {
+		condition += ` AND a.chart_permission_id  !=  '` + strconv.Itoa(utils.CHART_PERMISSION_ID_YANXUAN) + `'`
+	}
 	//行业名称
 	if chartPermissionId > 0 {
 		condition += ` AND a.chart_permission_id  =  '` + strconv.Itoa(chartPermissionId) + `'`
@@ -173,6 +179,10 @@ func (this *ActivityMeetCoAntroller) MeetList() {
 			if v.IsSubmitMeeting == 1 {
 				list[k].IsShowAttendanceDetails = true
 			}
+
+			if v.ChartPermissionNameDeputy != "" && v.ChartPermissionNameDeputy != v.ChartPermissionName {
+				v.ChartPermissionName = v.ChartPermissionNameDeputy // 易董同步过来的活动展示副权限  v11.0
+			}
 		}
 
 		//判断是否是易董在易董举办的会议
@@ -182,7 +192,7 @@ func (this *ActivityMeetCoAntroller) MeetList() {
 			list[k].IsShowUpdateMeeting = false
 		}
 		//是否展示签到码
-		if (v.ActivityTypeId == 5 || v.ActivityTypeId == 6) && v.SigninImg != "" {
+		if (v.ActivityTypeId == 5 || v.ActivityTypeId == 6 || v.ActivityTypeId == 8) && v.SigninImg != "" {
 			list[k].IsShowSigninButton = true
 		}
 		list[k].MeetPeopleNum += v.PotentialPeopleNum //加上潜在客户人数
@@ -341,18 +351,17 @@ func (this *ActivityMeetCoAntroller) MeetingDo() {
 		br.ErrMsg = "操作失败,Err:" + errInfo.Error()
 		return
 	}
-	//校验活动后台管理员、销售是否有修改权限 校验需求取消 2023-7-10
-	//havePower, popupMsg, err := cygxService.CheckActivityUpdatePower(AdminUser.AdminId, activityInfo)
-	//if err != nil {
-	//	br.Msg = "获取管理员身份信息失败"
-	//	br.ErrMsg = "获取管理员身份信息失败,Err:" + err.Error()
-	//	return
-	//}
-	//if !havePower {
-	//	br.Msg = popupMsg
-	//	return
-	//}
-
+	//校验活动后台管理员、销售是否有修改权限
+	havePower, popupMsg, err := cygxService.CheckActivityUpdatePower(AdminUser.AdminId, activityInfo)
+	if err != nil {
+		br.Msg = "获取管理员身份信息失败"
+		br.ErrMsg = "获取管理员身份信息失败,Err:" + err.Error()
+		return
+	}
+	if !havePower {
+		br.Msg = popupMsg
+		return
+	}
 	noMeetingUids, err := cygx.GetSignupUserIds(activityId, meetingUids) //未到会的用户ID
 	if err != nil {
 		br.Msg = "获取信息失败"

+ 15 - 4
controllers/cygx/activity_signup.go

@@ -34,9 +34,10 @@ type ActivitySignupCoAntroller struct {
 // @Param   StartDate   query   string  false       "开始时间 ,列如2021-03-06 "
 // @Param   EndDate   query   string  false       "结束时间,列如2021-03-06 "
 // @Param   KeyWord   query   string  false       "搜索关键词"
-// @Param   SearchType   query   int  true       "筛选类型 1专家/分析师电话会、2专家/分析师线下沙龙 、3公司调研/、4C类电话会"
+// @Param   SearchType   query   int  true       "筛选类型 1专家/分析师电话会、2专家/分析师线下沙龙 、3公司调研/、4C类电话会、5买方线下交流"
 // @Param   ActiveState   query   int  false       "发布状态 ,1未开始、2进行中、3已结束 ,默认1未开始"
 // @Param   PublishStatus   query   int  false       "发布状态 ,0未发布,1已发布,3已取消,传2查询所有"
+// @Param   IsResearch   query   bool  true       "是否为研选"
 // @Success 200 {object} cygx.GetCygxSignupListRep
 // @router /activitySignup/list [get]
 func (this *ActivitySignupCoAntroller) SignupList() {
@@ -62,6 +63,7 @@ func (this *ActivitySignupCoAntroller) SignupList() {
 	activeState, _ := this.GetInt("ActiveState")
 	searchType, _ := this.GetInt("SearchType")
 	publishStatus, _ := this.GetInt("PublishStatus")
+	isResearch, _ := this.GetBool("IsResearch", false) // 是否为研选 查研观向11.0 (研选活动独立显示)
 	if activeState == 0 {
 		activeState = 1
 	}
@@ -78,7 +80,6 @@ func (this *ActivitySignupCoAntroller) SignupList() {
 	var pars []interface{}
 	if keyWord != "" {
 		template.HTMLEscapeString(keyWord)
-		fmt.Println("keyWord", keyWord)
 		keyWord = "%" + keyWord + "%"
 		condition += ` AND (art.activity_name LIKE  ? )  `
 		pars = append(pars, keyWord)
@@ -86,7 +87,9 @@ func (this *ActivitySignupCoAntroller) SignupList() {
 	condition += ` 	 AND art.active_state =  ?  `
 	pars = append(pars, activeState)
 	if ActivityTypeId == "" {
-		if searchType == 4 {
+		if searchType == 5 {
+			condition += ` AND art.activity_type_id  IN (8) `
+		} else if searchType == 4 {
 			condition += ` AND art.activity_type_id  IN (7) `
 		} else if searchType == 3 {
 			condition += ` AND art.activity_type_id  IN (3,4) `
@@ -99,6 +102,11 @@ func (this *ActivitySignupCoAntroller) SignupList() {
 	if ActivityTypeId != "" {
 		condition += ` AND art.activity_type_id IN (` + ActivityTypeId + `) `
 	}
+	if isResearch {
+		chartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
+	} else {
+		condition += ` AND art.chart_permission_id  !=  '` + strconv.Itoa(utils.CHART_PERMISSION_ID_YANXUAN) + `'`
+	}
 	//行业名称
 	if chartPermissionId > 0 {
 		condition += ` AND art.chart_permission_id  =  '` + strconv.Itoa(chartPermissionId) + `'`
@@ -157,6 +165,10 @@ func (this *ActivitySignupCoAntroller) SignupList() {
 		//	list[k].IsShowAppointment = cygxService.IsShowAppointmentByadminSet(v.IsCanAppointmentMinutes)
 		//}
 		activityIds += strconv.Itoa(v.ActivityId) + ","
+
+		if v.ChartPermissionNameDeputy != "" && v.ChartPermissionNameDeputy != v.ChartPermissionName && v.YidongActivityId != "" {
+			v.ChartPermissionName = v.ChartPermissionNameDeputy // 易董同步过来的活动展示副权限  v11.0
+		}
 	}
 	activityIds = strings.TrimRight(activityIds, ",")
 	mapIndustrial := make(map[int]string)
@@ -1726,7 +1738,6 @@ func (this *ActivitySignupCoAntroller) AddSignuUser() {
 					br.ErrMsg = "活动ID:" + strconv.Itoa(activityId) + "活动名称:" + activityInfo.ActivityName + "用户ID:" + strconv.Itoa(int(wxUser.UserId))
 					return
 				}
-
 				popupMsg, err := cygxService.CheckActivityUserAll(activityInfo, wxUser)
 				if err != nil {
 					br.Msg = "报名失败!"

+ 17 - 2
controllers/cygx/cygx_activity_type.go

@@ -15,6 +15,7 @@ type ActivityTypeCoAntroller struct {
 
 // @Title 活动类型列表
 // @Description活动类型列表接口
+// @Param   IsResearch   query   bool  true       "是否为研选"
 // @Success 200 {object} cygx.ActivityTypeListResp
 // @router /activityType/list [get]
 func (this *ActivityTypeCoAntroller) List() {
@@ -30,8 +31,15 @@ func (this *ActivityTypeCoAntroller) List() {
 		br.Ret = 408
 		return
 	}
+	isResearch, _ := this.GetBool("IsResearch", false)
+	var condition string
 	resp := new(cygx.ActivityTypeListResp)
-	list, err := cygx.GetActivityTypeList()
+	if isResearch {
+		condition = " source_type IN (0,2) "
+	} else {
+		condition = " source_type IN (0,1) "
+	}
+	list, err := cygx.GetActivityTypeSearchList(condition)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取数据失败,Err:" + err.Error()
@@ -94,7 +102,7 @@ func (this *ActivityTypeCoAntroller) Detail() {
 
 // @Title 活动类型列表小分类筛选
 // @Description 获取活动类型列表小分类筛选接口
-// @Param   SearchType   query   int  true       "筛选类型 1专家/分析师话会、2专家/分析师线下沙龙 、3公司调研/ 4、C类电话会"
+// @Param   SearchType   query   int  true       "筛选类型 1专家/分析师话会、2专家/分析师线下沙龙 、3公司调研/ 4、C类电话会"
 // @Success 200 {object} cygx.ActivityTypeListResp
 // @router /activityType/listSearch [get]
 func (this *ActivityTypeCoAntroller) ListSearch() {
@@ -138,6 +146,7 @@ func (this *ActivityTypeCoAntroller) ListSearch() {
 // @Title 线上、线下会议类型
 // @Description 线上、线下会议类型
 // @Param   MeetType   query   int  true       "会议类型 1线上、2线下"
+// @Param   IsResearch   query   bool  true       "是否为研选"
 // @Success 200 {object} cygx.ActivityTypeListResp
 // @router /activityType/meetType [get]
 func (this *ActivityTypeCoAntroller) MeetType() {
@@ -154,6 +163,7 @@ func (this *ActivityTypeCoAntroller) MeetType() {
 		return
 	}
 	meetType, _ := this.GetInt("MeetType")
+	isResearch, _ := this.GetBool("IsResearch", false) // 是否为研选 查研观向11.0 (研选活动独立显示)
 	resp := new(cygx.ActivityTypeListResp)
 	var condition string
 	if meetType == 1 {
@@ -161,6 +171,11 @@ func (this *ActivityTypeCoAntroller) MeetType() {
 	} else {
 		condition += ` activity_type  = 0 `
 	}
+	if isResearch {
+		condition += " AND  source_type IN (0,2) "
+	} else {
+		condition += " AND source_type IN (0,1) "
+	}
 	list, err := cygx.GetActivityTypeSearchList(condition)
 	if err != nil {
 		br.Msg = "获取失败"

+ 9 - 2
controllers/cygx/industrial_management.go

@@ -30,6 +30,7 @@ type IndustrialManagementController struct {
 // @Title 获取一级分类
 // @Description 获取一级分类接口
 // @Param   HideMacro  query  bool  false  "是否隐藏宏观(默认不隐藏)"
+// @Param   IsHideResearch  query  bool  false  "是否隐藏买方研选(默认不隐藏)"
 // @Param   IsCeLueReport  query  bool  false  "是否是策略平台的报告类型"
 // @Success 200 {object} cygx.ChartPermissionResp
 // @router /chartPermission/first [get]
@@ -41,6 +42,7 @@ func (this *IndustrialManagementController) ChartPermissionList() {
 	}()
 	// 是否隐藏宏观
 	hideMacro, _ := this.GetBool("HideMacro")
+	isHideResearch, _ := this.GetBool("IsHideResearch")
 	isCeLueReport, _ := this.GetBool("IsCeLueReport")
 	resp := new(cygx.ChartPermissionResp)
 	list, err := cygx.GetChartPermissionAll()
@@ -61,15 +63,20 @@ func (this *IndustrialManagementController) ChartPermissionList() {
 		item.ChartPermissionId = utils.GU_SHOU_ID
 		resp.List = append(resp.List, item)
 	} else {
+		for _, v := range list {
+			if v.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN && isHideResearch {
+				continue
+			}
+			resp.List = append(resp.List, v)
+		}
 		// 查研观向7.4-新增一个宏观
 		if !hideMacro {
 			macro := &cygx.ChartPermission{
 				ChartPermissionId: 1,
 				PermissionName:    "宏观",
 			}
-			list = append(list, macro)
+			resp.List = append(resp.List, macro)
 		}
-		resp.List = list
 	}
 
 	br.Ret = 200

+ 1 - 1
models/company/company.go

@@ -109,7 +109,7 @@ func GetCompanySearchList(condition string, pars []interface{}, limitParam ...in
 			b.freeze_time,b.loss_time,a.lose_reason,b.is_suspend,b.seller_id,b.product_id,b.group_id,b.formal_time,b.freeze_time,
 			GROUP_CONCAT(b.start_date ORDER BY b.product_id ASC SEPARATOR '/') AS start_date,
 			GROUP_CONCAT(b.end_date ORDER BY b.product_id ASC SEPARATOR '/') AS end_date,
-			GROUP_CONCAT(DISTINCT b.company_type ORDER BY b.product_id ASC SEPARATOR '/') AS company_type,
+			GROUP_CONCAT(DISTINCT b.product_name ORDER BY b.product_id ASC SEPARATOR '/') AS company_type,
             GROUP_CONCAT(DISTINCT b.approve_status ORDER BY b.product_id ASC SEPARATOR '/') AS approve_status,
             GROUP_CONCAT(DISTINCT b.freeze_start_date ORDER BY b.product_id ASC SEPARATOR '/') AS freeze_start_date,
             GROUP_CONCAT(DISTINCT b.freeze_end_date ORDER BY b.product_id ASC SEPARATOR '/') AS freeze_end_date

+ 164 - 150
models/cygx/activity.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
+	"hongze/hz_crm_api/utils"
 	"time"
 )
 
@@ -76,6 +77,8 @@ type ActivityRep struct {
 	IsNeedEmail             int                       `description:"是否需要提供邮箱 1是,0否"`
 	SiginupDeadline         string                    `description:"报名截止时间"`
 	IsResearchPoints        int                       `description:"是否为研选扣点  1是,0否"`
+	IsResearch              bool                      `description:"是否为研选"`
+	IsShowHz                int                       `description:"是否同时在弘则展示  1是,0否"`
 	PointsSet               *CygxActivityPointsSetRsq `description:"研选扣点明细"`
 	IsAllCustomerType       int                       `description:"是否全选活动可见类型 0无 1全选"`
 	List                    []*ActivityGroupIndustrialRep
@@ -94,72 +97,74 @@ type ActivityGroupIndustrialRep struct {
 
 // 活动详情
 type ActivityDetail struct {
-	ActivityId              int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
-	ActivityTypeId          int    `description:"活动类型id"`
-	ActivityTypeName        string `description:"活动类型名称"`
-	ChartPermissionId       int    `description:"行业id"`
-	ChartPermissionName     string `description:"行业名称"`
-	Body                    string `description:"内容"`
-	CreateTime              string `description:"创建时间"`
-	IsLimitPeople           int    `description:"是否限制人数 1是,0否"`
-	LimitPeopleNum          string `description:"限制的人数数量"`
-	CustomerTypeIds         string `description:"活动可见的客户类型,多个ID用 , 隔开"`
-	PublishStatus           int    `description:"发布状态 1已发布,0未发布"`
-	LastUpdatedTime         string `description:"更新时间"`
-	ActivityTime            string `description:"活动时间"`
-	ActivityTimeText        string `description:"活动时间带文字"`
-	DistinguishedGuest      string `description:"嘉宾"`
-	Host                    string `description:"主持人"`
-	MainlandTell            string `description:"大陆拨入号"`
-	HongKongTell            string `description:"香港拨入号"`
-	TaiwanTell              string `description:"台湾拨入号"`
-	AmericaTell             string `description:"美国拨入号"`
-	ParticipationCode       string `description:"参会密码"`
-	Theme                   string `description:"主题"`
-	Expert                  string `description:"专家"`
-	ActivityName            string `description:"活动名称"`
-	OnlineParticipation     string `description:"网络参会"`
-	ReportLink              string `description:"报告链接"`
-	City                    string `description:"城市"`
-	Address                 string `description:"活动地址"`
-	Highlights              string `description:"活动亮点"`
-	Remarks                 string `description:"备注"`
-	ShowType                string `description:"人数限制类型,1不展示限制,2可选限制,3强制限制"`
-	Speaker                 string `description:"主讲人"`
-	ActiveState             int    `description:"活动进行状态 未开始:1、进行中2、已结束3"`
-	IsSubmitMeeting         int    `description:"是否提交过到会情况,1是,0否"`
-	TemporaryLabel          string `description:"临时标签"`
-	IsMakerShow             int    `description:"是否仅决策人可见 0,否 、1,是"`
-	VisibleRange            int    `description:"可见范围 1,仅本组可见 、2,全部客户可见"`
-	Scale                   string `description:"管理规模,空不填,1::50亿以下,2:50~100亿,3:100亿以上。多个用, 隔开"`
-	IsShowSubjectName       int    `description:"小程序内是否展示标的名称 1是 ,0 否 默认0 "`
-	AdminId                 int    `description:"销售/管理员ID"`
-	AdminName               string `description:"销售/管理员姓名"`
-	IsHideAppointment       int    `description:"是否隐藏预约纪要按钮  1是,0 否"`
-	PermissionType          int    `description:"1主观,2客观"`
-	Label                   string `description:"标签"`
-	ListIndustrial          []*IndustrialActivityGroupManagementRep
-	ListSubject             []*SubjectActivityGroupManagementRep
-	IsCanAppointmentMinutes int    `description:"是否可预约纪要 1是 ,0 否 默认0 "`
-	YidongActivityId        string `description:"易董的活动ID"`
-	YidongActivityEndTime   string `description:"易董活动截止时间"`
-	VoiceList               []*CygxActivityVoiceReq
-	VideoDetail             *CygxActivityVideo
-	ActivityJoinType        string                    `description:"活动入会类型01报名审核后可入会 02预约即可入会 03仅定向邀请人员可入会"`
-	YidongSignUpEnd         string                    `description:"易董活动截止时间"` // 报名结束时间,适应于报名审核后可入会,为空表示不限制报名时间
-	YidongSignUpStart       string                    `description:"易董活动截止时间"` // 报名开始时间,适应于报名审核后可入会,为空表示不限制报名时间
-	PublishDate             string                    `description:"发布时间"`
-	IsYidongConduct         int                       `description:"是否属于易董办会 1:是 、0:否"`
-	IsCanOutboundCall       int                       `description:"是否提供外呼 1:是 、0:否"`
-	YidongActivityIdByCygx  string                    `description:"通过查研观向建会易董返回的活动ID"`
-	TencentConferenceNumber string                    `description:"腾讯会议号"`
-	IsExternalLabel         int                       `description:"是否为外部资源 1是,0否"`
-	SigninImg               string                    `description:"签到码图片"`
-	IsResearchPoints        int                       `description:"是否为研选扣点  1是,0否"`
-	IsBClass                int                       `description:"是否为B类电话会 1是,0否"`
-	IsNeedEmail             int                       `description:"是否需要提供邮箱 1是,0否"`
-	SiginupDeadline         string                    `description:"报名截止时间"`
-	PointsSet               *CygxActivityPointsSetRsq `description:"研选扣点明细"`
+	ActivityId                int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
+	ActivityTypeId            int    `description:"活动类型id"`
+	ActivityTypeName          string `description:"活动类型名称"`
+	ChartPermissionId         int    `description:"行业id"`
+	ChartPermissionName       string `description:"行业名称"`
+	Body                      string `description:"内容"`
+	CreateTime                string `description:"创建时间"`
+	IsLimitPeople             int    `description:"是否限制人数 1是,0否"`
+	LimitPeopleNum            string `description:"限制的人数数量"`
+	CustomerTypeIds           string `description:"活动可见的客户类型,多个ID用 , 隔开"`
+	PublishStatus             int    `description:"发布状态 1已发布,0未发布"`
+	LastUpdatedTime           string `description:"更新时间"`
+	ActivityTime              string `description:"活动时间"`
+	ActivityTimeText          string `description:"活动时间带文字"`
+	DistinguishedGuest        string `description:"嘉宾"`
+	Host                      string `description:"主持人"`
+	MainlandTell              string `description:"大陆拨入号"`
+	HongKongTell              string `description:"香港拨入号"`
+	TaiwanTell                string `description:"台湾拨入号"`
+	AmericaTell               string `description:"美国拨入号"`
+	ParticipationCode         string `description:"参会密码"`
+	Theme                     string `description:"主题"`
+	Expert                    string `description:"专家"`
+	ActivityName              string `description:"活动名称"`
+	OnlineParticipation       string `description:"网络参会"`
+	ReportLink                string `description:"报告链接"`
+	City                      string `description:"城市"`
+	Address                   string `description:"活动地址"`
+	Highlights                string `description:"活动亮点"`
+	Remarks                   string `description:"备注"`
+	ShowType                  string `description:"人数限制类型,1不展示限制,2可选限制,3强制限制"`
+	Speaker                   string `description:"主讲人"`
+	ActiveState               int    `description:"活动进行状态 未开始:1、进行中2、已结束3"`
+	IsSubmitMeeting           int    `description:"是否提交过到会情况,1是,0否"`
+	TemporaryLabel            string `description:"临时标签"`
+	IsMakerShow               int    `description:"是否仅决策人可见 0,否 、1,是"`
+	VisibleRange              int    `description:"可见范围 1,仅本组可见 、2,全部客户可见"`
+	Scale                     string `description:"管理规模,空不填,1::50亿以下,2:50~100亿,3:100亿以上。多个用, 隔开"`
+	IsShowSubjectName         int    `description:"小程序内是否展示标的名称 1是 ,0 否 默认0 "`
+	AdminId                   int    `description:"销售/管理员ID"`
+	AdminName                 string `description:"销售/管理员姓名"`
+	IsHideAppointment         int    `description:"是否隐藏预约纪要按钮  1是,0 否"`
+	PermissionType            int    `description:"1主观,2客观"`
+	Label                     string `description:"标签"`
+	ListIndustrial            []*IndustrialActivityGroupManagementRep
+	ListSubject               []*SubjectActivityGroupManagementRep
+	IsCanAppointmentMinutes   int    `description:"是否可预约纪要 1是 ,0 否 默认0 "`
+	YidongActivityId          string `description:"易董的活动ID"`
+	YidongActivityEndTime     string `description:"易董活动截止时间"`
+	VoiceList                 []*CygxActivityVoiceReq
+	VideoDetail               *CygxActivityVideo
+	ActivityJoinType          string                    `description:"活动入会类型01报名审核后可入会 02预约即可入会 03仅定向邀请人员可入会"`
+	YidongSignUpEnd           string                    `description:"易董活动截止时间"` // 报名结束时间,适应于报名审核后可入会,为空表示不限制报名时间
+	YidongSignUpStart         string                    `description:"易董活动截止时间"` // 报名开始时间,适应于报名审核后可入会,为空表示不限制报名时间
+	PublishDate               string                    `description:"发布时间"`
+	IsYidongConduct           int                       `description:"是否属于易董办会 1:是 、0:否"`
+	IsCanOutboundCall         int                       `description:"是否提供外呼 1:是 、0:否"`
+	YidongActivityIdByCygx    string                    `description:"通过查研观向建会易董返回的活动ID"`
+	TencentConferenceNumber   string                    `description:"腾讯会议号"`
+	IsExternalLabel           int                       `description:"是否为外部资源 1是,0否"`
+	SigninImg                 string                    `description:"签到码图片"`
+	IsResearchPoints          int                       `description:"是否为研选扣点  1是,0否"`
+	IsBClass                  int                       `description:"是否为B类电话会 1是,0否"`
+	IsNeedEmail               int                       `description:"是否需要提供邮箱 1是,0否"`
+	SiginupDeadline           string                    `description:"报名截止时间"`
+	PointsSet                 *CygxActivityPointsSetRsq `description:"研选扣点明细"`
+	IsShowHz                  int                       `description:"是否同时在弘则展示  1是,0否"`
+	ChartPermissionNameDeputy string                    `description:"副行业名称"`
 }
 
 type ActivityDetailRep struct {
@@ -170,65 +175,68 @@ type ActivityDetailRep struct {
 
 // 活动详情
 type CygxActivity struct {
-	ActivityId              int       `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
-	ActivityTypeId          int       `description:"活动类型id"`
-	ActivityTypeName        string    `description:"活动类型名称"`
-	ChartPermissionId       int       `description:"行业id"`
-	ChartPermissionName     string    `description:"行业名称"`
-	ChartPermissionNames    string    `description:"行业名称辅助字段,区分研选子分类"`
-	Body                    string    `description:"内容"`
-	CreateTime              time.Time `description:"创建时间"`
-	PublishDate             time.Time `description:"发布时间"`
-	IsLimitPeople           int       `description:"是否限制人数 1是,0否"`
-	LimitPeopleNum          int       `description:"限制的人数数量"`
-	CustomerTypeIds         string    `description:"活动可见的客户类型,多个ID用 , 隔开"`
-	PublishStatus           int       `description:"发布状态 1已发布,0未发布"`
-	LastUpdatedTime         time.Time `description:"更新时间"`
-	ActivityTime            string    `description:"活动时间"`
-	ActivityTimeText        string    `description:"活动时间带文字"`
-	DistinguishedGuest      string    `description:"嘉宾"`
-	Host                    string    `description:"主持人"`
-	MainlandTell            string    `description:"大陆拨入号"`
-	HongKongTell            string    `description:"香港拨入号"`
-	TaiwanTell              string    `description:"台湾拨入号"`
-	AmericaTell             string    `description:"美国拨入号"`
-	ParticipationCode       string    `description:"参会密码"`
-	Theme                   string    `description:"主题"`
-	Expert                  string    `description:"专家"`
-	ActivityName            string    `description:"活动名称"`
-	ActivityNameTask        string    `description:"活动名称定时任务同步的时候使用"`
-	OnlineParticipation     string    `description:"网络参会"`
-	ReportLink              string    `description:"报告链接"`
-	City                    string    `description:"城市"`
-	Address                 string    `description:"活动地址"`
-	Highlights              string    `description:"活动亮点"`
-	Remarks                 string    `description:"备注"`
-	Speaker                 string    `description:"主讲人"`
-	ArticleId               int       `description:"关联报告id"`
-	Label                   string    `description:"标签"`
-	LinkParticipants        string    `description:"链接参会"`
-	AppAttendance           string    `description:"App参会"`
-	ConferencePassword      string    `description:"会议密码"`
-	TemporaryLabel          string    `description:"临时标签"`
-	IsMakerShow             int       `description:"是否仅决策人可见 0,否 、1,是"`
-	VisibleRange            int       `description:"可见范围 1,仅本组可见 、2,全部客户可见"`
-	Scale                   string    `description:"管理规模,空不填,1::50亿以下,2:50~100亿,3:100亿以上。多个用, 隔开"`
-	IsShowSubjectName       int       `description:"小程序内是否展示标的名称 1是 ,0 否 默认0 "`
-	IsHideAppointment       int       `description:"是否隐藏预约纪要按钮 1是 ,0 否 默认0 "`
-	AdminId                 int       `description:"销售/管理员ID"`
-	AdminName               string    `description:"销售/管理员姓名"`
-	IsCanAppointmentMinutes int       `description:"是否可预约纪要 1是 ,0 否 默认0 "`
-	IsYidongConduct         int       `description:"是否属于易董办会 1:是 、0:否"`
-	IsCanOutboundCall       int       `description:"是否提供外呼 1:是 、0:否"`
-	IsCancel                int       `description:"是否取消,1是,0否"`
-	TencentConferenceNumber string    `description:"腾讯会议号"`
-	IsExternalLabel         int       `description:"是否为外部资源 1是,0否"`
-	IsBClass                int       `description:"是否为B类电话会 1是,0否"`
-	IsNeedEmail             int       `description:"是否需要提供邮箱 1是,0否"`
-	SiginupDeadline         string    `description:"报名截止时间"`
-	CancelDeadline          string    `description:"取消报名截止时间"`
-	IsResearchPoints        int       `description:"是否为研选扣点  1是,0否"`
-	IsAllCustomerType       int       `description:"是否全选活动可见类型 0无 1全选"`
+	ActivityId                int       `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
+	ActivityTypeId            int       `description:"活动类型id"`
+	ActivityTypeName          string    `description:"活动类型名称"`
+	ChartPermissionId         int       `description:"行业id"`
+	ChartPermissionName       string    `description:"行业名称"`
+	ChartPermissionNames      string    `description:"行业名称辅助字段,区分研选子分类"`
+	Body                      string    `description:"内容"`
+	CreateTime                time.Time `description:"创建时间"`
+	PublishDate               time.Time `description:"发布时间"`
+	IsLimitPeople             int       `description:"是否限制人数 1是,0否"`
+	LimitPeopleNum            int       `description:"限制的人数数量"`
+	CustomerTypeIds           string    `description:"活动可见的客户类型,多个ID用 , 隔开"`
+	PublishStatus             int       `description:"发布状态 1已发布,0未发布"`
+	LastUpdatedTime           time.Time `description:"更新时间"`
+	ActivityTime              string    `description:"活动时间"`
+	ActivityTimeText          string    `description:"活动时间带文字"`
+	DistinguishedGuest        string    `description:"嘉宾"`
+	Host                      string    `description:"主持人"`
+	MainlandTell              string    `description:"大陆拨入号"`
+	HongKongTell              string    `description:"香港拨入号"`
+	TaiwanTell                string    `description:"台湾拨入号"`
+	AmericaTell               string    `description:"美国拨入号"`
+	ParticipationCode         string    `description:"参会密码"`
+	Theme                     string    `description:"主题"`
+	Expert                    string    `description:"专家"`
+	ActivityName              string    `description:"活动名称"`
+	ActivityNameTask          string    `description:"活动名称定时任务同步的时候使用"`
+	OnlineParticipation       string    `description:"网络参会"`
+	ReportLink                string    `description:"报告链接"`
+	City                      string    `description:"城市"`
+	Address                   string    `description:"活动地址"`
+	Highlights                string    `description:"活动亮点"`
+	Remarks                   string    `description:"备注"`
+	Speaker                   string    `description:"主讲人"`
+	ArticleId                 int       `description:"关联报告id"`
+	Label                     string    `description:"标签"`
+	LinkParticipants          string    `description:"链接参会"`
+	AppAttendance             string    `description:"App参会"`
+	ConferencePassword        string    `description:"会议密码"`
+	TemporaryLabel            string    `description:"临时标签"`
+	IsMakerShow               int       `description:"是否仅决策人可见 0,否 、1,是"`
+	VisibleRange              int       `description:"可见范围 1,仅本组可见 、2,全部客户可见"`
+	Scale                     string    `description:"管理规模,空不填,1::50亿以下,2:50~100亿,3:100亿以上。多个用, 隔开"`
+	IsShowSubjectName         int       `description:"小程序内是否展示标的名称 1是 ,0 否 默认0 "`
+	IsHideAppointment         int       `description:"是否隐藏预约纪要按钮 1是 ,0 否 默认0 "`
+	AdminId                   int       `description:"销售/管理员ID"`
+	AdminName                 string    `description:"销售/管理员姓名"`
+	IsCanAppointmentMinutes   int       `description:"是否可预约纪要 1是 ,0 否 默认0 "`
+	IsYidongConduct           int       `description:"是否属于易董办会 1:是 、0:否"`
+	IsCanOutboundCall         int       `description:"是否提供外呼 1:是 、0:否"`
+	IsCancel                  int       `description:"是否取消,1是,0否"`
+	TencentConferenceNumber   string    `description:"腾讯会议号"`
+	IsExternalLabel           int       `description:"是否为外部资源 1是,0否"`
+	IsBClass                  int       `description:"是否为B类电话会 1是,0否"`
+	IsNeedEmail               int       `description:"是否需要提供邮箱 1是,0否"`
+	SiginupDeadline           string    `description:"报名截止时间"`
+	IsResearchPoints          int       `description:"是否为研选扣点  1是,0否"`
+	IsAllCustomerType         int       `description:"是否全选活动可见类型 0无 1全选"`
+	IsShowHz                  int       `description:"是否同时在弘则展示  1是,0否"`
+	ChartPermissionIdDeputy   int       `description:"行业id"`
+	ChartPermissionNameDeputy string    `description:"行业名称"`
+	CancelDeadline            string    `description:"取消报名截止时间"`
 }
 
 type CygxActivityEditDetail struct {
@@ -393,8 +401,13 @@ func EditActivity(item *CygxActivity, oldPublishStatus int, industrialActivityIt
 	updateParams["IsNeedEmail"] = item.IsNeedEmail
 	updateParams["SiginupDeadline"] = item.SiginupDeadline
 	updateParams["IsResearchPoints"] = item.IsResearchPoints
-	updateParams["CancelDeadline"] = item.CancelDeadline
 	updateParams["IsAllCustomerType"] = item.IsAllCustomerType
+	if item.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
+		updateParams["IsShowHz"] = item.IsShowHz //研选的才做修改
+	}
+	updateParams["ChartPermissionNameDeputy"] = item.ChartPermissionNameDeputy
+	updateParams["ChartPermissionIdDeputy"] = item.ChartPermissionIdDeputy
+	updateParams["CancelDeadline"] = item.CancelDeadline
 	//修改活动信息
 	ptrStructOrTableName := "cygx_activity"
 	whereParam := map[string]interface{}{"activity_id": item.ActivityId}
@@ -557,30 +570,31 @@ func EditActivityStatus(activityId int) (err error) {
 
 // 活动详情
 type CygxActivityList struct {
-	ActivityId           int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
-	ActivityTypeId       int    `description:"活动类型id"`
-	ActivityName         string `description:"活动名称"`
-	ActivityTypeName     string `description:"活动类型名称"`
-	ActiveState          int    `description:"活动进行状态 未开始:1、进行中2、已结束3"`
-	ChartPermissionId    int    `description:"行业id"`
-	ChartPermissionName  string `description:"行业名称"`
-	ChartPermissionNames string `description:"行业名称辅助字段,区分研选子分类"`
-	Body                 string `description:"内容"`
-	IsLimitPeople        int    `description:"是否限制人数 1是,0否"`
-	LimitPeopleNum       int    `description:"限制的人数数量"`
-	CustomerTypeIds      string `description:"活动可见的客户类型,多个ID用 , 隔开"`
-	PublishStatus        int    `description:"发布状态 1已发布,0未发布"`
-	LastUpdatedTime      string `description:"更新时间"`
-	ActivityTime         string `description:"活动时间"`
-	ActivityTimeText     string `description:"活动时间带文字"`
-	Label                string `description:"标签"`
-	YidongActivityId     string `description:"易董的活动ID"`
-	TemporaryLabel       string `description:"临时标签"`
-	IsCancel             int    `description:"是否取消,1是,0否"`
-	IsUpload             bool   `description:"是否上传"`
-	IsYidongConduct      int    `description:"是否属于易董办会 1:是 、0:否"`
-	IsShowSigninButton   bool   `description:"是否展示签到码按钮"`
-	SigninImg            string `description:"签到码图片"`
+	ActivityId                int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
+	ActivityTypeId            int    `description:"活动类型id"`
+	ActivityName              string `description:"活动名称"`
+	ActivityTypeName          string `description:"活动类型名称"`
+	ActiveState               int    `description:"活动进行状态 未开始:1、进行中2、已结束3"`
+	ChartPermissionId         int    `description:"行业id"`
+	ChartPermissionName       string `description:"行业名称"`
+	ChartPermissionNames      string `description:"行业名称辅助字段,区分研选子分类"`
+	Body                      string `description:"内容"`
+	IsLimitPeople             int    `description:"是否限制人数 1是,0否"`
+	LimitPeopleNum            int    `description:"限制的人数数量"`
+	CustomerTypeIds           string `description:"活动可见的客户类型,多个ID用 , 隔开"`
+	PublishStatus             int    `description:"发布状态 1已发布,0未发布"`
+	LastUpdatedTime           string `description:"更新时间"`
+	ActivityTime              string `description:"活动时间"`
+	ActivityTimeText          string `description:"活动时间带文字"`
+	Label                     string `description:"标签"`
+	YidongActivityId          string `description:"易董的活动ID"`
+	TemporaryLabel            string `description:"临时标签"`
+	IsCancel                  int    `description:"是否取消,1是,0否"`
+	IsUpload                  bool   `description:"是否上传"`
+	IsYidongConduct           int    `description:"是否属于易董办会 1:是 、0:否"`
+	IsShowSigninButton        bool   `description:"是否展示签到码按钮"`
+	SigninImg                 string `description:"签到码图片"`
+	ChartPermissionNameDeputy string `description:"副行业名称"`
 }
 
 type GetCygxActivityListRep struct {

+ 27 - 26
models/cygx/activity_meet.go

@@ -12,32 +12,33 @@ import (
 
 // 活动详情
 type CygxMeetList struct {
-	ActivityId              int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
-	ActivityName            string `description:"活动名称"`
-	ActivityTypeName        string `description:"活动类型名称"`
-	ActivityTypeId          int    `description:"活动类型ID"`
-	ChartPermissionName     string `description:"行业名称"`
-	ChartPermissionNames    string `description:"行业名称"`
-	ActivityTime            string `description:"活动时间"`
-	ActivityTimeText        string `description:"活动时间带文字"`
-	SignupPeopleNum         int    `description:"报名人数/预约外呼人数"`
-	MeetPeopleNum           int    `description:"实际参会人数"`
-	PotentialPeopleNum      int    `description:"潜在参会人数"`
-	OmeetPeopleNum          int    `description:"实际参会人数(辅助字段不使用)"`
-	IsSubmitMeeting         int    `description:"是否提交过到会信息 ,1是,0否"`
-	OperationStyle          int    `description:"操作方式,1提交到会情况/上传参会表格,2修改到会详情/重新上传"`
-	UpdateTime              string `description:"更新时间"`
-	IsCClassMeeting         bool   `description:"是否是c类电话会"`
-	SubmitMeetingType       int    `description:"操作展示类型 ,1修改到会详情"`
-	IsShowAttendanceDetails bool   `description:"是否展示到会详情"`
-	IsShowHandMovement      bool   `description:"是否展示手动匹配"`
-	IsShowSubmitMeeting     bool   `description:"是否展示提交到会情况"`
-	IsShowUpdateMeeting     bool   `description:"是否展示修改到会情况"`
-	YidongActivityId        string `description:"易董的活动ID"`
-	ActivityJoinType        string `description:"易董活动入会类型01报名审核后可入会 02预约即可入会 03仅定向邀请人员可入会"`
-	IsYidongConduct         int    `description:"是否属于易董办会 1:是 、0:否"`
-	IsShowSigninButton      bool   `description:"是否展示签到码按钮"`
-	SigninImg               string `description:"签到码图片"`
+	ActivityId                int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
+	ActivityName              string `description:"活动名称"`
+	ActivityTypeName          string `description:"活动类型名称"`
+	ActivityTypeId            int    `description:"活动类型ID"`
+	ChartPermissionName       string `description:"行业名称"`
+	ChartPermissionNames      string `description:"行业名称"`
+	ActivityTime              string `description:"活动时间"`
+	ActivityTimeText          string `description:"活动时间带文字"`
+	SignupPeopleNum           int    `description:"报名人数/预约外呼人数"`
+	MeetPeopleNum             int    `description:"实际参会人数"`
+	PotentialPeopleNum        int    `description:"潜在参会人数"`
+	OmeetPeopleNum            int    `description:"实际参会人数(辅助字段不使用)"`
+	IsSubmitMeeting           int    `description:"是否提交过到会信息 ,1是,0否"`
+	OperationStyle            int    `description:"操作方式,1提交到会情况/上传参会表格,2修改到会详情/重新上传"`
+	UpdateTime                string `description:"更新时间"`
+	IsCClassMeeting           bool   `description:"是否是c类电话会"`
+	SubmitMeetingType         int    `description:"操作展示类型 ,1修改到会详情"`
+	IsShowAttendanceDetails   bool   `description:"是否展示到会详情"`
+	IsShowHandMovement        bool   `description:"是否展示手动匹配"`
+	IsShowSubmitMeeting       bool   `description:"是否展示提交到会情况"`
+	IsShowUpdateMeeting       bool   `description:"是否展示修改到会情况"`
+	YidongActivityId          string `description:"易董的活动ID"`
+	ActivityJoinType          string `description:"易董活动入会类型01报名审核后可入会 02预约即可入会 03仅定向邀请人员可入会"`
+	IsYidongConduct           int    `description:"是否属于易董办会 1:是 、0:否"`
+	IsShowSigninButton        bool   `description:"是否展示签到码按钮"`
+	SigninImg                 string `description:"签到码图片"`
+	ChartPermissionNameDeputy string `description:"副行业名称"`
 }
 
 type GetCygxMeetListRep struct {

+ 26 - 25
models/cygx/activity_signup.go

@@ -13,31 +13,32 @@ import (
 
 // 活动详情
 type CygxSignupList struct {
-	ActivityId              int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
-	ActivityName            string `description:"活动名称"`
-	ActivityTypeName        string `description:"活动类型名称"`
-	ChartPermissionName     string `description:"行业名称"`
-	ChartPermissionNames    string `description:"行业名称辅助字段,区分研选子分类"`
-	LimitPeopleNum          int    `description:"限制的人数数量"`
-	ActivityTime            string `description:"活动时间"`
-	ActivityTimeText        string `description:"活动时间带文字"`
-	SignupPeopleNum         int    `description:"报名人数/预约外呼人数"`
-	SignupFailPeopleNum     int    `description:"报名/预约外呼失败人数"`
-	AskNum                  int    `description:"带问人数"`
-	AppointmentPeopleNum    int    `description:"预约纪要人数"`
-	ReminderPeopleNum       int    `description:"设置会议提醒人数"`
-	IsShowAppointment       bool   `description:"是否展示预约纪要"`
-	IsHideAppointment       int    `description:"是否隐藏预约纪要按钮  1是,0 否"`
-	ActivityTypeId          int    `description:"活动类型id"`
-	Label                   string `description:"标签"`
-	ActiveState             int    `description:"活动进行状态 未开始:1、进行中2、已结束3"`
-	PublishStatus           int    `description:"发布状态 1已发布,0未发布"`
-	TemporaryLabel          string `description:"临时标签"`
-	YidongActivityId        string `description:"易董的活动ID"`
-	IsCanAppointmentMinutes int    `description:"是否可预约纪要 1是 ,0 否 默认0 "`
-	IsCancel                int    `description:"是否取消,1是,0否"`
-	IsYidongConduct         int    `description:"是否属于易董办会 1:是 、0:否"`
-	IsResearchPoints        int    `description:"是否为研选扣点  1是,0否"`
+	ActivityId                int    `orm:"column(activity_id);pk";description:"活动ID 等于0新增活动,大于0修改活动"`
+	ActivityName              string `description:"活动名称"`
+	ActivityTypeName          string `description:"活动类型名称"`
+	ChartPermissionName       string `description:"行业名称"`
+	ChartPermissionNames      string `description:"行业名称辅助字段,区分研选子分类"`
+	LimitPeopleNum            int    `description:"限制的人数数量"`
+	ActivityTime              string `description:"活动时间"`
+	ActivityTimeText          string `description:"活动时间带文字"`
+	SignupPeopleNum           int    `description:"报名人数/预约外呼人数"`
+	SignupFailPeopleNum       int    `description:"报名/预约外呼失败人数"`
+	AskNum                    int    `description:"带问人数"`
+	AppointmentPeopleNum      int    `description:"预约纪要人数"`
+	ReminderPeopleNum         int    `description:"设置会议提醒人数"`
+	IsShowAppointment         bool   `description:"是否展示预约纪要"`
+	IsHideAppointment         int    `description:"是否隐藏预约纪要按钮  1是,0 否"`
+	ActivityTypeId            int    `description:"活动类型id"`
+	Label                     string `description:"标签"`
+	ActiveState               int    `description:"活动进行状态 未开始:1、进行中2、已结束3"`
+	PublishStatus             int    `description:"发布状态 1已发布,0未发布"`
+	TemporaryLabel            string `description:"临时标签"`
+	YidongActivityId          string `description:"易董的活动ID"`
+	IsCanAppointmentMinutes   int    `description:"是否可预约纪要 1是 ,0 否 默认0 "`
+	IsCancel                  int    `description:"是否取消,1是,0否"`
+	IsYidongConduct           int    `description:"是否属于易董办会 1:是 、0:否"`
+	IsResearchPoints          int    `description:"是否为研选扣点  1是,0否"`
+	ChartPermissionNameDeputy string `description:"副行业名称"`
 }
 
 type GetCygxSignupListRep struct {

+ 1 - 1
models/cygx/activity_type.go

@@ -6,7 +6,7 @@ import (
 
 type ActivityType struct {
 	ActivityTypeId   int    `description:"活动类型id"`
-	ActivityTypeName string `description:"活动名称"`
+	ActivityTypeName string `description:"活动类型名称"`
 	TemplateP        string `description:"活动模板,带P标签"`
 	Template         string `description:"活动模板"`
 	ZoomTemplateP    string `description:"Zoom活动模板,带P标签"`

+ 5 - 5
services/cygx/acitvity.go

@@ -1421,11 +1421,11 @@ func GetActChartPermissionList() []*cygx.ChartPermissionRepMore {
 		{PermissionName: "智造"},
 		{PermissionName: "策略"},
 		{PermissionName: "宏观"},
-		{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN},
-		{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(医药)"},
-		{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(消费)"},
-		{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(科技)"},
-		{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(智造)"},
+		//{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN},
+		//{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(医药)"},
+		//{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(消费)"},
+		//{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(科技)"},
+		//{PermissionName: utils.CHART_PERMISSION_NAME_MF_YANXUAN + "(智造)"},
 	}
 	return list
 }

+ 1 - 1
services/cygx/activity_poster.go

@@ -92,7 +92,7 @@ func MakeActivitySigninImg(activityId int) (imgUrl string, err error) {
 	if activityInfo == nil {
 		return
 	}
-	if activityInfo.ActivityTypeId != 5 && activityInfo.ActivityTypeId != 6 {
+	if activityInfo.ActivityTypeId != 5 && activityInfo.ActivityTypeId != 6 && activityInfo.ActivityTypeId != 8 {
 		return
 	}
 	itemToken, err := models.GetWxToken(utils.WxCygxAppId, utils.WxCygxAppSecret)

+ 13 - 0
services/cygx/activity_power_check.go

@@ -236,6 +236,19 @@ func GetActivityDetailUserPower(user *models.WxUser, adminInfo *system.Admin, ac
 		return
 	}
 
+	//如果是易董的活动,主、副权限有一个满足即可
+	if activityInfo.YidongActivityId != "" {
+		if strings.Contains(permissionStr, activityInfo.ChartPermissionName) || strings.Contains(permissionStr, activityInfo.ChartPermissionNameDeputy) {
+			havePower = true
+			return
+		}
+	}
+
+	//如果权限不包含那么直接返回
+	if !strings.Contains(permissionStr, activityInfo.ChartPermissionName) {
+		return
+	}
+
 	//处理决策人可见权限
 	if user.IsMaker == 0 && activityInfo.IsMakerShow == 1 {
 		havePower = false

+ 1 - 1
services/cygx/activity_signup.go

@@ -303,7 +303,7 @@ func MakeActivitySigninImg12(activityId int) (err error) {
 // 校验报名截止时间
 func CheckSiginupDeadline(activityInfo *cygx.ActivityDetail) (checkTime bool, popupMsg string) {
 	checkTime = true
-	if activityInfo.SiginupDeadline != utils.EmptyDateTimeStr {
+	if activityInfo.SiginupDeadline != utils.EmptyDateTimeStr && activityInfo.SiginupDeadline != "" {
 		timeResp := utils.StrTimeToTime(activityInfo.SiginupDeadline)
 		if timeResp.Before(time.Now()) {
 			checkTime = false