Forráskód Böngészése

fix:消息详情列表

Roc 2 éve
szülő
commit
1e1c567dad

+ 93 - 1
controllers/message.go

@@ -9,6 +9,8 @@ import (
 	"hongze/hongze_mobile_admin/models/tables/company_approval_message"
 	"hongze/hongze_mobile_admin/models/tables/contract_approval"
 	"hongze/hongze_mobile_admin/models/tables/contract_approval_record"
+	"hongze/hongze_mobile_admin/models/tables/yb_community_question"
+	"hongze/hongze_mobile_admin/models/tables/yb_community_question_comment"
 	"hongze/hongze_mobile_admin/utils"
 	"sort"
 	"strconv"
@@ -141,6 +143,34 @@ func (c *MessageCommon) MessageList() {
 	//将所有未读消息标记为已读
 	_ = company_approval_message.ModifyAllCompanyApprovalMessageStatus(sysUserId, sourceType)
 
+	switch sourceType {
+	case 5:
+		err = getQuestionMessage(list)
+		resp := message.CompanyApprovalMessageListResp{
+			List:  list,
+			Total: total,
+		}
+		if err != nil {
+			c.FailWithMessage("获取失败", "获取问答失败,Err:"+err.Error())
+			return
+		}
+		c.OkDetailed(resp, "获取成功")
+		return
+	case 6:
+		err = getQuestionCommentMessage(list)
+		resp := message.CompanyApprovalMessageListResp{
+			List:  list,
+			Total: total,
+		}
+		if err != nil {
+			c.FailWithMessage("获取失败", "获取问答失败,Err:"+err.Error())
+			return
+		}
+		c.OkDetailed(resp, "获取成功")
+		return
+
+	}
+
 	companyApprovalIds := make([]string, 0)
 	newApprovalRecordIds := make([]string, 0)
 	companyApprovalMap := make(map[int]*company_approval.CompanyApproval)
@@ -241,8 +271,70 @@ func (c *MessageCommon) MessageList() {
 	c.OkDetailed(resp, "获取成功")
 }
 
-func getMessageItem(source int) {
+// getQuestionMessage 获取问答的消息
+func getQuestionMessage(companyApprovalMessageList []*company_approval_message.CompanyApprovalMessageList) (err error) {
+	questionId := make([]string, 0)
+
+	for _, v := range companyApprovalMessageList {
+		questionId = append(questionId, strconv.Itoa(v.CompanyApprovalId))
+	}
+	questionList, err := yb_community_question.GetCommunityQuestionListByIds(strings.Join(questionId, ","))
+	if err != nil {
+		return
+	}
 
+	approvalInfoMap := make(map[int]company_approval_message.ApprovalInfo)
+	for _, v := range questionList {
+		approvalInfo := company_approval_message.ApprovalInfo{
+			ApplyName: v.RealName,
+			Type:      v.QuestionContent,
+			ApplyTime: v.CreateTime,
+			//ApprovalTime: time.Time{},
+		}
+		approvalInfoMap[v.CommunityQuestionId] = approvalInfo
+	}
+
+	for _, v := range companyApprovalMessageList {
+
+		if tmpApprovalInfo, ok := approvalInfoMap[v.CompanyApprovalId]; ok {
+			v.ApprovalInfo = tmpApprovalInfo
+		}
+	}
+	return
+}
+
+// getQuestionCommentMessage 获取问答评论的消息
+func getQuestionCommentMessage(companyApprovalMessageList []*company_approval_message.CompanyApprovalMessageList) (err error) {
+	questionCommentId := make([]string, 0)
+
+	for _, v := range companyApprovalMessageList {
+		questionCommentId = append(questionCommentId, strconv.Itoa(v.CompanyApprovalId))
+	}
+
+	// 获取问答评论
+	questionCommentList, err := yb_community_question_comment.GetCommunityQuestionCommentListByIds(strings.Join(questionCommentId, ","))
+	if err != nil {
+		return
+	}
+
+	approvalInfoMap := make(map[int]company_approval_message.ApprovalInfo)
+	for _, v := range questionCommentList {
+		approvalInfo := company_approval_message.ApprovalInfo{
+			ApplyName: v.RealName,
+			Type:      v.Content,
+			ApplyTime: v.CreateTime,
+			//ApprovalTime: time.Time{},
+		}
+		approvalInfoMap[v.CommunityQuestionId] = approvalInfo
+	}
+
+	for _, v := range companyApprovalMessageList {
+
+		if tmpApprovalInfo, ok := approvalInfoMap[v.CompanyApprovalId]; ok {
+			v.ApprovalInfo = tmpApprovalInfo
+		}
+	}
+	return
 }
 
 // @Title 消息已读

+ 10 - 0
models/tables/yb_community_question_comment/yb_community_question_comment.go

@@ -10,6 +10,7 @@ type YbCommunityQuestionComment struct {
 	CommunityQuestionCommentId uint64    `orm:"column(community_question_comment_id);pk;" description:"留言ID"`
 	CommunityQuestionId        int       `orm:"column(community_question_id)" description:"社区问答id"`
 	UserId                     uint64    `orm:"column(user_id)" description:"用户id"`
+	RealName                   string    `orm:"column(real_name)" description:"用户当时昵称"`
 	Content                    string    `orm:"column(content)" description:"留言内容"`
 	ReplyCommentId             uint64    `orm:"column(reply_comment_id)" description:"回复的留言ID"`
 	IsTop                      int8      `orm:"column(is_top)" description:"是否置顶(0-未置顶,1-置顶)"`
@@ -79,3 +80,12 @@ func GetCommunityQuestionCommentList(condition string, pars []interface{}, start
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
 	return
 }
+
+// GetCommunityQuestionCommentListByIds 根据问答评论id获取列表数据
+func GetCommunityQuestionCommentListByIds(CommunityQuestionCommentIds string) (list []*YbCommunityQuestionComment, err error) {
+	o := orm.NewOrm()
+	// 列表数据
+	sql := `SELECT q.* FROM yb_community_question_comment q WHERE q.enabled = 0 AND community_question_comment_id in (` + CommunityQuestionCommentIds + `)`
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}