增加美团差评是获取到真实订单号
This commit is contained in:
@@ -1756,19 +1756,19 @@ func GetOrderUserBuyFirst(ctx *jxcontext.Context, vendorOrderID string) (isFirst
|
||||
}
|
||||
|
||||
// GetWaybillStatusList 查询订单的运单记录
|
||||
func (c *OrderManager) GetWaybillStatusList(orderId, waybillID string, waybillVendorId int) ([]*model.OrderStatus, error) {
|
||||
sql := `SELECT *
|
||||
FROM order_status t1
|
||||
WHERE t1.vendor_order_id = ? AND t1.ref_vendor_order_id = ? AND t1.vendor_id = ?`
|
||||
sqlParams := []interface{}{
|
||||
waybillID,
|
||||
orderId,
|
||||
waybillVendorId,
|
||||
}
|
||||
sql += ` ORDER BY status_time ASC `
|
||||
var result []*model.OrderStatus
|
||||
if err := dao.GetRows(dao.GetDB(), &result, sql, sqlParams...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
//func (c *OrderManager) GetWaybillStatusList(orderId, waybillID string, waybillVendorId int) ([]*model.OrderStatus, error) {
|
||||
// sql := `SELECT *
|
||||
// FROM order_status t1
|
||||
// WHERE t1.vendor_order_id = ? AND t1.ref_vendor_order_id = ? AND t1.vendor_id = ?`
|
||||
// sqlParams := []interface{}{
|
||||
// waybillID,
|
||||
// orderId,
|
||||
// waybillVendorId,
|
||||
// }
|
||||
// sql += ` ORDER BY status_time ASC `
|
||||
// var result []*model.OrderStatus
|
||||
// if err := dao.GetRows(dao.GetDB(), &result, sql, sqlParams...); err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// return result, nil
|
||||
//}
|
||||
|
||||
46
business/model/dao/dao_order_sku_financial.go
Normal file
46
business/model/dao/dao_order_sku_financial.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-print/dao"
|
||||
"time"
|
||||
)
|
||||
|
||||
// GetBadCommentOrderId 根据差评商品列表获取订单号
|
||||
func GetBadCommentOrderId(jxStoreId int, startTime, endTime time.Time, foodNameList []string) (string, error) {
|
||||
sqlParams := []interface{}{}
|
||||
sql := `
|
||||
SELECT count(vendor_order_id) count,vendor_order_id FROM
|
||||
order_sku_financial WHERE jx_store_id = ? AND created_at >= ? AND created_at <= ? AND name IN (` + dao.GenQuestionMarks(len(foodNameList)) + `)" GROUP BY vendor_order_id LIMIT 0, 1000`
|
||||
sqlParams = append(sqlParams, []interface{}{
|
||||
jxStoreId,
|
||||
startTime,
|
||||
endTime,
|
||||
foodNameList,
|
||||
})
|
||||
|
||||
commentOrder := make([]*badCommentOrder, 0, 0)
|
||||
if err := GetRows(GetDB(), &commentOrder, sql, sqlParams...); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
// 全等于的话就是目标订单
|
||||
for _, v := range commentOrder {
|
||||
if v.Count == len(foodNameList) {
|
||||
return v.VendorOrderId, nil
|
||||
}
|
||||
}
|
||||
|
||||
// 是在不行误差有一两个商品也行
|
||||
for _, v := range commentOrder {
|
||||
if v.Count == len(foodNameList)-1 {
|
||||
return v.VendorOrderId, nil
|
||||
}
|
||||
}
|
||||
|
||||
return "", nil
|
||||
}
|
||||
|
||||
type badCommentOrder struct {
|
||||
Count int `json:"count"`
|
||||
VendorOrderId string `json:"vendor_order_id"`
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package mtwm
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -47,7 +48,9 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
|
||||
//if err = err2; err != nil {
|
||||
// return err
|
||||
//}
|
||||
endDateStr := time.Now().Add(-24 * time.Hour).Format("20060102")
|
||||
startTime := time.Now().Add(-24 * time.Hour)
|
||||
endTime := time.Now().Add(-RefreshCommentTime)
|
||||
endDateStr := startTime.Format("20060102")
|
||||
startDateStr := time.Now().Add(-RefreshCommentTime).Format("20060102")
|
||||
storeIDs, _ := dao.GetOrderStoreIDs(dao.GetDB(), fromTime, toTime, model.VendorIDMTWM)
|
||||
task := tasksch.NewParallelTask("mtwm RefreshComment", nil, jxcontext.AdminCtx,
|
||||
@@ -55,6 +58,7 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
|
||||
storeID := batchItemList[0].(int)
|
||||
|
||||
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDMTWM, "")
|
||||
// 查询门店差评
|
||||
commentList, _ := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID).CommentQuery(storeDetail.VendorStoreID, startDateStr, endDateStr, 0, 0, mtwmapi.CommentReplyStatusNotReplied)
|
||||
var orderCommentList []*model.OrderComment
|
||||
if len(commentList) == model.NO || commentList == nil {
|
||||
@@ -84,6 +88,20 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
|
||||
orderComment.CommentCreatedAt = updatedTime
|
||||
}
|
||||
}
|
||||
|
||||
if len(mtwmComment.CommentOrderDetail) > 0 {
|
||||
foodNameList := make([]string, len(mtwmComment.CommentOrderDetail))
|
||||
for _, fn := range mtwmComment.CommentOrderDetail {
|
||||
if len(fn.FoodName)-strings.LastIndex(fn.FoodName, ")") > 3 {
|
||||
foodNameList = append(foodNameList, fn.FoodName)
|
||||
} else {
|
||||
foodNameList = append(foodNameList, fn.FoodName[0:strings.LastIndex(fn.FoodName, "(")])
|
||||
}
|
||||
}
|
||||
vendorOrderID, _ := dao.GetBadCommentOrderId(storeDetail.ID, startTime, endTime, foodNameList)
|
||||
orderComment.VendorOrderID = fmt.Sprintf("%s:%s", vendorOrderID, orderComment.VendorOrderID)
|
||||
}
|
||||
|
||||
orderCommentList = append(orderCommentList, orderComment)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user