123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- package controllers
- import (
- "hongze/hongze_cygx/models"
- "hongze/hongze_cygx/utils"
- "rdluck_tools/paging"
- "strconv"
- "strings"
- "time"
- )
- //活动
- type ActivityCoAntroller struct {
- BaseAuthController
- }
- // @Title 活动类型列表
- // @Description活动类型列表接口
- // @Success 200 {object} models.ActivityTypeListResp
- // @router /activityTypelist [get]
- func (this *ActivityCoAntroller) List() {
- 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"
- br.Ret = 408
- return
- }
- resp := new(models.ActivityTypeListResp)
- list, err := models.GetActivityTypeList()
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取数据失败,Err:" + err.Error()
- return
- }
- resp.List = list
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
- // @Title 活动列表
- // @Description 获取活动列表接口
- // @Param PageSize query int true "每页数据条数"
- // @Param CurrentIndex query int true "当前页页码,从1开始"
- // @Param ChartPermissionIds query string false "行业id 多个用 , 隔开"
- // @Param ActivityTypeIds query string false "活动类型id 多个用 , 隔开"
- // @Param KeyWord query string false "搜索关键词"
- // @Param ActiveState query string false "活动进行状态 未开始:1、进行中2、已结束3"
- // @Success 200 {object} models.GetCygxActivityListRep
- // @router /list [get]
- func (this *ActivityCoAntroller) ActivityList() {
- 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
- }
- uid := user.UserId
- pageSize, _ := this.GetInt("PageSize")
- currentIndex, _ := this.GetInt("CurrentIndex")
- chartPermissionIds := this.GetString("ChartPermissionIds")
- activityTypeIds := this.GetString("ActivityTypeIds")
- keyWord := this.GetString("KeyWord")
- activeState := this.GetString("ActiveState")
- if activeState != "2" && activeState != "3" {
- activeState = "1"
- }
- var startSize int
- if pageSize <= 0 {
- pageSize = utils.PageSize20
- }
- if currentIndex <= 0 {
- currentIndex = 1
- }
- startSize = utils.StartIndex(currentIndex, pageSize)
- var condition string
- var pars []interface{}
- if keyWord != "" {
- condition += ` AND (art.activity_name LIKE '%` + keyWord + `%' ) `
- }
- //行业名称
- if len(chartPermissionIds) > 0 {
- condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
- }
- condition += ` AND art.publish_status = 1 `
- //1专家电话会、2分析师电话会、3公司调研电话会、4公司线下调研、5专家线下沙龙、6分析师线下沙龙
- resultTimeNow := time.Now().Format("2006-01-02 15:04:05")
- resultTime30 := time.Now().Add(+time.Minute * 30).Format("2006-01-02 15:04:05")
- resultTime_30 := time.Now().Add(-time.Minute * 30).Format("2006-01-02 15:04:05")
- resultTime60 := time.Now().Add(+time.Minute * 60).Format("2006-01-02 15:04:05")
- resultTime_60 := time.Now().Add(-time.Minute * 60).Format("2006-01-02 15:04:05")
- if activeState == "1" {
- if len(activityTypeIds) > 0 {
- condition += ` AND art.activity_type_id IN (` + activityTypeIds + `)`
- }
- condition += ` AND art.activity_time > ` + "'" + resultTimeNow + "'"
- } else if activeState == "2" {
- condition += ` AND art.activity_time > ` + "'" + resultTimeNow + "'"
- if len(activityTypeIds) > 0 {
- condition += ` AND art.activity_type_id IN (` + activityTypeIds + `)`
- condition += ` AND art.activity_time < ` + "'" + resultTime30 + "'"
- } else {
- var sqlOr string
- sqlOr = condition
- condition += ` AND (art.activity_type_id IN ( 1, 2, 3 ) AND art.activity_time < ` + "'" + resultTime30 + "'" + ")"
- condition += ` OR(art.activity_type_id IN ( 4, 5, 6 ) AND art.activity_time < ` + "'" + resultTime60 + "'" + sqlOr + ")"
- }
- } else {
- if len(activityTypeIds) > 0 {
- condition += ` AND art.activity_type_id IN (` + activityTypeIds + `)`
- condition += ` AND art.activity_time > ` + "'" + resultTime_30 + "'"
- } else {
- var sqlOr string
- sqlOr = condition
- condition += ` AND (art.activity_type_id IN ( 1, 2, 3 ) AND art.activity_time <` + "'" + resultTime_30 + "'" + ")"
- condition += ` OR(art.activity_type_id IN ( 4, 5, 6 ) AND art.activity_time < ` + "'" + resultTime_60 + "'" + sqlOr + ")"
- }
- }
- total, err := models.GetActivityCount(condition, pars)
- if err != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取失败,Err:" + err.Error()
- return
- }
- if activeState != "1" {
- condition += ` ORDER BY art.activity_time DESC `
- }
- //condition += ` ORDER BY art.activity_time DESC `
- list, errList := models.GetActivityListAll(condition, pars, uid, startSize, pageSize)
- srt30min := "1,2,3"
- srt60min := "4,5,6"
- for k, v := range list {
- if strings.Contains(srt30min, strconv.Itoa(v.ActivityTypeId)) {
- resultTime := utils.StrTimeToTime(v.ActivityTime) //时间字符串格式转时间格式
- if resultTime.After(time.Now()) {
- list[k].ActiveState = "1"
- } else if time.Now().After(resultTime) && resultTime.After(time.Now().Add(+time.Minute*30)) {
- list[k].ActiveState = "2"
- } else {
- list[k].ActiveState = "3"
- }
- }
- if strings.Contains(srt60min, strconv.Itoa(v.ActivityTypeId)) {
- resultTime := utils.StrTimeToTime(v.ActivityTime) //时间字符串格式转时间格式
- if resultTime.After(time.Now()) {
- list[k].ActiveState = "1"
- } else if time.Now().After(resultTime) && resultTime.After(time.Now().Add(+time.Minute*60)) {
- list[k].ActiveState = "2"
- } else {
- list[k].ActiveState = "3"
- }
- }
- }
- if errList != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取失败,Err:" + errList.Error()
- return
- }
- page := paging.GetPaging(currentIndex, pageSize, total)
- resp := new(models.GetCygxActivityListRep)
- resp.List = list
- resp.Paging = page
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
- // @Title 活动详情
- // @Description 获取活动详情接口
- // @Param ActivityId query int true "活动ID"
- // @Success Ret=200 {object} models.ActivityDetail
- // @router /detail [get]
- func (this *ActivityCoAntroller) Detail() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- user := this.User
- if user == nil {
- br.Msg = "请登录"
- br.ErrMsg = "请登录,用户信息为空"
- br.Ret = 408
- return
- }
- activityId, _ := this.GetInt("ActivityId")
- if activityId < 1 {
- br.Msg = "请输入活动ID"
- return
- }
- activityInfo, err := models.GetAddActivityInfoById(activityId)
- if activityInfo == nil {
- br.Msg = "活动不存在"
- br.ErrMsg = "活动ID错误,Err:" + err.Error() + "activityId:" + strconv.Itoa(activityId)
- return
- }
- detail, errDetail := models.GetActivityTypeDetailById(activityInfo.ActivityTypeId)
- if errDetail != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + errDetail.Error()
- return
- }
- activityInfo.ShowType = detail.ShowType
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = activityInfo
- }
|