Merge remote-tracking branch 'origin/mark' into yonghui
This commit is contained in:
@@ -474,20 +474,25 @@ func (c *OrderManager) addOrderStatus(orderStatus *model.OrderStatus, db *dao.Da
|
|||||||
order.VendorStatus = orderStatus.VendorStatus
|
order.VendorStatus = orderStatus.VendorStatus
|
||||||
updateFields := []string{
|
updateFields := []string{
|
||||||
"VendorStatus",
|
"VendorStatus",
|
||||||
|
"UpdatedAt",
|
||||||
}
|
}
|
||||||
if model.IsOrderMainStatus(orderStatus.Status) {
|
if model.IsOrderMainStatus(orderStatus.Status) {
|
||||||
order.Status = orderStatus.Status
|
order.Status = orderStatus.Status
|
||||||
order.StatusTime = orderStatus.StatusTime
|
order.StatusTime = orderStatus.StatusTime
|
||||||
updateFields = append(updateFields, "Status", "StatusTime")
|
updateFields = append(updateFields, "Status", "StatusTime")
|
||||||
|
if model.IsOrderFinalStatus(orderStatus.Status) {
|
||||||
|
order.OrderFinishedAt = orderStatus.StatusTime
|
||||||
|
updateFields = append(updateFields, "OrderFinishedAt")
|
||||||
if order.LockStatus != model.OrderStatusUnknown {
|
if order.LockStatus != model.OrderStatusUnknown {
|
||||||
order.LockStatus = model.OrderStatusUnknown
|
order.LockStatus = model.OrderStatusUnknown
|
||||||
updateFields = append(updateFields, "LockStatus")
|
updateFields = append(updateFields, "LockStatus")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if model.IsOrderUnlockStatus(orderStatus.Status) {
|
if model.IsOrderUnlockStatus(orderStatus.Status) {
|
||||||
order.LockStatus = model.OrderStatusUnknown
|
order.LockStatus = model.OrderStatusUnknown
|
||||||
updateFields = append(updateFields, "LockStatus")
|
updateFields = append(updateFields, "LockStatus")
|
||||||
} else if !model.IsOrderFinalStatus(orderStatus.Status) {
|
} else if model.IsOrderLockStatus(orderStatus.Status) {
|
||||||
if order.LockStatus != model.OrderStatusUnknown {
|
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)
|
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")
|
updateFields = append(updateFields, "LockStatus", "LockStatusTime", "Flag")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if model.IsOrderFinalStatus(orderStatus.Status) {
|
|
||||||
order.OrderFinishedAt = orderStatus.StatusTime
|
|
||||||
updateFields = append(updateFields, "OrderFinishedAt")
|
|
||||||
}
|
|
||||||
utils.CallFuncLogError(func() error {
|
utils.CallFuncLogError(func() error {
|
||||||
_, err = db.Db.Update(order, updateFields...)
|
_, err = db.Db.Update(order, updateFields...)
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -210,6 +210,9 @@ func EarthDistance(lng1, lat1, lng2, lat2 float64) float64 {
|
|||||||
lng2 = lng2 * rad
|
lng2 = lng2 * rad
|
||||||
theta := lng2 - lng1
|
theta := lng2 - lng1
|
||||||
dist := math.Acos(math.Sin(lat1)*math.Sin(lat2) + math.Cos(lat1)*math.Cos(lat2)*math.Cos(theta))
|
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
|
return dist * radius
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -88,12 +88,21 @@ func (c *NetSpiderController) QueryPageStores() {
|
|||||||
lng1, lat1, lng2, lat2)
|
lng1, lat1, lng2, lat2)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if params.Radius > 0 && (params.Offset != 0 || params.PageSize != model.UnlimitedPageSize) {
|
if params.Radius > 0 && (params.Offset != 0 || params.PageSize != model.UnlimitedPageSize) {
|
||||||
shopList, _ := pagedInfo.Data.([]*dao.PageShopWithPlaceName)
|
shopList2, _ := pagedInfo.Data.([]*dao.PageShopWithPlaceName)
|
||||||
pagedInfo.TotalCount = len(shopList)
|
var shopList []*dao.PageShopWithPlaceName
|
||||||
if len(shopList) > 0 {
|
pagedInfo.TotalCount = 0
|
||||||
for _, v := range shopList {
|
if len(shopList2) > 0 {
|
||||||
|
for _, v := range shopList2 {
|
||||||
v.Distance = int(jxutils.EarthDistance(v.Lng, v.Lat, lng, lat) * 1000)
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pagedInfo.TotalCount = len(shopList)
|
||||||
|
if pagedInfo.TotalCount > 0 {
|
||||||
sort.Sort(PageShopList(shopList))
|
sort.Sort(PageShopList(shopList))
|
||||||
if params.Offset < len(shopList) {
|
if params.Offset < len(shopList) {
|
||||||
index := params.Offset + params.PageSize
|
index := params.Offset + params.PageSize
|
||||||
@@ -105,6 +114,7 @@ func (c *NetSpiderController) QueryPageStores() {
|
|||||||
shopList = nil
|
shopList = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
pagedInfo.Data = shopList
|
pagedInfo.Data = shopList
|
||||||
}
|
}
|
||||||
retVal = pagedInfo
|
retVal = pagedInfo
|
||||||
|
|||||||
Reference in New Issue
Block a user