|
@@ -61,6 +61,7 @@ func (this *ActivityCoAntroller) List() {
|
|
// @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3"
|
|
// @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3"
|
|
// @Param WhichDay query string false "哪一天 今天:1、明天:2,多个用 , 隔开"
|
|
// @Param WhichDay query string false "哪一天 今天:1、明天:2,多个用 , 隔开"
|
|
// @Param IsShowJurisdiction query int false "是否仅展示有权限的,1是,2否 默认为零"
|
|
// @Param IsShowJurisdiction query int false "是否仅展示有权限的,1是,2否 默认为零"
|
|
|
|
+// @Param Label query string false "搜索主题 多个用 , 隔开"
|
|
// @Success 200 {object} models.GetCygxActivityListRep
|
|
// @Success 200 {object} models.GetCygxActivityListRep
|
|
// @router /list [get]
|
|
// @router /list [get]
|
|
func (this *ActivityCoAntroller) ActivityList() {
|
|
func (this *ActivityCoAntroller) ActivityList() {
|
|
@@ -69,14 +70,12 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
this.Data["json"] = br
|
|
this.Data["json"] = br
|
|
this.ServeJSON()
|
|
this.ServeJSON()
|
|
}()
|
|
}()
|
|
-
|
|
|
|
user := this.User
|
|
user := this.User
|
|
if user == nil {
|
|
if user == nil {
|
|
br.Msg = "请登录"
|
|
br.Msg = "请登录"
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- fmt.Println(user.Mobile)
|
|
|
|
uid := user.UserId
|
|
uid := user.UserId
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
@@ -87,6 +86,7 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
|
|
|
keyWord := this.GetString("KeyWord")
|
|
keyWord := this.GetString("KeyWord")
|
|
activeState := this.GetString("ActiveState")
|
|
activeState := this.GetString("ActiveState")
|
|
|
|
+ label := this.GetString("Label")
|
|
|
|
|
|
itemSearch := new(models.CygxActivityUserSearchContent)
|
|
itemSearch := new(models.CygxActivityUserSearchContent)
|
|
itemSearch.UserId = uid
|
|
itemSearch.UserId = uid
|
|
@@ -231,6 +231,17 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
condition += ` AND (art.activity_name LIKE '%` + keyWord + `%' )`
|
|
condition += ` AND (art.activity_name LIKE '%` + keyWord + `%' )`
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //主题
|
|
|
|
+ if label != "" {
|
|
|
|
+ sliceLabel := strings.Split(label, ",")
|
|
|
|
+ var labelSqlStr string
|
|
|
|
+ for _, v := range sliceLabel {
|
|
|
|
+ labelSqlStr += "'" + v + "',"
|
|
|
|
+ }
|
|
|
|
+ labelSqlStr = strings.TrimRight(labelSqlStr, ",")
|
|
|
|
+ condition = ` AND art.label IN (` + labelSqlStr + `)`
|
|
|
|
+ }
|
|
|
|
+
|
|
//行业名称
|
|
//行业名称
|
|
if len(chartPermissionIds) > 0 {
|
|
if len(chartPermissionIds) > 0 {
|
|
condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
@@ -1505,3 +1516,185 @@ func (this *ActivityABaseController) FastSearch() {
|
|
br.Msg = "获取成功"
|
|
br.Msg = "获取成功"
|
|
br.Data = resp
|
|
br.Data = resp
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// @Title 主题列表
|
|
|
|
+// @Description 获取活动主题列表接口
|
|
|
|
+// @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 Label query string false "搜索主题 多个用 , 隔开 (空为活动主题,非空为更多主题)"
|
|
|
|
+// @Success 200 {object} models.GetCygxActivityLabelListRep
|
|
|
|
+// @router /labelList [get]
|
|
|
|
+func (this *ActivityCoAntroller) LabelList() {
|
|
|
|
+ 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")
|
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
|
+ chartPermissionIds := this.GetString("ChartPermissionIds")
|
|
|
|
+ activityTypeIds := this.GetString("ActivityTypeIds")
|
|
|
|
+ whichDay := this.GetString("WhichDay")
|
|
|
|
+ isShowJurisdiction, _ := this.GetInt("IsShowJurisdiction")
|
|
|
|
+ activeState := this.GetString("ActiveState")
|
|
|
|
+ label := this.GetString("Label")
|
|
|
|
+ var userType int
|
|
|
|
+ var permissionStr string
|
|
|
|
+ if user.CompanyId <= 1 {
|
|
|
|
+ userType = 0
|
|
|
|
+ } else {
|
|
|
|
+ total, err := models.GetCountCompanyDetailByIdGroup(user.CompanyId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if total == 0 {
|
|
|
|
+ userType = 0
|
|
|
|
+ } else {
|
|
|
|
+ companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
|
+ br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if companyDetail == nil {
|
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
|
+ br.ErrMsg = "客户不存在,uid:" + strconv.Itoa(user.UserId) + "CompanyId:" + strconv.Itoa(user.CompanyId)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ permissionStr, err = models.GetCompanyPermission(user.CompanyId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
|
+ br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ //1、永续客户
|
|
|
|
+ //2、大套餐客户(4个行业全开通的正式客户)
|
|
|
|
+ //3、分行业套餐客户(开通对应行业的正式客户)
|
|
|
|
+ //4、仅开通专家套餐的正式客户
|
|
|
|
+ //5、开通对应行业套餐或专家套餐的试用客户
|
|
|
|
+ if companyDetail.Status == "永续" {
|
|
|
|
+ userType = 1
|
|
|
|
+ } else if companyDetail.Status == "试用" {
|
|
|
|
+ userType = 5
|
|
|
|
+ } else if companyDetail.Status == "正式" {
|
|
|
|
+ if permissionStr == "专家" {
|
|
|
|
+ userType = 4
|
|
|
|
+ } else if strings.Contains(permissionStr, "医药") && strings.Contains(permissionStr, "消费") && strings.Contains(permissionStr, "科技") && strings.Contains(permissionStr, "智造") {
|
|
|
|
+ userType = 2
|
|
|
|
+ } else {
|
|
|
|
+ userType = 3
|
|
|
|
+ }
|
|
|
|
+ if userType == 3 {
|
|
|
|
+ if !strings.Contains(permissionStr, "医药") && !strings.Contains(permissionStr, "消费") && !strings.Contains(permissionStr, "科技") && !strings.Contains(permissionStr, "智造") {
|
|
|
|
+ userType = 4
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if isShowJurisdiction == 1 && chartPermissionIds == "" && userType == 4 {
|
|
|
|
+ activityTypeIds = "1,3"
|
|
|
|
+ }
|
|
|
|
+ var startSize int
|
|
|
|
+ //if pageSize <= 0 {
|
|
|
|
+ // pageSize = utils.PageSize20
|
|
|
|
+ //}
|
|
|
|
+ currentIndex = 1
|
|
|
|
+ pageSize = 16
|
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
|
+ var condition string
|
|
|
|
+ var pars []interface{}
|
|
|
|
+ //活动可见限制
|
|
|
|
+ var sqlExport string
|
|
|
|
+
|
|
|
|
+ slicePer := strings.Split(permissionStr, ",")
|
|
|
|
+ var permissionSqlStr string
|
|
|
|
+ for _, v := range slicePer {
|
|
|
|
+ permissionSqlStr += "'" + v + "',"
|
|
|
|
+ }
|
|
|
|
+ permissionSqlStr = strings.TrimRight(permissionSqlStr, ",")
|
|
|
|
+ permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionSqlStr + `)`
|
|
|
|
+ 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 += `) `
|
|
|
|
+
|
|
|
|
+ //主题
|
|
|
|
+ if label != "" {
|
|
|
|
+ sliceLabel := strings.Split(label, ",")
|
|
|
|
+ var labelSqlStr string
|
|
|
|
+ for _, v := range sliceLabel {
|
|
|
|
+ labelSqlStr += "'" + v + "',"
|
|
|
|
+ }
|
|
|
|
+ labelSqlStr = strings.TrimRight(labelSqlStr, ",")
|
|
|
|
+ condition = ` AND art.label NOT IN (` + labelSqlStr + `)`
|
|
|
|
+ } else {
|
|
|
|
+ //行业名称
|
|
|
|
+ if len(chartPermissionIds) > 0 {
|
|
|
|
+ condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
|
|
+ }
|
|
|
|
+ if activityTypeIds != "" {
|
|
|
|
+ condition += ` AND art.activity_type_id IN (` + activityTypeIds + `)`
|
|
|
|
+ }
|
|
|
|
+ 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)`
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ condition += ` AND art.publish_status = 1 AND art.label != '' `
|
|
|
|
+ var conditionOr string
|
|
|
|
+ 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 + `) `
|
|
|
|
+ }
|
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
|
+ condition += `AND art.is_limit_people = 1 ` + permissionSqlStr + sqlExport + conditionOr
|
|
|
|
+
|
|
|
|
+ condition += ` GROUP BY art.label ORDER BY art.active_state ASC, art.activity_time ASC `
|
|
|
|
+ list, errList := models.GetActivityLabelListAll(condition, pars, startSize, pageSize)
|
|
|
|
+ if errList != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取失败,Err:" + errList.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp := new(models.GetCygxActivityLabelListRep)
|
|
|
|
+ resp.List = list
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Success = true
|
|
|
|
+ br.Msg = "获取成功"
|
|
|
|
+ br.Data = resp
|
|
|
|
+}
|