京东page的cookie可能有问题

This commit is contained in:
苏尹岚
2020-03-06 13:46:04 +08:00
parent 44eb85a488
commit 15f0be1b44
7 changed files with 62 additions and 35 deletions

View File

@@ -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 {

View File

@@ -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

View File

@@ -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() {

View File

@@ -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:"-"`

View File

@@ -83,9 +83,10 @@ type JxOrderInfo struct {
OrderPrice int64 `json:"orderPrice"` // 单位为分 订单商品价格
ActualPayPrice int64 `json:"actualPayPrice"` // 单位为分 顾客实际支付
OrderID int64 `json:"orderID"`
StoreName string `json:"storeName"`
Weight int `json:"weight"`
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
}

View File

@@ -173,6 +173,7 @@ jd2Secret = "1097abd7ef09427099b4922784af123a"
jdEclpAccessToken = ""
jdEclpAppKey = ""
jdEclpAppSecret = ""
jdEclpRedirectUri = ""
elmIsProd = true
elmToken = ""

View File

@@ -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
}