From 47803c64e48b716ea21c9cfff6b593a0056cb348 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 27 Nov 2019 17:24:21 +0800 Subject: [PATCH 1/5] up --- controllers/net_spider.go | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/controllers/net_spider.go b/controllers/net_spider.go index 79973144e..b600686b6 100644 --- a/controllers/net_spider.go +++ b/controllers/net_spider.go @@ -88,21 +88,28 @@ func (c *NetSpiderController) QueryPageStores() { lng1, lat1, lng2, lat2) if err == nil { if params.Radius > 0 && (params.Offset != 0 || params.PageSize != model.UnlimitedPageSize) { - shopList, _ := pagedInfo.Data.([]*dao.PageShopWithPlaceName) - pagedInfo.TotalCount = len(shopList) - if len(shopList) > 0 { + shopList2, _ := pagedInfo.Data.([]*dao.PageShopWithPlaceName) + var shopList []*dao.PageShopWithPlaceName + pagedInfo.TotalCount = 0 + if len(shopList2) > 0 { for _, v := range shopList { v.Distance = int(jxutils.EarthDistance(v.Lng, v.Lat, lng, lat) * 1000) - } - sort.Sort(PageShopList(shopList)) - if params.Offset < len(shopList) { - index := params.Offset + params.PageSize - if index > len(shopList) { - index = len(shopList) + if v.Distance <= params.Radius { + shopList = append(shopList, v) + } + } + pagedInfo.TotalCount = len(shopList) + if pagedInfo.TotalCount > 0 { + sort.Sort(PageShopList(shopList)) + if params.Offset < len(shopList) { + index := params.Offset + params.PageSize + if index > len(shopList) { + index = len(shopList) + } + shopList = shopList[params.Offset:index] + } else { + shopList = nil } - shopList = shopList[params.Offset:index] - } else { - shopList = nil } } pagedInfo.Data = shopList From d6e172f6f9fab24710186dfd6611af0f2df5e915 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 27 Nov 2019 17:32:38 +0800 Subject: [PATCH 2/5] fk --- controllers/net_spider.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/net_spider.go b/controllers/net_spider.go index b600686b6..f7ad801ce 100644 --- a/controllers/net_spider.go +++ b/controllers/net_spider.go @@ -92,7 +92,7 @@ func (c *NetSpiderController) QueryPageStores() { var shopList []*dao.PageShopWithPlaceName pagedInfo.TotalCount = 0 if len(shopList2) > 0 { - for _, v := range shopList { + for _, v := range shopList2 { v.Distance = int(jxutils.EarthDistance(v.Lng, v.Lat, lng, lat) * 1000) if v.Distance <= params.Radius { shopList = append(shopList, v) From d6205e955d27ddfd7bf5c6cbb8748f8c7bdd07d5 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 27 Nov 2019 17:59:28 +0800 Subject: [PATCH 3/5] fk --- business/jxutils/jxutils.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index a24657e59..0de80c472 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -210,6 +210,9 @@ func EarthDistance(lng1, lat1, lng2, lat2 float64) float64 { lng2 = lng2 * rad theta := lng2 - lng1 dist := math.Acos(math.Sin(lat1)*math.Sin(lat2) + math.Cos(lat1)*math.Cos(lat2)*math.Cos(theta)) + if dist < 0 { + dist = 0 + } return dist * radius } From d836376ac37242a5795506e4ed3db545e1d9f769 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 27 Nov 2019 18:02:47 +0800 Subject: [PATCH 4/5] fk --- controllers/net_spider.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/controllers/net_spider.go b/controllers/net_spider.go index f7ad801ce..d94268a10 100644 --- a/controllers/net_spider.go +++ b/controllers/net_spider.go @@ -94,6 +94,9 @@ func (c *NetSpiderController) QueryPageStores() { if len(shopList2) > 0 { for _, v := range shopList2 { v.Distance = int(jxutils.EarthDistance(v.Lng, v.Lat, lng, lat) * 1000) + if v.Distance < 0 { + v.Distance = 0 + } if v.Distance <= params.Radius { shopList = append(shopList, v) } From b91163cb18ecfd1fba3891e5a9f78b89cbc3b028 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 27 Nov 2019 21:15:09 +0800 Subject: [PATCH 5/5] =?UTF-8?q?addOrderStatus=E4=B8=AD=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=9A=201=EF=BC=8C=E5=8F=AA=E6=9C=89?= =?UTF-8?q?=E7=BB=88=E6=AD=A2=E7=8A=B6=E6=80=81=EF=BC=8C=E6=88=96=E8=A7=A3?= =?UTF-8?q?=E9=94=81=E4=BA=8B=E4=BB=B6=E6=89=8D=E4=BC=9A=E8=A7=A3=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/order.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index 19a947619..cf2e74274 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -474,20 +474,25 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db *dao.Da order.VendorStatus = orderStatus.VendorStatus updateFields := []string{ "VendorStatus", + "UpdatedAt", } if model.IsOrderMainStatus(orderStatus.Status) { order.Status = orderStatus.Status order.StatusTime = orderStatus.StatusTime updateFields = append(updateFields, "Status", "StatusTime") - if order.LockStatus != model.OrderStatusUnknown { - order.LockStatus = model.OrderStatusUnknown - updateFields = append(updateFields, "LockStatus") + if model.IsOrderFinalStatus(orderStatus.Status) { + order.OrderFinishedAt = orderStatus.StatusTime + updateFields = append(updateFields, "OrderFinishedAt") + if order.LockStatus != model.OrderStatusUnknown { + order.LockStatus = model.OrderStatusUnknown + updateFields = append(updateFields, "LockStatus") + } } } else { if model.IsOrderUnlockStatus(orderStatus.Status) { order.LockStatus = model.OrderStatusUnknown updateFields = append(updateFields, "LockStatus") - } else if !model.IsOrderFinalStatus(orderStatus.Status) { + } else if model.IsOrderLockStatus(orderStatus.Status) { if order.LockStatus != model.OrderStatusUnknown { globals.SugarLogger.Warnf("addOrderStatus refOrderID:%s, orderID:%s, order.LockStatus:%d, status.LockStatus:%d", orderStatus.RefVendorOrderID, orderStatus.VendorOrderID, order.LockStatus, orderStatus.Status) } @@ -497,10 +502,6 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db *dao.Da updateFields = append(updateFields, "LockStatus", "LockStatusTime", "Flag") } } - if model.IsOrderFinalStatus(orderStatus.Status) { - order.OrderFinishedAt = orderStatus.StatusTime - updateFields = append(updateFields, "OrderFinishedAt") - } utils.CallFuncLogError(func() error { _, err = db.Db.Update(order, updateFields...) return err