瀏覽代碼

个人中心,我的带问

xingzai 3 年之前
父節點
當前提交
c25e48be14
共有 2 個文件被更改,包括 92 次插入0 次删除
  1. 45 0
      controllers/user.go
  2. 47 0
      models/activity_help_ask.go

+ 45 - 0
controllers/user.go

@@ -1251,3 +1251,48 @@ func (this *UserController) WhiteUser() {
 	br.Success = true
 	br.Msg = "获取成功"
 }
+
+// @Title 获取我的提问
+// @Description 获取我的提问列表
+// @Success 200 {object} models.CygxAskListResp
+// @router /ask/list [get]
+func (this *UserController) AskList() {
+	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
+	}
+	userId := this.User.UserId
+	listActcivity, err := models.GetActivityAskList(userId)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取活动问题失败,Err:" + err.Error()
+		return
+	}
+	for _, v := range listActcivity {
+		v.AskType = "Activity"
+	}
+	listArticle, err := models.GetArticleAskList(userId)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取文章问题失败,Err:" + err.Error()
+		return
+	}
+	for _, v := range listArticle {
+		v.AskType = "Report"
+		listActcivity = append(listActcivity, v)
+	}
+	resp := new(models.CygxAskListResp)
+	resp.List = listActcivity
+	br.Msg = "获取成功!"
+	br.Ret = 200
+	br.Success = true
+	br.Data = resp
+}

+ 47 - 0
models/activity_help_ask.go

@@ -28,3 +28,50 @@ type AddCygxActivityHelpAsk struct {
 	ActivityId int    `description:"活动id"`
 	Content    string `description:"内容"`
 }
+
+type CygxAskList struct {
+	ReportOrActivityId int    ` description:"对应的文章或者活动Id"`
+	Title              string `description:"标题"`
+	Content            string `description:"内容"`
+	AskType            string `description:"类型 Activity 活动 、Report 文章报告"`
+}
+
+type CygxAskListResp struct {
+	List []*CygxAskList
+}
+
+//report_or_activity_id
+
+//主题列表
+func GetActivityAskList(userId int) (items []*CygxAskList, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			k.activity_id as report_or_activity_id,
+			k.content,
+			k.create_time,
+			a.activity_name as title
+		FROM
+			cygx_activity_help_ask AS k
+			INNER JOIN cygx_activity AS a ON a.activity_id = k.activity_id 
+		WHERE
+			user_id = ? ORDER BY k.ask_id DESC`
+	_, err = o.Raw(sql, userId).QueryRows(&items)
+	return
+}
+
+//列表
+func GetArticleAskList(userId int) (items []*CygxAskList, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			k.article_id as report_or_activity_id,
+			k.content,
+			k.create_time,
+			a.title as title
+		FROM
+			cygx_article_ask AS k
+			INNER JOIN cygx_article AS a ON a.article_id = k.article_id 
+		WHERE
+			user_id = ? ORDER BY k.ask_id DESC`
+	_, err = o.Raw(sql, userId).QueryRows(&items)
+	return
+}