- push jd bad comment.

This commit is contained in:
gazebo
2018-09-29 18:45:38 +08:00
parent 390312ef82
commit 5b3b53932c
2 changed files with 70 additions and 18 deletions

View File

@@ -81,20 +81,24 @@ func GetWeixinOpenIDsFromStoreID(storeID int) (retVal []string) {
func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{}) (err error) { func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{}) (err error) {
if globals.ReallySendWeixinMsg { if globals.ReallySendWeixinMsg {
openIDs := GetWeixinOpenIDsFromStoreID(storeID) if storeID == 0 { // 测试,只发给我
successCount := 0 api.WeixinAPI.MessageTemplateSend("oYN_ust9hXKEvEv0X6Mq6nlAWs_E", templateID, downloadURL, nil, data)
for _, openID := range openIDs { } else {
if err2 := api.WeixinAPI.MessageTemplateSend(openID, templateID, downloadURL, nil, data); err2 == nil { openIDs := GetWeixinOpenIDsFromStoreID(storeID)
successCount++ successCount := 0
} else { for _, openID := range openIDs {
err = err2 if err2 := api.WeixinAPI.MessageTemplateSend(openID, templateID, downloadURL, nil, data); err2 == nil {
successCount++
} else {
err = err2
}
}
if successCount > 0 {
err = nil // 只要成功一个都当成成功
}
if err != nil {
globals.SugarLogger.Debugf("SendMsgToStore all failed storeID:%d, templateID:%s, error:%v", storeID, templateID, err)
} }
}
if successCount > 0 {
err = nil // 只要成功一个都当成成功
}
if err != nil {
globals.SugarLogger.Debugf("SendMsgToStore all failed storeID:%d, templateID:%s, error:%v", storeID, templateID, err)
} }
} }
return err return err
@@ -205,6 +209,38 @@ func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder) error {
return nil 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 { func FormatDeliveryTime(order *model.GoodsOrder) string {
var tmpTime time.Time var tmpTime time.Time
if order.ExpectedDeliveredTime == utils.DefaultTimeValue { if order.ExpectedDeliveredTime == utils.DefaultTimeValue {
@@ -217,3 +253,12 @@ func FormatDeliveryTime(order *model.GoodsOrder) string {
leftMinutes := left % 60 leftMinutes := left % 60
return fmt.Sprintf("请于%s前送达剩余时间%d小时%d分钟", utils.Time2Str(tmpTime), leftHours, leftMinutes) 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()
}

View File

@@ -7,6 +7,7 @@ import (
"git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils" "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"
"git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner"
@@ -86,12 +87,8 @@ func (c *PurchaseHandler) onOrderComment(msg *jdapi.CallbackOrderMsg) (err error
isNewComment = true isNewComment = true
err = c.replyOrderComment(intOrderID, utils.Int64ToStr(utils.MustInterface2Int64(result["storeId"])), score) 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.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 { if isNewComment || score <= JX_BAD_COMMENTS_MAX_LEVEL {
comment.Msg = string(utils.MustMarshal(result)) comment.Msg = string(utils.MustMarshal(result))
comment.Score = score comment.Score = score
@@ -99,6 +96,11 @@ func (c *PurchaseHandler) onOrderComment(msg *jdapi.CallbackOrderMsg) (err error
comment.Vendertags = string(utils.MustMarshal(result["venderTags"])) comment.Vendertags = string(utils.MustMarshal(result["venderTags"]))
comment.Status = COMMENT_NOT_RESOLVED comment.Status = COMMENT_NOT_RESOLVED
if isNewComment { 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) order, err2 := partner.CurOrderManager.LoadOrder(msg.BillID, model.VendorIDJD)
if err = err2; err == nil { if err = err2; err == nil {
comment.Jxstoreid = utils.Int2Str(jxutils.GetJxStoreIDFromOrder(order)) 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.UpdatedVendertags = string(utils.MustMarshal(result["venderTags"]))
comment.Status = COMMENT_RESOLVED comment.Status = COMMENT_RESOLVED
} }
if score <= JX_BAD_COMMENTS_MAX_LEVEL {
if globals.ReallyCallPlatformAPI {
weixinmsg.PushJDBadCommentToWeiXin(comment)
}
}
if err == nil { if err == nil {
if isNewComment { if isNewComment {
globals.SugarLogger.Debug("fuck1") globals.SugarLogger.Debug("fuck1")