- elm callback basic.
This commit is contained in:
@@ -5,11 +5,10 @@ import (
|
||||
|
||||
"git.rosy.net.cn/baseapi/platform/jdapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/freshfood"
|
||||
"git.rosy.net.cn/jx-callback/business/jd/models"
|
||||
"git.rosy.net.cn/jx-callback/compat/corm"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"github.com/astaxie/beego/orm"
|
||||
_ "github.com/go-sql-driver/mysql" // import your used driver
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -19,18 +18,13 @@ const (
|
||||
var (
|
||||
errChecker corm.DBErrorChecker
|
||||
orderMsgChan chan *jdapi.JDOrderMsg
|
||||
|
||||
// freshFoodServerURL = "http://portal.jingxicaishi.com"
|
||||
freshFoodServerURL = "http://test.jxc4.com"
|
||||
freshFoodAPI *freshfood.FreshFoodAPI
|
||||
)
|
||||
|
||||
type OrderControler struct {
|
||||
type OrderController struct {
|
||||
}
|
||||
|
||||
func initOrder() {
|
||||
errChecker = new(corm.MysqlErrorChecker)
|
||||
freshFoodAPI = freshfood.NewFreshFoodAPI(freshFoodServerURL, sugarLogger.Desugar())
|
||||
|
||||
orderMsgChan = make(chan *jdapi.JDOrderMsg, 128)
|
||||
go orderMsgHandlerRoutinue()
|
||||
@@ -86,7 +80,7 @@ func handleOrderMsg(orderMsg *jdapi.JDOrderMsg) {
|
||||
}
|
||||
|
||||
// --------------
|
||||
func (c *OrderControler) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDOrderMsgResponse {
|
||||
func (c *OrderController) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDOrderMsgResponse {
|
||||
if order.StatusId != jdapi.JdOrderStatusNew && order.StatusId != jdapi.JdOrderStatusAdjust {
|
||||
err := normalOrderStatus(order)
|
||||
if err != nil {
|
||||
@@ -137,8 +131,8 @@ func (c *OrderControler) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDOrderMsgR
|
||||
return jdSuccessResponse
|
||||
}
|
||||
|
||||
func (c *OrderControler) OrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.JDDeliveryStatusMsg) *jdapi.JDOrderMsgResponse {
|
||||
err := freshFoodAPI.JDOrderDeliveryStatus(jdOrderDeliveryStatusMsg, "0")
|
||||
func (c *OrderController) OrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.JDDeliveryStatusMsg) *jdapi.JDOrderMsgResponse {
|
||||
err := globals.FreshFoodAPI.JDOrderDeliveryStatus(jdOrderDeliveryStatusMsg)
|
||||
|
||||
if err != nil {
|
||||
sugarLogger.Errorf("Error when calling JDOrderDeliveryStatus, error:%v", err)
|
||||
@@ -159,7 +153,7 @@ func newOrder(order *jdapi.JDOrderMsg) error {
|
||||
result, err := gJdapi.LegacyQuerySingleOrder(order.BillId)
|
||||
acceptOrder(order)
|
||||
if err != nil {
|
||||
sugarLogger.Warnf("error when query jd order:%s, error:%v", order.BillId, err)
|
||||
sugarLogger.Errorf("error when query jd order:%s, error:%v", order.BillId, err)
|
||||
} else {
|
||||
rec := &models.Jdorder{
|
||||
Id: order.Id,
|
||||
@@ -186,9 +180,9 @@ func newOrder(order *jdapi.JDOrderMsg) error {
|
||||
rec.OrderStatus = int(orderStatus)
|
||||
rec.OrderStatusTime = resultList0["orderStatusTime"].(string)
|
||||
|
||||
resultByteArr, _ := json.Marshal(data)
|
||||
resultByteArr := utils.MustMarshal(data)
|
||||
rec.Data = string(resultByteArr)
|
||||
err = freshFoodAPI.NewJDOrder(rec)
|
||||
err = globals.FreshFoodAPI.NewJDOrder(rec)
|
||||
if err == nil {
|
||||
db := orm.NewOrm()
|
||||
_, err = db.Update(rec, "Data", "Code", "Msg", "Success", "CityName", "OrderStatus", "OrderStatusTime")
|
||||
@@ -228,9 +222,8 @@ func normalOrderStatus(order *jdapi.JDOrderMsg) error {
|
||||
|
||||
rec.OrderStatus = utils.Str2Int(order.StatusId)
|
||||
rec.OrderStatusTime = order.Timestamp
|
||||
err = freshFoodAPI.JDOrderStatus(rec, "0")
|
||||
err = globals.FreshFoodAPI.JDOrderStatus(rec)
|
||||
if err != nil {
|
||||
// todo 这里应该要加一个重试机制
|
||||
sugarLogger.Warnf("access freshfood failed, error:%v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user