京东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) {
|
func SyncStoresQualify(ctx *jxcontext.Context, storeIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||||
if len(storeIDs) > 0 {
|
if len(storeIDs) > 0 {
|
||||||
db := dao.GetDB()
|
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) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
vendorID := model.VendorIDJD
|
vendorID := model.VendorIDJD
|
||||||
if handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IStoreSyncQualifyHandler); handler != nil {
|
if handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IStoreSyncQualifyHandler); handler != nil {
|
||||||
|
|||||||
@@ -201,6 +201,16 @@ func GetCheckVendorCookie(ctx *jxcontext.Context, vendorIDs []int, isAuto bool)
|
|||||||
flag = true
|
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.VendorID = v
|
||||||
cc.VendorOrgCode = vv
|
cc.VendorOrgCode = vv
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"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/business/partner/purchase/jx/localjx"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
|
|
||||||
@@ -252,8 +250,8 @@ func Init() {
|
|||||||
api.MtwmAPI.SetCookieWithStr(mtwmCookieStr)
|
api.MtwmAPI.SetCookieWithStr(mtwmCookieStr)
|
||||||
api.MtpsAPI.SetCookie("token", mtpsStoreToken)
|
api.MtpsAPI.SetCookie("token", mtpsStoreToken)
|
||||||
api.JdAPI.SetJdCookie(JdStorePageCookie)
|
api.JdAPI.SetJdCookie(JdStorePageCookie)
|
||||||
api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName, JdStorePageCookie)
|
// api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName, JdStorePageCookie)
|
||||||
api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName2, JdStorePageCookie)
|
// api.JdPageAPI.SetCookie(jdapi.AccessStorePageCookieName2, JdStorePageCookie)
|
||||||
}
|
}
|
||||||
|
|
||||||
func syncStoreSku() {
|
func syncStoreSku() {
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ type GoodsOrder struct {
|
|||||||
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
|
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
|
||||||
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
|
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
|
||||||
FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店
|
FromStoreID int `orm:"column(from_store_id)" json:"fromStoreID"` //物料配送门店
|
||||||
|
EclpOutID string `orm:"column(eclp_out_id)" json:"eclpOutID"` //物料配送的出库单号
|
||||||
|
|
||||||
// 以下只是用于传递数据
|
// 以下只是用于传递数据
|
||||||
OriginalData string `orm:"-" json:"-"`
|
OriginalData string `orm:"-" json:"-"`
|
||||||
|
|||||||
@@ -83,9 +83,10 @@ type JxOrderInfo struct {
|
|||||||
OrderPrice int64 `json:"orderPrice"` // 单位为分 订单商品价格
|
OrderPrice int64 `json:"orderPrice"` // 单位为分 订单商品价格
|
||||||
ActualPayPrice int64 `json:"actualPayPrice"` // 单位为分 顾客实际支付
|
ActualPayPrice int64 `json:"actualPayPrice"` // 单位为分 顾客实际支付
|
||||||
|
|
||||||
OrderID int64 `json:"orderID"`
|
OrderID int64 `json:"orderID"`
|
||||||
StoreName string `json:"storeName"`
|
StoreName string `json:"storeName"`
|
||||||
Weight int `json:"weight"`
|
Weight int `json:"weight"`
|
||||||
|
FromStoreID int `json:"fromStoreID"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type DeliveryTimeItem struct {
|
type DeliveryTimeItem struct {
|
||||||
@@ -99,6 +100,12 @@ type DeliveryDayTimeInfo struct {
|
|||||||
TimeList []*DeliveryTimeItem `json:"timeList"`
|
TimeList []*DeliveryTimeItem `json:"timeList"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type MatterOrderStatus struct {
|
||||||
|
Time string `json:"time"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
orderNoBeginTimestamp int64
|
orderNoBeginTimestamp int64
|
||||||
|
|
||||||
@@ -388,6 +395,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
|||||||
return nil, nil, fmt.Errorf("fromStoreID有误,[%v]", fromStoreID)
|
return nil, nil, fmt.Errorf("fromStoreID有误,[%v]", fromStoreID)
|
||||||
}
|
}
|
||||||
deliveryAddress.ConsigneeName = storeDetail2.Name
|
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) {
|
func PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) {
|
||||||
globals.SugarLogger.Debugf("orderSolutionForWuLiao1")
|
|
||||||
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "")
|
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "")
|
||||||
globals.SugarLogger.Debugf("orderSolutionForWuLiao2")
|
|
||||||
err = orderSolutionForWuLiao(order)
|
err = orderSolutionForWuLiao(order)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
||||||
globals.SugarLogger.Debugf("orderSolutionForWuLiao3, [%v]", *order)
|
|
||||||
if order.FromStoreID != 0 {
|
if order.FromStoreID != 0 {
|
||||||
// var (
|
// var (
|
||||||
// goodsNos []string
|
// goodsNos []string
|
||||||
@@ -628,20 +633,8 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
|||||||
// if err != nil {
|
// if err != nil {
|
||||||
// return err
|
// return err
|
||||||
// }
|
// }
|
||||||
// wayBill := &model.Waybill{
|
// order.EclpOutID = result.EclpSoNo
|
||||||
// VendorOrderID: order.VendorOrderID,
|
// dao.UpdateEntity(db, order, "EclpOutID")
|
||||||
// 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)
|
|
||||||
}
|
}
|
||||||
return err
|
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))
|
payList, err2 := dao.GetOrderPayList(db, order.VendorOrderID, jxutils.GetPossibleVendorIDFromVendorOrderID(order.VendorOrderID))
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
for _, orderPay := range payList {
|
for _, orderPay := range payList {
|
||||||
globals.SugarLogger.Debugf("CancelOrderTL2, [%v]", *orderPay)
|
|
||||||
if orderPay.Status == model.PayStatusYes {
|
if orderPay.Status == model.PayStatusYes {
|
||||||
// refundID := utils.Int64ToStr(GenRefundID(order))
|
// refundID := utils.Int64ToStr(GenRefundID(order))
|
||||||
refundID := order.VendorOrderID
|
refundID := order.VendorOrderID
|
||||||
@@ -672,6 +664,7 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
|||||||
dao.WrapAddIDCULDEntity(orderPayRefund, ctx.GetUserName())
|
dao.WrapAddIDCULDEntity(orderPayRefund, ctx.GetUserName())
|
||||||
errList.AddErr(dao.CreateEntity(dao.GetDB(), orderPayRefund))
|
errList.AddErr(dao.CreateEntity(dao.GetDB(), orderPayRefund))
|
||||||
MarkArrears(db, order, orderPay)
|
MarkArrears(db, order, orderPay)
|
||||||
|
CancelMatterOrder(db, order)
|
||||||
} else {
|
} else {
|
||||||
errList.AddErr(err)
|
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)
|
orderPayRefund, err = refundOrderByTL(ctx, orderPay, refundID, orderPay.TotalFee, reason)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
MarkArrears(db, order, orderPay)
|
MarkArrears(db, order, orderPay)
|
||||||
|
CancelMatterOrder(db, order)
|
||||||
} else {
|
} else {
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
}
|
}
|
||||||
@@ -704,6 +698,13 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
|||||||
return err
|
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) {
|
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)
|
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
|
return strs
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (err error) {
|
func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result []*MatterOrderStatus, err error) {
|
||||||
// var (
|
var (
|
||||||
// db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
// )
|
)
|
||||||
|
waybills, err := dao.GetWayBillByOrderID(db, -1, model.VendorIDJX, -1, vendorOrderID)
|
||||||
return err
|
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 = ""
|
jdEclpAccessToken = ""
|
||||||
jdEclpAppKey = ""
|
jdEclpAppKey = ""
|
||||||
jdEclpAppSecret = ""
|
jdEclpAppSecret = ""
|
||||||
|
jdEclpRedirectUri = ""
|
||||||
|
|
||||||
elmIsProd = true
|
elmIsProd = true
|
||||||
elmToken = ""
|
elmToken = ""
|
||||||
|
|||||||
@@ -88,12 +88,12 @@ func init() {
|
|||||||
func Init() {
|
func Init() {
|
||||||
if !beego.AppConfig.DefaultBool("disableJd", false) {
|
if !beego.AppConfig.DefaultBool("disableJd", false) {
|
||||||
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"))
|
||||||
// cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "")
|
cookieValue := beego.AppConfig.DefaultString("jdStorePageCookie", "")
|
||||||
// JdAPI.SetJdCookie(cookieValue)
|
// JdAPI.SetJdCookie(cookieValue)
|
||||||
|
|
||||||
conf := platformapi.NewDefAPIConfig()
|
conf := platformapi.NewDefAPIConfig()
|
||||||
conf.MaxSleepSecondWhenExceedLimit = 60 * 30 // 最大重试间隙30分钟
|
conf.MaxSleepSecondWhenExceedLimit = 60 * 30 // 最大重试间隙30分钟
|
||||||
JdPageAPI = jdapi.NewPageOnly("", conf)
|
JdPageAPI = jdapi.NewPageOnly(cookieValue, conf)
|
||||||
|
|
||||||
if globals.Jd2OrgCode != "" {
|
if globals.Jd2OrgCode != "" {
|
||||||
Jd2API = jdapi.New(beego.AppConfig.String("jd2Token"), beego.AppConfig.String("jd2AppKey"), beego.AppConfig.String("jd2Secret"))
|
Jd2API = jdapi.New(beego.AppConfig.String("jd2Token"), beego.AppConfig.String("jd2AppKey"), beego.AppConfig.String("jd2Secret"))
|
||||||
@@ -108,7 +108,7 @@ func Init() {
|
|||||||
JdAPI = nil
|
JdAPI = nil
|
||||||
}
|
}
|
||||||
if !beego.AppConfig.DefaultBool("disableJdEclp", false) {
|
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 {
|
} else {
|
||||||
JdEclpAPI = nil
|
JdEclpAPI = nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user