|
@@ -12,6 +12,8 @@ import (
|
|
|
"hongze/hongze_yb/services/user"
|
|
|
"hongze/hongze_yb/services/wechat"
|
|
|
"hongze/hongze_yb/utils"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -98,6 +100,7 @@ func GetQuestionList(pageIndex, pageSize, onlyMine, chartPermissionId, replyStat
|
|
|
ChartPermissionID: v.CommunityQuestionID,
|
|
|
ChartPermissionName: v.ChartPermissionName,
|
|
|
IsRead: v.IsRead,
|
|
|
+ ReplierIsRead: v.ReplierIsRead,
|
|
|
ReplyStatus: v.ReplyStatus,
|
|
|
CreateTime: v.CreateTime.Format(utils.FormatDateTime),
|
|
|
ReplyTime: v.ReplyTime.Format(utils.FormatDateTime),
|
|
@@ -156,6 +159,7 @@ func GetQuestionDetail(questionId int, userInfo user.UserInfo) (item *response.C
|
|
|
ChartPermissionID: detail.ChartPermissionID,
|
|
|
ChartPermissionName: detail.ChartPermissionName,
|
|
|
IsRead: detail.IsRead,
|
|
|
+ ReplierIsRead: detail.ReplierIsRead,
|
|
|
ReplyStatus: detail.ReplyStatus,
|
|
|
CreateTime: detail.CreateTime.Format(utils.FormatDateTime),
|
|
|
ReplyTime: detail.ReplyTime.Format(utils.FormatDateTime),
|
|
@@ -236,34 +240,31 @@ func ReplyUserQuestion(replierId, questionId int, audios []*request.ReplyReqAudi
|
|
|
}
|
|
|
|
|
|
// ReadQuestionReply 回复已读
|
|
|
-func ReadQuestionReply(questionId int, userInfo user.UserInfo) (err error) {
|
|
|
- item, e := yb_community_question.GetItemById(questionId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("获取提问信息失败 Err:" + e.Error())
|
|
|
+func ReadQuestionReply(questionIds string, userInfo user.UserInfo) (err error) {
|
|
|
+ if questionIds == "" {
|
|
|
return
|
|
|
}
|
|
|
- if item.IsRead == 1 && item.ReplierIsRead == 1 {
|
|
|
+ questionIdArr := make([]int, 0)
|
|
|
+ questionIdStrArr := strings.Split(questionIds, ",")
|
|
|
+ for _, v := range questionIdStrArr {
|
|
|
+ i, _ := strconv.Atoi(v)
|
|
|
+ questionIdArr = append(questionIdArr, i)
|
|
|
+ }
|
|
|
+ if len(questionIdArr) == 0 {
|
|
|
return
|
|
|
}
|
|
|
- if item.UserID == int(userInfo.UserID) {
|
|
|
- isAdmin, _, e := user.GetAdminByUserInfo(userInfo)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("获取用户身份失败 Err:" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- updateCols := make([]string, 0)
|
|
|
- updateCols = append(updateCols, "modify_time")
|
|
|
- if isAdmin {
|
|
|
- updateCols = append(updateCols, "replier_is_read")
|
|
|
- item.ReplierIsRead = 1
|
|
|
- } else {
|
|
|
- updateCols = append(updateCols, "is_read")
|
|
|
- item.IsRead = 1
|
|
|
- }
|
|
|
- item.ModifyTime = time.Now().Local()
|
|
|
- if e = item.Update(updateCols); e != nil {
|
|
|
- err = errors.New("更新问题已读失败 Err:" + e.Error())
|
|
|
- }
|
|
|
+ isAdmin, _, e := user.GetAdminByUserInfo(userInfo)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("获取用户身份失败 Err:" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if isAdmin {
|
|
|
+ e = yb_community_question.UpdateReplierRead(int(userInfo.UserID), questionIdArr)
|
|
|
+ } else {
|
|
|
+ e = yb_community_question.UpdateUserRead(int(userInfo.UserID), questionIdArr)
|
|
|
+ }
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("更新问答已读失败 Err:" + e.Error())
|
|
|
}
|
|
|
return
|
|
|
}
|