Browse Source

no message

xingzai 2 years ago
parent
commit
e526670a72
3 changed files with 68 additions and 9 deletions
  1. 0 1
      controllers/activity.go
  2. 12 1
      controllers/activity_special.go
  3. 56 7
      services/activity_special.go

+ 0 - 1
controllers/activity.go

@@ -103,7 +103,6 @@ func (this *ActivityController) LabelTypeList() {
 // @Param   Label   query   string  false       "搜索主题 多个用 , 隔开"
 // @Param   ChartPermissionIds   query   string  false     "行业id 多个用 , 隔开"
 // @Param   WhichDay   query   string  false       "哪一天 今天:1、明天:2, 本周:3 上周:4,本月:5上月:6多个用 , 隔开"
-// @Param   WhichTime   query   string  false       " 本周:1 上周:2,本月:3上月:4"
 // @Param   ActiveState   query   string  false       "活动进行状态 未开始:1、进行中2、已结束3"
 // @Param   ActivityTypeId   query   string  false     "活动类型id 多个用 , 隔开"
 // @Param   Source   query   int  false     "来源 0手机 ,1Pc 默认0"

+ 12 - 1
controllers/activity_special.go

@@ -19,6 +19,8 @@ type ActivitySpecialController struct {
 // @Description 获取专项产业调研列表接口
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Param   ChartPermissionIds   query   string  false     "行业id 多个用 , 隔开"
+// @Param   WhichDay   query   string  false       "哪一天 今天:1、明天:2, 本周:3 上周:4,本月:5上月:6多个用 , 隔开"
 // @Success 200 {object} models.GetCygxActivitySpecialDetailListResp
 // @router /list [get]
 func (this *ActivitySpecialController) SpecialList() {
@@ -35,13 +37,18 @@ func (this *ActivitySpecialController) SpecialList() {
 	}
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
+	chartPermissionIds := this.GetString("ChartPermissionIds")
+	whichDay := this.GetString("WhichDay")
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
 	}
 	if currentIndex <= 0 {
 		currentIndex = 1
 	}
-	list, total, errList := services.GetActivitySpecialList(user, currentIndex, pageSize, "")
+
+	conditionActivity := services.ActivityLabelSpecialSql(chartPermissionIds, whichDay)
+
+	list, total, errList := services.GetActivitySpecialList(user, currentIndex, pageSize, "", conditionActivity)
 	if errList != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + errList.Error()
@@ -61,6 +68,10 @@ func (this *ActivitySpecialController) SpecialList() {
 	if user.Mobile != "" {
 		resp.IsBindingMobile = true
 	}
+
+	if len(list) == 0 {
+		list = make([]*models.CygxActivitySpecialDetail, 0)
+	}
 	resp.List = list
 	resp.Paging = page
 	br.Ret = 200

+ 56 - 7
services/activity_special.go

@@ -14,6 +14,55 @@ import (
 //	UpdateCygxActivitySpecialSignupNum()
 //}
 
+func ActivityLabelSpecialSql(chartPermissionIds, whichDay string) (condition string) {
+
+	//行业名称
+	if len(chartPermissionIds) > 0 {
+		condition += ` AND art.chart_permission_id  IN (` + chartPermissionIds + `)`
+	}
+	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)
+		}
+		if whichDay == "3" {
+			startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
+			endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
+		} else if whichDay == "4" {
+			startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
+			endDate = utils.GetLastWeekSunday().Format(utils.FormatDate)
+		} else if whichDay == "5" {
+			startDate = utils.GetNowMonthFirstDay().Format(utils.FormatDate)
+			endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
+		} else if whichDay == "6" {
+			startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
+			endDate = utils.GetLastMonthLastDay().Format(utils.FormatDate)
+		} else if whichDay == "3,4" {
+			startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
+			endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
+		} else if whichDay == "5,6" {
+			startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
+			endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
+		} else {
+			startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
+			endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
+		}
+		condition += ` AND art.activity_time >= ` + "'" + startDate + " 00:00:00'"
+		condition += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
+		condition += ` AND art.activity_time >= ` + "'" + startDate + " 00:00:00'"
+		condition += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
+	}
+	return
+}
+
 //处理专项调研的展示
 func GetActivityLabelSpecialList(user *models.WxUserItem, chartPermissionIds string) (item *models.ActivityTypeHome, err error) {
 	itemList := new(models.ActivityTypeHome)
@@ -160,7 +209,7 @@ func HandleActivityLabelSpecialTripPermission(user *models.WxUserItem) (conditio
 }
 
 //获取预报名列表
-func GetActivitySpecialPrepareList(user *models.WxUserItem, startSize, pageSize int, keywords string) (list []*models.CygxActivitySpecialDetail, totalPrepare int, err error) {
+func GetActivitySpecialPrepareList(user *models.WxUserItem, startSize, pageSize int, keywords, conditionActivity string) (list []*models.CygxActivitySpecialDetail, totalPrepare int, err error) {
 	companyDetail, e := models.GetCompanyDetailByIdGroupTrip(user.CompanyId)
 	if e != nil {
 		err = errors.New("GetCompanyDetailByIdGroupTrip, Err: " + e.Error())
@@ -182,7 +231,7 @@ func GetActivitySpecialPrepareList(user *models.WxUserItem, startSize, pageSize
 		}
 	}
 	var pars []interface{}
-	condition += ` AND art.days = 0  AND art.publish_status = 1 AND art.is_offline = 0   `
+	condition += ` AND art.days = 0  AND art.publish_status = 1 AND art.is_offline = 0   ` + conditionActivity
 	if keywords != "" {
 		keywords = "%" + keywords + "%"
 		condition += ` AND art.research_theme LIKE ? `
@@ -206,7 +255,7 @@ func GetActivitySpecialPrepareList(user *models.WxUserItem, startSize, pageSize
 确定行程的查询  GetActivityLabelSpecialConfirmList
 state 进行状态 1:未开始,2:进行中,3:已结束,4:未开始、进行中 不传默认查询全部items []*CygxActivitySpecialDetail
 */
-func GetActivityLabelSpecialConfirmList(user *models.WxUserItem, startSize, pageSize, state int, keywords string) (list []*models.CygxActivitySpecialDetail, totalConfirm int, err error) {
+func GetActivityLabelSpecialConfirmList(user *models.WxUserItem, startSize, pageSize, state int, keywords, conditionActivity string) (list []*models.CygxActivitySpecialDetail, totalConfirm int, err error) {
 	//var condition string
 	companyDetail, e := models.GetCompanyDetailByIdGroupTrip(user.CompanyId)
 	if e != nil {
@@ -229,7 +278,7 @@ func GetActivityLabelSpecialConfirmList(user *models.WxUserItem, startSize, page
 		}
 	}
 	var pars []interface{}
-	condition += ` AND art.days >0  AND art.publish_status =1   AND art.is_offline = 0  `
+	condition += ` AND art.days >0  AND art.publish_status =1   AND art.is_offline = 0  ` + conditionActivity
 	if state == 1 {
 		condition += ` AND art.activity_time > ? `
 		pars = append(pars, time.Now())
@@ -336,8 +385,8 @@ func GetSpecialTripUserSchedule(userId int) (total int, err error) {
 }
 
 //GetActivitySpecialList 获取专项调研列表
-func GetActivitySpecialList(user *models.WxUserItem, currentIndex, pageSize int, keywords string) (list []*models.CygxActivitySpecialDetail, total int, err error) {
-	listConfirm, totalConfirm, e := GetActivityLabelSpecialConfirmList(user, (currentIndex-1)*pageSize, pageSize, 4, keywords)
+func GetActivitySpecialList(user *models.WxUserItem, currentIndex, pageSize int, keywords, conditionActivity string) (list []*models.CygxActivitySpecialDetail, total int, err error) {
+	listConfirm, totalConfirm, e := GetActivityLabelSpecialConfirmList(user, (currentIndex-1)*pageSize, pageSize, 4, keywords, conditionActivity)
 	if e != nil {
 		err = errors.New("GetActivityLabelSpecialConfirmList, Err: " + e.Error())
 		return
@@ -361,7 +410,7 @@ func GetActivitySpecialList(user *models.WxUserItem, currentIndex, pageSize int,
 		startSizePrepare = (currentIndex-1)*pageSize - totalConfirm
 		pageSizePrepare = pageSize - len(listConfirm)
 	}
-	listPrepare, totalPrepare, e := GetActivitySpecialPrepareList(user, startSizePrepare, pageSizePrepare, keywords)
+	listPrepare, totalPrepare, e := GetActivitySpecialPrepareList(user, startSizePrepare, pageSizePrepare, keywords, conditionActivity)
 	if e != nil {
 		err = errors.New("GetActivityLabelSpecialConfirmList, Err: " + e.Error())
 		return