京东page的cookie可能有问题
This commit is contained in:
@@ -2322,7 +2322,7 @@ func SyncStoresCourierInfo(ctx *jxcontext.Context, storeIDs []int, isAsync, isCo
|
||||
func SyncStoresQualify(ctx *jxcontext.Context, storeIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
if len(storeIDs) > 0 {
|
||||
db := dao.GetDB()
|
||||
task := tasksch.NewParallelTask(fmt.Sprintf("上传门店资质:%v", storeIDs), tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
task := tasksch.NewParallelTask(fmt.Sprintf("上传门店资质:%v", storeIDs), tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
vendorID := model.VendorIDJD
|
||||
if handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IStoreSyncQualifyHandler); handler != nil {
|
||||
|
||||
@@ -201,6 +201,16 @@ func GetCheckVendorCookie(ctx *jxcontext.Context, vendorIDs []int, isAuto bool)
|
||||
flag = true
|
||||
}
|
||||
}
|
||||
result2, err2 := api.JdPageAPI.GetCorporationInfo("11926674", "92510108MA68KK3M8P")
|
||||
if err2 != nil || result2 == nil {
|
||||
cc := &CheckCookie{}
|
||||
cc.VendorID = v
|
||||
cc.VendorOrgCode = "京东page账号"
|
||||
cc.Status = "无效"
|
||||
ccList = append(ccList, cc)
|
||||
errMsg += fmt.Sprintf(" 京东page账号:的Cookie无效了!", vv)
|
||||
flag = true
|
||||
}
|
||||
}
|
||||
cc.VendorID = v
|
||||
cc.VendorOrgCode = vv
|
||||
|
||||
@@ -6,8 +6,6 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
|
||||
@@ -252,8 +250,8 @@ func Init() {
|
||||
api.MtwmAPI.SetCookieWithStr(mtwmCookieStr)
|
||||
api.MtpsAPI.SetCookie("token", mtpsStoreToken)
|
||||
api.JdAPI.SetJdCookie(JdStorePageCookie)
|
||||
api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName, JdStorePageCookie)
|
||||
api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName2, JdStorePageCookie)
|
||||
// api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName, JdStorePageCookie)
|
||||
// api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName2, JdStorePageCookie)
|
||||
}
|
||||
|
||||
func syncStoreSku() {
|
||||
|
||||
@@ -104,6 +104,7 @@ type GoodsOrder struct {
|
||||
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
|
||||
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
|
||||
FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店
|
||||
EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` //物料配送的出库单号
|
||||
|
||||
// 以下只是用于传递数据
|
||||
OriginalData string `orm:"-" json:"-"`
|
||||
|
||||
@@ -86,6 +86,7 @@ type JxOrderInfo struct {
|
||||
OrderID int64 `json:"orderID"`
|
||||
StoreName string `json:"storeName"`
|
||||
Weight int `json:"weight"`
|
||||
FromStoreID int `json:"fromStoreID"`
|
||||
}
|
||||
|
||||
type DeliveryTimeItem struct {
|
||||
@@ -99,6 +100,12 @@ type DeliveryDayTimeInfo struct {
|
||||
TimeList []*DeliveryTimeItem `json:"timeList"`
|
||||
}
|
||||
|
||||
type MatterOrderStatus struct {
|
||||
Time string `json:"time"`
|
||||
Status string `json:"status"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
var (
|
||||
orderNoBeginTimestamp int64
|
||||
|
||||
@@ -388,6 +395,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
return nil, nil, fmt.Errorf("fromStoreID有误,[%v]", fromStoreID)
|
||||
}
|
||||
deliveryAddress.ConsigneeName = storeDetail2.Name
|
||||
outJxOrder.FromStoreID = fromStoreID
|
||||
}
|
||||
|
||||
// 营业状态及时间检查
|
||||
@@ -579,15 +587,12 @@ func AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList
|
||||
}
|
||||
|
||||
func PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) {
|
||||
globals.SugarLogger.Debugf("orderSolutionForWuLiao1")
|
||||
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "")
|
||||
globals.SugarLogger.Debugf("orderSolutionForWuLiao2")
|
||||
err = orderSolutionForWuLiao(order)
|
||||
return err
|
||||
}
|
||||
|
||||
func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
||||
globals.SugarLogger.Debugf("orderSolutionForWuLiao3, [%v]", *order)
|
||||
if order.FromStoreID != 0 {
|
||||
// var (
|
||||
// goodsNos []string
|
||||
@@ -628,20 +633,8 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// wayBill := &model.Waybill{
|
||||
// VendorOrderID: order.VendorOrderID,
|
||||
// OrderVendorID: model.VendorIDJX,
|
||||
// VendorWaybillID: result.EclpSoNo,
|
||||
// WaybillVendorID: model.VendorIDJD,
|
||||
// CourierName: "京东物流",
|
||||
// CourierMobile: "",
|
||||
// Status: model.WaybillStatusNew,
|
||||
// VendorStatus: utils.Int2Str(model.WaybillStatusDelivering),
|
||||
// WaybillCreatedAt: utils.DefaultTimeValue,
|
||||
// WaybillFinishedAt: utils.DefaultTimeValue,
|
||||
// StatusTime: time.Now(),
|
||||
// }
|
||||
// dao.CreateEntity(db, wayBill)
|
||||
// order.EclpOutID = result.EclpSoNo
|
||||
// dao.UpdateEntity(db, order, "EclpOutID")
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -661,7 +654,6 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
||||
payList, err2 := dao.GetOrderPayList(db, order.VendorOrderID, jxutils.GetPossibleVendorIDFromVendorOrderID(order.VendorOrderID))
|
||||
if err = err2; err == nil {
|
||||
for _, orderPay := range payList {
|
||||
globals.SugarLogger.Debugf("CancelOrderTL2, [%v]", *orderPay)
|
||||
if orderPay.Status == model.PayStatusYes {
|
||||
// refundID := utils.Int64ToStr(GenRefundID(order))
|
||||
refundID := order.VendorOrderID
|
||||
@@ -672,6 +664,7 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
||||
dao.WrapAddIDCULDEntity(orderPayRefund, ctx.GetUserName())
|
||||
errList.AddErr(dao.CreateEntity(dao.GetDB(), orderPayRefund))
|
||||
MarkArrears(db, order, orderPay)
|
||||
CancelMatterOrder(db, order)
|
||||
} else {
|
||||
errList.AddErr(err)
|
||||
}
|
||||
@@ -679,6 +672,7 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
||||
orderPayRefund, err = refundOrderByTL(ctx, orderPay, refundID, orderPay.TotalFee, reason)
|
||||
if err == nil {
|
||||
MarkArrears(db, order, orderPay)
|
||||
CancelMatterOrder(db, order)
|
||||
} else {
|
||||
errList.AddErr(err)
|
||||
}
|
||||
@@ -704,6 +698,13 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
||||
return err
|
||||
}
|
||||
|
||||
func CancelMatterOrder(db *dao.DaoDB, order *model.GoodsOrder) (err error) {
|
||||
if order.FromStoreID != 0 {
|
||||
_, err = api.JdEclpAPI.CancelOrder(order.EclpOutID)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func MarkArrears(db *dao.DaoDB, order *model.GoodsOrder, orderPay *model.OrderPay) {
|
||||
//退款后,若此订单下单用户有推广人,则需要将分给推广人的金额记录到该推广人的欠款中
|
||||
orders, _ := dao.QueryOrders(db, order.VendorOrderID, 0, []int{model.VendorIDJX}, 0, utils.DefaultTimeValue, utils.DefaultTimeValue)
|
||||
@@ -943,10 +944,26 @@ func GetHalfHoursList() (strs []string) {
|
||||
return strs
|
||||
}
|
||||
|
||||
func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (err error) {
|
||||
// var (
|
||||
// db = dao.GetDB()
|
||||
// )
|
||||
|
||||
return err
|
||||
func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result []*MatterOrderStatus, err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
waybills, err := dao.GetWayBillByOrderID(db, -1, model.VendorIDJX, -1, vendorOrderID)
|
||||
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX)
|
||||
if len(waybills) > 0 {
|
||||
// queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(waybills[0].VendorWaybillID)
|
||||
}
|
||||
// getTrackMessagePlusByOrderResult, err := api.JdEclpAPI.GetTrackMessagePlusByOrder(vendorOrderID)
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
dao.UpdateEntity(db, order, "Status")
|
||||
waybills[0].StatusTime = time.Now()
|
||||
dao.UpdateEntity(db, waybills[0], "Status", "StatusTime")
|
||||
dao.Commit(db)
|
||||
return result, err
|
||||
}
|
||||
|
||||
@@ -173,6 +173,7 @@ jd2Secret = "1097abd7ef09427099b4922784af123a"
|
||||
jdEclpAccessToken = ""
|
||||
jdEclpAppKey = ""
|
||||
jdEclpAppSecret = ""
|
||||
jdEclpRedirectUri = ""
|
||||
|
||||
elmIsProd = true
|
||||
elmToken = ""
|
||||
|
||||
@@ -88,12 +88,12 @@ func init() {
|
||||
func Init() {
|
||||
if !beego.AppConfig.DefaultBool("disableJd", false) {
|
||||
JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret"))
|
||||
// cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "")
|
||||
cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "")
|
||||
// JdAPI.SetJdCookie(cookieValue)
|
||||
|
||||
conf := platformapi.NewDefAPIConfig()
|
||||
conf.MaxSleepSecondWhenExceedLimit = 60 * 30 // 最大重试间隙30分钟
|
||||
JdPageAPI = jdapi.NewPageOnly("", conf)
|
||||
JdPageAPI = jdapi.NewPageOnly(cookieValue, conf)
|
||||
|
||||
if globals.Jd2OrgCode != "" {
|
||||
Jd2API = jdapi.New(beego.AppConfig.String("jd2Token"), beego.AppConfig.String("jd2AppKey"), beego.AppConfig.String("jd2Secret"))
|
||||
@@ -108,7 +108,7 @@ func Init() {
|
||||
JdAPI = nil
|
||||
}
|
||||
if !beego.AppConfig.DefaultBool("disableJdEclp", false) {
|
||||
JdEclpAPI = jdeclpapi.New(beego.AppConfig.String("jdEclpAccessToken"), beego.AppConfig.String("jdEclpAppKey"), beego.AppConfig.String("jdEclpAppSecret"))
|
||||
JdEclpAPI = jdeclpapi.New(beego.AppConfig.String("jdEclpAccessToken"), beego.AppConfig.String("jdEclpAppKey"), beego.AppConfig.String("jdEclpAppSecret"), beego.AppConfig.String("jdEclpRedirectUri"))
|
||||
} else {
|
||||
JdEclpAPI = nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user