- record order ok.

This commit is contained in:
gazebo
2018-07-10 19:06:51 +08:00
parent a76213e8f0
commit c6a3066daf
14 changed files with 143 additions and 83 deletions

View File

@@ -2,8 +2,10 @@ package elm
import (
"fmt"
"math"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"git.rosy.net.cn/baseapi/platformapi/elmapi"
"git.rosy.net.cn/baseapi/utils"
@@ -15,10 +17,6 @@ type OrderController struct {
controller.OrderController
}
var (
api *elmapi.API
)
func (c *OrderController) OnOrderStatusMsg(msg *elmapi.CallbackOrderStatusMsg) (retVal *elmapi.CallbackResponse) {
controller.RoutinePool.CallFun(func() {
retVal = c.onOrderStatusMsg(msg)
@@ -94,37 +92,41 @@ func (c *OrderController) onOrderCancelRefundMsg(msg *elmapi.CallbackOrderCancel
return retVal
}
func (c *OrderController) getOrderInfo(msg *elmapi.CallbackOrderStatusMsg) (order *model.Order, orderSkus []*model.OrderSku, err error) {
result, err := api.GetOrder(msg.OrderID)
func (c *OrderController) getOrderInfo(msg *elmapi.CallbackOrderStatusMsg) (order *model.GoodsOrder, orderSkus []*model.OrderSku, err error) {
result, err := api.ElmAPI.GetOrder(msg.OrderID)
if err == nil {
phoneList := result["phoneList"].([]interface{})
consigneeMobile := ""
if len(phoneList) > 0 {
consigneeMobile = phoneList[0].(string)
}
order = &model.Order{
// globals.SugarLogger.Debug(result)
order = &model.GoodsOrder{
VendorOrderID: msg.OrderID,
VendorID: controller.VendorIDELM,
VendorStoreID: result["shopId"].(string),
StoreID: int(utils.Str2Int64(result["openId"].(string))),
VendorStoreID: utils.Int64ToStr(utils.MustInterface2Int64(result["shopId"])),
StoreID: int(utils.Str2Int64WithDefault(utils.Interface2String(result["openId"]), 0)),
StoreName: result["shopName"].(string),
ConsigneeName: result["consignee"].(string),
ConsigneeMobile: consigneeMobile,
VendorStatus: msg.State,
OrderCreatedAt: utils.Str2Time(result["createdAt"].(string)),
OriginalData: string(utils.MustMarshal(result)),
}
orderSkus = []*model.OrderSku{}
for _, group := range result["groups"].([]map[string]interface{}) {
for _, product := range group["items"].([]map[string]interface{}) {
for _, group2 := range result["groups"].([]interface{}) {
group := group2.(map[string]interface{})
for _, product2 := range group["items"].([]interface{}) {
product := product2.(map[string]interface{})
sku := &model.OrderSku{
VendorOrderID: msg.OrderID,
VendorID: controller.VendorIDJD,
Count: int(utils.MustInterface2Int64(product["quantity"])),
SkuID: int(utils.Str2Int64(product["extendCode"].(string))),
VendorSkuID: product["skuId"].(string),
SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(product["extendCode"]), 0)),
VendorSkuID: utils.Int64ToStr(utils.MustInterface2Int64(product["skuId"])),
SkuName: product["name"].(string),
SalePrice: utils.MustInterface2Int64(product["userPrice"]),
SalePrice: int64(math.Round(utils.MustInterface2Float64(product["userPrice"]) * 100)),
OrderCreatedAt: order.OrderCreatedAt,
}
orderSkus = append(orderSkus, sku)
@@ -202,10 +204,10 @@ func (c *OrderController) onOrderOtherCancelRefundStatus(msg *elmapi.CallbackOrd
}
// PurchasePlatformHandler
func (c *OrderController) AcceptOrRefuseOrder(order *model.Order, isAcceptIt bool) {
func (c *OrderController) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) {
if isAcceptIt {
api.ConfirmOrder(order.VendorOrderID)
api.ElmAPI.ConfirmOrder(order.VendorOrderID)
} else {
api.CancelOrder(order.VendorOrderID, elmapi.CancelOrderTypeOthers, "")
api.ElmAPI.CancelOrder(order.VendorOrderID, elmapi.CancelOrderTypeOthers, "")
}
}

View File

@@ -5,16 +5,14 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/controller"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
)
type OrderController struct {
controller.OrderController
}
var (
api *jdapi.API
)
func (c *OrderController) OnOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
controller.RoutinePool.CallFun(func() {
retVal = c.onOrderMsg(msg)
@@ -57,29 +55,32 @@ func (c *OrderController) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
return retVal
}
func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *model.Order, orderSkus []*model.OrderSku, err error) {
result, err := api.QuerySingleOrder(msg.BillID)
func (c *OrderController) getOrderInfo(msg *jdapi.CallbackOrderMsg) (order *model.GoodsOrder, orderSkus []*model.OrderSku, err error) {
result, err := api.JdAPI.QuerySingleOrder(msg.BillID)
// globals.SugarLogger.Info(result)
if err == nil {
order = &model.Order{
order = &model.GoodsOrder{
VendorOrderID: msg.BillID,
VendorID: controller.VendorIDJD,
VendorStoreID: result["produceStationNo"].(string),
StoreID: int(utils.MustInterface2Int64(result["produceStationNoIsv"])),
StoreID: int(utils.Str2Int64WithDefault(utils.Interface2String(result["produceStationNoIsv"]), 0)),
StoreName: result["produceStationName"].(string),
ConsigneeName: result["buyerFullName"].(string),
ConsigneeMobile: result["buyerMobile"].(string),
VendorStatus: msg.StatusID,
OrderCreatedAt: utils.Str2Time(result["orderPurchaseTime"].(string)),
OriginalData: string(utils.MustMarshal(result)),
}
// discounts := result["discount"].(map[string]interface{})
orderSkus = []*model.OrderSku{}
for _, product := range result["product"].([]map[string]interface{}) {
for _, product2 := range result["product"].([]interface{}) {
product := product2.(map[string]interface{})
sku := &model.OrderSku{
VendorOrderID: msg.BillID,
VendorID: controller.VendorIDJD,
Count: int(utils.MustInterface2Int64(product["skuCount"])),
SkuID: int(utils.Str2Int64(product["skuIdIsv"].(string))),
VendorSkuID: product["skuId"].(string),
SkuID: int(utils.Str2Int64WithDefault(utils.Interface2String(product["skuIdIsv"]), 0)),
VendorSkuID: utils.Int64ToStr(utils.MustInterface2Int64(product["skuId"])),
SkuName: product["skuName"].(string),
SalePrice: utils.MustInterface2Int64(product["skuJdPrice"]),
OrderCreatedAt: order.OrderCreatedAt,
@@ -98,6 +99,8 @@ func (c *OrderController) onOrderNew(msg *jdapi.CallbackOrderMsg) (response *jda
order, orderSkus, err := c.getOrderInfo(msg)
if err == nil {
err = c.OnOrderNew(c, order, orderSkus)
} else {
globals.SugarLogger.Debugf("get order error:%v", err)
}
return jdapi.Err2CallbackResponse(err, "jd onOrderNew")
}
@@ -139,6 +142,6 @@ func (c *OrderController) onOrderOtherStatus(msg *jdapi.CallbackOrderMsg) *jdapi
}
// PurchasePlatformHandler
func (c *OrderController) AcceptOrRefuseOrder(order *model.Order, isAcceptIt bool) {
api.OrderAcceptOperate(order.VendorOrderID, isAcceptIt)
func (c *OrderController) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool) {
api.JdAPI.OrderAcceptOperate(order.VendorOrderID, isAcceptIt)
}

View File

@@ -19,15 +19,29 @@ func (c *WaybillController) OnWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal
return retVal
}
func (c *WaybillController) OnWaybillExcept(msg *mtpsapi.CallbackOrderExceptionMsg) (retVal *mtpsapi.CallbackResponse) {
controller.RoutinePool.CallFun(func() {
status := &model.OrderStatus{
VendorOrderID: msg.MtPeisongID,
VendorID: controller.VendorIDMTPS,
OrderType: controller.OrderTypeWaybill,
VendorStatus: utils.Int2Str(msg.ExceptionCode),
StatusTime: utils.Timestamp2Time(int64(msg.Timestamp)),
}
retVal = mtpsapi.Err2CallbackResponse(c.OnWaybillFailed(status), "mtps OnWaybillExcept")
}, msg.MtPeisongID)
return retVal
}
func (c *WaybillController) callbackMsg2Status(msg *mtpsapi.CallbackOrderMsg) *model.OrderStatus {
orderStatus := &model.OrderStatus{
status := &model.OrderStatus{
VendorOrderID: msg.MtPeisongID,
VendorID: controller.VendorIDMTPS,
OrderType: controller.OrderTypeWaybill,
VendorStatus: utils.Int2Str(msg.Status),
StatusTime: utils.Timestamp2Time(int64(msg.Timestamp)),
}
return orderStatus
return status
}
func (c *WaybillController) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *mtpsapi.CallbackResponse) {

View File

@@ -32,7 +32,7 @@ const (
)
type PurchasePlatformHandler interface {
AcceptOrRefuseOrder(order *model.Order, isAcceptIt bool)
AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool)
}
var (
@@ -46,7 +46,7 @@ func init() {
type OrderController struct {
}
func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, order *model.Order, orderSkus []*model.OrderSku) (err error) {
func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, order *model.GoodsOrder, orderSkus []*model.OrderSku) (err error) {
db := orm.NewOrm()
c.handleAutoAcceptOrder(order.VendorOrderID, order.VendorID, order.ConsigneeMobile, order.StoreID, db, func(isAccept bool) {
// purchasePlatform.AcceptOrRefuseOrder(order, isAccept)
@@ -62,6 +62,7 @@ func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, o
err = c.updateOrderSkuOtherInfo(orderSkus, db)
if err == nil {
db.Begin()
// globals.SugarLogger.Debugf("new order:%v", order)
created, _, err2 := db.ReadOrCreate(order, "VendorOrderID", "VendorID")
err = err2
if err == nil {
@@ -71,17 +72,18 @@ func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, o
params := []interface{}{}
for _, sku := range orderSkus {
if sql == "" {
sql = "INSERT INTO order_sku(vendor_order_id, vendor_id, count, sku_id, vendor_sku_id, sku_name, shop_price, sale_price) VALUES(?, ?, ?, ?, ?, ?, ?, ?)"
sql = "INSERT INTO order_sku(vendor_order_id, vendor_id, count, sku_id, vendor_sku_id, sku_name, shop_price, sale_price, order_created_at) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)"
} else {
sql += ",(?, ?, ?, ?, ?, ?, ?, ?)"
sql += ",(?, ?, ?, ?, ?, ?, ?, ?, ?)"
}
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.SkuID, sku.VendorSkuID, sku.SkuName, sku.ShopPrice, sku.SalePrice)
params = append(params, sku.VendorOrderID, sku.VendorID, sku.Count, sku.SkuID, sku.VendorSkuID, sku.SkuName, sku.ShopPrice, sku.SalePrice, order.OrderCreatedAt)
}
sql += ";"
_, err = db.Raw(sql, params...).Exec()
if err != nil {
db.Rollback()
baseapi.SugarLogger.Infof("insert order_sku error:%v", err)
} else {
db.Commit()
}
@@ -91,26 +93,28 @@ func (c *OrderController) OnOrderNew(purchasePlatform PurchasePlatformHandler, o
}
} else {
db.Rollback()
globals.SugarLogger.Warnf("create order:%v, error:%v", order, err)
}
}
}
return err
}
func (c *OrderController) OnOrderAdjust(purchasePlatform PurchasePlatformHandler, order *model.Order, orderSkus []*model.OrderSku) (err error) {
func (c *OrderController) OnOrderAdjust(purchasePlatform PurchasePlatformHandler, order *model.GoodsOrder, orderSkus []*model.OrderSku) (err error) {
db := orm.NewOrm()
err = utils.CallFuncLogError(func() error {
_, err := db.Raw("DELETE FROM order_sku WHERE vendor_order_id=? AND vendor_id=?", order.VendorOrderID, order.VendorID).Exec()
_, err := db.Raw("DELETE FROM order_sku WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
return err
}, "OnAdjustOrder delete order_sku")
}, "OnAdjustOrder delete order")
if err != nil {
return err
}
err = utils.CallFuncLogError(func() error {
_, err := db.Raw("DELETE FROM order WHERE vendor_order_id=? AND vendor_id=?", order.VendorOrderID, order.VendorID).Exec()
_, err := db.Raw("DELETE FROM goods_order WHERE vendor_order_id = ? AND vendor_id = ?", order.VendorOrderID, order.VendorID).Exec()
return err
}, "OnAdjustOrder delete order")
}, "OnAdjustOrder delete order_sku")
if err != nil {
return err
}
@@ -175,7 +179,7 @@ func (c *OrderController) updateOrderSkuOtherInfo(orderSkus []*model.OrderSku, d
return nil
}
func (c *OrderController) updateOrderOtherInfo(order *model.Order, db orm.Ormer) (err error) {
func (c *OrderController) updateOrderOtherInfo(order *model.GoodsOrder, db orm.Ormer) (err error) {
return nil
}
@@ -214,14 +218,14 @@ func (c *OrderController) handleAutoAcceptOrder(orderID string, vendorID int, us
}
func (c *OrderController) addOrderStatus(msg *model.OrderStatus) (err error) {
order := &model.Order{
order := &model.GoodsOrder{
VendorOrderID: msg.VendorOrderID,
VendorID: msg.VendorID,
}
db := orm.NewOrm()
value, ok := OrderMap.Load(ComposeUniversalOrderID(msg.VendorOrderID, msg.VendorID))
if !ok {
globals.SugarLogger.Warnf("can not get order:%v, from cache", order)
// globals.SugarLogger.Infof("can not get order:%v, from cache", order)
err = db.Read(order, "VendorOrderID", "VendorID")
} else {
order.ID = value.(int64)

View File

@@ -21,6 +21,7 @@ const (
)
type WaybillController struct {
OrderController
}
var (
@@ -36,6 +37,8 @@ func (w *WaybillController) OnWaybillNew(bill *model.Waybill) (err error) {
if !created {
baseapi.SugarLogger.Warnf("duplicated waybill:%v msg received", bill)
}
} else {
globals.SugarLogger.Warnf("create bill:%v, error:%v", bill, err)
}
return err
}
@@ -83,7 +86,7 @@ func (w *WaybillController) addWaybillStatus(msg *model.OrderStatus) (err error)
db := orm.NewOrm()
value, ok := OrderMap.Load(ComposeUniversalOrderID(msg.VendorOrderID, msg.VendorID))
if !ok {
globals.SugarLogger.Warnf("can not get order:%v, from cache", order)
// globals.SugarLogger.Infof("can not get order:%v, from cache", order)
err = db.Read(order, "VendorWaybillID", "WaybillVendorID")
} else {
order.ID = value.(int64)

View File

@@ -7,7 +7,7 @@ type ModelTimeInfo struct {
UpdatedAt time.Time `orm:"auto_now;type(datetime)"`
}
type Order struct {
type GoodsOrder struct {
ID int64 `orm:"column(id)"`
VendorOrderID string `orm:"column(vendor_order_id);size(48)"`
VendorID int `orm:"column(vendor_id)"`
@@ -26,14 +26,14 @@ type Order struct {
VendorStatus string `orm:"size(16)"`
LockStatus int
CancelApplyReason string `orm:"size(255);null;default(null)"` // null表示没有申请不为null表示用户正在取消申请
WaybillVendorID int `orm:"column(waybill_vendor_id)"`
WaybillVendorID int `orm:"column(waybill_vendor_id);default(-1)"`
OriginalData string `orm:"type(text)"`
OrderCreatedAt time.Time `orm:"type(datetime);index"`
OrderFinishedAt time.Time `orm:"type(datetime)"`
OrderFinishedAt time.Time `orm:"type(datetime);null;default(null)"`
ModelTimeInfo
}
func (o *Order) TableUnique() [][]string {
func (o *GoodsOrder) TableUnique() [][]string {
return [][]string{
[]string{"VendorOrderID", "VendorID"},
}
@@ -44,7 +44,7 @@ type OrderSku struct {
VendorOrderID string `orm:"column(vendor_order_id);size(48)"`
VendorID int `orm:"column(vendor_id)"`
Count int
VendorSkuID string `orm:"column(vendor_sku_id),size(48)"`
VendorSkuID string `orm:"column(vendor_sku_id);size(48)"`
SkuID int `orm:"column(sku_id)"` // 外部系统里记录的 jxskuid
JxSkuID int `orm:"column(jx_sku_id)"` // 根据VendorSkuID在本地系统里查询出来的 jxskuid
SkuName string `orm:"size(255)"`
@@ -53,7 +53,9 @@ type OrderSku struct {
OrderCreatedAt time.Time `orm:"type(datetime);index"`
}
func (o *OrderSku) TableUnique() [][]string {
// 同样商品在一个定单中可能重复出现(比如搞活动时,相同商品价格不一样,第一个有优惠)
// 所以这里不能用唯一索引
func (o *OrderSku) TableIndex() [][]string {
return [][]string{
[]string{"VendorOrderID", "SkuID", "VendorID"},
}
@@ -72,7 +74,7 @@ type Waybill struct {
VendorStatus string `orm:"size(16)"`
ActualFee int64
WaybillCreatedAt time.Time `orm:"type(datetime);index"`
WaybillFinishedAt time.Time `orm:"type(datetime)"`
WaybillFinishedAt time.Time `orm:"type(datetime);null;default(null)"`
ModelTimeInfo
}

View File

@@ -26,6 +26,11 @@ func (c *DadaOrderController) OrderStatusChanged() {
if callbackResponse == nil {
cc := &controller.OrderController{}
callbackResponse = cc.OrderStatusChanged(obj)
// utils.CallFuncAsync(func() {
// cc2 := &dada.WaybillController{}
// cc2.OnWaybillMsg(obj)
// })
}
if callbackResponse.Code != 200 {
c.CustomAbort(callbackResponse.Code, string(utils.MustMarshal(callbackResponse)))

View File

@@ -27,6 +27,11 @@ func (c *ELMOrderController) MsgPost() {
if callbackResponse == nil {
cc := &controller.OrderController{}
callbackResponse = cc.OrderMessage(obj)
// utils.CallFuncAsync(func() {
// cc2 := &elm.Controller{}
// cc2.OnCallbackMsg(obj)
// })
}
c.Data["json"] = callbackResponse
c.ServeJSON()

View File

@@ -1,6 +1,7 @@
package controllers
import (
"git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/jx-callback/globals/api"
"git.rosy.net.cn/jx-callback/legacy/jd/controller"
"github.com/astaxie/beego"
@@ -23,11 +24,23 @@ func (c *JDOrderController) URLMapping() {
c.Mapping("PushDeliveryStatus", c.PushDeliveryStatus)
}
func (c *JDOrderController) orderStatus() {
obj, callbackResponse := api.Jdapi.GetOrderCallbackMsg(c.Ctx.Input.RequestBody)
func (c *JDOrderController) orderStatus(isCancelOrder bool) {
var obj *jdapi.CallbackOrderMsg
var callbackResponse *jdapi.CallbackResponse
if isCancelOrder {
obj, callbackResponse = api.JdAPI.GetOrderApplyCancelCallbackMsg(c.Ctx.Input.RequestBody)
} else {
obj, callbackResponse = api.JdAPI.GetOrderCallbackMsg(c.Ctx.Input.RequestBody)
}
if callbackResponse == nil {
cc := controller.OrderController{}
callbackResponse = cc.OrderStatus(obj)
// utils.CallFuncAsync(func() {
// cc2 := &jd.OrderController{}
// cc2.OnOrderMsg(obj)
// })
}
c.Data["json"] = callbackResponse
c.ServeJSON()
@@ -40,7 +53,7 @@ func (c *JDOrderController) orderStatus() {
// @Failure 403 body is empty
// @router /newOrder [post]
func (c *JDOrderController) NewOrder() {
c.orderStatus()
c.orderStatus(false)
}
// @Title AdjustOrder
@@ -50,7 +63,7 @@ func (c *JDOrderController) NewOrder() {
// @Failure 403 body is empty
// @router /orderAdjust [post]
func (c *JDOrderController) OrderAdjust() {
c.orderStatus()
c.orderStatus(false)
}
// @Title orderWaitOutStore
@@ -60,7 +73,7 @@ func (c *JDOrderController) OrderAdjust() {
// @Failure 403 body is empty
// @router /orderWaitOutStore [post]
func (c *JDOrderController) OrderWaitOutStore() {
c.orderStatus()
c.orderStatus(false)
}
// @Title pickFinishOrder
@@ -70,7 +83,7 @@ func (c *JDOrderController) OrderWaitOutStore() {
// @Failure 403 body is empty
// @router /pickFinishOrder [post]
func (c *JDOrderController) PickFinishOrder() {
c.orderStatus()
c.orderStatus(false)
}
// @Title deliveryOrder
@@ -80,7 +93,7 @@ func (c *JDOrderController) PickFinishOrder() {
// @Failure 403 body is empty
// @router /deliveryOrder [post]
func (c *JDOrderController) DeliveryOrder() {
c.orderStatus()
c.orderStatus(false)
}
// @Title finishOrder
@@ -90,7 +103,7 @@ func (c *JDOrderController) DeliveryOrder() {
// @Failure 403 body is empty
// @router /finishOrder [post]
func (c *JDOrderController) FinishOrder() {
c.orderStatus()
c.orderStatus(false)
}
// @Title lockOrder
@@ -100,7 +113,7 @@ func (c *JDOrderController) FinishOrder() {
// @Failure 403 body is empty
// @router /lockOrder [post]
func (c *JDOrderController) LockOrder() {
c.orderStatus()
c.orderStatus(false)
}
// @Title userCancelOrder
@@ -110,7 +123,7 @@ func (c *JDOrderController) LockOrder() {
// @Failure 403 body is empty
// @router /userCancelOrder [post]
func (c *JDOrderController) UserCancelOrder() {
c.orderStatus()
c.orderStatus(false)
}
// @Title applyCancelOrder
@@ -120,13 +133,7 @@ func (c *JDOrderController) UserCancelOrder() {
// @Failure 403 body is empty
// @router /applyCancelOrder [post]
func (c *JDOrderController) ApplyCancelOrder() {
obj, callbackResponse := api.Jdapi.GetOrderApplyCancelCallbackMsg(c.Ctx.Input.RequestBody)
if callbackResponse == nil {
cc := controller.OrderController{}
callbackResponse = cc.OrderStatus(obj)
}
c.Data["json"] = callbackResponse
c.ServeJSON()
c.orderStatus(true)
}
// @Title pushDeliveryStatus
@@ -136,10 +143,15 @@ func (c *JDOrderController) ApplyCancelOrder() {
// @Failure 403 body is empty
// @router /pushDeliveryStatus [post]
func (c *JDOrderController) PushDeliveryStatus() {
obj, callbackResponse := api.Jdapi.GetOrderDeliveryCallbackMsg(c.Ctx.Input.RequestBody)
obj, callbackResponse := api.JdAPI.GetOrderDeliveryCallbackMsg(c.Ctx.Input.RequestBody)
if callbackResponse == nil {
cc := controller.OrderController{}
callbackResponse = cc.OrderDeliveryStatus(obj)
// utils.CallFuncAsync(func() {
// cc2 := &jd.WaybillController{}
// cc2.OnWaybillMsg(obj)
// })
}
c.Data["json"] = callbackResponse
c.ServeJSON()
@@ -152,5 +164,5 @@ func (c *JDOrderController) PushDeliveryStatus() {
// @Failure 403 body is empty
// @router /orderCommentPush [post]
func (c *JDOrderController) OrderComment() {
c.orderStatus()
c.orderStatus(false)
}

View File

@@ -26,6 +26,11 @@ func (c *MTPSOrderController) Status() {
if callbackResponse == nil {
cc := &controller.OrderController{}
callbackResponse = cc.OrderStatusChanged(obj)
// utils.CallFuncAsync(func() {
// cc2 := &mtps.WaybillController{}
// cc2.OnWaybillMsg(obj)
// })
}
c.Data["json"] = callbackResponse
c.ServeJSON()
@@ -41,6 +46,11 @@ func (c *MTPSOrderController) Except() {
if callbackResponse == nil {
cc := &controller.OrderController{}
callbackResponse = cc.OrderException(obj)
// utils.CallFuncAsync(func() {
// cc2 := &mtps.WaybillController{}
// cc2.OnWaybillExcept(obj)
// })
}
c.Data["json"] = callbackResponse
c.ServeJSON()

View File

@@ -14,7 +14,7 @@ import (
)
var (
Jdapi *jdapi.API
JdAPI *jdapi.API
ElmAPI *elmapi.API
MtpsAPI *mtpsapi.API
DadaAPI *dadaapi.API
@@ -22,7 +22,7 @@ var (
)
func init() {
Jdapi = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret"))
JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret"))
initElm()
MtpsAPI = mtpsapi.New(beego.AppConfig.String("mtpsAppKey"), beego.AppConfig.String("mtpsSecret"))
DadaAPI = dadaapi.New(beego.AppConfig.String("dadaAppKey"), beego.AppConfig.String("dadaAppSecret"), beego.AppConfig.String("dadaSourceID"), beego.AppConfig.String("dadaCallbackURL"), beego.AppConfig.DefaultBool("dadaIsProd", false))

View File

@@ -2,6 +2,7 @@ package globals
import (
"git.rosy.net.cn/baseapi"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/legacy/models"
"github.com/astaxie/beego"
"github.com/astaxie/beego/logs"
@@ -32,10 +33,10 @@ func initDB() {
// set default database
orm.RegisterDataBase("default", "mysql", beego.AppConfig.String("dbConnectStr"), 30)
models.RegisterModels()
// orm.RegisterModel(new(model.Order))
// orm.RegisterModel(new(model.OrderSku))
// orm.RegisterModel(new(model.Waybill))
// orm.RegisterModel(new(model.OrderStatus))
orm.RegisterModel(new(model.GoodsOrder))
orm.RegisterModel(new(model.OrderSku))
orm.RegisterModel(new(model.Waybill))
orm.RegisterModel(new(model.OrderStatus))
// create table
orm.RunSyncdb("default", false, true)
}

View File

@@ -144,12 +144,12 @@ func (c *OrderController) OrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.Ca
func OnNewOrder(msg *jdapi.CallbackOrderMsg, userMobile string, db orm.Ormer) {
controllers.OnNewOrder(msg.BillID, controllers.JD_VENDORID, userMobile, 0, db, func(acceptIt bool) {
globals.SugarLogger.Infof("OrderAcceptOperate billid:%v, acceptIt:%v", msg.BillID, acceptIt)
api.Jdapi.OrderAcceptOperate(msg.BillID, acceptIt)
api.JdAPI.OrderAcceptOperate(msg.BillID, acceptIt)
})
}
func newOrder(msg *jdapi.CallbackOrderMsg) error {
result, err := api.Jdapi.LegacyQuerySingleOrder(msg.BillID)
result, err := api.JdAPI.LegacyQuerySingleOrder(msg.BillID)
userMobile := ""
var db orm.Ormer
if err == nil {

View File

@@ -14,11 +14,10 @@ import (
func main() {
if beego.BConfig.RunMode == "prod" {
controller.InitOrder()
tasks.RefreshWeixinToken()
tasks.RefreshElmToken()
}
tasks.RefreshWeixinToken()
tasks.RefreshElmToken()
if beego.BConfig.RunMode == "dev" {
beego.BConfig.WebConfig.DirectoryIndex = true
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"