diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index aa8a587c1..e72ce6fd2 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -695,7 +695,8 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 return nil, nil, fmt.Errorf("地址ID不正确") } deliveryAddress = addressList[0] - if distance := jxutils.Point2StoreDistance(deliveryAddress.Lng, deliveryAddress.Lat, storeDetail.Lng, storeDetail.Lat, storeDetail.DeliveryRangeType, storeDetail.DeliveryRange); distance == 0 { + distance := jxutils.Point2StoreDistance(deliveryAddress.Lng, deliveryAddress.Lat, storeDetail.Lng, storeDetail.Lat, storeDetail.DeliveryRangeType, storeDetail.DeliveryRange) + if distance == 0 && !IsDeliverySelf { return nil, nil, fmt.Errorf("当前送货地址不在门店%s的配送范围", storeDetail.Name) } //结算类型 @@ -706,21 +707,23 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64 } // 营业状态及时间检查 - if storeDetail.Status != model.StoreStatusOpened { // model.StoreStatusDisabled { - return nil, nil, fmt.Errorf("门店:%s状态是:%s", storeDetail.Name, model.StoreStatusName[storeDetail.Status]) - } - checkTime := time.Now() - if jxOrder.ExpectedDeliveredTimestamp == 0 { - if storeDetail.Status != model.StoreStatusOpened { - return nil, nil, fmt.Errorf("门店:%s不是营业状态,状态是:%s", storeDetail.Name, model.StoreStatusName[storeDetail.Status]) + if !IsDeliverySelf { + if storeDetail.Status != model.StoreStatusOpened { // model.StoreStatusDisabled { + return nil, nil, fmt.Errorf("门店:%s状态是:%s", storeDetail.Name, model.StoreStatusName[storeDetail.Status]) } - } else { - checkTime = utils.Timestamp2Time(jxOrder.ExpectedDeliveredTimestamp) - if checkTime.Sub(time.Now()) < DingShiDaMinTime { - return nil, nil, fmt.Errorf("预订单只能在1小时后") - } - if utils.Time2Date(time.Now()).Sub(utils.Time2Date(checkTime)) > 24*time.Hour { - return nil, nil, fmt.Errorf("预订单只能预定当天或第二天") + checkTime := time.Now() + if jxOrder.ExpectedDeliveredTimestamp == 0 { + if storeDetail.Status != model.StoreStatusOpened { + return nil, nil, fmt.Errorf("门店:%s不是营业状态,状态是:%s", storeDetail.Name, model.StoreStatusName[storeDetail.Status]) + } + } else { + checkTime = utils.Timestamp2Time(jxOrder.ExpectedDeliveredTimestamp) + if checkTime.Sub(time.Now()) < DingShiDaMinTime { + return nil, nil, fmt.Errorf("预订单只能在1小时后") + } + if utils.Time2Date(time.Now()).Sub(utils.Time2Date(checkTime)) > 24*time.Hour { + return nil, nil, fmt.Errorf("预订单只能预定当天或第二天") + } } } outJxOrder2 := *jxOrder diff --git a/controllers/jx_order2.go b/controllers/jx_order2.go index 2f2b8cb2e..30f5fcc02 100644 --- a/controllers/jx_order2.go +++ b/controllers/jx_order2.go @@ -7,7 +7,6 @@ import ( "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx" "github.com/astaxie/beego/server/web" - "time" ) type JxOrderController struct { @@ -18,7 +17,7 @@ type JxOrderController struct { // @Description 创建京西商城订单 // @Param token header string true "认证token" // @Param jxOrder formData string true "订单信息" -// @Param addressID formData int64 fasle "配送地址ID" +// @Param addressID formData int64 true "配送地址ID" // @Param fromStoreID formData int fasle "物料配送门店" // @Param couponIDs formData string fasle "优惠券IDs" // @Param createType formData int false "创建类型, 0:预创建, 1:创建" @@ -85,7 +84,7 @@ func (c *JxOrderController) Pay4StoreMyselfDeliverOrder() { DefendPrice: 0, }, }, - ExpectedDeliveredTimestamp: time.Now().Unix(), + ExpectedDeliveredTimestamp: 0, TotalPrice: int64(params.PayMoney), FreightPrice: 0, OrderPrice: int64(params.PayMoney), @@ -97,7 +96,7 @@ func (c *JxOrderController) Pay4StoreMyselfDeliverOrder() { EarningType: model.EarningTypePoints, OrderType: model.OrderTypeNormal, IsBuyNowPrice: 0, - IsPriceDefend: 0, + IsPriceDefend: model.YES, OrderID2: "", UserID: params.Ctx.GetUserID(), }