瀏覽代碼

活动类型下的主题列表(6.0Pc版本)

xingzai 2 年之前
父節點
當前提交
b0a95caa78
共有 4 個文件被更改,包括 232 次插入0 次删除
  1. 221 0
      controllers/activity.go
  2. 1 0
      models/activity.go
  3. 1 0
      models/activity_type.go
  4. 9 0
      routers/commentsRouter_controllers.go

+ 221 - 0
controllers/activity.go

@@ -4171,3 +4171,224 @@ func (this *ActivityCoAntroller) SpecialMsg() {
 	br.Success = true
 	br.Msg = "操作成功!"
 }
+
+// @Title 活动类型下的主题列表(6.0Pc版本)
+// @Description  获取活动类型下的主题列表接口(6.0Pc版本)
+// @Param   ChartPermissionIds   query   string  false     "行业id 多个用 , 隔开"
+// @Param   ActivityTypeIds   query   string  false     "活动类型id 多个用 , 隔开"
+// @Param   ActiveState   query   string  false       "活动进行状态 未开始:1、进行中2、已结束3"
+// @Param   WhichDay   query   string  false       "哪一天 今天:1、明天:2,多个用 , 隔开"
+// @Param   IsPower   query   int  false       "是否选择有权限行业 ,1是 0 否 默认0"
+// @Success 200 {object} models.ActivityTypeListHomeRespPc
+// @router /labelTypeListV6Pc [get]
+func (this *ActivityCoAntroller) LabelTypeListV6Pc() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		return
+	}
+	pageSize, _ := this.GetInt("PageSize")
+	isPower, _ := this.GetInt("IsPower")
+	//currentIndex, _ := this.GetInt("CurrentIndex")
+	chartPermissionIds := this.GetString("ChartPermissionIds")
+	//activityTypeIds := this.GetString("ActivityTypeIds")
+	whichDay := this.GetString("WhichDay")
+	activeState := this.GetString("ActiveState")
+	//入参为 undefined 时的处理
+	if chartPermissionIds == "undefined" {
+		chartPermissionIds = ""
+	}
+	if whichDay == "undefined" {
+		whichDay = ""
+	}
+	if activeState == "undefined" || activeState == "" {
+		activeState = "1"
+	}
+	userType, permissionStr, err := services.GetUserType(user.CompanyId)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+
+	var startSize int
+	pageSize = 8
+	var sortTime string
+	var pars []interface{}
+	//活动可见限制
+	slicePer := strings.Split(permissionStr, ",")
+	var permissionSqlStr string
+	var permissionNameStr string
+	for _, v := range slicePer {
+		if userType == 1 {
+			if v != "研选" {
+				permissionNameStr += "'" + v + "',"
+			}
+		} else {
+			permissionNameStr += "'" + v + "',"
+		}
+	}
+	permissionNameStr = strings.Replace(permissionNameStr, "(主观)", "", -1)
+	permissionNameStr = strings.Replace(permissionNameStr, "(客观)", "", -1)
+	permissionNameStr = strings.TrimRight(permissionNameStr, ",")
+	list, err := models.GetActivityTypeHomeListPc()
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+	//判断客户规模是否属于可见范围的活动
+	companyProduct, err := models.GetCompanyProductDetail(user.CompanyId, 2)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
+		return
+	}
+	var sqlExport string
+	//处理专家权限的查询
+	sqlExport = ` AND (art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' `
+	if userType == 2 {
+		sqlExport += ` OR  art.customer_type_ids LIKE '%3%' `
+	}
+	if (userType == 2 || userType == 3) && strings.Contains(permissionStr, "专家") {
+		sqlExport += ` OR  art.customer_type_ids LIKE '%4%' `
+	}
+	sqlExport += `) `
+	resp := new(models.ActivityTypeListHomeRespPc)
+	for k, v := range list {
+		var condition string
+		permissionSqlStr = ` AND art.chart_permission_name  IN (` + permissionNameStr + `)`
+		condition = ` AND art.publish_status = 1  AND art.label != ''  AND art.activity_type_id = ` + strconv.Itoa(v.ActivityTypeId)
+		if isPower == 1 {
+			condition += permissionSqlStr
+		}
+		//行业名称
+		if len(chartPermissionIds) > 0 {
+			condition += ` AND art.chart_permission_id  IN (` + chartPermissionIds + `)`
+		}
+		var conditionOr string
+		if whichDay != "" {
+			var startDate string
+			var endDate string
+			if whichDay == "1" {
+				startDate = time.Now().Format(utils.FormatDate)
+				endDate = startDate
+			} else if whichDay == "2" {
+				startDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
+				endDate = startDate
+			} else {
+				startDate = time.Now().Format(utils.FormatDate)
+				endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
+			}
+			condition += ` AND art.activity_time >= ` + "'" + startDate + " 00:00:00'"
+			condition += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
+		}
+		if activeState != "" {
+			condition += ` AND art.active_state  IN (` + activeState + `)`
+		} else {
+			condition += ` AND art.active_state  IN (1)`
+		}
+		if (userType == 2 || userType == 3 || userType == 4) && strings.Contains(permissionStr, "专家") {
+			conditionOr += ` OR (  art.is_limit_people = 1 AND art.customer_type_ids LIKE '%4%'	 ` + condition + `) `
+		}
+		if (userType == 5) && strings.Contains(permissionStr, "专家") {
+			conditionOr += ` OR (  art.is_limit_people = 1 AND art.customer_type_ids LIKE '%5%'	 ` + condition + `) `
+		}
+		if userType == 1 {
+			conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + permissionSqlStr + `) `
+		} else {
+			conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
+		}
+
+		if companyProduct != nil {
+			if companyProduct.Scale != "" {
+				conditionOr += ` OR (  art.scale LIKE '%` + companyProduct.Scale + `%'	 ` + condition + `) `
+			}
+		}
+		condition += `AND art.is_limit_people = 1 ` + permissionSqlStr + sqlExport + conditionOr
+		sortTime = ` mintimesort ASC `
+		labelList, err := models.GetActivityLabelListAll(condition, sortTime, pars, startSize, pageSize)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + err.Error()
+			return
+		}
+		//标签字段关联的产业与标签处理
+		for k2, v2 := range labelList {
+			labelList[k2].KeyWord = services.LabelStr(v2.KeyWord)
+			labelList[k2].Resource = 1
+		}
+		list[k].List = labelList
+	}
+
+	//查询专项产业调研展示权限
+	var condition string
+	condition = ` AND art.publish_status = 1  AND art.label != '' `
+	if isPower == 1 {
+		condition += permissionSqlStr
+	}
+	//行业名称
+	if len(chartPermissionIds) > 0 {
+		condition += ` AND art.chart_permission_id  IN (` + chartPermissionIds + `)`
+	}
+	var conditionOr string
+
+	if (userType == 2 || userType == 3 || userType == 4) && strings.Contains(permissionStr, "专家") {
+		conditionOr += ` OR (1=1 AND   art.customer_type_ids LIKE '%4%'	 ` + condition + `) `
+	}
+	if (userType == 5) && strings.Contains(permissionStr, "专家") {
+		conditionOr += ` OR (1=1 AND art.customer_type_ids LIKE '%5%'	 ` + condition + `) `
+	}
+	if userType == 1 {
+		conditionOr += ` OR (1=1 ` + condition + permissionSqlStr + `) `
+	}
+
+	if companyProduct != nil {
+		if companyProduct.Scale != "" {
+			conditionOr += ` OR (  art.scale LIKE '%` + companyProduct.Scale + `%'	 ` + condition + `) `
+		}
+	}
+
+	condition += sqlExport + conditionOr
+	specialList, err := models.GetActivityLabelSpecialListAll(condition, pars, startSize, 8)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+	for k2, v2 := range specialList {
+		specialList[k2].KeyWord = services.LabelStrV5(v2.KeyWord, v2.IsShowSubjectName)
+	}
+
+	itemList := new(models.ActivityTypeHomePc)
+	itemList.ActivityTypeName = "专项产业调研"
+	itemList.Resource = 2
+	itemList.List = specialList
+	itemList.ActivityTypeId = 7
+	itemList.OnlineIco = "https://hongze.oss-cn-shanghai.aliyuncs.com/static/images/202112/20211224/Yq5Ty2DCKTP5N8SdwcYHHTGvTgaS.png"
+	itemList.ImgUrlBgPc = "https://hongze.oss-cn-shanghai.aliyuncs.com/static/images/202112/20211224/FTPPvpNfILLOGSoV4Ddcc0gIuNEW.png"
+	list = append(list, itemList)
+	//记录用户搜索的筛选条件
+	item := new(models.CygxActivitySearchHistory)
+	item.UserId = user.UserId
+	item.Mobile = user.Mobile
+	item.CompanyId = user.CompanyId
+	item.CompanyName = user.CompanyName
+	item.CreateTime = time.Now()
+	item.ChartPermissionIds = chartPermissionIds
+	item.IsPower = isPower
+	item.WhichDay = whichDay
+	go models.AddCygxActivitySearchHistory(item)
+
+	resp.List = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 1 - 0
models/activity.go

@@ -483,6 +483,7 @@ type CygxActivityLabelList struct {
 	ImgUrlBg          string `description:"背景图片"`
 	ActivityId        int    `description:"活动ID "`
 	IsShowSubjectName int    `description:"小程序内是否展示标的名称 1是 ,0否 默认0 "`
+	Resource          int    `description:"位置 ,1:活动 ,2:专项产业调研"`
 }
 
 //主题列表

+ 1 - 0
models/activity_type.go

@@ -54,6 +54,7 @@ type ActivityTypeHome struct {
 
 type ActivityTypeHomePc struct {
 	ActivityTypeId   int    `description:"活动类型id"`
+	Resource         int    `description:"位置 ,1:活动 ,2:专项产业调研"`
 	ActivityTypeName string `description:"活动名称"`
 	OnlineIco        string `description:"线上线下Ico图标"`
 	ImgUrlBgPc       string `description:"Pc端背景图片"`

+ 9 - 0
routers/commentsRouter_controllers.go

@@ -106,6 +106,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ActivityCoAntroller"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ActivityCoAntroller"],
+        beego.ControllerComments{
+            Method: "LabelTypeListV6Pc",
+            Router: "/labelTypeListV6Pc",
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ActivityCoAntroller"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ActivityCoAntroller"],
         beego.ControllerComments{
             Method: "ActivityList",