|
@@ -2458,3 +2458,160 @@ func (this *ActivityCoAntroller) ActivityListNew() {
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = resp
|
|
|
}
|
|
|
+
|
|
|
+// @Title 活动类型下的主题列表Pc端
|
|
|
+// @Description 获取活动类型下的主题列表接口Pc端
|
|
|
+// @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.ActivityTypeListHomeResp
|
|
|
+// @router /labelTypeListPc [get]
|
|
|
+func (this *ActivityCoAntroller) LabelTypeListPc() {
|
|
|
+ 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.TrimRight(permissionNameStr, ",")
|
|
|
+ list, err := models.GetActivityTypeHomeList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := new(models.ActivityTypeListHomeResp)
|
|
|
+ for k, v := range list {
|
|
|
+ var sqlExport string
|
|
|
+ var condition string
|
|
|
+ permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionNameStr + `)`
|
|
|
+ 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 += `) `
|
|
|
+ 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 + `) `
|
|
|
+ }
|
|
|
+ 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].ImgUrlBg = v.ImgUrlBgs
|
|
|
+ }
|
|
|
+ list[k].List = labelList
|
|
|
+ }
|
|
|
+ //记录用户搜索的筛选条件
|
|
|
+ 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
|
|
|
+}
|