- add jd order comment msg.

This commit is contained in:
gazebo
2018-06-29 11:33:09 +08:00
parent 73369ef436
commit bcc95475db
3 changed files with 52 additions and 28 deletions

View File

@@ -18,8 +18,10 @@ import (
const ( const (
URL_FRESHFOOD_ORDER_CREATE_JDDJ = "order" URL_FRESHFOOD_ORDER_CREATE_JDDJ = "order"
URL_FRESHFOOD_ORDER_STATUS = "order/status" URL_FRESHFOOD_ORDER_STATUS = "order/status"
URL_FRESHFOOD_DELIVERY_STATUS = "delivery/status" URL_FRESHFOOD_ORDER_COMMENT = "jddj/pushordercomments"
URL_FRESHFOOD_ORDER_MODIFY = "order/modify"
URL_FRESHFOOD_DELIVERY_STATUS = "delivery/status"
URL_FRESHFOOD_ORDER_MODIFY = "order/modify"
URL_FRESHFOOD_ELEME_TOKENUPDATE = "eleme/token/update" URL_FRESHFOOD_ELEME_TOKENUPDATE = "eleme/token/update"
URL_FRESHFOOD_ORDER_CREATE_ELEME = "order/eleme" URL_FRESHFOOD_ORDER_CREATE_ELEME = "order/eleme"
@@ -142,18 +144,27 @@ func (f *FreshFoodAPI) NewJDOrder(jdorder *models.Jdorder, isNew bool) error {
return f.AccessFreshFood(URL_FRESHFOOD_ORDER_MODIFY, params) return f.AccessFreshFood(URL_FRESHFOOD_ORDER_MODIFY, params)
} }
// todo venderId func (f *FreshFoodAPI) JDOrderStatus(msg *jdapi.CallbackOrderMsg) error {
func (f *FreshFoodAPI) JDOrderStatus(jdorder *models.Jdorder) error {
params := make(url.Values) params := make(url.Values)
params.Set(URL_FRESHFOOD_PARA_VENDERID, utils.Int2Str(JD_VENDERID)) params.Set(URL_FRESHFOOD_PARA_VENDERID, utils.Int2Str(JD_VENDERID))
params.Set(URL_FRESHFOOD_PARA_ORDERID, utils.Int64ToStr(jdorder.JdOrderID)) params.Set(URL_FRESHFOOD_PARA_ORDERID, msg.BillID)
params.Set(URL_FRESHFOOD_PARA_ORDERSTATUS, utils.Int2Str(jdorder.OrderStatus)) params.Set(URL_FRESHFOOD_PARA_ORDERSTATUS, msg.StatusID)
params.Set(URL_FRESHFOOD_PARA_ORDERSTATUSTIME, jdorder.OrderStatusTime) params.Set(URL_FRESHFOOD_PARA_ORDERSTATUSTIME, msg.Timestamp)
params.Set(URL_FRESHFOOD_PARA_CITYNAME, jdorder.CityName) params.Set(URL_FRESHFOOD_PARA_CITYNAME, "all")
return f.AccessFreshFood(URL_FRESHFOOD_ORDER_STATUS, params) return f.AccessFreshFood(URL_FRESHFOOD_ORDER_STATUS, params)
} }
func (f *FreshFoodAPI) JDOrderComment(msg *jdapi.CallbackOrderMsg) error {
params := make(url.Values)
params.Set(URL_FRESHFOOD_PARA_VENDERID, utils.Int2Str(JD_VENDERID))
params.Set(URL_FRESHFOOD_PARA_ORDERID, msg.BillID)
params.Set(URL_FRESHFOOD_PARA_ORDERSTATUS, msg.StatusID)
params.Set(URL_FRESHFOOD_PARA_ORDERSTATUSTIME, msg.Timestamp)
return f.AccessFreshFood(URL_FRESHFOOD_ORDER_COMMENT, params)
}
func (f *FreshFoodAPI) JDOrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.CallbackDeliveryStatusMsg) error { func (f *FreshFoodAPI) JDOrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.CallbackDeliveryStatusMsg) error {
params := make(url.Values) params := make(url.Values)
cityName := "all" cityName := "all"

View File

@@ -194,28 +194,31 @@ func adjustOrder(order *jdapi.CallbackOrderMsg) error {
return newOrder(order) return newOrder(order)
} }
func normalOrderStatus(order *jdapi.CallbackOrderMsg) error { func normalOrderStatus(msg *jdapi.CallbackOrderMsg) (err error) {
db := orm.NewOrm() if msg.StatusID == jdapi.OrderStatusAddComment || msg.StatusID == jdapi.OrderStatusModifyComment {
rec := &models.Jdorder{ err = globals2.FreshFoodAPI.JDOrderComment(msg)
JdOrderID: utils.Str2Int64(order.BillID),
}
err := db.Read(rec, "JdOrderId")
if err != nil {
globals.SugarLogger.Warnf("error when accessing db:%v", err)
} else { } else {
if rec.OrderStatus == utils.Str2Int(order.StatusID) { db := orm.NewOrm()
globals.SugarLogger.Infof("Duplicate message order:%v", order) rec := &models.Jdorder{
} else { JdOrderID: utils.Str2Int64(msg.BillID),
rec.OrderStatus = utils.Str2Int(order.StatusID) }
rec.OrderStatusTime = order.Timestamp
if err = globals2.FreshFoodAPI.JDOrderStatus(rec); err == nil { err = db.Read(rec, "JdOrderId")
rec.Code = "0" if err != nil {
err = utils.CallFuncLogError(func() error { globals.SugarLogger.Warnf("error when accessing db:%v", err)
_, err := db.Update(rec, "OrderStatus", "OrderStatusTime", "Code") } else {
return err if rec.OrderStatus == utils.Str2Int(msg.StatusID) {
}, globals2.ErrStrAccessDB) globals.SugarLogger.Infof("Duplicate message msg:%v", msg)
} else {
if err = globals2.FreshFoodAPI.JDOrderStatus(msg); err == nil {
rec.OrderStatus = utils.Str2Int(msg.StatusID)
rec.OrderStatusTime = msg.Timestamp
rec.Code = "0"
err = utils.CallFuncLogError(func() error {
_, err := db.Update(rec, "OrderStatus", "OrderStatusTime", "Code")
return err
}, globals2.ErrStrAccessDB)
}
} }
} }
} }

View File

@@ -144,3 +144,13 @@ func (c *JDOrderController) PushDeliveryStatus() {
c.Data["json"] = callbackResponse c.Data["json"] = callbackResponse
c.ServeJSON() c.ServeJSON()
} }
// @Title pushDeliveryStatus
// @Description create object
// @Param jd_param_json formData string true "应用级别输入参数"
// @Success 200 {string} models.Object.Id
// @Failure 403 body is empty
// @router /ordercommentpush [post]
func (c *JDOrderController) OrderComment() {
c.orderStatus()
}