Files
baseapi/platformapi/mtwmapi/comment.go
邹宗楠 e8d21ef54f 1
2023-10-12 17:50:34 +08:00

97 lines
2.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package mtwmapi
import (
"math"
"strings"
"git.rosy.net.cn/baseapi/utils"
)
const (
CommentReplyStatusAll = -1 //全部
CommentReplyStatusNotReplied = 0 // 未回复
CommentReplyStatusReplied = 1 // 已回复
MaxCommentQueryPageSize = 20
)
type OrderComment struct {
AddComment string `json:"add_comment"`
AddCommentTime string `json:"add_comment_time"`
CommentContent string `json:"comment_content"`
CommentID int64 `json:"comment_id"`
CommentLables string `json:"comment_lables"`
CommentLableList []string `json:"comment_lable_list"`
CommentPictures string `json:"comment_pictures"`
CommentTime string `json:"comment_time"`
CriticFoodList string `json:"critic_food_list"`
DeliveryCommentScore int `json:"delivery_comment_score"`
FoodCommentScore int `json:"food_comment_score"`
OrderCommentScore int `json:"order_comment_score"`
PackingScore int `json:"packing_score"`
PraiseFoodList string `json:"praise_food_list"`
ReplyStatus int `json:"reply_status"`
Result string `json:"result"`
ShipTime int `json:"ship_time"`
}
// 根据门店id批量查询评价信息新版
// http://developer.waimai.meituan.com/home/docDetail/191
func (a *API) CommentQuery(poiCode string, startDateStr, endDateStr string, offset, limit int, replyStatus int) (commentList []*OrderComment, err error) {
params := map[string]interface{}{
KeyAppPoiCode: poiCode,
"start_time": startDateStr,
"end_time": endDateStr,
"pageoffset": offset,
"pagesize": limit,
"replyStatus": replyStatus,
}
if limit <= 0 {
limit = math.MaxInt32
}
originalOffset := offset
originalLimit := limit
for {
if limit <= 0 {
break
}
if limit > MaxCommentQueryPageSize {
limit = MaxCommentQueryPageSize
}
params["pageoffset"] = offset
params["pagesize"] = limit
result, err := a.AccessAPI("comment/query", true, params)
if err != nil {
break
}
var batchCommentList []*OrderComment
err = utils.Map2StructByJson(result, &batchCommentList, false)
if err != nil {
break
}
for _, comment := range batchCommentList {
if comment.CommentLables != "" {
comment.CommentLableList = strings.Split(comment.CommentLables, ",")
}
}
commentList = append(commentList, batchCommentList...)
if len(batchCommentList) < limit {
break
}
offset += limit
limit = originalLimit + originalOffset - offset
}
return commentList, nil
}
// 根据评价id添加商家回复
// http://developer.waimai.meituan.com/home/docDetail/194
func (a *API) CommentAddReply(poiCode string, commentID int64, reply string) (err error) {
_, err = a.AccessAPI("poi/comment/add_reply", false, map[string]interface{}{
KeyAppPoiCode: poiCode,
"comment_id": commentID,
"reply": reply,
})
return err
}