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 为-1 表示也是物料订单,但是不是门店申请,是个人申请的
//fromStoreID 在后面 generateOrder中有用 //fromStoreID 在后面 generateOrder中有用
//IsAuto 是否是守价结算而自动创建的守价订单 //IsAuto 是否是守价结算而自动创建的守价订单
func CreateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64, createType int, fromStoreID int, IsDeliverySelf bool) (outJxOrder *JxOrderInfo, err error) { 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) outJxOrder, deliveryAddress, err := generateOrder(ctx, jxOrder, addressID, fromStoreID, "", IsDeliverySelf, couponIDs)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -584,7 +584,7 @@ func isTimeInOpTime(openTime1, closeTime1, openTime2, closeTime2 int16, time2Che
return false 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() db := dao.GetDB()
if jxOrder.StoreID == 0 { if jxOrder.StoreID == 0 {
return nil, nil, fmt.Errorf("没有指定门店信息") return nil, nil, fmt.Errorf("没有指定门店信息")
@@ -1183,7 +1183,7 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
for k, v := range outOrders { for k, v := range outOrders {
v.OrderType = model.OrderTypeMatter v.OrderType = model.OrderTypeMatter
v.FromStoreID = order.FromStoreID 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 { if err != nil {
return err 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) { 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 { if err != nil {
return nil, err return nil, err
} }
@@ -2073,7 +2073,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) (err error) {
OrderID: utils.Str2Int64(vv[0].VendorOrderID), OrderID: utils.Str2Int64(vv[0].VendorOrderID),
UserID: address.UserID, 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) err = SettleDiscountActByPriceDefend(ctx, vv[0], false)
} }
} else { } else {
@@ -2099,7 +2099,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) (err error) {
} }
jxOrder.Skus = skus jxOrder.Skus = skus
jxOrder.OrderID2 = strings.Join(orderIDs, ",") 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 jxOrder formData string true "订单信息"
// @Param addressID formData int64 true "配送地址ID" // @Param addressID formData int64 true "配送地址ID"
// @Param fromStoreID formData int fasle "物料配送门店" // @Param fromStoreID formData int fasle "物料配送门店"
// @Param couponIDs formData string fasle "优惠券IDs"
// @Param createType formData int false "创建类型, 0:预创建, 1:创建" // @Param createType formData int false "创建类型, 0:预创建, 1:创建"
// @Param isDeliverySelf formData bool false "是否是自提单" // @Param isDeliverySelf formData bool false "是否是自提单"
// @Success 200 {object} controllers.CallResult // @Success 200 {object} controllers.CallResult
@@ -27,7 +28,10 @@ func (c *JxOrderController) CreateOrder() {
c.callCreateOrder(func(params *tJxorderCreateOrderParams) (retVal interface{}, errCode string, err error) { c.callCreateOrder(func(params *tJxorderCreateOrderParams) (retVal interface{}, errCode string, err error) {
var jxOrder *localjx.JxOrderInfo var jxOrder *localjx.JxOrderInfo
if err = utils.UnmarshalUseNumber([]byte(params.JxOrder), &jxOrder); err == nil { 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 return retVal, "", err
}) })