Browse Source

我的日程

xingzai 2 years ago
parent
commit
b0702a1db1
3 changed files with 79 additions and 2 deletions
  1. 4 2
      controllers/activity.go
  2. 48 0
      models/activity.go
  3. 27 0
      services/activity_my_schedule.go

+ 4 - 2
controllers/activity.go

@@ -492,7 +492,8 @@ func (this *ActivityCoAntroller) ScheduleList() {
 		if source == 1 {
 			condition += ` AND art.yidong_activity_id = '' `
 		}
-		listOther, errList := models.GetScheduleList(condition, pars, uid, startSize, pageSize)
+		//listOther, errList := models.GetScheduleList(condition, pars, uid, startSize, pageSize)
+		listOther, errList := services.GetScheduleAndSpecilList(user, condition, startSize, pageSize)
 		if errList != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取失败,Err:" + errList.Error()
@@ -505,7 +506,8 @@ func (this *ActivityCoAntroller) ScheduleList() {
 		}
 	} else {
 		condition += ` AND art.active_state IN(1,3)` //全部都不是进行中的活动
-		listOther, errList := models.GetScheduleList(condition, pars, uid, startSize, pageSize)
+		//listOther, errList := models.GetScheduleList(condition, pars, uid, startSize, pageSize)
+		listOther, errList := services.GetScheduleAndSpecilList(user, condition, startSize, pageSize)
 		list = listOther
 		if errList != nil {
 			br.Msg = "获取失败"

+ 48 - 0
models/activity.go

@@ -191,6 +191,7 @@ type ActivityDetail struct {
 	VisibleRange            int                        `description:"可见范围 1,仅本组可见 、2,全部客户可见"`
 	VideoDetail             *CygxActivityVideoListResp `description:"视频数据"`
 	FileType                int                        `description:"类型: 1-音频; 2-视频"`
+	SourceType              int                        `description:"活动来源。 1:活动 、2:专项产业调研"`
 }
 
 type CygxActivityResp struct {
@@ -365,6 +366,53 @@ func GetScheduleList(condition string, pars []interface{}, uid, startSize, pageS
 	return
 }
 
+//我的日程列表 活动以及专项调研一起
+func GetScheduleAndSpecilList(condition string, pars []interface{}, conditionSpecil string, parsSpecil []interface{}, startSize, pageSize int) (items []*ActivityDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			art.activity_id,
+			art.activity_time_text,
+			art.activity_name,
+			art.chart_permission_id,
+			art.active_state,
+			t.activity_type,
+			art.chart_permission_name,
+			1 AS source_type,
+			art.activity_time 
+		FROM
+			cygx_activity AS art
+			INNER JOIN cygx_my_schedule AS my ON my.activity_id = art.activity_id
+			INNER JOIN cygx_activity_type AS t ON t.activity_type_id = art.activity_type_id
+			INNER JOIN chart_permission AS c ON c.chart_permission_id = art.chart_permission_id 
+		WHERE
+			1 = 1 `
+	if condition != `` {
+		sql += condition
+	}
+	sql += ` UNION ALL
+		SELECT
+			art.activity_id,
+			art.activity_time_text_by_day AS activity_time_text,
+			art.research_theme AS activity_name,
+			art.chart_permission_id,
+			"",
+			art.special_type AS activity_type,
+			art.chart_permission_name,
+			2 AS source_type,
+			art.activity_time 
+		FROM
+			cygx_activity_special AS art
+			INNER JOIN cygx_activity_special_trip AS my ON my.activity_id = art.activity_id 
+		WHERE
+			1 = 1`
+	if conditionSpecil != "" {
+		sql += conditionSpecil
+	}
+	sql += ` ORDER BY activity_time DESC   LIMIT ?,?`
+	_, err = o.Raw(sql, pars, parsSpecil, startSize, pageSize).QueryRows(&items)
+	return
+}
+
 //获取数量
 func GetActivityCountById(activityId int) (count int, err error) {
 	o := orm.NewOrm()

+ 27 - 0
services/activity_my_schedule.go

@@ -0,0 +1,27 @@
+package services
+
+import (
+	"errors"
+	"fmt"
+	"hongze/hongze_cygx/models"
+)
+
+func GetScheduleAndSpecilList(user *models.WxUserItem, condition string, startSize, pageSize int) (items []*models.ActivityDetail, err error) {
+
+	var conditionSpecil string
+	var pars, parsSpecil []interface{}
+
+	condition += ` AND my.user_id = ?`
+	pars = append(pars, user.UserId)
+
+	conditionSpecil += ` AND my.user_id = ?`
+	parsSpecil = append(parsSpecil, user.UserId)
+	list, e := models.GetScheduleAndSpecilList(condition, pars, conditionSpecil, parsSpecil, startSize, pageSize)
+	if e != nil {
+		fmt.Println(e)
+		err = errors.New("获取微路演音视频列表失败, Err: " + e.Error())
+		return
+	}
+	items = list
+	return
+}