- 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) {
|
func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{}) (err error) {
|
||||||
if globals.ReallySendWeixinMsg {
|
if globals.ReallySendWeixinMsg {
|
||||||
|
if storeID == 0 { // 测试,只发给我
|
||||||
|
api.WeixinAPI.MessageTemplateSend("oYN_ust9hXKEvEv0X6Mq6nlAWs_E", templateID, downloadURL, nil, data)
|
||||||
|
} else {
|
||||||
openIDs := GetWeixinOpenIDsFromStoreID(storeID)
|
openIDs := GetWeixinOpenIDsFromStoreID(storeID)
|
||||||
successCount := 0
|
successCount := 0
|
||||||
for _, openID := range openIDs {
|
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)
|
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()
|
||||||
|
}
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user