Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -2686,17 +2686,16 @@ func UpdateTiktokShopTotalMoney() {
|
||||
func UpdateTaoSettleInfo() {
|
||||
db := dao.GetDB()
|
||||
|
||||
storeMaps, err := dao.GetStoresMapList(db, []int{model.VendorIDTaoVegetable}, []int{667321}, nil, -9, -1, "", "", "")
|
||||
storeMaps, err := dao.GetStoresMapList(db, []int{model.VendorIDTaoVegetable}, nil, nil, -9, -1, "", "", "")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
globals.SugarLogger.Debugf("GetStoresMapList ========== %s", utils.Format4Output(storeMaps, false))
|
||||
timeStart := time.Now().Add(-72 * time.Hour)
|
||||
timeStart := time.Now().Add(-24 * 90 * time.Hour)
|
||||
startTime := time.Date(timeStart.Year(), timeStart.Month(), timeStart.Day(), 0, 0, 0, 0, timeStart.Location())
|
||||
|
||||
timeEnd := time.Now()
|
||||
endTiem := time.Date(timeEnd.Year(), timeEnd.Month(), timeEnd.Day()-1, 23, 59, 59, 0, timeStart.Location())
|
||||
for _, v := range storeMaps {
|
||||
globals.SugarLogger.Debugf("=============UpdateTaoSettleInfo := %s", utils.Format4Output(v, false))
|
||||
settleInfo, err := tao.GetOrderTotalShopMoney(v.VendorOrgCode, v.VendorStoreID, startTime, endTiem)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Errorf("获取淘鲜达结算信息异常 := %v", err)
|
||||
@@ -2708,7 +2707,6 @@ func UpdateTaoSettleInfo() {
|
||||
}
|
||||
|
||||
for orderId2, settle := range settleInfo {
|
||||
globals.SugarLogger.Debugf("=============settleInfo := %s,%s", utils.Format4Output(orderId2, false), settle)
|
||||
goodsOrder, err := partner.CurOrderManager.LoadOrder2(orderId2, model.VendorIDTaoVegetable)
|
||||
if err != nil || goodsOrder == nil {
|
||||
globals.SugarLogger.Debugf("门店[%d:%s],订单查询异常[%s:%v]", v.StoreID, v.StoreName, orderId2, err)
|
||||
@@ -2728,160 +2726,11 @@ func UpdateTaoSettleInfo() {
|
||||
}
|
||||
}
|
||||
}
|
||||
if _, err := dao.UpdateEntity(db, v, "TotalShopMoney", "NewEarningPrice"); err != nil {
|
||||
globals.SugarLogger.Debugf("更新本地订单结算信息 := %s,%d", goodsOrder.VendorOrderID, goodsOrder.TotalShopMoney)
|
||||
if _, err := dao.UpdateEntity(db, goodsOrder, "TotalShopMoney", "NewEarningPrice"); err != nil {
|
||||
globals.SugarLogger.Errorf("更新本地订单结算信息错误 : %s", err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var storeList = []int64{
|
||||
//669053,
|
||||
//103074,
|
||||
//668985,
|
||||
//103065,
|
||||
//668960,
|
||||
//668959,
|
||||
//668953,
|
||||
//103029,
|
||||
//668949,
|
||||
//103002,
|
||||
//102999,
|
||||
//668932,
|
||||
//668931,
|
||||
//668917,
|
||||
//102969,
|
||||
//102966,
|
||||
//668909,
|
||||
//668908,
|
||||
//668905,
|
||||
//668901,
|
||||
//102946,
|
||||
//102939,
|
||||
//102938,
|
||||
//668894,
|
||||
//102934,
|
||||
//102933,
|
||||
//102930,
|
||||
//668884,
|
||||
//668878,
|
||||
//102903,
|
||||
//668757,
|
||||
//102293,
|
||||
//668622,
|
||||
//668618,
|
||||
//668592,
|
||||
//100945,
|
||||
//668583,
|
||||
//100943,
|
||||
//100935,
|
||||
//100905,
|
||||
//668498,
|
||||
//668476,
|
||||
//668462,
|
||||
//100309,
|
||||
100299,
|
||||
100292,
|
||||
668276,
|
||||
668180,
|
||||
667320,
|
||||
667237,
|
||||
667036,
|
||||
668691,
|
||||
668673,
|
||||
668282,
|
||||
667447,
|
||||
667354,
|
||||
667335,
|
||||
667319,
|
||||
667316,
|
||||
667269,
|
||||
667268,
|
||||
667267,
|
||||
667260,
|
||||
667132,
|
||||
667030,
|
||||
666965,
|
||||
666714,
|
||||
666708,
|
||||
666705,
|
||||
103437,
|
||||
103349,
|
||||
103123,
|
||||
103121,
|
||||
103106,
|
||||
103038,
|
||||
103028,
|
||||
103019,
|
||||
102831,
|
||||
102751,
|
||||
102683,
|
||||
102542,
|
||||
102514,
|
||||
102382,
|
||||
102182,
|
||||
102178,
|
||||
102173,
|
||||
102098,
|
||||
102094,
|
||||
102080,
|
||||
102072,
|
||||
102069,
|
||||
101870,
|
||||
101869,
|
||||
101868,
|
||||
101867,
|
||||
101866,
|
||||
101865,
|
||||
100956,
|
||||
100930,
|
||||
100871,
|
||||
100786,
|
||||
100746,
|
||||
100744,
|
||||
100705,
|
||||
100400,
|
||||
100111,
|
||||
100108,
|
||||
100106,
|
||||
100104,
|
||||
100103,
|
||||
100102,
|
||||
100100,
|
||||
100097,
|
||||
100096,
|
||||
100095,
|
||||
100093,
|
||||
100092,
|
||||
100089,
|
||||
100087,
|
||||
100086,
|
||||
100085,
|
||||
100083,
|
||||
100082,
|
||||
100081,
|
||||
100079,
|
||||
100078,
|
||||
}
|
||||
|
||||
func UpdateTaoSkuUpdateOffShelf() {
|
||||
// 标准模板店
|
||||
//skuCodeList := dao.GetStoreSkuBindList(dao.GetDB(), 100102)
|
||||
|
||||
for _, storeId := range storeList {
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "开始下架:", utils.Int64ToStr(storeId))
|
||||
storeSkuMap := dao.GetStoreSkuBindList(dao.GetDB(), storeId)
|
||||
resultErr := tao.UpdateStoreSku(storeId, storeSkuMap)
|
||||
if len(resultErr) > 0 {
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "下架商品错误消息:", utils.Format4Output(resultErr, false))
|
||||
}
|
||||
}
|
||||
|
||||
//for _,storeId := range storeList {
|
||||
// resultErr := tao.UpdateStoreSkuGrounding(storeId, skuCodeList)
|
||||
// if len(resultErr) > 0 {
|
||||
// ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "上架架商品错误消息:", utils.Format4Output(resultErr, false))
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
@@ -982,7 +982,6 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
||||
break
|
||||
}
|
||||
}
|
||||
partner.CurOrderManager.OnOrderMsg(order, fmt.Sprintf("发起自动创建三方运单,目标创建运单平台[%s],排除平台[%s]", jxutils.GetVendorName(vendorID), utils.Format4Output(excludeVendorIDs, false)), "")
|
||||
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
|
||||
savedOrderInfo.retryCount++
|
||||
} else {
|
||||
|
||||
@@ -32,9 +32,19 @@ func (s *DefScheduler) OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err
|
||||
}
|
||||
}
|
||||
}
|
||||
msghub.OnNewWait4ApproveAfsOrder(order)
|
||||
weixinmsg.NotifyAfsOrderStatus(order)
|
||||
push.NotifyAfsOrder(order)
|
||||
|
||||
if order != nil && order.VendorID == model.VendorIDTaoVegetable {
|
||||
result, _ := dao.GetAfsOrders(dao.GetDB(), model.VendorIDTaoVegetable, order.VendorOrderID, "")
|
||||
if len(result) <= model.YES {
|
||||
msghub.OnNewWait4ApproveAfsOrder(order)
|
||||
weixinmsg.NotifyAfsOrderStatus(order)
|
||||
push.NotifyAfsOrder(order)
|
||||
}
|
||||
} else {
|
||||
msghub.OnNewWait4ApproveAfsOrder(order)
|
||||
weixinmsg.NotifyAfsOrderStatus(order)
|
||||
push.NotifyAfsOrder(order)
|
||||
}
|
||||
|
||||
// 京西云打印机打印数据-如果门店使用京西打印机才使用如下代码块
|
||||
store, err := dao.GetStoreDetail(dao.GetDB(), order.JxStoreID, order.VendorID, order.VendorOrgCode)
|
||||
|
||||
@@ -1744,7 +1744,6 @@ func UpdateStoresSkus(ctx *jxcontext.Context, causeFlag int, storeIDs []int, sku
|
||||
}
|
||||
} else {
|
||||
flag, _ := doStoreSkuAudit(ctx, storeIDs, skuBindInfos)
|
||||
globals.SugarLogger.Debugf("========falg := %s", utils.Format4Output(flag, false))
|
||||
if !flag {
|
||||
var num int64
|
||||
db := dao.GetDB()
|
||||
|
||||
@@ -486,6 +486,9 @@ func (v *VendorSync) SyncStoresCategory(ctx *jxcontext.Context, db *dao.DaoDB, v
|
||||
|
||||
//
|
||||
func (v *VendorSync) SyncStoresSkus2(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag int, db *dao.DaoDB, vendorIDs []int, storeIDs []int, syncDisabled bool, skuIDs, excludeSkuIDs []int, setSyncStatus int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
if len(vendorIDs) > 0 && vendorIDs[0] == model.VendorIDTaoVegetable {
|
||||
globals.SugarLogger.Debugf("=====================storeIDs: %s", utils.Format4Output(storeIDs, false))
|
||||
}
|
||||
isManageIt := len(storeIDs) != 1 || len(skuIDs) == 0 || len(skuIDs) > 8
|
||||
funcParam := func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
loopMapInfo := batchItemList[0].(*LoopStoreMapInfo)
|
||||
|
||||
@@ -2,6 +2,7 @@ package misc
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/enterprise_msg"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
@@ -209,13 +210,6 @@ func Init() {
|
||||
"18:10:00",
|
||||
})
|
||||
|
||||
// 下架所有北京上海门店商品
|
||||
ScheduleTimerFunc("UpdateTaoSkuUpdateOffShelf", func() {
|
||||
orderman.UpdateTaoSkuUpdateOffShelf()
|
||||
}, []string{
|
||||
"09:13:00",
|
||||
})
|
||||
|
||||
// 每分钟轮询一次,推送骑手信息
|
||||
ScheduleTimerFuncByInterval(func() {
|
||||
delivery.UpdateFakeWayBillToTiktok()
|
||||
@@ -286,341 +280,29 @@ func Init() {
|
||||
// syncStoreSkuTiktok()
|
||||
// }, []string{"13:00:00"})
|
||||
//}
|
||||
// 淘鲜达更新门店商品 ,接口收费暂不使用
|
||||
|
||||
if beego.BConfig.RunMode != "jxgy" {
|
||||
ScheduleTimerFunc("RefreshSyncSkuList_tao", func() {
|
||||
var hangzhou = []int{
|
||||
// 杭州
|
||||
//669073,
|
||||
//668930,
|
||||
//668922,
|
||||
//668916,
|
||||
//668915,
|
||||
//668756,
|
||||
//668705,
|
||||
//668702,
|
||||
//668681,
|
||||
//668422,
|
||||
//668417,
|
||||
//668191,
|
||||
//667996,
|
||||
//667991,
|
||||
//667985,
|
||||
//667553,
|
||||
//667044,
|
||||
//103083,
|
||||
//103073,
|
||||
//103033,
|
||||
//103032,
|
||||
//102963,
|
||||
//102923,
|
||||
//102785,
|
||||
//102594,
|
||||
//102578,
|
||||
//102329,
|
||||
//101734,
|
||||
//100229,
|
||||
//100224,
|
||||
//100217,
|
||||
//100215,
|
||||
//100210,
|
||||
//100206,
|
||||
//// 武汉
|
||||
//668352, 103200, 102958, 100887, 100236,
|
||||
//// 广州
|
||||
// 668871, 668602, 668575, 668262, 103425, 101755, 101176, 100557, 100369, 100361, 100351, 100350,
|
||||
//成都
|
||||
669172,
|
||||
669171,
|
||||
669170,
|
||||
669169,
|
||||
669168,
|
||||
669165,
|
||||
669164,
|
||||
669163,
|
||||
669162,
|
||||
669157,
|
||||
669156,
|
||||
669155,
|
||||
669154,
|
||||
669153,
|
||||
669150,
|
||||
669149,
|
||||
669148,
|
||||
669147,
|
||||
669146,
|
||||
669144,
|
||||
669141,
|
||||
669139,
|
||||
669138,
|
||||
669137,
|
||||
669134,
|
||||
669132,
|
||||
669127,
|
||||
669124,
|
||||
669122,
|
||||
669121,
|
||||
669120,
|
||||
669119,
|
||||
669114,
|
||||
669113,
|
||||
669111,
|
||||
669110,
|
||||
669109,
|
||||
669108,
|
||||
669107,
|
||||
669106,
|
||||
669103,
|
||||
669100,
|
||||
669099,
|
||||
669098,
|
||||
669097,
|
||||
669096,
|
||||
669095,
|
||||
669094,
|
||||
669093,
|
||||
669092,
|
||||
669091,
|
||||
669087,
|
||||
669086,
|
||||
669085,
|
||||
669084,
|
||||
669083,
|
||||
669082,
|
||||
669079,
|
||||
669078,
|
||||
669077,
|
||||
669075,
|
||||
669074,
|
||||
669072,
|
||||
669070,
|
||||
669067,
|
||||
669064,
|
||||
669063,
|
||||
669062,
|
||||
669060,
|
||||
669059,
|
||||
669056,
|
||||
669055,
|
||||
669054,
|
||||
669050,
|
||||
669049,
|
||||
669047,
|
||||
669046,
|
||||
669045,
|
||||
669042,
|
||||
669041,
|
||||
669038,
|
||||
669036,
|
||||
669035,
|
||||
669033,
|
||||
669032,
|
||||
669031,
|
||||
669027,
|
||||
669025,
|
||||
669024,
|
||||
669022,
|
||||
669021,
|
||||
669020,
|
||||
669017,
|
||||
669015,
|
||||
669014,
|
||||
669012,
|
||||
669009,
|
||||
669007,
|
||||
669002,
|
||||
669000,
|
||||
668999,
|
||||
668997,
|
||||
668996,
|
||||
668993,
|
||||
668988,
|
||||
668986,
|
||||
668984,
|
||||
668966,
|
||||
668963,
|
||||
668961,
|
||||
668958,
|
||||
668954,
|
||||
668950,
|
||||
668948,
|
||||
668946,
|
||||
668943,
|
||||
668938,
|
||||
668928,
|
||||
668910,
|
||||
668907,
|
||||
668900,
|
||||
668897,
|
||||
668896,
|
||||
668891,
|
||||
668889,
|
||||
668883,
|
||||
668882,
|
||||
668868,
|
||||
668860,
|
||||
668855,
|
||||
668853,
|
||||
668850,
|
||||
668849,
|
||||
668843,
|
||||
668838,
|
||||
668807,
|
||||
668802,
|
||||
668784,
|
||||
668773,
|
||||
668771,
|
||||
668767,
|
||||
668766,
|
||||
668755,
|
||||
668749,
|
||||
668728,
|
||||
668724,
|
||||
668722,
|
||||
668721,
|
||||
668716,
|
||||
668706,
|
||||
668704,
|
||||
668699,
|
||||
668697,
|
||||
668695,
|
||||
668693,
|
||||
668692,
|
||||
668688,
|
||||
668686,
|
||||
668682,
|
||||
668680,
|
||||
668679,
|
||||
668678,
|
||||
668672,
|
||||
668666,
|
||||
668662,
|
||||
668660,
|
||||
668659,
|
||||
668656,
|
||||
668655,
|
||||
668654,
|
||||
668649,
|
||||
668648,
|
||||
668643,
|
||||
668642,
|
||||
668640,
|
||||
668636,
|
||||
668632,
|
||||
668631,
|
||||
668629,
|
||||
668624,
|
||||
668616,
|
||||
668613,
|
||||
668608,
|
||||
668594,
|
||||
668548,
|
||||
668543,
|
||||
668540,
|
||||
668537,
|
||||
668530,
|
||||
668512,
|
||||
668258,
|
||||
668257,
|
||||
668256,
|
||||
668254,
|
||||
668203,
|
||||
668190,
|
||||
668186,
|
||||
668185,
|
||||
668182,
|
||||
668170,
|
||||
668169,
|
||||
668168,
|
||||
668166,
|
||||
668165,
|
||||
668164,
|
||||
668157,
|
||||
668156,
|
||||
668125,
|
||||
668121,
|
||||
668095,
|
||||
668094,
|
||||
668071,
|
||||
667959,
|
||||
667745,
|
||||
667744,
|
||||
667743,
|
||||
667563,
|
||||
667562,
|
||||
667561,
|
||||
667560,
|
||||
667559,
|
||||
667558,
|
||||
667556,
|
||||
667420,
|
||||
667332,
|
||||
667308,
|
||||
667305,
|
||||
667304,
|
||||
667299,
|
||||
667292,
|
||||
667285,
|
||||
667281,
|
||||
667278,
|
||||
667263,
|
||||
667001,
|
||||
666975,
|
||||
666677,
|
||||
666667,
|
||||
666666,
|
||||
103408,
|
||||
103184,
|
||||
103174,
|
||||
103127,
|
||||
103113,
|
||||
102925,
|
||||
102740,
|
||||
102736,
|
||||
102630,
|
||||
102383,
|
||||
102180,
|
||||
101942,
|
||||
101897,
|
||||
101875,
|
||||
101036,
|
||||
100840,
|
||||
100743,
|
||||
100654,
|
||||
100471,
|
||||
100144,
|
||||
100135,
|
||||
100129,
|
||||
100126,
|
||||
100123,
|
||||
100115,
|
||||
}
|
||||
syncStoreSkuTao(hangzhou)
|
||||
ScheduleTimerFunc("RefreshSyncSkuListTao", func() {
|
||||
syncStoreSkuTao()
|
||||
}, []string{
|
||||
"00:30:00",
|
||||
"01:30:00",
|
||||
"02:30:00",
|
||||
"03:30:00",
|
||||
"04:30:00",
|
||||
"05:30:00",
|
||||
"06:30:00",
|
||||
"07:30:00",
|
||||
"08:30:00",
|
||||
"09:35:00",
|
||||
"10:30:00",
|
||||
"11:30:00",
|
||||
"12:30:00",
|
||||
"13:30:00",
|
||||
"14:30:00",
|
||||
"15:30:00",
|
||||
"16:30:00",
|
||||
"17:30:00",
|
||||
"18:30:00",
|
||||
"19:30:00",
|
||||
"20:30:00",
|
||||
"21:30:00",
|
||||
"22:30:00",
|
||||
"23:30:00",
|
||||
"14:25:00",
|
||||
"16:25:00",
|
||||
"18:52:00",
|
||||
"20:25:00",
|
||||
"21:25:00",
|
||||
"22:25:00",
|
||||
"23:25:00",
|
||||
"00:25:00",
|
||||
"01:25:00",
|
||||
"02:25:00",
|
||||
"03:25:00",
|
||||
"04:25:00",
|
||||
"05:25:00",
|
||||
"06:25:00",
|
||||
"07:25:00",
|
||||
"08:25:00",
|
||||
"10:25:00",
|
||||
"12:25:00",
|
||||
})
|
||||
}
|
||||
|
||||
@@ -976,31 +658,264 @@ func syncStoreSkuTiktok() {
|
||||
}
|
||||
|
||||
var syncLen = 0
|
||||
var beijin = []int{
|
||||
//669113,
|
||||
//669111,
|
||||
//669110,
|
||||
//669109,
|
||||
//669108,
|
||||
//669107,
|
||||
//669106,
|
||||
//669103,
|
||||
//669100,
|
||||
//669099,
|
||||
//669098,
|
||||
//669097,
|
||||
//669096,
|
||||
//669095,
|
||||
//669094,
|
||||
//669093,
|
||||
//669092,
|
||||
//669091,
|
||||
//669087,
|
||||
//669086,
|
||||
//669085,
|
||||
//669084, // zheer
|
||||
//669083,
|
||||
//669082,
|
||||
//669079,
|
||||
//669078,
|
||||
//669077,
|
||||
//669075,
|
||||
//669074,
|
||||
//669072,
|
||||
//669070,
|
||||
//669067,
|
||||
//669064,
|
||||
//669063,
|
||||
//669062,
|
||||
//669060,
|
||||
//669059,
|
||||
//669056,
|
||||
//669055,
|
||||
//669054,
|
||||
//669050,
|
||||
//669049,
|
||||
//669047, //
|
||||
//669046,
|
||||
//669045,
|
||||
//669042,
|
||||
//669041,
|
||||
//669038,
|
||||
//669036,
|
||||
//669035,
|
||||
//669033,
|
||||
//669032, // zher
|
||||
//669031,
|
||||
//669027,
|
||||
//669025,
|
||||
//669024,
|
||||
//669022,
|
||||
//669021,
|
||||
//669020,
|
||||
//669017,
|
||||
//669015, /// zher
|
||||
//669014,
|
||||
//669012,
|
||||
//669009,
|
||||
//669007,
|
||||
//669002,
|
||||
//669000,
|
||||
//668999,
|
||||
//668997,
|
||||
//668996,
|
||||
//668993, //
|
||||
//668988,
|
||||
//668986,
|
||||
//668984,
|
||||
//668966,
|
||||
//668963,
|
||||
//668961,
|
||||
//668958,
|
||||
//668954,
|
||||
//668950,
|
||||
//668948,
|
||||
//668946,
|
||||
//668943, ///
|
||||
//668938,
|
||||
//668928,
|
||||
//668910,
|
||||
//668907,
|
||||
//668900,
|
||||
//668897,
|
||||
668896,
|
||||
668891,
|
||||
668889,
|
||||
668883,
|
||||
668882,
|
||||
668868,
|
||||
668860,
|
||||
668855,
|
||||
668853,
|
||||
668850,
|
||||
668849,
|
||||
668843,
|
||||
668838,
|
||||
668807,
|
||||
668802,
|
||||
668784,
|
||||
668773,
|
||||
668771,
|
||||
668767,
|
||||
668766,
|
||||
668755,
|
||||
668749,
|
||||
668728,
|
||||
668724,
|
||||
668722,
|
||||
668721,
|
||||
668716,
|
||||
668706,
|
||||
668704,
|
||||
668699,
|
||||
668697,
|
||||
668695,
|
||||
668693,
|
||||
668692,
|
||||
668688,
|
||||
668686,
|
||||
668682,
|
||||
668680,
|
||||
668679,
|
||||
668678,
|
||||
668672,
|
||||
668666,
|
||||
668662,
|
||||
668660,
|
||||
668659,
|
||||
668656,
|
||||
668655,
|
||||
668654,
|
||||
668649,
|
||||
668648,
|
||||
668643,
|
||||
668642,
|
||||
668640,
|
||||
668636,
|
||||
668632,
|
||||
668631,
|
||||
668629,
|
||||
668624,
|
||||
668616,
|
||||
668613,
|
||||
668608,
|
||||
668594,
|
||||
668548,
|
||||
668543,
|
||||
668540,
|
||||
668537,
|
||||
668530,
|
||||
668512,
|
||||
668258,
|
||||
668257,
|
||||
668256,
|
||||
668254,
|
||||
668203,
|
||||
668190,
|
||||
668186,
|
||||
668185,
|
||||
668182,
|
||||
668170,
|
||||
668169,
|
||||
668168,
|
||||
668166,
|
||||
668165,
|
||||
668164,
|
||||
668157,
|
||||
668156,
|
||||
668125,
|
||||
668121,
|
||||
668095,
|
||||
668094,
|
||||
668071,
|
||||
667959,
|
||||
667745,
|
||||
667744,
|
||||
667743,
|
||||
667563,
|
||||
667562,
|
||||
667561,
|
||||
667560,
|
||||
667559,
|
||||
667558,
|
||||
667556,
|
||||
667420,
|
||||
667332,
|
||||
667308,
|
||||
667305,
|
||||
667304,
|
||||
667299,
|
||||
667292,
|
||||
667285,
|
||||
667281,
|
||||
667278,
|
||||
667263,
|
||||
667001,
|
||||
666975,
|
||||
666677,
|
||||
666667,
|
||||
666666,
|
||||
103408,
|
||||
103184,
|
||||
103174,
|
||||
103127,
|
||||
103113,
|
||||
102925,
|
||||
102740,
|
||||
102736,
|
||||
102630,
|
||||
102383,
|
||||
102180,
|
||||
101942,
|
||||
101897,
|
||||
101875,
|
||||
101036,
|
||||
100840,
|
||||
100743,
|
||||
100654,
|
||||
100471,
|
||||
100144,
|
||||
100135,
|
||||
100129,
|
||||
100126,
|
||||
100123,
|
||||
100115,
|
||||
}
|
||||
|
||||
// syncStoreSkuTao 同步商品到淘鲜达
|
||||
func syncStoreSkuTao(beijin []int) {
|
||||
func syncStoreSkuTao() {
|
||||
syncFlag := 0
|
||||
task := tasksch.NewParallelTask("同步京西商品到淘鲜达平台,方案二使用", nil, jxcontext.AdminCtx,
|
||||
task := tasksch.NewParallelTask("syncStoreSkuTao ", nil, jxcontext.AdminCtx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
step := batchItemList[0].(int)
|
||||
errList := errlist.New()
|
||||
db := dao.GetDB()
|
||||
switch step {
|
||||
case 0:
|
||||
if beego.BConfig.RunMode != "jxgy" {
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "淘鲜达消息:", utils.Format4Output(beijin[syncLen:syncLen+3], false))
|
||||
_, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, 0, db, []int{model.VendorIDTaoVegetable}, beijin[syncLen:syncLen+3], false, nil, nil, syncFlag, true, true)
|
||||
errList.AddErr(err)
|
||||
if err := ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", "淘鲜达消息:", utils.Format4Output(beijin[syncLen:syncLen+5], false)); err != nil {
|
||||
globals.SugarLogger.Debugf("SendUserMessage := %s", utils.Format4Output(err, false))
|
||||
}
|
||||
case 1:
|
||||
enterprise_msg.SendUserMessage("18981810340", "淘鲜达同步消息", utils.Format4Output(beijin[syncLen:syncLen+5], false), utils.Format4Output(beijin[syncLen:syncLen+5], false))
|
||||
_, err = cms.CurVendorSync.SyncStoresSkus2(jxcontext.AdminCtx, nil, 0, db, []int{model.VendorIDTaoVegetable}, beijin[syncLen:syncLen+5], false, nil, nil, syncFlag, true, true)
|
||||
errList.AddErr(err)
|
||||
case 1:
|
||||
SaveImportantTaskID(TaskNameSyncStoreSku, SpecialTaskID)
|
||||
}
|
||||
err = errList.GetErrListAsOne()
|
||||
return retVal, err
|
||||
}, []int{0, 1})
|
||||
tasksch.HandleTask(task, nil, true).Run()
|
||||
syncLen += 3
|
||||
syncLen += 5
|
||||
}
|
||||
|
||||
func doDailyWork2() {
|
||||
|
||||
@@ -15,4 +15,4 @@ func TestStartOrEndOpStore(t *testing.T) {
|
||||
|
||||
func TestIssny(t *testing.T) {
|
||||
cms.CurVendorSync.SyncStore2(jxcontext.AdminCtx, dao.GetDB(), []int{model.VendorIDMTWM, model.VendorIDJD, model.VendorIDEBAI}, nil, true, true)
|
||||
}
|
||||
}
|
||||
|
||||
16
business/model/dao/tao_sku_img.go
Normal file
16
business/model/dao/tao_sku_img.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package dao
|
||||
|
||||
import "git.rosy.net.cn/jx-callback/business/model"
|
||||
|
||||
func GetVendorImg(skuId, vendorId int) (*model.TaoSkuImg, error) {
|
||||
result := &model.TaoSkuImg{}
|
||||
|
||||
sql := ` SELECT * FROM tao_sku_img WHERE sku_id = ? AND vendor_id = ?`
|
||||
parma := []interface{}{skuId, vendorId}
|
||||
|
||||
if err := GetRow(GetDB(), result, sql, parma); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
@@ -162,15 +162,15 @@ type SkuName struct {
|
||||
ExPrefixBegin *time.Time `orm:"null" json:"exPrefixBegin"`
|
||||
ExPrefixEnd *time.Time `orm:"null" json:"exPrefixEnd"`
|
||||
ExVendorID int `orm:"column(ex_vendor_id)" json:"exVendorID"`
|
||||
BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo,此属性暂时没有使用,且有问题,应该是不同平台都有一个brandid
|
||||
CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别
|
||||
JdCategoryID int64 `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别
|
||||
IsGlobal int8 `orm:"default(1)" json:"isGlobal"` // 是否是全部(全国)可见,如果否的话,可见性由SkuPlace决定
|
||||
Unit string `orm:"size(8)" json:"unit"`
|
||||
SpecQuality float32 `json:"-"` // 为份必然为500,这个主要作用只是用于确保SkuName的唯一性
|
||||
SpecUnit string `orm:"size(8)" json:"-"` // 为份必然为克,这个主要作用只是用于确保SkuName的唯一性
|
||||
Price int `json:"price"` // 单位为分,标准价,不为份的就为实际标准价,为份的为每市斤价,实际还要乘质量。todo 为份的确定必须有质量
|
||||
Img string `orm:"size(512)" json:"img"`
|
||||
BrandID int `orm:"column(brand_id);default(0)" json:"brandID"` // todo,此属性暂时没有使用,且有问题,应该是不同平台都有一个brandid
|
||||
CategoryID int `orm:"column(category_id);index" json:"categoryID"` // 标准类别
|
||||
JdCategoryID int64 `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别
|
||||
IsGlobal int8 `orm:"default(1)" json:"isGlobal"` // 是否是全部(全国)可见,如果否的话,可见性由SkuPlace决定
|
||||
Unit string `orm:"size(8)" json:"unit"` //
|
||||
SpecQuality float32 `json:"-"` // 为份必然为500,这个主要作用只是用于确保SkuName的唯一性
|
||||
SpecUnit string `orm:"size(8)" json:"-"` // 为份必然为克,这个主要作用只是用于确保SkuName的唯一性
|
||||
Price int `json:"price"` // 单位为分,标准价,不为份的就为实际标准价,为份的为每市斤价,实际还要乘质量。todo 为份的确定必须有质量
|
||||
Img string `orm:"size(512)" json:"img"` //
|
||||
Img2 string `orm:"size(512)" json:"img2"` // 第二张图片
|
||||
Img3 string `orm:"size(512)" json:"img3"` //第三张图片
|
||||
Img4 string `orm:"size(512)" json:"img4"` //第三张图片
|
||||
|
||||
19
business/model/tao_sku_img.go
Normal file
19
business/model/tao_sku_img.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package model
|
||||
|
||||
type TaoSkuImg struct {
|
||||
ID int64 `orm:"column(id)" json:"id"`
|
||||
SkuID int `orm:"column(sku_id)"`
|
||||
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||
Img string `orm:"size(512)" json:"img"`
|
||||
Img2 string `orm:"size(512)" json:"img2"` // 第二张图片
|
||||
Img3 string `orm:"size(512)" json:"img3"` //第三张图片
|
||||
Img4 string `orm:"size(512)" json:"img4"` //第三张图片
|
||||
Img5 string `orm:"size(512)" json:"img5"` //第三张图片
|
||||
DescImg string `orm:"size(512)" json:"descImg"` // 商品详情图片描述
|
||||
}
|
||||
|
||||
func (*TaoSkuImg) TableUnique() [][]string {
|
||||
return [][]string{
|
||||
[]string{"SkuID", "VendorID"},
|
||||
}
|
||||
}
|
||||
@@ -515,13 +515,14 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
|
||||
|
||||
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) {
|
||||
isSelfDelivery = model.IsOrderDeliveryByStore(order) || model.IsOrderDeliveryBySelf(order)
|
||||
if !isSelfDelivery {
|
||||
if isSelfDelivery {
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").PreparationMealComplete(utils.Str2Int64(order.VendorOrderID))
|
||||
}
|
||||
}
|
||||
if err == nil {
|
||||
if err == nil || strings.Contains(err.Error(), "808") { // 配送类型只能为美团配送或美团企客配送 level:0, code:808
|
||||
c.postFakeMsg(order.VendorOrderID, FakeMsgType, fakeFinishedPickup)
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -10,8 +10,6 @@ import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
|
||||
domain3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/domain"
|
||||
request3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/request"
|
||||
domain587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/domain"
|
||||
request587 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability587/request"
|
||||
domain591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/domain"
|
||||
request591 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability591/request"
|
||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
|
||||
@@ -845,31 +843,6 @@ func (c *PurchaseHandler) GetOrderSettleAccounts(order *model.GoodsOrder) (int64
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
// 下架
|
||||
func UpdateStoreSku(storeId int64, skuCode []string) []string {
|
||||
api := getAPI("34402634", 0, "")
|
||||
return api.StoreSkuUpdateOffShelfList(storeId, skuCode)
|
||||
}
|
||||
|
||||
// 上架
|
||||
func UpdateStoreSkuGrounding(storeId int64, skuCode []string) []string {
|
||||
api := getAPI("34402634", 0, "")
|
||||
|
||||
result := make([]string, 0, 0)
|
||||
for _, v := range skuCode {
|
||||
param := &request587.AlibabaAxChannelSkuStatusUpdateRequest{ChannelSkuUpdateStatusReq: &domain587.AlibabaAxChannelSkuStatusUpdateChannelSkuUpdateStatusReq{
|
||||
SkuCode: utils.String2Pointer(v),
|
||||
StoreId: utils.String2Pointer(fmt.Sprintf("JX%d", storeId)),
|
||||
ChannelCode: utils.String2Pointer("31"),
|
||||
OnlineSaleFlag: utils.Int64ToPointer(1),
|
||||
}}
|
||||
if err := api.StoreSkuUpdateOffShelf(param); err != nil {
|
||||
result = append(result, fmt.Sprintf(" [storeId:%d,skuCode:%s]"+err.Error(), storeId, v))
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// GetOrderTotalShopMoney 获取门店结算信息
|
||||
func GetOrderTotalShopMoney(appOrgCode string, vendorStoreID string, start, end time.Time) (map[string]string, error) {
|
||||
if appOrgCode == "" || vendorStoreID == "" {
|
||||
|
||||
@@ -41,19 +41,19 @@ var (
|
||||
func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) {
|
||||
switch funcID {
|
||||
case partner.FuncUpdateStoreSkusStock, partner.FuncUpdateStoreSkusStatus, partner.FuncUpdateStoreSkusPrice:
|
||||
batchSize = 5
|
||||
batchSize = 20
|
||||
case partner.FuncDeleteStoreSkus:
|
||||
batchSize = 5
|
||||
batchSize = 20
|
||||
case partner.FuncCreateStoreSkus:
|
||||
batchSize = 5 // 可考虑用批量操作
|
||||
batchSize = 20 // 可考虑用批量操作
|
||||
case partner.FuncUpdateStoreSkus:
|
||||
batchSize = 5 // mtwmapi.MaxStoreSkuBatchSize
|
||||
batchSize = 20 // mtwmapi.MaxStoreSkuBatchSize
|
||||
case partner.FuncGetStoreSkusFullInfo:
|
||||
batchSize = 5
|
||||
batchSize = 20
|
||||
case partner.FuncCreateActs:
|
||||
batchSize = 5
|
||||
batchSize = 20
|
||||
case partner.FuncCancelActs:
|
||||
batchSize = 5
|
||||
batchSize = 20
|
||||
}
|
||||
return batchSize
|
||||
}
|
||||
@@ -253,7 +253,10 @@ func UpdateTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
|
||||
updateSku.PurchaseQuantity = utils.Int64ToPointer(int64(v.MinOrderCount)) // 起购单位
|
||||
}
|
||||
// 修改暂时不修改图片,保持效率
|
||||
//updateSku.SkuPicUrls = uploadImg(api, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg})
|
||||
updateSku.SkuPicUrls = uploadImg(api, v.SkuID, model.VendorIDTaoVegetable, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg})
|
||||
if updateSku.SkuPicUrls == nil {
|
||||
continue
|
||||
}
|
||||
updateSkuList = append(updateSkuList, updateSku)
|
||||
}
|
||||
|
||||
@@ -320,7 +323,11 @@ func createTaoVegetable(ctx *jxcontext.Context, api *tao_vegetable.API, storeSku
|
||||
RichText: utils.String2Pointer(storeSku.Name),
|
||||
AllowAppSale: utils.Int64ToPointer(tao_vegetable.IsAllowAppSale),
|
||||
}
|
||||
sku.SkuPicUrls = uploadImg(api, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg})
|
||||
// 赠品专区
|
||||
if storeSku.VendorCatID == "175" {
|
||||
sku.MerchantCatCode = utils.String2Pointer("1751")
|
||||
}
|
||||
sku.SkuPicUrls = uploadImg(api, storeSku.SkuID, model.VendorIDTaoVegetable, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg})
|
||||
if sku.SkuPicUrls == nil {
|
||||
continue
|
||||
}
|
||||
@@ -438,34 +445,80 @@ func checkNameLength(name string, weight int, uint string) string {
|
||||
return lastName[0:60]
|
||||
}
|
||||
|
||||
func uploadImg(api *tao_vegetable.API, imgs []string) *string {
|
||||
func uploadImg(api *tao_vegetable.API, skuId, vendorId int, imgs []string) *string {
|
||||
vendorImg, _ := dao.GetVendorImg(skuId, vendorId)
|
||||
result := make([]string, 0, 0)
|
||||
for _, v := range imgs {
|
||||
if v == "" {
|
||||
continue
|
||||
}
|
||||
taoImgs := &model.TaoSkuImg{}
|
||||
isCreate := false
|
||||
if vendorImg == nil || (vendorImg.Img == "" && vendorImg.Img2 == "" && vendorImg.Img3 == "" && vendorImg.Img4 == "" && vendorImg.Img5 == "" && vendorImg.DescImg == "") {
|
||||
isCreate = true
|
||||
for i := 0; i < len(imgs); i++ {
|
||||
if imgs[i] == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
inputTitle := strings.LastIndex(v, "/")
|
||||
title := strings.LastIndex(v, ".")
|
||||
resp, err := http.Get(v)
|
||||
if err != nil {
|
||||
continue
|
||||
inputTitle := strings.LastIndex(imgs[i], "/")
|
||||
title := strings.LastIndex(imgs[i], ".")
|
||||
resp, err := http.Get(imgs[i])
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
body, _ := ioutil.ReadAll(resp.Body)
|
||||
// 图片失效
|
||||
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
|
||||
continue
|
||||
}
|
||||
newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
|
||||
PictureCategoryId: utils.Int64ToPointer(0),
|
||||
Img: &body,
|
||||
ImgInputTitle: utils.String2Pointer(imgs[i][inputTitle:]),
|
||||
Title: utils.String2Pointer(imgs[i][inputTitle:title]),
|
||||
})
|
||||
if newImg != "" {
|
||||
result = append(result, newImg)
|
||||
switch i {
|
||||
case 0:
|
||||
taoImgs.Img = newImg
|
||||
case 1:
|
||||
taoImgs.Img2 = newImg
|
||||
case 2:
|
||||
taoImgs.Img3 = newImg
|
||||
case 3:
|
||||
taoImgs.Img4 = newImg
|
||||
case 4:
|
||||
taoImgs.Img5 = newImg
|
||||
case 5:
|
||||
taoImgs.DescImg = newImg
|
||||
}
|
||||
}
|
||||
}
|
||||
body, _ := ioutil.ReadAll(resp.Body)
|
||||
// 图片失效
|
||||
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
|
||||
continue
|
||||
} else {
|
||||
if vendorImg.Img != "" {
|
||||
result = append(result, vendorImg.Img)
|
||||
}
|
||||
|
||||
if newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
|
||||
PictureCategoryId: utils.Int64ToPointer(0),
|
||||
Img: &body,
|
||||
ImgInputTitle: utils.String2Pointer(v[inputTitle:]),
|
||||
Title: utils.String2Pointer(v[inputTitle:title]),
|
||||
}); newImg != "" {
|
||||
result = append(result, newImg)
|
||||
if vendorImg.Img2 != "" {
|
||||
result = append(result, vendorImg.Img2)
|
||||
}
|
||||
if vendorImg.Img3 != "" {
|
||||
result = append(result, vendorImg.Img3)
|
||||
}
|
||||
if vendorImg.Img4 != "" {
|
||||
result = append(result, vendorImg.Img4)
|
||||
}
|
||||
if vendorImg.Img5 != "" {
|
||||
result = append(result, vendorImg.Img5)
|
||||
}
|
||||
if vendorImg.DescImg != "" {
|
||||
result = append(result, vendorImg.DescImg)
|
||||
}
|
||||
}
|
||||
|
||||
if isCreate {
|
||||
taoImgs.SkuID = skuId
|
||||
taoImgs.VendorID = vendorId
|
||||
dao.CreateEntity(dao.GetDB(), taoImgs)
|
||||
}
|
||||
|
||||
// 商品图片最多五张
|
||||
if len(result) > 5 {
|
||||
return utils.String2Pointer(strings.Join(result[1:], ","))
|
||||
@@ -539,6 +592,8 @@ func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrg
|
||||
CleanSkuMemberPrice: utils.Int64ToPointer(model.YES),
|
||||
SubTitle: utils.String2Pointer("小时达"),
|
||||
}
|
||||
// 临时更新上传图片错误的,或图片上传失败的商品
|
||||
updateSku.SkuPicUrls = uploadImg(api, v.SkuID, model.VendorIDTaoVegetable, nil)
|
||||
updateSkuList = append(updateSkuList, updateSku)
|
||||
}
|
||||
param.ParamList = &updateSkuList
|
||||
|
||||
@@ -111,6 +111,7 @@ func (c *DjswController) OrderCommentPush() {
|
||||
func (c *DjswController) Token() {
|
||||
urlValues, err := utils.HTTPBody2Values(c.Ctx.Input.RequestBody, false)
|
||||
globals.SugarLogger.Info(utils.Format4Output(utils.Format4Output(err, false), false))
|
||||
globals.SugarLogger.Info(utils.Format4Output(utils.Format4Output(urlValues, false), false))
|
||||
jd.OnTokenChange(urlValues)
|
||||
c.Data["json"] = c.transferResponse("Token", nil)
|
||||
c.ServeJSON()
|
||||
|
||||
@@ -67,6 +67,7 @@ func Init() {
|
||||
orm.RegisterModel(&model.Brand{}, &model.BrandCategoryMap{})
|
||||
orm.RegisterModel(&model.BrandStore{})
|
||||
orm.RegisterModel(&model.BrandBill{}, &model.BrandOrder{}, &model.BrandUser{})
|
||||
orm.RegisterModel(&model.TaoSkuImg{})
|
||||
|
||||
orm.RegisterModel(&model.AuthBind{}, &model.User{})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user