This commit is contained in:
苏尹岚
2021-01-12 11:37:29 +08:00
parent 6ae3ee1246
commit b769147e2c
2 changed files with 12 additions and 8 deletions

View File

@@ -226,8 +226,8 @@ func GetMyOrderCountInfo(ctx *jxcontext.Context, fromDate, toDate time.Time, sta
//fromStoreID 为-1 表示也是物料订单,但是不是门店申请,是个人申请的
//fromStoreID 在后面 generateOrder中有用
//IsAuto 是否是守价结算而自动创建的守价订单
func CreateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64, createType int, fromStoreID int, IsDeliverySelf bool) (outJxOrder *JxOrderInfo, err error) {
outJxOrder, deliveryAddress, err := generateOrder(ctx, jxOrder, addressID, fromStoreID, "", IsDeliverySelf)
func CreateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64, createType int, fromStoreID int, IsDeliverySelf bool, couponIDs []int) (outJxOrder *JxOrderInfo, err error) {
outJxOrder, deliveryAddress, err := generateOrder(ctx, jxOrder, addressID, fromStoreID, "", IsDeliverySelf, couponIDs)
if err != nil {
return nil, err
}
@@ -584,7 +584,7 @@ func isTimeInOpTime(openTime1, closeTime1, openTime2, closeTime2 int16, time2Che
return false
}
func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64, fromStoreID int, userID string, IsDeliverySelf bool) (outJxOrder *JxOrderInfo, deliveryAddress *dao.UserDeliveryAddressEx, err error) {
func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64, fromStoreID int, userID string, IsDeliverySelf bool, couponIDs []int) (outJxOrder *JxOrderInfo, deliveryAddress *dao.UserDeliveryAddressEx, err error) {
db := dao.GetDB()
if jxOrder.StoreID == 0 {
return nil, nil, fmt.Errorf("没有指定门店信息")
@@ -1183,7 +1183,7 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
for k, v := range outOrders {
v.OrderType = model.OrderTypeMatter
v.FromStoreID = order.FromStoreID
outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false)
outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false, nil)
if err != nil {
return err
}
@@ -2000,7 +2000,7 @@ func SendFailedMatterOrder(ctx *jxcontext.Context, vendorOrderID string) (err er
}
func createMatterOrder(jxOrder *JxOrderInfo, order *model.GoodsOrder, newOrderIDSuffix int64) (order2 *model.GoodsOrder, err error) {
outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, jxOrder, order.AddressID, order.FromStoreID, order.UserID, false)
outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, jxOrder, order.AddressID, order.FromStoreID, order.UserID, false, nil)
if err != nil {
return nil, err
}
@@ -2073,7 +2073,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) (err error) {
OrderID: utils.Str2Int64(vv[0].VendorOrderID),
UserID: address.UserID,
}
if _, err := CreateOrder(ctx, jxOrder, kk, OrderCreateTypeNormal, 0, false); err == nil {
if _, err := CreateOrder(ctx, jxOrder, kk, OrderCreateTypeNormal, 0, false, nil); err == nil {
err = SettleDiscountActByPriceDefend(ctx, vv[0], false)
}
} else {
@@ -2099,7 +2099,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) (err error) {
}
jxOrder.Skus = skus
jxOrder.OrderID2 = strings.Join(orderIDs, ",")
if _, err := CreateOrder(ctx, jxOrder, kk, OrderCreateTypeNormal, 0, false); err == nil {
if _, err := CreateOrder(ctx, jxOrder, kk, OrderCreateTypeNormal, 0, false, nil); err == nil {
}
}
}

View File

@@ -18,6 +18,7 @@ type JxOrderController struct {
// @Param jxOrder formData string true "订单信息"
// @Param addressID formData int64 true "配送地址ID"
// @Param fromStoreID formData int fasle "物料配送门店"
// @Param couponIDs formData string fasle "优惠券IDs"
// @Param createType formData int false "创建类型, 0:预创建, 1:创建"
// @Param isDeliverySelf formData bool false "是否是自提单"
// @Success 200 {object} controllers.CallResult
@@ -27,7 +28,10 @@ func (c *JxOrderController) CreateOrder() {
c.callCreateOrder(func(params *tJxorderCreateOrderParams) (retVal interface{}, errCode string, err error) {
var jxOrder *localjx.JxOrderInfo
if err = utils.UnmarshalUseNumber([]byte(params.JxOrder), &jxOrder); err == nil {
retVal, err = localjx.CreateOrder(params.Ctx, jxOrder, int64(params.AddressID), params.CreateType, params.FromStoreID, params.IsDeliverySelf)
var couponIDs []int
if err = jxutils.Strings2Objs(params.CouponIDs, &couponIDs); err == nil {
retVal, err = localjx.CreateOrder(params.Ctx, jxOrder, int64(params.AddressID), params.CreateType, params.FromStoreID, params.IsDeliverySelf, couponIDs)
}
}
return retVal, "", err
})