From b8a293c2965fe3646e3e250d821fad5df43c6554 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 26 Nov 2019 11:00:49 +0800 Subject: [PATCH 1/7] up --- business/model/dao/store.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/model/dao/store.go b/business/model/dao/store.go index a603c7856..b5eff9d84 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -104,6 +104,9 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID string) (sto storeDetail.AutoPickup = 1 storeDetail.DeliveryType = model.StoreDeliveryTypeByStore storeDetail.DeliveryCompetition = 1 + if vendorID == model.VendorIDJX { + storeDetail.IsSync = 1 + } } return storeDetail, nil } From 4e9d09657cd00028dd08dd8bc4d3abac41486e6a Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 26 Nov 2019 11:05:26 +0800 Subject: [PATCH 2/7] up --- business/jxstore/act/act.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 05c8a5498..d70606856 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -81,6 +81,8 @@ func getVendorPriceFromStoreSkuBind(bind *model.StoreSkuBind, vendorID int) (ven vendorPrice = bind.MtwmPrice case model.VendorIDEBAI: vendorPrice = bind.EbaiPrice + case model.VendorIDJX: + vendorPrice = bind.JxPrice } return vendorPrice } From ed0f172865f9349eb6907be8aa18df71d4889dd8 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 26 Nov 2019 11:15:14 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BA=AC=E8=A5=BF=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E4=B8=8D=E8=AE=BE=E7=BD=AE=E5=90=8C=E6=AD=A5=E6=A0=87=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/act/act.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index d70606856..119d3a727 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -160,7 +160,9 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac wrongSkuList = append(wrongSkuList, v) continue } - actSkuMap.SyncStatus = model.SyncFlagNewMask + if !(vendorID == model.VendorIDJX || act.Type == model.ActSkuFake) { + actSkuMap.SyncStatus = model.SyncFlagNewMask + } if v.ActPrice != 0 { actSkuMap.ActualActPrice = v.ActPrice } else { @@ -430,11 +432,9 @@ func CreateAct(ctx *jxcontext.Context, act *model.Act, vendorIDs []int, actRules actMap := &model.ActMap{ ActID: act.ID, VendorID: vendorID, - - SyncStatus: model.SyncFlagNewMask, } - if act.Type == model.ActSkuFake { - actMap.SyncStatus = 0 + if !(vendorID == model.VendorIDJX || act.Type == model.ActSkuFake) { + actMap.SyncStatus = model.SyncFlagNewMask } dao.WrapAddIDCULDEntity(actMap, ctx.GetUserName()) actMapList = append(actMapList, actMap) From a9df40601163eee614b62d33921821975731b1f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 26 Nov 2019 11:42:20 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=BE=AE=E7=9B=9F?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=95=86=E5=93=81=E4=BF=A1=E6=81=AFbug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/yonghui/yonghui.go | 76 ++++++++++++++++++----------- controllers/yonghui.go | 2 +- 2 files changed, 49 insertions(+), 29 deletions(-) diff --git a/business/jxstore/yonghui/yonghui.go b/business/jxstore/yonghui/yonghui.go index 1fea6c740..0bf2d3e12 100644 --- a/business/jxstore/yonghui/yonghui.go +++ b/business/jxstore/yonghui/yonghui.go @@ -875,7 +875,11 @@ func GetWeimobOrdersList(fromTimeParam, toTimeParam int64, keyword string) (aLis } func GetWeimobOrderDetail(orderNo int64) (order *weimobapi.OrderDetail, err error) { - return api.WeimobAPI.QueryOrderDetail2(orderNo, false) + order, err = api.WeimobAPI.QueryOrderDetail2(orderNo, false) + if err != nil { + return nil, err + } + return order, err } func GetSingleOrderResultList(params map[string]interface{}) (result []*OrderList, err error) { @@ -894,41 +898,57 @@ func ContainsKeyword(v *weimobapi.OrderInfo, keyword string) bool { return strings.Contains(v.ReceiverName, keyword) || strings.Contains(utils.Int64ToStr(v.OrderNo), keyword) || strings.Contains(v.ReceiverMobile, keyword) } -func GetWeimobOrdersExcel(ctx *jxcontext.Context, OrderNo string) (err error) { +func GetWeimobOrdersExcel(ctx *jxcontext.Context, OrderNo string) (result []string, err error) { var ( DataFineList []*Data //精品 DataHairyList []*Data //毛菜 ) orderSingle, err := GetWeimobOrderDetail(utils.Str2Int64(OrderNo)) - itemList := orderSingle.ItemList - for _, v := range itemList { - if v.GoodsCode[0:1] == "0" { - DataHairy := &Data{ - GoodsID: v.GoodsCode, - GoodsName: v.GoodsTitle, - GoodsNum: v.SkuNum, - } - DataHairyList = append(DataHairyList, DataHairy) - } else { - DataFine := &Data{ - GoodsID: v.GoodsCode, - GoodsName: v.GoodsTitle, - GoodsNum: v.SkuNum, - } - DataFineList = append(DataFineList, DataFine) - } + if err != nil { + return result, err } - WriteToExcel2(ctx, DataFineList, DataHairyList) - return err + if len(orderSingle.ItemList) > 0 { + itemList := orderSingle.ItemList + for _, v := range itemList { + if v.GoodsCode != "" { + if v.GoodsCode[0:1] == "0" { + DataHairy := &Data{ + GoodsID: v.GoodsCode, + GoodsName: v.GoodsTitle, + GoodsNum: v.SkuNum, + } + DataHairyList = append(DataHairyList, DataHairy) + } else { + DataFine := &Data{ + GoodsID: v.GoodsCode, + GoodsName: v.GoodsTitle, + GoodsNum: v.SkuNum, + } + DataFineList = append(DataFineList, DataFine) + } + } else { + return result, errors.New(fmt.Sprintf("此订单中该商品无spu编码,请检查!订单号:[%v] ,商品名: [%v]", OrderNo, v.GoodsTitle)) + } + } + } else { + return result, errors.New(fmt.Sprintf("此订单中无商品信息,请检查!订单号:[%v]", OrderNo)) + } + downloadURL1, downloadURL2, err := WriteToExcel2(ctx, DataFineList, DataHairyList) + if downloadURL1 != "" { + result = append(result, downloadURL1) + } + if downloadURL2 != "" { + result = append(result, downloadURL2) + } + return result, err } -func WriteToExcel2(ctx *jxcontext.Context, DataFineList, DataHairyList []*Data) (err error) { +func WriteToExcel2(ctx *jxcontext.Context, DataFineList, DataHairyList []*Data) (downloadURL1, downloadURL2 string, err error) { var ( - sheetList1 []*excel.Obj2ExcelSheetConfig - sheetList2 []*excel.Obj2ExcelSheetConfig - downloadURL1, downloadURL2 string - fileName1, fileName2 string - noticeMsg string + sheetList1 []*excel.Obj2ExcelSheetConfig + sheetList2 []*excel.Obj2ExcelSheetConfig + fileName1, fileName2 string + noticeMsg string ) excelConf1 := &excel.Obj2ExcelSheetConfig{ Title: "sheet1", @@ -963,5 +983,5 @@ func WriteToExcel2(ctx *jxcontext.Context, DataFineList, DataHairyList []*Data) baseapi.SugarLogger.Debugf("WriteToExcel:upload %s ,%s success, downloadURL1:%s ,downloadURL2:%s", fileName1, fileName2, downloadURL1, downloadURL2) } } - return err + return downloadURL1, downloadURL2, err } diff --git a/controllers/yonghui.go b/controllers/yonghui.go index 31dc0ce62..c6bd95451 100644 --- a/controllers/yonghui.go +++ b/controllers/yonghui.go @@ -88,7 +88,7 @@ func (c *YongHuiController) GetWeimobOrders() { // @router /GetWeimobOrdersExcel [post] func (c *YongHuiController) GetWeimobOrdersExcel() { c.callGetWeimobOrdersExcel(func(params *tYonghuiGetWeimobOrdersExcelParams) (retVal interface{}, errCode string, err error) { - err = yonghui.GetWeimobOrdersExcel(params.Ctx, params.OrderNo) + retVal, err = yonghui.GetWeimobOrdersExcel(params.Ctx, params.OrderNo) return retVal, "", err }) } From af7ba61bbcce5d041724c93cfcddc02a4d2b1aa6 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 26 Nov 2019 11:47:33 +0800 Subject: [PATCH 5/7] bug fix --- business/jxcallback/scheduler/defsch/defsch.go | 2 +- business/model/dao/act.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 0da8d7bca..7f06ad3fe 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -31,7 +31,7 @@ const ( minute2Schedule3rdCarrier4Ebai = 30 // 饿百的最少转自配送需要的时间(分钟) minMinute2Schedule3rdCarrier = 5 // 转三方配送最少等待时间(分钟) - time2AutoPickupMin = 15 * time.Minute // 自动拣货等待时间,这个只有在没有PickDeadline信息才有用,否则会根据PickDeadline设置 + time2AutoPickupMin = 14 * time.Minute // 自动拣货等待时间,这个只有在没有PickDeadline信息才有用,否则会根据PickDeadline设置 second2AutoPickupGap = 60 //随机60秒 time2AutoPickupAhead = 20 * time.Second // 有最后拣货时间的提前值 diff --git a/business/model/dao/act.go b/business/model/dao/act.go index 5475f3a8f..47e2f013b 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -75,7 +75,7 @@ func GetActStoreSkuVendorList(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs pageSize = FormalizePageSize(pageSize) leftOrEmpty := "" - if len(vendorIDs) == 1 && vendorIDs[0] == -1 { + if len(vendorIDs) == 1 && (vendorIDs[0] == -1 || vendorIDs[0] == model.VendorIDJX) { leftOrEmpty = "LEFT" } sql := fmt.Sprintf(` From d0f59c3f4bfa08fe2c8a986c1da3141ff82d9ecb Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 26 Nov 2019 12:00:07 +0800 Subject: [PATCH 6/7] fk --- business/model/dao/act.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/model/dao/act.go b/business/model/dao/act.go index 47e2f013b..a599d8d43 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -102,19 +102,19 @@ func GetActStoreSkuVendorList(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs actID, utils.DefaultTimeValue, } + if len(vendorIDs) > 0 { sql += " AND t2.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")" sqlParams = append(sqlParams, vendorIDs) } - - sql += fmt.Sprintf(` - %s JOIN store_map t3 ON t3.store_id = t1.store_id AND t3.vendor_id = t2.vendor_id AND t3.deleted_at = ? + sql += ` + LEFT JOIN store_map t3 ON t3.store_id = t1.store_id AND t3.vendor_id = t2.vendor_id AND t3.deleted_at = ? JOIN sku t4 ON t4.id = t1.sku_id LEFT JOIN store_sku_bind t5 ON t5.sku_id = t1.sku_id AND t5.store_id = t1.store_id AND t5.deleted_at = ? LEFT JOIN store t6 ON t6.id = t1.store_id JOIN sku_name t7 ON t7.id = t4.name_id WHERE t1.act_id = ? - `, leftOrEmpty) + ` sqlParams = append(sqlParams, utils.DefaultTimeValue, utils.DefaultTimeValue, From fd8b6c957fd296031c942f582b29c6d2098e8440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 26 Nov 2019 12:01:29 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E8=AF=BB=E5=8F=96=E5=BE=AE=E7=9B=9F?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=95=86=E5=93=81bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/yonghui/yonghui.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/business/jxstore/yonghui/yonghui.go b/business/jxstore/yonghui/yonghui.go index 0bf2d3e12..ed028dded 100644 --- a/business/jxstore/yonghui/yonghui.go +++ b/business/jxstore/yonghui/yonghui.go @@ -85,6 +85,11 @@ type OrderList struct { OrderNo int64 `json:"orderNo"` } +type WeimobOrderSkusExcelResult struct { + DownloadUrlFine string `json:"downloadUrlFine,omitempty"` + DownloadUrlHairy string `json:"downloadUrlHairy,omitempty"` +} + var ( sheetMap = map[string]*SheetParam{ "蔬菜": &SheetParam{ @@ -898,7 +903,7 @@ func ContainsKeyword(v *weimobapi.OrderInfo, keyword string) bool { return strings.Contains(v.ReceiverName, keyword) || strings.Contains(utils.Int64ToStr(v.OrderNo), keyword) || strings.Contains(v.ReceiverMobile, keyword) } -func GetWeimobOrdersExcel(ctx *jxcontext.Context, OrderNo string) (result []string, err error) { +func GetWeimobOrdersExcel(ctx *jxcontext.Context, OrderNo string) (result *WeimobOrderSkusExcelResult, err error) { var ( DataFineList []*Data //精品 DataHairyList []*Data //毛菜 @@ -934,11 +939,9 @@ func GetWeimobOrdersExcel(ctx *jxcontext.Context, OrderNo string) (result []stri return result, errors.New(fmt.Sprintf("此订单中无商品信息,请检查!订单号:[%v]", OrderNo)) } downloadURL1, downloadURL2, err := WriteToExcel2(ctx, DataFineList, DataHairyList) - if downloadURL1 != "" { - result = append(result, downloadURL1) - } - if downloadURL2 != "" { - result = append(result, downloadURL2) + result = &WeimobOrderSkusExcelResult{ + DownloadUrlFine: downloadURL1, + DownloadUrlHairy: downloadURL2, } return result, err }