- push jd bad comment.
This commit is contained in:
@@ -81,6 +81,9 @@ func GetWeixinOpenIDsFromStoreID(storeID int) (retVal []string) {
|
||||
|
||||
func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{}) (err error) {
|
||||
if globals.ReallySendWeixinMsg {
|
||||
if storeID == 0 { // 测试,只发给我
|
||||
api.WeixinAPI.MessageTemplateSend("oYN_ust9hXKEvEv0X6Mq6nlAWs_E", templateID, downloadURL, nil, data)
|
||||
} else {
|
||||
openIDs := GetWeixinOpenIDsFromStoreID(storeID)
|
||||
successCount := 0
|
||||
for _, openID := range openIDs {
|
||||
@@ -97,6 +100,7 @@ func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{
|
||||
globals.SugarLogger.Debugf("SendMsgToStore all failed storeID:%d, templateID:%s, error:%v", storeID, templateID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -205,6 +209,38 @@ func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func PushJDBadCommentToWeiXin(comment *model.JxBadComments) (err error) {
|
||||
globals.SugarLogger.Debugf("PushJDBadCommentToWeiXin orderID:%s", comment.OrderId)
|
||||
|
||||
sb := new(strings.Builder)
|
||||
sb.WriteString("你收到了京东到家客户(")
|
||||
sb.WriteString(comment.Userphone)
|
||||
sb.WriteString(")的一条")
|
||||
sb.WriteString(utils.Int2Str(comment.Score))
|
||||
sb.WriteString("星差评,请商家在1小时内及时联系客户处理!")
|
||||
|
||||
data := map[string]interface{}{
|
||||
"first": map[string]interface{}{
|
||||
"value": sb.String(),
|
||||
"color": WX_HIGHLEVEL_TEMPLATE_COLOR,
|
||||
},
|
||||
"keyword1": map[string]interface{}{
|
||||
"value": comment.Createtime,
|
||||
"color": WX_TEMPLATE_VENDERCOLOR_BAD_COMMENTS,
|
||||
},
|
||||
"keyword2": map[string]interface{}{
|
||||
"value": comment.OrderId,
|
||||
"color": WX_TEMPLATE_VENDERCOLOR_BAD_COMMENTS,
|
||||
},
|
||||
"remark": map[string]interface{}{
|
||||
"value": genJdCommentRemark(comment),
|
||||
"color": WX_TEMPLATE_VENDERCOLOR_BAD_COMMENTS,
|
||||
},
|
||||
}
|
||||
storeID := int(utils.Str2Int64(comment.Jxstoreid))
|
||||
return SendMsgToStore(0, WX_BAD_COMMENT_PUSH_TEMPLATE_ID, fmt.Sprintf("%s%d", WX_TO_SHOW_COMMENTS_DETAIL_URL, storeID), data)
|
||||
}
|
||||
|
||||
func FormatDeliveryTime(order *model.GoodsOrder) string {
|
||||
var tmpTime time.Time
|
||||
if order.ExpectedDeliveredTime == utils.DefaultTimeValue {
|
||||
@@ -217,3 +253,12 @@ func FormatDeliveryTime(order *model.GoodsOrder) string {
|
||||
leftMinutes := left % 60
|
||||
return fmt.Sprintf("请于%s前送达(剩余时间%d小时%d分钟)", utils.Time2Str(tmpTime), leftHours, leftMinutes)
|
||||
}
|
||||
|
||||
func genJdCommentRemark(comment *model.JxBadComments) string {
|
||||
sb := new(strings.Builder)
|
||||
sb.WriteString("差评标签:")
|
||||
sb.WriteString(comment.Vendertags)
|
||||
sb.WriteString(" 差评内容:")
|
||||
sb.WriteString(comment.Scorecontent)
|
||||
return sb.String()
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
@@ -86,12 +87,8 @@ func (c *PurchaseHandler) onOrderComment(msg *jdapi.CallbackOrderMsg) (err error
|
||||
isNewComment = true
|
||||
err = c.replyOrderComment(intOrderID, utils.Int64ToStr(utils.MustInterface2Int64(result["storeId"])), score)
|
||||
}
|
||||
if !(score > JX_BAD_COMMENTS_MAX_LEVEL && isNewComment) { // 如果是直接非差评,忽略
|
||||
if score <= JX_BAD_COMMENTS_MAX_LEVEL || !isNewComment { // 如果是直接非差评,忽略
|
||||
comment.Createtime = utils.Timestamp2Str(utils.MustInterface2Int64(result["createTime"].(map[string]interface{})["time"]) / 1000)
|
||||
comment.OrderFlag = "0"
|
||||
comment.LastPushTime = utils.Time2Str(time.Now())
|
||||
comment.PushNo = 1
|
||||
comment.Maxmodifytime = JDDJ_BAD_COMMENTS_MAX_MODIFY_TIME
|
||||
if isNewComment || score <= JX_BAD_COMMENTS_MAX_LEVEL {
|
||||
comment.Msg = string(utils.MustMarshal(result))
|
||||
comment.Score = score
|
||||
@@ -99,6 +96,11 @@ func (c *PurchaseHandler) onOrderComment(msg *jdapi.CallbackOrderMsg) (err error
|
||||
comment.Vendertags = string(utils.MustMarshal(result["venderTags"]))
|
||||
comment.Status = COMMENT_NOT_RESOLVED
|
||||
if isNewComment {
|
||||
comment.OrderFlag = "0"
|
||||
comment.LastPushTime = utils.Time2Str(time.Now())
|
||||
comment.PushNo = 1
|
||||
comment.Maxmodifytime = JDDJ_BAD_COMMENTS_MAX_MODIFY_TIME
|
||||
|
||||
order, err2 := partner.CurOrderManager.LoadOrder(msg.BillID, model.VendorIDJD)
|
||||
if err = err2; err == nil {
|
||||
comment.Jxstoreid = utils.Int2Str(jxutils.GetJxStoreIDFromOrder(order))
|
||||
@@ -112,6 +114,11 @@ func (c *PurchaseHandler) onOrderComment(msg *jdapi.CallbackOrderMsg) (err error
|
||||
comment.UpdatedVendertags = string(utils.MustMarshal(result["venderTags"]))
|
||||
comment.Status = COMMENT_RESOLVED
|
||||
}
|
||||
if score <= JX_BAD_COMMENTS_MAX_LEVEL {
|
||||
if globals.ReallyCallPlatformAPI {
|
||||
weixinmsg.PushJDBadCommentToWeiXin(comment)
|
||||
}
|
||||
}
|
||||
if err == nil {
|
||||
if isNewComment {
|
||||
globals.SugarLogger.Debug("fuck1")
|
||||
|
||||
Reference in New Issue
Block a user